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::*;
7#[cfg(feature = "api-22")]
8use crate::ui_input_event::ArkUI_TouchTestInfo;
9use crate::ui_input_event::ArkUI_UIInputEvent;
10#[cfg(feature = "api-12")]
11use ohos_sys_opaque_types::ArkUI_ContextHandle;
12#[cfg(feature = "api-15")]
13use ohos_sys_opaque_types::OH_PixelmapNative;
14
15#[cfg(feature = "api-12")]
16#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
17impl ArkUI_NodeType {
18 /// Custom node.
19 pub const ARKUI_NODE_CUSTOM: ArkUI_NodeType = ArkUI_NodeType(0);
20 /// Text.
21 pub const ARKUI_NODE_TEXT: ArkUI_NodeType = ArkUI_NodeType(1);
22 /// Text span.
23 pub const ARKUI_NODE_SPAN: ArkUI_NodeType = ArkUI_NodeType(2);
24 /// Image span.
25 pub const ARKUI_NODE_IMAGE_SPAN: ArkUI_NodeType = ArkUI_NodeType(3);
26 /// Image.
27 pub const ARKUI_NODE_IMAGE: ArkUI_NodeType = ArkUI_NodeType(4);
28 /// Toggle.
29 pub const ARKUI_NODE_TOGGLE: ArkUI_NodeType = ArkUI_NodeType(5);
30 /// Loading icon.
31 pub const ARKUI_NODE_LOADING_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(6);
32 /// Single-line text input.
33 pub const ARKUI_NODE_TEXT_INPUT: ArkUI_NodeType = ArkUI_NodeType(7);
34 /// Multi-line text input.
35 pub const ARKUI_NODE_TEXT_AREA: ArkUI_NodeType = ArkUI_NodeType(8);
36 /// Button.
37 pub const ARKUI_NODE_BUTTON: ArkUI_NodeType = ArkUI_NodeType(9);
38 /// Progress indicator.
39 pub const ARKUI_NODE_PROGRESS: ArkUI_NodeType = ArkUI_NodeType(10);
40 /// Check box.
41 pub const ARKUI_NODE_CHECKBOX: ArkUI_NodeType = ArkUI_NodeType(11);
42 /// XComponent.
43 pub const ARKUI_NODE_XCOMPONENT: ArkUI_NodeType = ArkUI_NodeType(12);
44 /// Date picker.
45 pub const ARKUI_NODE_DATE_PICKER: ArkUI_NodeType = ArkUI_NodeType(13);
46 /// Time picker.
47 pub const ARKUI_NODE_TIME_PICKER: ArkUI_NodeType = ArkUI_NodeType(14);
48 /// Text picker.
49 pub const ARKUI_NODE_TEXT_PICKER: ArkUI_NodeType = ArkUI_NodeType(15);
50 /// Calendar picker.
51 pub const ARKUI_NODE_CALENDAR_PICKER: ArkUI_NodeType = ArkUI_NodeType(16);
52 /// Slider.
53 pub const ARKUI_NODE_SLIDER: ArkUI_NodeType = ArkUI_NodeType(17);
54 /// Radio
55 pub const ARKUI_NODE_RADIO: ArkUI_NodeType = ArkUI_NodeType(18);
56 /// Image animator.
57 pub const ARKUI_NODE_IMAGE_ANIMATOR: ArkUI_NodeType = ArkUI_NodeType(19);
58 /// XComponent of type TEXTURE.
59 ///
60 /// Available since API-level: 18
61 #[cfg(feature = "api-18")]
62 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
63 pub const ARKUI_NODE_XCOMPONENT_TEXTURE: ArkUI_NodeType = ArkUI_NodeType(20);
64 /// Check box group.
65 ///
66 /// Available since API-level: 15
67 #[cfg(feature = "api-15")]
68 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
69 pub const ARKUI_NODE_CHECKBOX_GROUP: ArkUI_NodeType = ArkUI_NodeType(21);
70 /// Stack container.
71 pub const ARKUI_NODE_STACK: ArkUI_NodeType = ArkUI_NodeType(1000);
72 /// Swiper.
73 pub const ARKUI_NODE_SWIPER: ArkUI_NodeType = ArkUI_NodeType(1001);
74 /// Scrolling container.
75 pub const ARKUI_NODE_SCROLL: ArkUI_NodeType = ArkUI_NodeType(1002);
76 /// List.
77 pub const ARKUI_NODE_LIST: ArkUI_NodeType = ArkUI_NodeType(1003);
78 /// List item.
79 pub const ARKUI_NODE_LIST_ITEM: ArkUI_NodeType = ArkUI_NodeType(1004);
80 /// List item group.
81 pub const ARKUI_NODE_LIST_ITEM_GROUP: ArkUI_NodeType = ArkUI_NodeType(1005);
82 /// Column container.
83 pub const ARKUI_NODE_COLUMN: ArkUI_NodeType = ArkUI_NodeType(1006);
84 /// Row container.
85 pub const ARKUI_NODE_ROW: ArkUI_NodeType = ArkUI_NodeType(1007);
86 /// Flex container.
87 pub const ARKUI_NODE_FLEX: ArkUI_NodeType = ArkUI_NodeType(1008);
88 /// Refresh component.
89 pub const ARKUI_NODE_REFRESH: ArkUI_NodeType = ArkUI_NodeType(1009);
90 /// Water flow container.
91 pub const ARKUI_NODE_WATER_FLOW: ArkUI_NodeType = ArkUI_NodeType(1010);
92 /// Water flow item.
93 pub const ARKUI_NODE_FLOW_ITEM: ArkUI_NodeType = ArkUI_NodeType(1011);
94 /// Relative layout component.
95 pub const ARKUI_NODE_RELATIVE_CONTAINER: ArkUI_NodeType = ArkUI_NodeType(1012);
96 /// Grid.
97 pub const ARKUI_NODE_GRID: ArkUI_NodeType = ArkUI_NodeType(1013);
98 /// Grid item.
99 pub const ARKUI_NODE_GRID_ITEM: ArkUI_NodeType = ArkUI_NodeType(1014);
100 /// Custom span.
101 pub const ARKUI_NODE_CUSTOM_SPAN: ArkUI_NodeType = ArkUI_NodeType(1015);
102 /// EmbeddedComponent.
103 ///
104 /// Available since API-level: 20
105 #[cfg(feature = "api-20")]
106 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
107 pub const ARKUI_NODE_EMBEDDED_COMPONENT: ArkUI_NodeType = ArkUI_NodeType(1016);
108 /// Undefined.
109 ///
110 /// Available since API-level: 20
111 #[cfg(feature = "api-20")]
112 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
113 pub const ARKUI_NODE_UNDEFINED: ArkUI_NodeType = ArkUI_NodeType(1017);
114 /// Picker container.
115 ///
116 /// Available since API-level: 23
117 #[cfg(feature = "api-23")]
118 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
119 pub const ARKUI_NODE_PICKER: ArkUI_NodeType = ArkUI_NodeType(1018);
120}
121#[repr(transparent)]
122/// Enumerates ArkUI component types that can be created on the native side.
123///
124///
125/// Available since API-level: 12
126#[cfg(feature = "api-12")]
127#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
128#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
129pub struct ArkUI_NodeType(pub ::core::ffi::c_uint);
130/// Defines the general input parameter structure of the [`setAttribute`] function. The property
131/// setting interfaces can utilize the member variables within it to store data of specific parameter types.
132///
133///
134/// Available since API-level: 12
135#[cfg(feature = "api-12")]
136#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
137#[repr(C)]
138#[derive(Debug, Copy, Clone)]
139pub struct ArkUI_AttributeItem {
140 /// A number array, used to store parameters of the number array type.
141 pub value: *const ArkUI_NumberValue,
142 /// The size of the number array, used together with the variable value, indicating the length of the value array.
143 pub size: i32,
144 /// String type, used to store parameters of the string type.
145 pub string: *const ::core::ffi::c_char,
146 /// Object type, used to store parameters of the object type.
147 pub object: *mut ::core::ffi::c_void,
148}
149#[cfg(feature = "api-12")]
150#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
151impl ArkUI_NodeAttributeType {
152 /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
153 ///
154 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
155 ///
156 /// .value[0].f32: width, in vp.
157 ///
158 ///
159 ///
160 /// Format of the return value [`ArkUI_AttributeItem`]:
161 ///
162 /// .value[0].f32: width, in vp.
163 pub const NODE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(0);
164 /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
165 ///
166 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
167 ///
168 /// .value[0].f32: height, in vp.
169 ///
170 ///
171 ///
172 /// Format of the return value [`ArkUI_AttributeItem`]:
173 ///
174 /// .value[0].f32: height, in vp.
175 pub const NODE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1);
176 /// Defines the background color attribute, which can be set, reset, and obtained as required through APIs.
177 ///
178 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
179 ///
180 /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
181 ///
182 ///
183 ///
184 /// Format of the return value [`ArkUI_AttributeItem`]:
185 ///
186 /// .value[0].u32: background color. The value is in 0xARGB format. For example, 0xFFFF0000 indicates red.
187 pub const NODE_BACKGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2);
188 /// Defines the background image attribute, which can be set, reset, and obtained as required through APIs.
189 ///
190 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
191 ///
192 /// .string: image address;
193 ///
194 /// .value[0]?.i32: whether to repeat the image. Optional. The parameter type is [`ArkUI_ImageRepeat`].
195 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
196 ///
197 /// The default value is <b>ARKUI_IMAGE_REPEAT_NONE</b>.
198 ///
199 ///
200 ///
201 /// Format of the return value [`ArkUI_AttributeItem`]:
202 ///
203 /// .string: image address;
204 ///
205 /// .value[0].i32: whether to repeat the image. The parameter type is [`ArkUI_ImageRepeat`].
206 ///
207 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
208 pub const NODE_BACKGROUND_IMAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3);
209 /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
210 ///
211 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
212 ///
213 /// 1: Specify the same padding for the four directions.
214 ///
215 /// .value[0].f32: padding, in vp.
216 ///
217 /// 2: Specify different paddings for different directions.
218 ///
219 /// .value[0].f32: top padding, in vp.
220 ///
221 /// .value[1].f32: right padding, in vp.
222 ///
223 /// .value[2].f32: bottom padding, in vp.
224 ///
225 /// .value[3].f32: left padding, in vp.
226 ///
227 ///
228 ///
229 /// Format of the return value [`ArkUI_AttributeItem`]:
230 ///
231 /// .value[0].f32: top padding, in vp.
232 ///
233 /// .value[1].f32: right padding, in vp.
234 ///
235 /// .value[2].f32: bottom padding, in vp.
236 ///
237 /// .value[3].f32: left padding, in vp.
238 pub const NODE_PADDING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4);
239 /// Defines the component ID attribute, which can be set, reset, and obtained as required through APIs.
240 ///
241 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
242 ///
243 /// .string: component ID.
244 ///
245 ///
246 ///
247 /// Format of the return value [`ArkUI_AttributeItem`]:
248 ///
249 /// .string: component ID.
250 pub const NODE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5);
251 /// Defines the interactivity attribute, which can be set, reset, and obtained as required through APIs.
252 ///
253 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
254 ///
255 /// .value[0].i32: The value <b>true</b> means that the component can interact with users, and <b>false</b> means the opposite.
256 ///
257 ///
258 ///
259 /// Format of the return value [`ArkUI_AttributeItem`]:
260 ///
261 /// .value[0].i32: The value <b>1</b> means that the component can interact with users, and <b>0</b> means the opposite.
262 pub const NODE_ENABLED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6);
263 /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
264 ///
265 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
266 ///
267 /// 1: Specify the same margin for the four directions.
268 ///
269 /// .value[0].f32: margin, in vp.
270 ///
271 /// 2: Specify different margins for different directions.
272 ///
273 /// .value[0].f32: top margin, in vp.
274 ///
275 /// .value[1].f32: right margin, in vp.
276 ///
277 /// .value[2].f32: bottom margin, in vp.
278 ///
279 /// .value[3].f32: left margin, in vp.
280 ///
281 ///
282 ///
283 /// Format of the return value [`ArkUI_AttributeItem`]:
284 ///
285 /// .value[0].f32: top margin, in vp.
286 ///
287 /// .value[1].f32: right margin, in vp.
288 ///
289 /// .value[2].f32: bottom margin, in vp.
290 ///
291 /// .value[3].f32: left margin, in vp.
292 pub const NODE_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7);
293 /// Defines the translate attribute, which can be set, reset, and obtained as required through APIs.
294 ///
295 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
296 ///
297 /// .value[0].f32: distance to translate along the x-axis, in vp. The default value is <b>0</b>.
298 ///
299 /// .value[1].f32: distance to translate along the y-axis, in vp. The default value is <b>0</b>.
300 ///
301 /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
302 ///
303 ///
304 ///
305 /// Format of the return value [`ArkUI_AttributeItem`]:
306 ///
307 /// .value[0].f32: distance to translate along the x-axis, in vp.
308 ///
309 /// .value[1].f32: distance to translate along the y-axis, in vp.
310 ///
311 /// .value[2].f32: distance to translate along the z-axis, in vp.
312 pub const NODE_TRANSLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8);
313 /// Defines the scale attribute, which can be set, reset, and obtained as required through APIs.
314 ///
315 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
316 ///
317 /// .value[0].f32: scale factor along the x-axis. The default value is <b>1</b>.
318 ///
319 /// .value[1].f32: scale factor along the y-axis. The default value is <b>1</b>.
320 ///
321 ///
322 ///
323 /// Format of the return value [`ArkUI_AttributeItem`]:
324 ///
325 /// .value[0].f32: scale factor along the x-axis.
326 ///
327 /// .value[1].f32: scale factor along the y-axis.
328 pub const NODE_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9);
329 /// Defines the rotate attribute, which can be set, reset, and obtained as required through APIs.
330 ///
331 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
332 ///
333 /// .value[0].f32: X coordinate of the rotation axis vector. The default value is <b>0</b>.
334 ///
335 /// .value[1].f32: Y coordinate of the rotation axis vector. The default value is <b>0</b>.
336 ///
337 /// .value[2].f32: Z coordinate of the rotation axis vector. The default value is <b>0</b>.
338 ///
339 /// .value[3].f32: rotation angle. The default value is <b>0</b>.
340 ///
341 /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
342 /// The default value is <b>0</b>.
343 ///
344 ///
345 ///
346 /// Format of the return value [`ArkUI_AttributeItem`]:
347 ///
348 /// .value[0].f32: X coordinate of the rotation axis vector.
349 ///
350 /// .value[1].f32: Y coordinate of the rotation axis vector.
351 ///
352 /// .value[2].f32: Z coordinate of the rotation axis vector.
353 ///
354 /// .value[3].f32: rotation angle.
355 ///
356 /// .value[4].f32: line of sight, that is, the distance from the viewpoint to the z=0 plane, in vp.
357 pub const NODE_ROTATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10);
358 /// Sets the brightness attribute, which can be set, reset, and obtained as required through APIs.
359 ///
360 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
361 ///
362 /// .value[0].f32: brightness value. The default value is <b>1.0</b>, and the recommended value range is [0, 2].
363 ///
364 ///
365 ///
366 /// Format of the return value [`ArkUI_AttributeItem`]:
367 ///
368 /// .value[0].f32: brightness value.
369 pub const NODE_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11);
370 /// Sets the saturation attribute, which can be set, reset, and obtained as required through APIs.
371 ///
372 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
373 ///
374 /// .value[0].f32: saturation value. The default value is <b>1.0</b>, and the recommended value range is [0, 50).
375 ///
376 ///
377 ///
378 /// Format of the return value [`ArkUI_AttributeItem`]:
379 ///
380 /// .value[0].f32: saturation value.
381 pub const NODE_SATURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12);
382 /// Sets the blur attribute, which can be set, reset, and obtained as required through APIs.
383 ///
384 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
385 ///
386 /// .value[0].f32: blur radius. A larger value indicates a higher blur degree. If the value is <b>0</b>,
387 /// the component is not blurred. The unit is vp. The default value is <b>0.0</b>.
388 ///
389 ///
390 ///
391 /// Format of the return value [`ArkUI_AttributeItem`]:
392 ///
393 /// .value[0].f32: blur radius. The larger the fuzzy radius, the more blurred the image. If the value is <b>0</b>,
394 /// the image is not blurred. The unit is vp.
395 pub const NODE_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13);
396 /// Sets the gradient attribute, which can be set, reset, and obtained as required through APIs.
397 ///
398 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
399 ///
400 /// .value[0].f32: start angle of the linear gradient. This attribute takes effect only when
401 /// [`ArkUI_LinearGradientDirection`] is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
402 /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
403 ///
404 /// .value[1].i32: direction of the linear gradient. When it is set, the <b>angle</b> attribute does not take effect.
405 /// The parameter type is [`ArkUI_LinearGradientDirection`]:
406 ///
407 /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
408 ///
409 /// .object: array of color stops, each of which consists of a color and its stop position.
410 /// Invalid colors are automatically skipped.
411 ///
412 /// colors: colors of the color stops.
413 ///
414 /// stops: stop positions of the color stops.
415 ///
416 /// size: number of colors.
417 ///
418 ///
419 ///
420 /// Format of the return value [`ArkUI_AttributeItem`]:
421 ///
422 /// .value[0].f32: start angle of the linear gradient.
423 ///
424 /// .value[1].i32: direction of the linear gradient. It does not take effect when <b>angle</b> is set.
425 ///
426 /// .value[2].i32: whether the colors are repeated.
427 ///
428 /// .object: array of color stops, each of which consists of a color and its stop position.
429 /// Invalid colors are automatically skipped.
430 ///
431 /// colors: colors of the color stops.
432 ///
433 /// stops: stop positions of the color stops.
434 ///
435 /// size: number of colors.
436 pub const NODE_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14);
437 /// Sets the alignment attribute, which can be set, reset, and obtained as required through APIs.
438 ///
439 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
440 ///
441 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
442 /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
443 ///
444 ///
445 ///
446 /// Format of the return value [`ArkUI_AttributeItem`]:
447 ///
448 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
449 pub const NODE_ALIGNMENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15);
450 /// Defines the opacity attribute, which can be set, reset, and obtained as required through APIs.
451 ///
452 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
453 ///
454 /// .value[0].f32: opacity value. The value ranges from 0 to 1.
455 ///
456 ///
457 ///
458 /// Format of the return value [`ArkUI_AttributeItem`]:
459 ///
460 /// .value[0].f32: opacity value. The value ranges from 0 to 1.
461 pub const NODE_OPACITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16);
462 /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
463 ///
464 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
465 ///
466 /// 1: .value[0].f32: width of the four borders.
467 ///
468 /// 2: .value[0].f32: width of the top border.
469 ///
470 /// .value[1].f32: width of the right border.
471 ///
472 /// .value[2].f32: width of the bottom border.
473 ///
474 /// .value[3].f32: width of the left border.
475 ///
476 ///
477 ///
478 /// Format of the return value [`ArkUI_AttributeItem`]:
479 ///
480 /// .value[0].f32: width of the top border.
481 ///
482 /// .value[1].f32: width of the right border.
483 ///
484 /// .value[2].f32: width of the bottom border.
485 ///
486 /// .value[3].f32: width of the left border.
487 pub const NODE_BORDER_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17);
488 /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
489 ///
490 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
491 ///
492 /// 1: .value[0].f32: radius of the four corners.
493 ///
494 /// 2: .value[0].f32: radius of the upper left corner.
495 ///
496 /// .value[1].f32: radius of the upper right corner.
497 ///
498 /// .value[2].f32: radius of the lower left corner.
499 ///
500 /// .value[3].f32: radius of the lower right corner.
501 ///
502 ///
503 ///
504 /// Format of the return value [`ArkUI_AttributeItem`]:
505 ///
506 /// .value[0].f32: radius of the upper left corner.
507 ///
508 /// .value[1].f32: radius of the upper right corner.
509 ///
510 /// .value[2].f32: radius of the lower left corner.
511 ///
512 /// .value[3].f32: radius of the lower right corner.
513 pub const NODE_BORDER_RADIUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18);
514 /// Defines the border color attribute, which can be set, reset, and obtained as required through APIs.
515 ///
516 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
517 ///
518 /// 1: .value[0].u32: color of the four borders, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
519 ///
520 /// 2: .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
521 ///
522 /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
523 ///
524 /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
525 ///
526 /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
527 ///
528 ///
529 ///
530 /// Format of the return value [`ArkUI_AttributeItem`]:
531 ///
532 /// .value[0].u32: color of the top border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
533 ///
534 /// .value[1].u32: color of the right border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
535 ///
536 /// .value[2].u32: color of the lower border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
537 ///
538 /// .value[3].u32: color of the left border, in 0xARGB format, for example, <b>0xFFFF11FF</b>.
539 pub const NODE_BORDER_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19);
540 /// Defines the border line style attribute, which can be set, reset, and obtained as required through APIs.
541 ///
542 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
543 ///
544 /// 1: .value[0].i32: line style of the four borders. The parameter type is [`ArkUI_BorderStyle`].
545 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
546 ///
547 /// 2: .value[0].i32: line style of the top border. The parameter type is [`ArkUI_BorderStyle`].
548 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
549 ///
550 /// .value[1].i32: line style of the right border. The parameter type is [`ArkUI_BorderStyle`].
551 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
552 ///
553 /// .value[2].i32: line style of the bottom border. The parameter type is [`ArkUI_BorderStyle`].
554 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
555 ///
556 /// .value[3].i32: line style of the left border. The parameter type is [`ArkUI_BorderStyle`].
557 /// The default value is <b>ARKUI_BORDER_STYLE_SOLID</b>.
558 ///
559 ///
560 ///
561 /// Format of the return value [`ArkUI_AttributeItem`]:
562 ///
563 /// .value[0].i32: line style of the top border.
564 ///
565 /// .value[1].i32: line style of the right border.
566 ///
567 /// .value[2].i32: line style of the bottom border.
568 ///
569 /// .value[3].i32: line style of the left border.
570 pub const NODE_BORDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(20);
571 /// Defines the z-index attribute for the stack sequence.
572 /// This attribute can be set, reset, and obtained as required through APIs.
573 ///
574 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
575 ///
576 /// .value[0].i32: z-index value.
577 ///
578 ///
579 ///
580 /// Format of the return value [`ArkUI_AttributeItem`]:
581 ///
582 /// .value[0].i32: z-index value.
583 pub const NODE_Z_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21);
584 /// Defines the visibility attribute, which can be set, reset, and obtained as required through APIs.
585 ///
586 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
587 ///
588 /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
589 /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
590 ///
591 ///
592 ///
593 /// Format of the return value [`ArkUI_AttributeItem`]:
594 ///
595 /// .value[0].i32: whether to show or hide the component. The parameter type is [`ArkUI_Visibility`].
596 /// The default value is <b>ARKUI_VISIBILITY_VISIBLE</b>.
597 pub const NODE_VISIBILITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(22);
598 /// Defines the clipping and masking attribute, which can be set, reset, and obtained as required through
599 /// APIs.
600 ///
601 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
602 ///
603 /// .value[0].i32: whether to clip the component based on the parent container bounds.
604 /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
605 ///
606 ///
607 ///
608 /// Format of the return value [`ArkUI_AttributeItem`]:
609 ///
610 /// .value[0].i32: whether to clip the component based on the parent container bounds.
611 /// The value <b>1</b> means to clip the component, and <b>0</b> means the opposite.
612 pub const NODE_CLIP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(23);
613 /// Defines the clipping region on the component.
614 /// This attribute can be set and obtained as required through APIs.
615 ///
616 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute,
617 /// which supports four types of shapes:
618 ///
619 /// 1. Rectangle:
620 ///
621 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
622 /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
623 ///
624 /// .value[1].f32: width of the rectangle.
625 ///
626 /// .value[2].f32: height of rectangle.
627 ///
628 /// .value[3].f32: width of the rounded corner of the rectangle.
629 ///
630 /// .value[4].f32: height of the rounded corner of the rectangle.
631 ///
632 /// .value[5]?.f32: radius of the top left corner of the rectangular shape.
633 ///
634 /// .value[6]?.f32: radius of the bottom left corner of the rectangular shape.
635 ///
636 /// .value[7]?.f32: radius of the top right corner of the rectangular shape.
637 ///
638 /// .value[8]?.f32: radius of the bottom right corner of the rectangular shape.
639 ///
640 /// ?.object: clipOption of the rectangle. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
641 /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is rectangle, and .size must be equal to 1.
642 /// 2. Circle:
643 ///
644 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
645 /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
646 ///
647 /// .value[1].f32: width of the circle.
648 ///
649 /// .value[2].f32: height of the circle.
650 ///
651 /// ?.object: clipOption of the circle. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
652 /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is circle, and .size must be equal to 1.
653 /// 3.Ellipse:
654 ///
655 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
656 /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
657 ///
658 /// .value[1].f32: width of the ellipse.
659 ///
660 /// .value[2].f32: height of the ellipse.
661 ///
662 /// ?.object: clipOption of the ellipse. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
663 /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is ellipse, and .size must be equal to 1.
664 /// 4. Path:
665 ///
666 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
667 /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
668 ///
669 /// .value[1].f32: width of the path.
670 ///
671 /// .value[2].f32: height of the path.
672 ///
673 /// .string: command for drawing the path.
674 ///
675 /// ?.object: clipOption of the path. The parameter type is [`ArkUI_RenderNodeClipOption`] type.
676 /// It takes effect when only the .object parameter is passed, ArkUI_RenderNodeClipOption type is path, and .size must be equal to 1.
677 /// Format of the return value [`ArkUI_AttributeItem`], which supports four types of shapes:
678 ///
679 /// 1. Rectangle:
680 ///
681 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
682 /// The value is <b>ARKUI_CLIP_TYPE_RECTANGLE</b> for the rectangle shape.
683 ///
684 /// .value[1].f32: width of the rectangle.
685 ///
686 /// .value[2].f32: height of rectangle.
687 ///
688 /// .value[3].f32: width of the rounded corner of the rectangle.
689 ///
690 /// .value[4].f32: height of the rounded corner of the rectangle.
691 ///
692 /// .value[5].f32: radius of the top left corner of the rectangular shape;
693 ///
694 /// .value[6].f32: radius of the bottom left corner of the rectangular shape;
695 ///
696 /// .value[7].f32: radius of the top right corner of the rectangular shape;
697 ///
698 /// .value[8].f32: radius of the bottom right corner of the rectangular shape;
699 ///
700 /// .value[9]?.f32: horizontal coordinate offset of the rectangle.
701 ///
702 /// .value[10]?.f32: vertical coordinate offset of the rectangle.
703 ///
704 /// 2. Circle:
705 ///
706 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
707 /// The value is <b>ARKUI_CLIP_TYPE_CIRCLE</b> for the circle shape.
708 ///
709 /// .value[1].f32: width of the circle.
710 ///
711 /// .value[2].f32: height of the circle.
712 ///
713 /// .value[3]?.f32: horizontal coordinate offset of the circle.
714 ///
715 /// .value[4]?.f32: vertical coordinate offset of the circle.
716 ///
717 /// 3.Ellipse:
718 ///
719 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
720 /// The value is <b>ARKUI_CLIP_TYPE_ELLIPSE</b> for the ellipse shape.
721 ///
722 /// .value[1].f32: width of the ellipse.
723 ///
724 /// .value[2].f32: height of the ellipse.
725 ///
726 /// .value[3]?.f32: horizontal coordinate offset of the ellipse.
727 ///
728 /// .value[4]?.f32: vertical coordinate offset of the ellipse.
729 ///
730 /// 4. Path:
731 ///
732 /// .value[0].i32: type of shape. The parameter type is [`ArkUI_ClipType`].
733 /// The value is <b>ARKUI_CLIP_TYPE_PATH</b> for the path shape.
734 ///
735 /// .value[1].f32: width of the path.
736 ///
737 /// .value[2].f32: height of the path.
738 ///
739 /// .string: command for drawing the path.
740 pub const NODE_CLIP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(24);
741 /// Defines the transform attribute, which can be used to translate, rotate, and scale images.
742 /// This attribute can be set, reset, and obtained as required through APIs.
743 ///
744 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
745 ///
746 /// .value[0...15].f32: 16 floating-point numbers.
747 ///
748 ///
749 ///
750 /// Format of the return value [`ArkUI_AttributeItem`]:
751 ///
752 /// .value[0...15].f32: 16 floating-point numbers.
753 pub const NODE_TRANSFORM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(25);
754 /// Defines the hit test behavior 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: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
759 /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
760 ///
761 ///
762 ///
763 /// Format of the return value [`ArkUI_AttributeItem`]:
764 ///
765 /// .value[0].i32: hit test mode. The parameter type is [`ArkUI_HitTestMode`].
766 /// The default value is <b>ARKUI_HIT_TEST_MODE_DEFAULT</b>.
767 pub const NODE_HIT_TEST_BEHAVIOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(26);
768 /// Defines the offset attribute, which specifies the offset of the component's upper left corner relative
769 /// to the parent container's. This attribute can be set, reset, and obtained as required through APIs.
770 ///
771 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
772 ///
773 /// .value[0].f32: X coordinate.
774 ///
775 /// .value[1].f32: Y coordinate.
776 ///
777 ///
778 ///
779 /// Format of the return value [`ArkUI_AttributeItem`]:
780 ///
781 /// .value[0].f32: X coordinate.
782 ///
783 /// .value[1].f32: Y coordinate.
784 pub const NODE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(27);
785 /// Defines the shadow attribute, which can be set, reset, and obtained as required through APIs.
786 ///
787 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
788 ///
789 /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
790 ///
791 ///
792 ///
793 /// Format of the return value [`ArkUI_AttributeItem`]:
794 ///
795 /// .value[0].i32: shadow effect. The parameter type is [`ArkUI_ShadowStyle`].
796 pub const NODE_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(28);
797 /// Defines the custom shadow effect. This attribute can be set, reset, and obtained as required through APIs.
798 ///
799 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
800 ///
801 /// .value[0]?.f32: blur radius of the shadow, in vp.
802 ///
803 /// .value[1]?.i32: whether to enable the coloring strategy. The value <b>1</b> means to enable the coloring
804 /// strategy, and <b>0</b> (default value) means the opposite.
805 ///
806 /// .value[2]?.f32: offset of the shadow along the x-axis, in px.
807 ///
808 /// .value[3]?.f32: offset of the shadow along the y-axis, in px.
809 ///
810 /// .value[4]?.i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
811 ///
812 /// .value[5]?.u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
813 ///
814 /// .value[6]?.u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
815 /// means the opposite.
816 ///
817 ///
818 ///
819 ///
820 /// Format of the return value [`ArkUI_AttributeItem`]:
821 ///
822 /// .value[0].f32: blur radius of the shadow, in vp.
823 ///
824 /// .value[1].i32: whether to enable the coloring strategy.
825 ///
826 /// .value[2].f32: offset of the shadow along the x-axis, in px.
827 ///
828 /// .value[3].f32: offset of the shadow along the y-axis, in px.
829 ///
830 /// .value[4].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
831 ///
832 /// .value[5].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
833 ///
834 /// .value[6].u32: whether to fill the shadow. The value <b>1</b> means to fill the shadow, and <b>0</b>
835 /// means the opposite.
836 pub const NODE_CUSTOM_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(29);
837 /// Defines the background image width and height.
838 /// This attribute can be set, reset, and obtained as required through APIs.
839 ///
840 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
841 ///
842 /// .value[0].f32: width of the image. The value range is [0, +∞), and the unit is vp.
843 ///
844 /// .value[1].f32: height of the image. The value range is [0, +∞), and the unit is vp.
845 ///
846 ///
847 ///
848 /// Format of the return value [`ArkUI_AttributeItem`]:
849 ///
850 /// .value[0].f32: width of the image, in vp.
851 ///
852 /// .value[1].f32: height of the image, in vp.
853 pub const NODE_BACKGROUND_IMAGE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(30);
854 /// Defines the background image size.
855 /// This attribute can be set, reset, and obtained as required through APIs.
856 ///
857 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
858 ///
859 /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
860 ///
861 ///
862 ///
863 /// Format of the return value [`ArkUI_AttributeItem`]:
864 ///
865 /// .value[0].i32: size of the background image. The value is an enum of [`ArkUI_ImageSize`].
866 pub const NODE_BACKGROUND_IMAGE_SIZE_WITH_STYLE: ArkUI_NodeAttributeType =
867 ArkUI_NodeAttributeType(31);
868 /// Defines the background blur attribute, which can be set, reset, and obtained as required through APIs.
869 ///
870 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
871 ///
872 /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
873 ///
874 /// .value[1]?.i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
875 ///
876 /// .value[2]?.i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
877 ///
878 /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
879 ///
880 /// .value[4]?.f32: start boundary of grayscale blur.
881 ///
882 /// .value[5]?.f32: end boundary of grayscale blur.
883 ///
884 ///
885 ///
886 /// Format of the return value [`ArkUI_AttributeItem`]:
887 ///
888 /// .value[0].i32: blue type. The value is an enum of [`ArkUI_BlurStyle`].
889 ///
890 /// .value[1].i32: color mode. The value is an enum of [`ArkUI_ColorMode`].
891 ///
892 /// .value[2].i32: adaptive color mode. The value is an enum of [`ArkUI_AdaptiveColor`].
893 ///
894 /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
895 ///
896 /// .value[4].f32: start boundary of grayscale blur.
897 ///
898 /// .value[5].f32: end boundary of grayscale blur.
899 pub const NODE_BACKGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(32);
900 /// Defines the transform center attribute, which can be set, reset, and obtained as required through APIs.
901 ///
902 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
903 ///
904 /// .value[0]?.f32: X coordinate of the center point, in vp.
905 ///
906 /// .value[1]?.f32: Y coordinate of the center point, in vp.
907 ///
908 /// .value[2]?.f32: Z coordinate of the center point, in vp.
909 ///
910 /// .value[3]?.f32 : X coordinate of the center point, expressed in a number that represents a percentage.
911 /// For example, 0.2 indicates 20%. This attribute overwrites value[0].f32. The default value is <b>0.5f</b>.
912 ///
913 /// .value[4]?.f32 : Y coordinate of the center point, expressed in a number that represents a percentage.
914 /// For example, 0.2 indicates 20%. This attribute overwrites value[1].f32. The default value is <b>0.5f</b>.
915 ///
916 /// .value[5]?.f32 : Z coordinate of the center point, expressed in a number that represents a percentage.
917 /// For example, 0.2 indicates 20%. This attribute overwrites value[2].f32. The default value is <b>0.0f</b>.
918 ///
919 ///
920 ///
921 /// Format of the return value [`ArkUI_AttributeItem`]:
922 ///
923 /// .value[0].f32: X coordinate of the center point, in vp.
924 ///
925 /// .value[1].f32: Y coordinate of the center point, in vp.
926 ///
927 /// .value[2].f32: Z coordinate of the center point, in vp.
928 ///
929 /// Note: If the coordinate is expressed in a number that represents a percentage, the attribute obtaining API
930 /// returns the calculated value in vp.
931 pub const NODE_TRANSFORM_CENTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(33);
932 /// Defines the transition opacity attribute, which can be set, reset, and obtained as required through APIs.
933 ///
934 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
935 ///
936 /// .value[0].f32: opacity values of the start and end points.
937 ///
938 /// .value[1].i32: animation duration, in milliseconds.
939 ///
940 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
941 ///
942 /// .value[3]?.i32: animation delay duration, in milliseconds.
943 ///
944 /// .value[4]?.i32: number of times that the animation is played.
945 ///
946 /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
947 ///
948 /// .value[6]?.f32: animation playback speed.
949 ///
950 ///
951 ///
952 /// Format of the return value [`ArkUI_AttributeItem`]:
953 ///
954 /// .value[0].f32: opacity values of the start and end points.
955 ///
956 /// .value[1].i32: animation duration, in milliseconds.
957 ///
958 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
959 ///
960 /// .value[3].i32: animation delay duration, in milliseconds.
961 ///
962 /// .value[4].i32: number of times that the animation is played.
963 ///
964 /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
965 ///
966 /// .value[6].f32: animation playback speed.
967 pub const NODE_OPACITY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(34);
968 /// Defines the transition rotation attribute, which can be set, reset, and obtained as required through APIs.
969 ///
970 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
971 ///
972 /// .value[0].f32: X-component of the rotation vector.
973 ///
974 /// .value[1].f32: Y-component of the rotation vector.
975 ///
976 /// .value[2].f32: Z-component of the rotation vector
977 ///
978 /// .value[3].f32: angle.
979 ///
980 /// .value[4].f32: line of sight. The default value is <b>0.0f</b>.
981 ///
982 /// .value[5].i32: animation duration, in milliseconds.
983 ///
984 /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
985 ///
986 ///
987 /// .value[7]?.i32: animation delay duration, in milliseconds.
988 ///
989 /// .value[8]?.i32: number of times that the animation is played.
990 ///
991 /// .value[9]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
992 ///
993 /// .value[10]?.f32: animation playback speed.
994 ///
995 ///
996 ///
997 /// Format of the return value [`ArkUI_AttributeItem`]:
998 ///
999 /// .value[0].f32: X-component of the rotation vector.
1000 ///
1001 /// .value[1].f32: Y-component of the rotation vector.
1002 ///
1003 /// .value[2].f32: Z-component of the rotation vector
1004 ///
1005 /// .value[3].f32: angle.
1006 ///
1007 /// .value[4].f32: line of sight.
1008 ///
1009 /// .value[5].i32: animation duration, in milliseconds.
1010 ///
1011 /// .value[6].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1012 ///
1013 ///
1014 /// .value[7].i32: animation delay duration, in milliseconds.
1015 ///
1016 /// .value[8].i32: number of times that the animation is played.
1017 ///
1018 /// .value[9].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1019 ///
1020 /// .value[10].f32: animation playback speed.
1021 pub const NODE_ROTATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(35);
1022 /// Defines the transition scaling attribute, which can be set, reset, and obtained as required through APIs.
1023 ///
1024 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1025 ///
1026 /// .value[0].f32: scale factor along the x-axis.
1027 ///
1028 /// .value[1].f32: scale factor along the y-axis.
1029 ///
1030 /// .value[2].f32: scale factor along the z-axis.
1031 ///
1032 /// .value[3].i32: animation duration, in milliseconds.
1033 ///
1034 /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1035 ///
1036 ///
1037 /// .value[5]?.i32: animation delay duration, in milliseconds.
1038 ///
1039 /// .value[6]?.i32: number of times that the animation is played.
1040 ///
1041 /// .value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1042 ///
1043 /// .value[8]?.f32: animation playback speed.
1044 ///
1045 ///
1046 ///
1047 /// Format of the return value [`ArkUI_AttributeItem`]:
1048 ///
1049 /// .value[0].f32: scale factor along the x-axis.
1050 ///
1051 /// .value[1].f32: scale factor along the y-axis.
1052 ///
1053 /// .value[2].f32: scale factor along the z-axis.
1054 ///
1055 /// .value[3].i32: animation duration, in milliseconds.
1056 ///
1057 /// .value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1058 ///
1059 ///
1060 /// .value[5].i32: animation delay duration, in milliseconds.
1061 ///
1062 /// .value[6].i32: number of times that the animation is played.
1063 ///
1064 /// .value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1065 ///
1066 /// .value[8].f32: animation playback speed.
1067 pub const NODE_SCALE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(36);
1068 /// Defines the transition translation attribute.
1069 /// This attribute can be set, reset, and obtained as required through APIs.
1070 ///
1071 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1072 ///
1073 /// value[0].f32: translation distance along the x-axis, in vp.
1074 ///
1075 /// value[1].f32: translation distance along the y-axis, in vp.
1076 ///
1077 /// value[2].f32: translation distance along the z-axis, in vp.
1078 ///
1079 /// value[3].i32: animation duration, in milliseconds.
1080 ///
1081 /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1082 ///
1083 ///
1084 /// value[5]?.i32: animation delay duration, in milliseconds.
1085 ///
1086 /// value[6]?.i32: number of times that the animation is played.
1087 ///
1088 /// value[7]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1089 ///
1090 /// value[8]?.f32: animation playback speed.
1091 ///
1092 ///
1093 ///
1094 /// Format of the return value [`ArkUI_AttributeItem`]:
1095 ///
1096 /// value[0].f32: translation distance along the x-axis, in vp.
1097 ///
1098 /// value[1].f32: translation distance along the y-axis, in vp.
1099 ///
1100 /// value[2].f32: translation distance along the z-axis, in vp.
1101 ///
1102 /// value[3].i32: animation duration, in milliseconds.
1103 ///
1104 /// value[4].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1105 ///
1106 ///
1107 /// value[5].i32: animation delay duration, in milliseconds.
1108 ///
1109 /// value[6].i32: number of times that the animation is played.
1110 ///
1111 /// value[7].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1112 ///
1113 /// value[8].f32: animation playback speed.
1114 pub const NODE_TRANSLATE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(37);
1115 /// Defines the slide-in and slide-out of the component from the screen edge during transition.
1116 /// This attribute can be set, reset, and obtained as required through APIs.
1117 ///
1118 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1119 ///
1120 /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1121 ///
1122 /// .value[1].i32: animation duration, in milliseconds.
1123 ///
1124 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1125 ///
1126 /// .value[3]?.i32: animation delay duration, in milliseconds.
1127 ///
1128 /// .value[4]?.i32: number of times that the animation is played.
1129 ///
1130 /// .value[5]?.i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1131 ///
1132 /// .value[6]?.f32: animation playback speed.
1133 ///
1134 ///
1135 ///
1136 /// Format of the return value [`ArkUI_AttributeItem`]:
1137 ///
1138 /// .value[0].i32: The parameter type is [`ArkUI_TransitionEdge`].
1139 ///
1140 /// .value[1].i32: animation duration, in milliseconds.
1141 ///
1142 /// .value[2].i32: animation curve type. The value is an enum of [`ArkUI_AnimationCurve`].
1143 ///
1144 /// .value[3].i32: animation delay duration, in milliseconds.
1145 ///
1146 /// .value[4].i32: number of times that the animation is played.
1147 ///
1148 /// .value[5].i32: animation playback mode. The value is an enum of [`ArkUI_AnimationPlayMode`].
1149 ///
1150 /// .value[6].f32: animation playback speed.
1151 pub const NODE_MOVE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(38);
1152 /// Defines the focus attribute, which can be set, reset, and obtained as required through APIs.
1153 ///
1154 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1155 ///
1156 /// .value[0].i32: The parameter type is 1 or 0.
1157 ///
1158 ///
1159 /// Format of the return value [`ArkUI_AttributeItem`]:
1160 ///
1161 /// .value[0].i32: The parameter type is 1 or 0.
1162 pub const NODE_FOCUSABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(39);
1163 /// Defines the default focus attribute, which can be set, reset, and obtained as required through APIs.
1164 ///
1165 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1166 ///
1167 /// value[0].i32: The parameter type is 1 or 0.
1168 ///
1169 ///
1170 /// Format of the return value [`ArkUI_AttributeItem`]:
1171 ///
1172 /// value[0].i32: The parameter type is 1 or 0.
1173 pub const NODE_DEFAULT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(40);
1174 /// Defines the touch target attribute, which can be set, reset, and obtained as required through APIs.
1175 ///
1176 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1177 ///
1178 /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1179 ///
1180 /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1181 ///
1182 /// .data[2].f32: width of the touch target, in %.
1183 ///
1184 /// .data[3].f32: height of the touch target, in %.
1185 ///
1186 /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1187 ///
1188 ///
1189 /// Format of the return value [`ArkUI_AttributeItem`]:
1190 ///
1191 /// .data[0].f32: X coordinate of the touch point relative to the upper left corner of the component, in vp.
1192 ///
1193 /// .data[1].f32: Y coordinate of the touch point relative to the upper left corner of the component, in vp.
1194 ///
1195 /// .data[2].f32: width of the touch target, in %.
1196 ///
1197 /// .data[3].f32: height of the touch target, in %.
1198 ///
1199 /// .data[4...].f32: Multiple touch targets can be set. The sequence of the parameters is the same as the preceding.
1200 pub const NODE_RESPONSE_REGION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(41);
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 /// You can set the overlay content through .string or .object as follow, and .string has higher priority.
1206 /// .string: mask text.
1207 ///
1208 /// .value[0]?.i32: position of the overlay relative to the component. Optional.
1209 /// The parameter type is [`ArkUI_Alignment`].
1210 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1211 ///
1212 /// .value[1]?.f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp. Optional.
1213 ///
1214 /// .value[2]?.f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp. Optional.
1215 ///
1216 ///
1217 /// .value[3]?.i32: the layout direction.
1218 /// The parameter type is [`ArkUI_Direction`], supported since API 21.
1219 /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1220 ///
1221 /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1222 /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1223 /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1224 ///
1225 ///
1226 /// .object: the node tree used as the overlay.
1227 /// The parameter type is [`ArkUI_NodeHandle`].
1228 /// The default value is <b>nullptr.</b>
1229 ///
1230 /// this parameter is conflict with .string, and it has lower priority than .string.
1231 ///
1232 ///
1233 /// Format of the return value [`ArkUI_AttributeItem`]:
1234 ///
1235 /// .string: mask text.
1236 ///
1237 /// .value[0].i32: position of the overlay relative to the component.
1238 /// The parameter type is [`ArkUI_Alignment`].
1239 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START.</b>
1240 ///
1241 /// .value[1].f32: offset of the overlay relative to the upper left corner of itself on the x-axis, in vp.
1242 ///
1243 /// .value[2].f32: offset of the overlay relative to the upper left corner of itself on the y-axis, in vp.
1244 /// .value[3].i32: the layout direction.
1245 /// The parameter type is [`ArkUI_Direction`], supported since API 21.
1246 /// The default value is <b>ARKUI_DIRECTION_LTR.</b>
1247 ///
1248 /// .object: the overlay node handle.
1249 pub const NODE_OVERLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(42);
1250 /// Defines the sweep gradient effect.
1251 /// This attribute can be set, reset, and obtained as required through APIs.
1252 ///
1253 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1254 ///
1255 /// .value[0]?.f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1256 ///
1257 /// .value[1]?.f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1258 ///
1259 /// .value[2]?.f32: start point of the sweep gradient. The default value is <b>0</b>.
1260 ///
1261 /// .value[3]?.f32: end point of the sweep gradient. The default value is <b>0</b>.
1262 ///
1263 /// .value[4]?.f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1264 ///
1265 /// .value[5]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1266 /// and <b>0</b> means the opposite.
1267 ///
1268 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1269 /// automatically skipped.
1270 ///
1271 /// colors: colors of the color stops.
1272 ///
1273 /// stops: stop positions of the color stops.
1274 ///
1275 /// size: number of colors.
1276 ///
1277 ///
1278 ///
1279 /// Format of the return value [`ArkUI_AttributeItem`]:
1280 ///
1281 /// .value[0].f32: X coordinate of the sweep gradient center relative to the upper left corner of the component.
1282 ///
1283 /// .value[1].f32: Y coordinate of the sweep gradient center relative to the upper left corner of the component.
1284 ///
1285 /// .value[2].f32: start point of the sweep gradient. The default value is <b>0</b>.
1286 ///
1287 /// .value[3].f32: end point of the sweep gradient. The default value is <b>0</b>.
1288 ///
1289 /// .value[4].f32: rotation angle of the sweep gradient. The default value is <b>0</b>.
1290 ///
1291 /// .value[5].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1292 /// and <b>0</b> means the opposite.
1293 ///
1294 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1295 /// automatically skipped.
1296 ///
1297 /// colors: colors of the color stops.
1298 ///
1299 /// stops: stop positions of the color stops.
1300 ///
1301 /// size: number of colors.
1302 pub const NODE_SWEEP_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(43);
1303 /// Defines the radial gradient effect.
1304 /// This attribute can be set, reset, and obtained as required through APIs.
1305 ///
1306 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1307 ///
1308 /// .value[0]?.f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1309 ///
1310 /// .value[1]?.f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1311 ///
1312 /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
1313 ///
1314 /// .value[3]?.i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1315 /// and <b>0</b> means the opposite.
1316 ///
1317 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1318 /// automatically skipped.
1319 ///
1320 /// colors: colors of the color stops.
1321 ///
1322 /// stops: stop positions of the color stops.
1323 ///
1324 /// size: number of colors.
1325 ///
1326 ///
1327 ///
1328 /// Format of the return value [`ArkUI_AttributeItem`]:
1329 ///
1330 /// .value[0].f32: X coordinate of the radial gradient center relative to the upper left corner of the component.
1331 ///
1332 /// .value[1].f32: Y coordinate of the radial gradient center relative to the upper left corner of the component.
1333 ///
1334 /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
1335 ///
1336 /// .value[3].i32: whether the colors are repeated. The value <b>1</b> means that the colors are repeated,
1337 /// and <b>0</b> means the opposite.
1338 ///
1339 /// .object: array of color stops, each of which consists of a color and its stop position. Invalid colors are
1340 /// automatically skipped.
1341 ///
1342 /// colors: colors of the color stops.
1343 ///
1344 /// stops: stop positions of the color stops.
1345 ///
1346 /// size: number of colors.
1347 pub const NODE_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(44);
1348 /// Adds a mask of the specified shape to the component.
1349 /// This attribute can be set, reset, and obtained as required through APIs.
1350 ///
1351 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute, which supports five types of
1352 /// shapes:
1353 ///
1354 /// 1. Rectangle:
1355 ///
1356 /// .value[0].u32 fill color, in 0xARGB format.
1357 ///
1358 /// .value[1].u32: stroke color, in 0xARGB format.
1359 ///
1360 /// .value[2].f32: stroke width, in vp.
1361 ///
1362 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1363 /// The value is <b>ARKUI_MASK_TYPE_RECTANGLE</b> for the rectangle shape.
1364 ///
1365 /// .value[4].f32: width of the rectangle.
1366 ///
1367 /// .value[5].f32: height of the rectangle.
1368 ///
1369 /// .value[6].f32: width of the rounded corner of the rectangle.
1370 ///
1371 /// .value[7].f32: height of the rounded corner of the rectangle.
1372 ///
1373 /// .value[8]?.f32: radius of the top left corner of the rectangular shape.
1374 ///
1375 /// .value[9]?.f32: radius of the bottom left corner of the rectangular shape.
1376 ///
1377 /// .value[10]?.f32: radius of the top right corner of the rectangular shape.
1378 ///
1379 /// .value[11]?.f32: radius of the bottom right corner of the rectangular shape.
1380 ///
1381 /// 2. Circle:
1382 ///
1383 /// .value[0].u32 fill color, in 0xARGB format.
1384 ///
1385 /// .value[1].u32: stroke color, in 0xARGB format.
1386 ///
1387 /// .value[2].f32: stroke width, in vp.
1388 ///
1389 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1390 /// The value is <b>ARKUI_MASK_TYPE_CIRCLE</b> for the circle shape.
1391 ///
1392 /// .value[4].f32: width of the circle.
1393 ///
1394 /// .value[5].f32: height of the circle.
1395 ///
1396 /// 3. Ellipse:
1397 ///
1398 /// .value[0].u32 fill color, in 0xARGB format.
1399 ///
1400 /// .value[1].u32: stroke color, in 0xARGB format.
1401 ///
1402 /// .value[2].f32: stroke width, in vp.
1403 ///
1404 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1405 /// The value is <b>ARKUI_MASK_TYPE_ELLIPSE</b> for the ellipse shape.
1406 ///
1407 /// .value[4].f32: width of the ellipse.
1408 ///
1409 /// .value[5].f32: height of the ellipse.
1410 ///
1411 /// 4. Path:
1412 ///
1413 /// .value[0].u32 fill color, in 0xARGB format.
1414 ///
1415 /// .value[1].u32: stroke color, in 0xARGB format.
1416 ///
1417 /// .value[2].f32: stroke width, in vp.
1418 ///
1419 /// .value[3].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1420 /// The value is <b>ARKUI_MASK_TYPE_PATH</b> for the path shape.
1421 ///
1422 /// .value[4].f32: width of the path.
1423 ///
1424 /// .value[5].f32: height of the path.
1425 ///
1426 /// .string: command for drawing the path.
1427 ///
1428 /// 5. Progress:
1429 ///
1430 /// .value[0].i32: mask type. The parameter type is [`ArkUI_MaskType`].
1431 /// The value is <b>ARKUI_MASK_TYPE_PROGRESS</b> for the progress shape.
1432 ///
1433 /// .value[1].f32: current value of the progress indicator.
1434 ///
1435 /// .value[2].f32: maximum value of the progress indicator.
1436 ///
1437 /// .value[3].u32: color of the progress indicator, in 0xARGB format.
1438 ///
1439 ///
1440 ///
1441 /// Format of the return value [`ArkUI_AttributeItem`], which supports five types of shapes:
1442 ///
1443 /// 1. Rectangle:
1444 ///
1445 /// .value[0].u32 fill color, in 0xARGB format.
1446 ///
1447 /// .value[1].u32: stroke color, in 0xARGB format.
1448 ///
1449 /// .value[2].f32: stroke width, in vp.
1450 ///
1451 /// .value[3].i32: mask type.
1452 ///
1453 /// .value[4].f32: width of the rectangle.
1454 ///
1455 /// .value[5].f32: height of the rectangle.
1456 ///
1457 /// .value[6].f32: width of the rounded corner of the rectangle.
1458 ///
1459 /// .value[7].f32: height of the rounded corner of the rectangle.
1460 ///
1461 /// .value[8].f32: radius of the top left corner of the rectangular shape.
1462 ///
1463 /// .value[9].f32: radius of the bottom left corner of the rectangular shape.
1464 ///
1465 /// .value[10].f32: radius of the top right corner of the rectangular shape.
1466 ///
1467 /// .value[11].f32: radius of the bottom right corner of the rectangular shape.
1468 ///
1469 /// 2. Circle:
1470 ///
1471 /// .value[0].u32 fill color, in 0xARGB format.
1472 ///
1473 /// .value[1].u32: stroke color, in 0xARGB format.
1474 ///
1475 /// .value[2].f32: stroke width, in vp.
1476 ///
1477 /// .value[3].i32: mask type.
1478 ///
1479 /// .value[4].f32: width of the circle.
1480 ///
1481 /// .value[5].f32: height of the circle.
1482 ///
1483 /// 3. Ellipse:
1484 ///
1485 /// .value[0].u32 fill color, in 0xARGB format.
1486 ///
1487 /// .value[1].u32: stroke color, in 0xARGB format.
1488 ///
1489 /// .value[2].f32: stroke width, in vp.
1490 ///
1491 /// .value[3].i32: mask type.
1492 ///
1493 /// .value[4].f32: width of the ellipse.
1494 ///
1495 /// .value[5].f32: height of the ellipse.
1496 ///
1497 /// 4. Path:
1498 ///
1499 /// .value[0].u32 fill color, in 0xARGB format.
1500 ///
1501 /// .value[1].u32: stroke color, in 0xARGB format.
1502 ///
1503 /// .value[2].f32: stroke width, in vp.
1504 ///
1505 /// .value[3].i32: mask type.
1506 ///
1507 /// .value[4].f32: width of the path.
1508 ///
1509 /// .value[5].f32: height of the path.
1510 ///
1511 /// .string: command for drawing the path.
1512 ///
1513 /// 5. Progress:
1514 ///
1515 /// .value[0].i32: mask type.
1516 ///
1517 /// .value[1].f32: current value of the progress indicator.
1518 ///
1519 /// .value[2].f32: maximum value of the progress indicator.
1520 ///
1521 /// .value[3].u32: color of the progress indicator.
1522 pub const NODE_MASK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(45);
1523 /// Blends the component's background with the content of the component's child node.
1524 /// This attribute can be set, reset, and obtained as required through APIs.
1525 ///
1526 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1527 ///
1528 /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1529 /// <b>ARKUI_BLEND_MODE_NONE</b>.
1530 ///
1531 /// .value[1].?i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1532 /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1533 ///
1534 ///
1535 ///
1536 /// Format of the return value [`ArkUI_AttributeItem`]:
1537 ///
1538 /// .value[0].i32: blend mode. The parameter type is [`ArkUI_BlendMode`]. The default value is
1539 /// <b>ARKUI_BLEND_MODE_NONE</b>.
1540 ///
1541 /// .value[1].i32: how the specified blend mode is applied. The parameter type is [`ArkUI_BlendApplyType`].
1542 /// The default value is <b>BLEND_APPLY_TYPE_FAST</b>.
1543 pub const NODE_BLEND_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(46);
1544 /// Sets the direction of the main axis.
1545 /// This attribute can be set, reset, and obtained as required through APIs.
1546 ///
1547 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1548 ///
1549 /// .value[0].i32: direction of the main axis.
1550 ///
1551 /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1552 ///
1553 ///
1554 ///
1555 /// Format of the return value [`ArkUI_AttributeItem`]:
1556 ///
1557 /// .value[0].i32: direction of the main axis.
1558 ///
1559 /// The parameter type is [`ArkUI_Direction`]. The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1560 pub const NODE_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(47);
1561 /// Defines the size constraints.
1562 /// This attribute can be set, reset, and obtained as required through APIs.
1563 ///
1564 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1565 ///
1566 /// .value[0].f32: minimum width, in vp.
1567 ///
1568 /// .value[1].f32: maximum width, in vp.
1569 ///
1570 /// .value[2].f32: minimum height, in vp.
1571 ///
1572 /// .value[3].f32: maximum height, in vp.
1573 ///
1574 ///
1575 ///
1576 /// Format of the return value [`ArkUI_AttributeItem`]:
1577 ///
1578 /// .value[0].f32: minimum width, in vp.
1579 ///
1580 /// .value[1].f32: maximum width, in vp.
1581 ///
1582 /// .value[2].f32: minimum height, in vp.
1583 ///
1584 /// .value[3].f32: maximum height, in vp.
1585 pub const NODE_CONSTRAINT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(48);
1586 /// Defines the grayscale effect.
1587 /// This attribute can be set, reset, and obtained as required through APIs.
1588 ///
1589 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1590 ///
1591 /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1592 /// For example, 0.5 indicates a 50% grayscale conversion ratio.
1593 ///
1594 ///
1595 ///
1596 /// Format of the return value [`ArkUI_AttributeItem`]:
1597 ///
1598 /// .value[0].f32: grayscale conversion ratio. The value ranges from 0 to 1.
1599 pub const NODE_GRAY_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(49);
1600 /// Inverts the image.
1601 /// This attribute can be set, reset, and obtained as required through APIs.
1602 ///
1603 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1604 ///
1605 /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1606 /// For example, 0.5 indicates a 50% image inversion ratio.
1607 ///
1608 ///
1609 ///
1610 /// Format of the return value [`ArkUI_AttributeItem`]:
1611 ///
1612 /// .value[0].f32: image inversion ratio. The value ranges from 0 to 1.
1613 pub const NODE_INVERT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(50);
1614 /// Defines the sepia conversion ratio.
1615 /// This attribute can be set, reset, and obtained as required through APIs.
1616 ///
1617 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1618 ///
1619 /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1620 /// For example, 0.5 indicates that a 50% sepia conversion ratio.
1621 ///
1622 ///
1623 ///
1624 /// Format of the return value [`ArkUI_AttributeItem`]:
1625 ///
1626 /// .value[0].f32: sepia conversion ratio. The value ranges from 0 to 1.
1627 pub const NODE_SEPIA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(51);
1628 /// Defines the contrast attribute, which can be set, reset, and obtained as required through APIs.
1629 ///
1630 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1631 ///
1632 /// .value[0].f32: contrast. If the value is <b>1</b>, the source image is displayed.
1633 /// A larger value indicates a higher contrast. Value range: [0, 10).
1634 ///
1635 ///
1636 ///
1637 /// Format of the return value [`ArkUI_AttributeItem`]:
1638 ///
1639 /// .value[0].f32: contrast. Value range: [0, 10).
1640 pub const NODE_CONTRAST: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(52);
1641 /// Defines the foreground color attribute, which can be set, reset, and obtained as required through APIs.
1642 ///
1643 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1644 ///
1645 /// 1: .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
1646 ///
1647 /// 2: .value[0].i32: color enum [`ArkUI_ColoringStrategy`].
1648 ///
1649 ///
1650 ///
1651 /// Format of the return value [`ArkUI_AttributeItem`]:
1652 ///
1653 /// .value[0].u32: color value, in 0xARGB format.
1654 pub const NODE_FOREGROUND_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(53);
1655 /// Defines the offset of the component's child relative to the component.
1656 /// This attribute can be set, reset, and obtained as required through APIs.
1657 ///
1658 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1659 ///
1660 /// .value[0].f32 : offset along the x-axis, in vp.
1661 ///
1662 /// .value[1].f32 : offset along the y-axis, in vp.
1663 ///
1664 ///
1665 ///
1666 /// Format of the return value [`ArkUI_AttributeItem`]:
1667 ///
1668 /// .value[0].f32 : offset along the x-axis, in vp.
1669 ///
1670 /// .value[1].f32 : offset along the y-axis, in vp.
1671 pub const NODE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(54);
1672 /// Sets the anchor for locating the component's child.
1673 /// This attribute can be set, reset, and obtained as required through APIs.
1674 ///
1675 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1676 ///
1677 /// .value[0].f32: X coordinate of the anchor, in vp.
1678 ///
1679 /// .value[1].f32: Y coordinate of the anchor, in vp.
1680 ///
1681 ///
1682 ///
1683 /// Format of the return value [`ArkUI_AttributeItem`]:
1684 ///
1685 /// .value[0].f32: X coordinate of the anchor, in vp.
1686 ///
1687 /// .value[1].f32: Y coordinate of the anchor, in vp.
1688 pub const NODE_MARK_ANCHOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(55);
1689 /// Defines the position of the background image in the component, that is, the coordinates relative to
1690 /// the upper left corner of the component. This attribute can be set, reset, and obtained as required through APIs.
1691 ///
1692 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1693 ///
1694 /// .value[0].f32: position along the x-axis, in px.
1695 ///
1696 /// .value[1].f32: position along the y-axis, in px.
1697 ///
1698 /// .value[2].?i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1699 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1700 ///
1701 /// .value[3].?i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1702 /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1703 ///
1704 /// In most cases, this parameter should be set to Auto, this allowing the system to handle
1705 /// the layout direction automatically. If you need to keep a specific direction in any situation, set it to
1706 /// either LTR (Left-to-Right) or RTL (Right-to-Left). Optional.
1707 /// Format of the return value [`ArkUI_AttributeItem`]:
1708 ///
1709 /// .value[0].f32: position along the x-axis, in px.
1710 ///
1711 /// .value[1].f32: position along the y-axis, in px.
1712 ///
1713 /// .value[2].i32: the alignment mode. The data type is [`ArkUI_Alignment`], and supported since API 21.
1714 /// The default value is <b>ARKUI_ALIGNMENT_TOP_START</b>.
1715 ///
1716 /// .value[3].i32: the direction. The type is [`ArkUI_Direction`], and supported since API 21.
1717 /// The default value is <b>ARKUI_DIRECTION_AUTO</b>.
1718 pub const NODE_BACKGROUND_IMAGE_POSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(56);
1719 /// Sets the alignment rules in the relative container.
1720 /// This attribute can be set, reset, and obtained as required through APIs.
1721 ///
1722 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1723 ///
1724 /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1725 ///
1726 ///
1727 ///
1728 /// Format of the return value [`ArkUI_AttributeItem`]:
1729 ///
1730 /// .object: Use the [`ArkUI_AlignmentRuleOption`] object as the component’s alignment rule.
1731 pub const NODE_ALIGN_RULES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(57);
1732 /// Sets the alignment mode of the child components along the cross axis of the parent container.
1733 /// This attribute can be set, reset, and obtained as required through APIs.
1734 ///
1735 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1736 ///
1737 /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1738 ///
1739 /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1740 ///
1741 ///
1742 ///
1743 /// Format of the return value [`ArkUI_AttributeItem`]:
1744 ///
1745 /// .value[0].i32: alignment mode of the child components along the cross axis of the parent container.
1746 ///
1747 /// The parameter type is [`ArkUI_ItemAlignment`]. The default value is <b>ARKUI_ITEM_ALIGNMENT_AUTO</b>.
1748 pub const NODE_ALIGN_SELF: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(58);
1749 /// Sets the percentage of the parent container's remaining space that is allocated to the component.
1750 /// This attribute can be set, reset, and obtained as required through APIs.
1751 ///
1752 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1753 ///
1754 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1755 ///
1756 ///
1757 ///
1758 /// Format of the return value [`ArkUI_AttributeItem`]:
1759 ///
1760 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1761 pub const NODE_FLEX_GROW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(59);
1762 /// Sets the percentage of the parent container's shrink size that is allocated to the component.
1763 /// This attribute can be set, reset, and obtained as required through APIs.
1764 ///
1765 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1766 ///
1767 /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1768 ///
1769 ///
1770 ///
1771 /// Format of the return value [`ArkUI_AttributeItem`]:
1772 ///
1773 /// .value[0].f32: percentage of the parent container's shrink size that is allocated to the component.
1774 pub const NODE_FLEX_SHRINK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(60);
1775 /// Sets the base size of the component.
1776 /// This attribute can be set, reset, and obtained as required through APIs.
1777 ///
1778 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1779 ///
1780 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1781 ///
1782 ///
1783 ///
1784 /// Format of the return value [`ArkUI_AttributeItem`]:
1785 ///
1786 /// .value[0].f32: percentage of the parent container's remaining space that is allocated to the component.
1787 pub const NODE_FLEX_BASIS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(61);
1788 /// Sets the accessibility group. This attribute can be set, reset, and obtained as required through APIs.
1789 ///
1790 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1791 ///
1792 /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1793 /// form an entire selectable component.
1794 /// In this case, the accessibility service will no longer be available for the content of its child components.
1795 /// The value is <b>1</b> or <b>0</b>.
1796 ///
1797 ///
1798 /// Format of the return value [`ArkUI_AttributeItem`]:
1799 ///
1800 /// .value[0].i32: Accessibility group. The value <b>1</b> means that the component and all its child components
1801 /// form an entire selectable component.
1802 /// In this case, the accessibility service will no longer be available for the content of its child components.
1803 /// The value is <b>1</b> or <b>0</b>.
1804 pub const NODE_ACCESSIBILITY_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(62);
1805 /// Sets the accessibility text. This attribute can be set, reset, and obtained as required through APIs.
1806 ///
1807 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1808 ///
1809 /// .string: accessibility text.
1810 ///
1811 ///
1812 /// Format of the return value [`ArkUI_AttributeItem`]:
1813 ///
1814 /// .string: accessibility text.
1815 pub const NODE_ACCESSIBILITY_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(63);
1816 /// Sets the accessibility service model. This attribute can be set, reset, and obtained as required through APIs.
1817 ///
1818 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1819 ///
1820 /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1821 ///
1822 ///
1823 /// Format of the return value [`ArkUI_AttributeItem`]:
1824 ///
1825 /// .value[0].i32: accessibility service model. The parameter type is [`ArkUI_AccessibilityMode`].
1826 pub const NODE_ACCESSIBILITY_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(64);
1827 /// Sets the accessibility description.
1828 /// This attribute can be set, reset, and obtained as required through APIs.
1829 ///
1830 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1831 ///
1832 /// .string: accessibility description.
1833 ///
1834 ///
1835 /// Format of the return value [`ArkUI_AttributeItem`]:
1836 ///
1837 /// .string: accessibility description.
1838 pub const NODE_ACCESSIBILITY_DESCRIPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(65);
1839 /// Defines the focused state. This attribute can be set and obtained as required through APIs.
1840 ///
1841 /// **Note:** Setting the parameter to <b>0</b> shifts focus from the currently focused component on the current level
1842 /// of the page to the root container.
1843 ///
1844 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1845 ///
1846 /// .value[0].i32: The parameter type is 1 or 0.
1847 ///
1848 ///
1849 /// Format of the return value [`ArkUI_AttributeItem`]:
1850 ///
1851 /// .value[0].i32: The parameter type is 1 or 0.
1852 pub const NODE_FOCUS_STATUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(66);
1853 /// Defines the aspect ratio attribute, which can be set, reset, and obtained as required through APIs.
1854 ///
1855 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1856 ///
1857 /// .value[0].f32: aspect ratio of the component, in width/height format.
1858 ///
1859 ///
1860 ///
1861 /// Format of the return value [`ArkUI_AttributeItem`]:
1862 ///
1863 /// .value[0].f32: aspect ratio of the component, in width/height format.
1864 pub const NODE_ASPECT_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(67);
1865 /// Defines the weight of the component within its row, column, or flex container for proportional
1866 /// distribution of available space within the container.
1867 /// This attribute can be set, reset, and obtained as required through APIs.
1868 ///
1869 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1870 ///
1871 /// .value[0].u32: weight of the component along the main axis.
1872 ///
1873 ///
1874 ///
1875 /// Format of the return value [`ArkUI_AttributeItem`]:
1876 ///
1877 /// .value[0].u32: weight of the component along the main axis.
1878 pub const NODE_LAYOUT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(68);
1879 /// Sets the display priority for the component in the row, column, or flex (single-line) container.
1880 /// This attribute can be set, reset, and obtained as required through APIs.
1881 ///
1882 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1883 ///
1884 /// .value[0].u32: display priority of the component in the container.
1885 ///
1886 ///
1887 ///
1888 /// Format of the return value [`ArkUI_AttributeItem`]:
1889 ///
1890 /// .value[0].u32: display priority of the component in the container.
1891 pub const NODE_DISPLAY_PRIORITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(69);
1892 /// Sets the thickness of an element's outline.
1893 ///
1894 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1895 ///
1896 /// .value[0].f32: thickness of the left outline.
1897 ///
1898 /// .value[1].f32: thickness of the top outline.
1899 ///
1900 /// .value[2].f32: thickness of the right outline.
1901 ///
1902 /// .value[3].f32: thickness of the bottom outline.
1903 ///
1904 ///
1905 ///
1906 /// Format of the return value [`ArkUI_AttributeItem`]:
1907 ///
1908 /// .value[0].f32: thickness of the left outline.
1909 ///
1910 /// .value[1].f32: thickness of the top outline.
1911 ///
1912 /// .value[2].f32: thickness of the right outline.
1913 ///
1914 /// .value[3].f32: thickness of the bottom outline.
1915 pub const NODE_OUTLINE_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(70);
1916 /// Defines the width attribute, which can be set, reset, and obtained as required through APIs.
1917 ///
1918 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1919 ///
1920 /// .value[0].f32: width, in percentage.
1921 ///
1922 ///
1923 ///
1924 /// Format of the return value [`ArkUI_AttributeItem`]:
1925 ///
1926 /// .value[0].f32: width, in percentage.
1927 pub const NODE_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(71);
1928 /// Defines the height attribute, which can be set, reset, and obtained as required through APIs.
1929 ///
1930 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
1931 ///
1932 /// .value[0].f32: height, in percentage.
1933 ///
1934 ///
1935 ///
1936 /// Format of the return value [`ArkUI_AttributeItem`]:
1937 ///
1938 /// .value[0].f32: height, in percentage.
1939 pub const NODE_HEIGHT_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(72);
1940 /// Defines the padding attribute, which can be set, reset, and obtained as required through APIs.
1941 ///
1942 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1943 ///
1944 /// 1: Specify the same padding for the four directions.
1945 ///
1946 /// .value[0].f32: padding, in percentage.
1947 ///
1948 /// 2: Specify different paddings for different directions.
1949 ///
1950 /// .value[0].f32: top padding, in percentage.
1951 ///
1952 /// .value[1].f32: right padding, in percentage.
1953 ///
1954 /// .value[2].f32: bottom padding, in percentage.
1955 ///
1956 /// .value[3].f32: left padding, in percentage.
1957 ///
1958 ///
1959 ///
1960 /// Format of the return value [`ArkUI_AttributeItem`]:
1961 ///
1962 /// .value[0].f32: top padding, in percentage.
1963 ///
1964 /// .value[1].f32: right padding, in percentage.
1965 ///
1966 /// .value[2].f32: bottom padding, in percentage.
1967 ///
1968 /// .value[3].f32: left padding, in percentage.
1969 pub const NODE_PADDING_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(73);
1970 /// Defines the margin attribute, which can be set, reset, and obtained as required through APIs.
1971 ///
1972 /// There are two formats of [`ArkUI_AttributeItem`] for setting the attribute value:
1973 ///
1974 /// 1: Specify the same margin for the four directions.
1975 ///
1976 /// .value[0].f32: margin, in percentage.
1977 ///
1978 /// 2: Specify different margins for different directions.
1979 ///
1980 /// .value[0].f32: top margin, in percentage.
1981 ///
1982 /// .value[1].f32: right margin, in percentage.
1983 ///
1984 /// .value[2].f32: bottom margin, in percentage.
1985 ///
1986 /// .value[3].f32: left margin, in percentage.
1987 ///
1988 ///
1989 ///
1990 /// Format of the return value [`ArkUI_AttributeItem`]:
1991 ///
1992 /// .value[0].f32: top margin, in percentage.
1993 ///
1994 /// .value[1].f32: right margin, in percentage.
1995 ///
1996 /// .value[2].f32: bottom margin, in percentage.
1997 ///
1998 /// .value[3].f32: left margin, in percentage.
1999 pub const NODE_MARGIN_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(74);
2000 /// The implicit shared element transition within the component supports attribute setting,
2001 /// attribute reset, and attribute acquisition interfaces.
2002 ///
2003 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2004 ///
2005 /// .value[0]?.i32: The parameter type is 1 or 0. 2 components that share element bindings,
2006 /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2007 /// the default is false, and the original position will remain unchanged if not involved.
2008 ///
2009 /// .string is used to set the binding relationship. Set the id to "" to
2010 /// clear the binding relationship to avoid participating in sharing behavior.
2011 ///
2012 /// The id can be changed and the binding relationship re-established.
2013 /// The same ID can only be bound to two components and they are in/out roles of different types.
2014 /// Multiple components cannot be bound to the same id.
2015 ///
2016 ///
2017 ///
2018 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
2019 ///
2020 /// .value[0].i32: The parameter type is 1 or 0. 2 components that share element bindings,
2021 /// Whether to continue to participate in the shared element animation when the appearance element is not deleted,
2022 /// the default is not false, if not involved, the original position will remain unchanged.
2023 ///
2024 /// .string is used to set the binding relationship. Set the id to "" to
2025 /// clear the binding relationship to avoid participating in sharing behavior.
2026 ///
2027 /// The id can be changed and the binding relationship re-established.
2028 /// The same ID can only be bound to two components and they are in/out roles of different types.
2029 /// Multiple components cannot be bound to the same id.
2030 pub const NODE_GEOMETRY_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(75);
2031 /// specifies the parameters of the chain formed by this component as the chain head,
2032 /// and supports attribute setting, attribute reset and attribute acquisition interfaces.
2033 ///
2034 /// Only takes effect when the parent container is RelativeContainer
2035 ///
2036 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
2037 ///
2038 /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2039 ///
2040 /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2041 ///
2042 ///
2043 ///
2044 /// .value[0].i32: The direction of the chain. Enum [`ArkUI_Axis`].
2045 ///
2046 /// .value[1].i32: Chain style. Enum [`ArkUI_RelativeLayoutChainStyle`].
2047 pub const NODE_RELATIVE_LAYOUT_CHAIN_MODE: ArkUI_NodeAttributeType =
2048 ArkUI_NodeAttributeType(76);
2049 /// Set the component content filling method in the process of width and height animation,
2050 /// support property setting, property reset, property acquisition interface.
2051 ///
2052 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2053 ///
2054 /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2055 ///
2056 ///
2057 ///
2058 /// Format of the return value [`ArkUI_AttributeItem`]:
2059 ///
2060 /// .value[0].i32 Content filling mode [`ArkUI_RenderFit`].
2061 pub const NODE_RENDER_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(77);
2062 /// External stroke color properties, support property setting,
2063 /// property reset and property acquisition interface.
2064 ///
2065 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2066 ///
2067 /// 1: .value[0].u32: Set the border color of the four sides uniformly, using 0xargb, such as 0xFFFF11FF.
2068 ///
2069 /// 2: .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2070 ///
2071 /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2072 ///
2073 /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2074 ///
2075 /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2076 ///
2077 ///
2078 ///
2079 /// Format of the return value [`ArkUI_AttributeItem`]:
2080 ///
2081 /// .value[0].u32: Set the top border color, represented by 0xargb, such as 0xFFFF11FF.
2082 ///
2083 /// .value[1].u32: Set the right border color, represented by 0xargb, such as 0xFFFF11FF.
2084 ///
2085 /// .value[2].u32: Set the lower side box color, denoted by 0xargb, such as 0xFFFF11FF.
2086 ///
2087 /// .value[3].u32: Set the left border color, denoted by 0xargb, such as 0xFFFF11FF.
2088 pub const NODE_OUTLINE_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(78);
2089 /// Set the height and width dimensions, support property setting,
2090 /// property reset and property acquisition interface.
2091 ///
2092 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2093 ///
2094 /// .value[0].f32: Width value, unit is vp;
2095 ///
2096 /// .value[1].f32: Height value, unit is vp;
2097 ///
2098 ///
2099 ///
2100 /// Format of the return value [`ArkUI_AttributeItem`]:
2101 ///
2102 /// .value[0].f32: Width value, unit is vp;
2103 ///
2104 /// .value[1].f32: Height value, unit is vp;
2105 pub const NODE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(79);
2106 /// Set whether the current component and child component are
2107 /// rendered off the screen first and then fused with the parent control,
2108 /// supporting property setting, property reset and property acquisition.
2109 ///
2110 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2111 ///
2112 /// .value[0].i32: The parameter type is 1 or 0.
2113 ///
2114 ///
2115 /// Format of the return value [`ArkUI_AttributeItem`]:
2116 ///
2117 /// .value[0].i32: The parameter type is 1 or 0.
2118 pub const NODE_RENDER_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(80);
2119 /// Add color overlay effect to components, support property setting,
2120 /// property reset and property acquisition interface.
2121 ///
2122 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2123 ///
2124 /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2125 ///
2126 ///
2127 ///
2128 /// Format of the return value [`ArkUI_AttributeItem`]:
2129 ///
2130 /// .value[0].u32: The color of the overlay is represented by 0xargb, such as 0xFFFF11FF.
2131 pub const NODE_COLOR_BLEND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(81);
2132 /// Provide content ambiguity capability for the current component,
2133 /// support property setting, property reset, property acquisition interface.
2134 ///
2135 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2136 ///
2137 /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2138 ///
2139 /// .value[1]?.i32 Represents the dark and light mode used by the content blur effect,
2140 ///
2141 /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2142 ///
2143 /// .value[2]?.i32 The color extraction mode used to represent the content blur effect takes
2144 ///
2145 /// the [`ArkUI_AdaptiveColor`] enumeration value.
2146 ///
2147 /// .value[3]?.f32: blur degree. The value range is [0.0, 1.0].
2148 ///
2149 /// .value[4]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2150 ///
2151 /// .value[5]?.f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2152 ///
2153 ///
2154 ///
2155 /// Format of the return value [`ArkUI_AttributeItem`]:
2156 ///
2157 /// .value[0].i32 Represents the content blurring style, and uses the [`ArkUI_BlurStyle`] enumeration value.
2158 ///
2159 /// .value[1].i32 Represents the dark and light mode used by the content blur effect,
2160 ///
2161 /// with the [`ArkUI_ThemeColorMode`] enumeration value.
2162 ///
2163 /// .value[2].i32 The color extraction mode used to represent the content blur effect takes
2164 ///
2165 /// the [`ArkUI_AdaptiveColor`] enumeration value.
2166 ///
2167 /// .value[3].f32: blur degree. The value range is [0.0, 1.0].
2168 ///
2169 /// .value[4].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2170 ///
2171 /// .value[5].f32 It is a gray-level fuzzy parameter. The value range is [0,127].
2172 pub const NODE_FOREGROUND_BLUR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(82);
2173 /// Defines the component size and position for layout.
2174 /// This attribute can be set, reset, and obtained as required through APIs.
2175 ///
2176 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2177 ///
2178 /// .value[0].i32: X coordinate of the component, in px.
2179 ///
2180 /// .value[1].i32: Y coordinate of the component, in px.
2181 ///
2182 /// .value[2].i32: width of the component, in px.
2183 ///
2184 /// .value[3].i32: height of the component, in px.
2185 ///
2186 ///
2187 ///
2188 /// Format of the return value [`ArkUI_AttributeItem`]:
2189 ///
2190 /// .value[0].i32: X coordinate of the component, in px.
2191 ///
2192 /// .value[1].i32: Y coordinate of the component, in px.
2193 ///
2194 /// .value[2].i32: width of the component, in px.
2195 ///
2196 /// .value[3].i32: height of the component, in px.
2197 pub const NODE_LAYOUT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(83);
2198 /// Whether the current component supports click-to-focus capability,
2199 /// which can be set, reset, and obtained as required through APIs.
2200 ///
2201 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2202 ///
2203 /// .value[0].i32: The parameter type is 1 or 0.
2204 ///
2205 ///
2206 /// Format of the return value [`ArkUI_AttributeItem`]:
2207 ///
2208 /// .value[0].i32: The parameter type is 1 or 0.
2209 pub const NODE_FOCUS_ON_TOUCH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(84);
2210 /// Defines the border width attribute, which can be set, reset, and obtained as required through APIs.
2211 ///
2212 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2213 ///
2214 /// 1: .value[0].f32: width of the four borders, in percentage.
2215 ///
2216 /// 2: .value[0].f32: width of the top border, in percentage.
2217 ///
2218 /// .value[1].f32: width of the right border, in percentage.
2219 ///
2220 /// .value[2].f32: width of the bottom border, in percentage.
2221 ///
2222 /// .value[3].f32: width of the left border, in percentage.
2223 ///
2224 ///
2225 ///
2226 /// Format of the return value [`ArkUI_AttributeItem`]:
2227 ///
2228 /// .value[0].f32: width of the top border, in percentage.
2229 ///
2230 /// .value[1].f32: width of the right border, in percentage.
2231 ///
2232 /// .value[2].f32: width of the bottom border, in percentage.
2233 ///
2234 /// .value[3].f32: width of the left border, in percentage.
2235 pub const NODE_BORDER_WIDTH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(85);
2236 /// Defines the border corner radius attribute, which can be set, reset, and obtained as required through APIs.
2237 ///
2238 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2239 ///
2240 /// 1: .value[0].f32: radius of the four corners, in percentage.
2241 ///
2242 /// 2: .value[0].f32: radius of the upper left corner, in percentage.
2243 ///
2244 /// .value[1].f32: radius of the upper right corner, in percentage.
2245 ///
2246 /// .value[2].f32: radius of the lower left corner, in percentage.
2247 ///
2248 /// .value[3].f32: radius of the lower right corner, in percentage.
2249 ///
2250 ///
2251 ///
2252 /// Format of the return value [`ArkUI_AttributeItem`]:
2253 ///
2254 /// .value[0].f32: radius of the upper left corner, in percentage.
2255 ///
2256 /// .value[1].f32: radius of the upper right corner, in percentage.
2257 ///
2258 /// .value[2].f32: radius of the lower left corner, in percentage.
2259 ///
2260 /// .value[3].f32: radius of the lower right corner, in percentage.
2261 pub const NODE_BORDER_RADIUS_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(86);
2262 /// Accessible ID, which can be obtained as required through APIs.
2263 ///
2264 /// Format of the return value [`ArkUI_AttributeItem`]:
2265 ///
2266 /// .value[0].i32:Accessible ID。
2267 pub const NODE_ACCESSIBILITY_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(87);
2268 /// Define accessible actions, which can be set, reset, and obtained as required through APIs.
2269 ///
2270 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2271 ///
2272 /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2273 ///
2274 ///
2275 ///
2276 /// Format of the return value [`ArkUI_AttributeItem`]:
2277 ///
2278 /// .value[0].u32:accessible action types,and uses the [`ArkUI_AccessibilityActionType`] enumeration value.
2279 pub const NODE_ACCESSIBILITY_ACTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(88);
2280 /// Define accessible role, which can be set, reset, and obtained as required through APIs.
2281 ///
2282 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2283 ///
2284 /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2285 ///
2286 ///
2287 ///
2288 /// Format of the return value [`ArkUI_AttributeItem`]:
2289 ///
2290 /// .value[0].u32:accessible role type,and uses the [`ArkUI_NodeType`] enumeration value.
2291 pub const NODE_ACCESSIBILITY_ROLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(89);
2292 /// Define accessible state, which can be set, reset, and obtained as required through APIs.
2293 ///
2294 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2295 ///
2296 /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2297 ///
2298 ///
2299 ///
2300 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2301 ///
2302 /// .object:the parameter type is [`ArkUI_AccessibilityState`].
2303 pub const NODE_ACCESSIBILITY_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(90);
2304 /// Define accessible value, which can be set, reset, and obtained as required through APIs.
2305 ///
2306 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2307 ///
2308 /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2309 ///
2310 ///
2311 ///
2312 /// Format of the return value [`ArkUI_AttributeItem`]:
2313 ///
2314 /// .object:the parameter type is [`ArkUI_AccessibilityValue`].
2315 pub const NODE_ACCESSIBILITY_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(91);
2316 /// defines control components to extend their security zones,
2317 /// supporting property setting, property reset, and property fetching.
2318 ///
2319 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
2320 ///
2321 /// .value[0]? .u32: Set of extended security zone enumerated values [`ArkUI_SafeAreaType`],
2322 /// For example, ARKUI_SAFE_AREA_TYPE_SYSTEM | ARKUI_SAFE_AREA_TYPE_CUTOUT;
2323 ///
2324 /// .value[1]? .u32: set of directional enum values for extended security zones [`ArkUI_SafeAreaEdge`];
2325 ///
2326 /// For example: ARKUI_SAFE_AREA_EDGE_TOP | ARKUI_SAFE_AREA_EDGE_BOTTOM;
2327 ///
2328 ///
2329 ///
2330 /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
2331 ///
2332 /// .value[0].u32: extends the security zone.
2333 /// .
2334 ///
2335 /// .value[1].u32: indicates the direction to extend the security zone.
2336 /// .
2337 pub const NODE_EXPAND_SAFE_AREA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(92);
2338 /// Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
2339 /// visible area change event of the component.
2340 ///
2341 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2342 ///
2343 /// .value[...].f32: threshold array. The value range is 0 to 1.
2344 ///
2345 ///
2346 /// Format of the return value [`ArkUI_AttributeItem`]:
2347 ///
2348 /// .value[...].f32: threshold array.
2349 ///
2350 ///
2351 ///
2352 /// Available since API-level: 12
2353 ////**
2354 /// Defines the visible area ratio (visible area/total area of the component) threshold for invoking the
2355 /// visible area change event of the component, this enum extends the configuration capbility.
2356 ///
2357 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2358 ///
2359 /// .value[...].f32: threshold array. The value range is 0 to 1.
2360 /// .?object: pass in one [`ArkUI_VisibleAreaEventOptions`] objcet for configging the ratio or other options.
2361 /// Please note, when use this param, the ratios set through .value[...].f32 will be ignored, and the update
2362 /// interval from it is always ignored too.
2363 ///
2364 ///
2365 /// Format of the return value [`ArkUI_AttributeItem`]:
2366 ///
2367 /// .value[...].f32: threshold array.
2368 ///
2369 /// .object: the [`ArkUI_VisibleAreaEventOptions`] objcet.
2370 ///
2371 ///
2372 /// Available since API-level: 22
2373 #[cfg(feature = "api-12")]
2374 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
2375 pub const NODE_VISIBLE_AREA_CHANGE_RATIO: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(93);
2376 /// Sets the transition effect when the component is inserted or deleted.
2377 /// This attribute can be set, and obtained as required through APIs.
2378 ///
2379 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2380 ///
2381 /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2382 ///
2383 ///
2384 ///
2385 /// Format of the return value [`ArkUI_AttributeItem`]:
2386 ///
2387 /// .object: transition effect. The parameter type is [`ArkUI_TransitionEffect`].
2388 pub const NODE_TRANSITION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(94);
2389 /// Defines the component ID.
2390 /// This attribute can be obtained through APIs.
2391 ///
2392 /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
2393 ///
2394 /// .value[0].i32: component ID.
2395 ///
2396 ///
2397 ///
2398 /// **Deprecated** since 20
2399 ///
2400 /// **Use instead:** OH_ArkUI_NodeUtils_GetNodeUniqueId
2401 #[deprecated(since = "20", note = "Use instead: OH_ArkUI_NodeUtils_GetNodeUniqueId")]
2402 pub const NODE_UNIQUE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(95);
2403 /// Set the current component system focus box style.
2404 ///
2405 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2406 ///
2407 /// .value[0].f32: The distance between the focus box and the edge of the component.
2408 ///
2409 /// Positive numbers represent the outer side, negative numbers represent the inner side.
2410 ///
2411 /// Percentage is not supported.
2412 ///
2413 /// .value[1].f32: Focus box width. Negative numbers and percentages are not supported.
2414 ///
2415 /// .value[2].u32: Focus box color.
2416 pub const NODE_FOCUS_BOX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(96);
2417 /// Defines the moving distance limit for the component-bound tap gesture.
2418 /// This attribute can be set as required through APIs.
2419 ///
2420 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2421 ///
2422 /// .value[0].f32: allowed moving distance of a finger, in vp.
2423 pub const NODE_CLICK_DISTANCE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(97);
2424 /// Sets whether the focus can be placed on this component.
2425 /// This attribute can be set, reset, and obtained as required through APIs.
2426 ///
2427 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2428 ///
2429 /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2430 ///
2431 ///
2432 /// Format of the return value [`ArkUI_AttributeItem`]:
2433 ///
2434 /// .value[0].i32: whether the focus can be placed on the current component. The parameter type is 1 or 0.
2435 ///
2436 ///
2437 /// Available since API-level: 14
2438 #[cfg(feature = "api-14")]
2439 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
2440 pub const NODE_TAB_STOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(98);
2441 /// Defines the backdrop blur attribute, which can be set, reset, and obtained as required through APIs.
2442 ///
2443 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2444 ///
2445 /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2446 ///
2447 /// .value[1]?.f32:grayscale blur settings that control the brightness of the black color.
2448 ///
2449 /// The value range is [0, 127].
2450 ///
2451 /// .value[2]?.f32:grayscale blur settings that control the darkness of the white color.
2452 ///
2453 /// The value range is [0, 127].
2454 ///
2455 ///
2456 ///
2457 /// Format of the return value [`ArkUI_AttributeItem`]:
2458 ///
2459 /// .value[0].f32:backdrop blur radius, in px. The value range is [0, +∞).
2460 ///
2461 /// .value[1].f32:grayscale blur settings that control the brightness of the black color.
2462 ///
2463 /// The value range is [0, 127].
2464 ///
2465 /// .value[2].f32:grayscale blur settings that control the darkness of the white color.
2466 ///
2467 /// The value range is [0, 127].
2468 ///
2469 ///
2470 ///
2471 /// Available since API-level: 15
2472 #[cfg(feature = "api-15")]
2473 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
2474 pub const NODE_BACKDROP_BLUR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(99);
2475 /// Defines the background image resizable attribute, which can be set, reset,
2476 /// and obtained as required through APIs.
2477 ///
2478 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2479 ///
2480 /// .value[0].f32: width of the left edge. The unit is vp.
2481 ///
2482 /// .value[1].f32: width of the top edge. The unit is vp.
2483 ///
2484 /// .value[2].f32: width of the right edge. The unit is vp.
2485 ///
2486 /// .value[3].f32: width of the bottom edge. The unit is vp.
2487 ///
2488 ///
2489 ///
2490 /// Format of the return value [`ArkUI_AttributeItem`]:
2491 ///
2492 /// .value[0].f32: width of the left edge. The unit is vp.
2493 ///
2494 /// .value[1].f32: width of the top edge. The unit is vp.
2495 ///
2496 /// .value[2].f32: width of the right edge. The unit is vp.
2497 ///
2498 /// .value[3].f32: width of the bottom edge. The unit is vp.
2499 ///
2500 ///
2501 ///
2502 /// Available since API-level: 19
2503 #[cfg(feature = "api-19")]
2504 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
2505 pub const NODE_BACKGROUND_IMAGE_RESIZABLE_WITH_SLICE: ArkUI_NodeAttributeType =
2506 ArkUI_NodeAttributeType(100);
2507 /// Sets the next focus node.
2508 ///
2509 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2510 ///
2511 /// .value[0].i32: focus movement direction, as defined in [`ArkUI_FocusMove`].
2512 /// .object: next focus node. The parameter type is [`ArkUI_NodeHandle`].
2513 ///
2514 ///
2515 ///
2516 ///
2517 ///
2518 /// Available since API-level: 18
2519 #[cfg(feature = "api-18")]
2520 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
2521 pub const NODE_NEXT_FOCUS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(101);
2522 /// Sets the parameters for visible area change events.
2523 ///
2524 ///
2525 /// **Note:** The visible area change callback is not a real-time callback. The actual callback interval may differ from
2526 /// the expected interval due to system load and other factors.
2527 /// The interval between two visible area change callbacks will not be less than the expected update interval. If the
2528 /// provided expected interval is too short, the actual callback interval will be determined by the system load.
2529 /// By default, the interval threshold of the visible area change callback includes 0. This means that,
2530 /// if the provided threshold is [0.5], the effective threshold will be [0.0, 0.5].
2531 ///
2532 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2533 ///
2534 /// .object: parameters for visible area change events.
2535 /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2536 ///
2537 ///
2538 ///
2539 /// Format of the return value [`ArkUI_AttributeItem`]:
2540 ///
2541 /// .object: parameters for visible area change events.
2542 /// The parameter type is [`ArkUI_VisibleAreaEventOptions`].
2543 ///
2544 ///
2545 ///
2546 /// Available since API-level: 17
2547 #[cfg(feature = "api-17")]
2548 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
2549 pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO: ArkUI_NodeAttributeType =
2550 ArkUI_NodeAttributeType(102);
2551 /// Defines the translate attribute, which supports for percentile translation input, and can be set, reset,
2552 /// and obtained as required through APIs.
2553 ///
2554 ///
2555 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2556 ///
2557 /// .value[0].f32: distance to translate along the x-axis. The default unit is percentage.
2558 /// The unit is vp only if value[3] exists and value[3] is 0. The default value of value[0] is <b>0</b>.
2559 ///
2560 /// .value[1].f32: distance to translate along the y-axis. The default unit is percentage.
2561 /// The unit is vp only if value[4] exists and value[4] is 0. The default value of value[1] is <b>0</b>.
2562 ///
2563 /// .value[2].f32: distance to translate along the z-axis, in vp. The default value is <b>0</b>.
2564 ///
2565 /// .value[3]?.i32: Whether the translation distance along the x-axis is specified as a percentage.
2566 /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2567 /// For example, value[0].f32=0.1 and value[3].i32=1 indicates a 10% shift in the x direction.
2568 /// The default value is <b>1</b>.
2569 ///
2570 /// .value[4]?.i32: Whether the translation distance along the y-axis is specified as a percentage.
2571 /// The value can be 0 or 1. When the value is 1, it is specified as a percentage.
2572 /// For example, value[1].f32=0.1 and value[4].i32=1 indicates a 10% shift in the y direction.
2573 /// The default value is <b>1</b>.
2574 ///
2575 ///
2576 ///
2577 /// Format of the return value [`ArkUI_AttributeItem`]:
2578 ///
2579 /// .value[0].f32: distance to translate along the x-axis. The unit depends on value[3].
2580 ///
2581 /// .value[1].f32: distance to translate along the y-axis. The unit depends on value[4].
2582 ///
2583 /// .value[2].f32: distance to translate along the z-axis. The unit is vp.
2584 ///
2585 /// .value[3].i32: Whether the unit of the X-axis translation distance is in percentage. When value[3].i32 is 0,
2586 /// the unit of the X-axis translation distance is vp; when value[3].i32 is 1, the unit of the X-axis translation
2587 /// distance is percentage;
2588 ///
2589 /// .value[4].i32: Whether the unit of the Y-axis translation distance is in percentage. When value[4].i32 is 0,
2590 /// the unit of the Y-axis translation distance is vp; when value[4].i32 is 1, the unit of the Y-axis translation
2591 /// distance is percentage;
2592 ///
2593 ///
2594 ///
2595 /// Available since API-level: 20
2596 #[cfg(feature = "api-20")]
2597 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2598 pub const NODE_TRANSLATE_WITH_PERCENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(103);
2599 /// Sets component rotation with multi-axis angle control. This attribute can be set, reset,
2600 /// and obtained as required through APIs.
2601 ///
2602 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2603 ///
2604 /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2605 ///
2606 /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2607 ///
2608 /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2609 ///
2610 /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2611 ///
2612 ///
2613 ///
2614 /// Format of the return value [`ArkUI_AttributeItem`]:
2615 ///
2616 /// .value[0].f32: x-axis rotation angle. The default value is <b>0</b>.
2617 /// .value[1].f32: y-axis rotation angle. The default value is <b>0</b>.
2618 ///
2619 /// .value[2].f32: z-axis rotation angle. The default value is <b>0</b>.
2620 ///
2621 /// .value[3].f32: perspective distance from the viewpoint to the z=0 plane, in px. The default value is <b>0</b>.
2622 ///
2623 ///
2624 ///
2625 /// Available since API-level: 20
2626 #[cfg(feature = "api-20")]
2627 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
2628 pub const NODE_ROTATE_ANGLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(104);
2629 /// Defines the width attribute with param type LayoutPolicy, which can be set, reset, and obtained
2630 /// as required through APIs.
2631 ///
2632 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2633 ///
2634 /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2635 ///
2636 /// The parameter type is [`ArkUI_LayoutPolicy`].
2637 ///
2638 ///
2639 ///
2640 /// Format of the return value [`ArkUI_AttributeItem`]:
2641 ///
2642 /// .value[0].i32: the LayoutPolicy that the width of the component follows.
2643 ///
2644 /// The parameter type is [`ArkUI_LayoutPolicy`].
2645 ///
2646 ///
2647 ///
2648 /// Available since API-level: 21
2649 #[cfg(feature = "api-21")]
2650 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2651 pub const NODE_WIDTH_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(105);
2652 /// Defines the height attribute with param type LayoutPolicy, which can be set, reset, and obtained
2653 /// as required through APIs.
2654 ///
2655 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2656 ///
2657 /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2658 ///
2659 /// The parameter type is [`ArkUI_LayoutPolicy`].
2660 ///
2661 ///
2662 ///
2663 /// Format of the return value [`ArkUI_AttributeItem`]:
2664 ///
2665 /// .value[0].i32: the LayoutPolicy that the height of the component follows.
2666 ///
2667 /// The parameter type is [`ArkUI_LayoutPolicy`].
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_HEIGHT_LAYOUTPOLICY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(106);
2675 /// Defines the position attribute in param type Edges, which specifies the position of the component
2676 /// by the distance relative to the parent container's four edges. This attribute can be set, reset, and obtained as
2677 /// required through APIs.
2678 ///
2679 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2680 ///
2681 /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2682 ///
2683 ///
2684 ///
2685 /// Format of the return value [`ArkUI_AttributeItem`]:
2686 ///
2687 /// .object indicates struct of edges for position. The parameter type is [`ArkUI_PositionEdges`].
2688 ///
2689 ///
2690 ///
2691 /// Available since API-level: 21
2692 #[cfg(feature = "api-21")]
2693 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2694 pub const NODE_POSITION_EDGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(107);
2695 /// Set whether the component enables the ability to invert colors.
2696 /// This attribute can be set , and obtained as required through APIs.
2697 ///
2698 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2699 ///
2700 /// .value[0].i32: The parameter type is 1 or 0.
2701 ///
2702 ///
2703 ///
2704 /// Available since API-level: 21
2705 #[cfg(feature = "api-21")]
2706 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2707 pub const NODE_ALLOW_FORCE_DARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(108);
2708 /// Defines the pixelRound attribute, which can be set, reset, and obtained as required through APIs.
2709 ///
2710 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2711 ///
2712 /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2713 ///
2714 ///
2715 ///
2716 /// Format of the return value [`ArkUI_AttributeItem`]:
2717 ///
2718 /// .object indicates struct of policy for pixelRound. The parameter type is [`ArkUI_PixelRoundPolicy`].
2719 ///
2720 ///
2721 ///
2722 /// Available since API-level: 21
2723 #[cfg(feature = "api-21")]
2724 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
2725 pub const NODE_PIXEL_ROUND: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(109);
2726 /// Defines the motion path attribute, which can be set, reset, and obtained as required through APIs.
2727 ///
2728 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2729 ///
2730 /// .object indicates a pointer to the ArkUI_MotionPathOptions. The parameter type is
2731 /// [`ArkUI_MotionPathOptions`].
2732 ///
2733 ///
2734 ///
2735 /// Format of the return value [`ArkUI_AttributeItem`]:
2736 ///
2737 /// .object indicates a pointer to the ArkUI_MotionPathOptions. The parameter type is
2738 /// [`ArkUI_MotionPathOptions`].
2739 ///
2740 ///
2741 ///
2742 /// Available since API-level: 23
2743 #[cfg(feature = "api-23")]
2744 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2745 pub const NODE_MOTION_PATH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(111);
2746 /// Defines the hover effect applied when the component is hovered over. This attribute can be set, reset, and obtained as required through APIs.
2747 ///
2748 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2749 ///
2750 /// .value[0].i32: Hover effect applied when the component is hovered over.
2751 /// The parameter type is [`ArkUI_HoverEffect`]. The default value is <b>ARKUI_HOVER_EFFECT_AUTO</b>.
2752 ///
2753 ///
2754 ///
2755 /// Format of the return value [`ArkUI_AttributeItem`]:
2756 ///
2757 /// .value[0].i32: Hover effect applied when the component is hovered over.
2758 /// The parameter type is [`ArkUI_HoverEffect`].
2759 ///
2760 ///
2761 ///
2762 /// Available since API-level: 23
2763 #[cfg(feature = "api-23")]
2764 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2765 pub const NODE_HOVER_EFFECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(112);
2766 /// Configures the container as a focus group with the specified identifier. This attribute can be set, reset, and obtained as required through APIs.
2767 ///
2768 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2769 ///
2770 /// .string: focus scope identifier.
2771 ///
2772 /// .value[0]?.i32: whether the scope is a focus group. The default value is <b>0</b>. The value is <b>1</b> or <b>0</b>.
2773 ///
2774 /// .value[1]?.i32: whether arrow keys can move focus outside the focus group. This setting only takes effect when <b>isGroup</b> is <b>true</b>. The default value is <b>1</b>.
2775 /// The value is <b>1</b> or <b>0</b>.
2776 ///
2777 ///
2778 ///
2779 /// Format of the return value [`ArkUI_AttributeItem`]:
2780 ///
2781 /// .string: focus scope identifier.
2782 ///
2783 /// .value[0]?.i32: whether the scope is a focus group. The default value is <b>0</b>. The value is <b>1</b> or <b>0</b>.
2784 ///
2785 /// .value[1]?.i32: whether arrow keys can move focus outside the focus group. This setting only takes effect when <b>isGroup</b> is <b>true</b>. The default value is <b>1</b>.
2786 /// The value is <b>1</b> or <b>0</b>.
2787 ///
2788 ///
2789 ///
2790 /// Available since API-level: 23
2791 #[cfg(feature = "api-23")]
2792 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2793 pub const NODE_FOCUS_SCOPE_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(113);
2794 /// Sets the component focus priority within a specific focus scope. This attribute can be set, reset, and obtained as required through APIs.
2795 ///
2796 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2797 ///
2798 /// .string: focus scope identifier.
2799 ///
2800 /// .value[0]?.i32: focus priority within the focus scope. The parameter type is [`ArkUI_FocusPriority`].
2801 /// The default value is <b>ARKUI_FOCUS_PRIORITY_AUTO</b>.
2802 ///
2803 ///
2804 ///
2805 /// Format of the return value [`ArkUI_AttributeItem`]:
2806 ///
2807 /// .string: focus scope identifier.
2808 ///
2809 /// .value[0]?.i32: focus priority within the focus scope. The parameter type is [`ArkUI_FocusPriority`].
2810 ///
2811 ///
2812 ///
2813 /// Available since API-level: 23
2814 #[cfg(feature = "api-23")]
2815 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2816 pub const NODE_FOCUS_SCOPE_PRIORITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(114);
2817 /// Sets the distance threshold for click events. This attribute can be set, reset, and obtained as required through APIs.
2818 ///
2819 ///
2820 /// **Note:** If finger movement exceeds the preset distance limit, click event recognition will fail.
2821 ///
2822 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2823 ///
2824 /// .value[0].f32: distance threshold for click events.
2825 ///
2826 ///
2827 /// Format of the return value [`ArkUI_AttributeItem`]:
2828 ///
2829 /// .value[0].f32: distance threshold for click events.
2830 ///
2831 ///
2832 ///
2833 /// Available since API-level: 23
2834 #[cfg(feature = "api-23")]
2835 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2836 pub const NODE_ON_CLICK_EVENT_DISTANCE_THRESHOLD: ArkUI_NodeAttributeType =
2837 ArkUI_NodeAttributeType(115);
2838 /// Defines the component event response region. 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 /// .data[0].i32: input tool type for the response region, specified using the [`ArkUI_ResponseRegionSupportedTool`] enum. Default value: <b>ARKUI_RESPONSE_REGIN_SUPPORTED_TOOL_ALL</b>.
2843 /// .data[1].f32: x-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2844 ///
2845 /// .data[2].f32: y-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2846 ///
2847 /// .data[3].f32: width of the response region. The value is a percentage.
2848 ///
2849 /// .data[4].f32: height of the response region. The value is a percentage.
2850 ///
2851 /// .data[5...].f32: additional response regions in the same parameter order.
2852 ///
2853 ///
2854 ///
2855 /// Format of the return value [`ArkUI_AttributeItem`]:
2856 ///
2857 /// .data[0].i32: input tool type for the response region, specified using the [`ArkUI_ResponseRegionSupportedTool`] enum. Default value: <b>ARKUI_RESPONSE_REGIN_SUPPORTED_TOOL_ALL</b>.
2858 /// .data[1].f32: x-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2859 ///
2860 /// .data[2].f32: y-coordinate of the pointer position relative to the upper left corner of the component, in vp.
2861 ///
2862 /// .data[3].f32: width of the response region. The value is a percentage.
2863 ///
2864 /// .data[4].f32: height of the response region. The value is a percentage.
2865 ///
2866 /// .data[5...].f32: additional response regions in the same parameter order.
2867 ///
2868 ///
2869 /// Available since API-level: 23
2870 #[cfg(feature = "api-23")]
2871 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2872 pub const NODE_RESPONSE_REGION_LIST: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(116);
2873 /// Defines the event monopolization attribute. This attribute 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: Boolean value (1 or 0).
2878 ///
2879 ///
2880 /// Format of the return value [`ArkUI_AttributeItem`]:
2881 ///
2882 /// .value[0].i32: Boolean value (1 or 0).
2883 ///
2884 ///
2885 /// Available since API-level: 23
2886 #[cfg(feature = "api-23")]
2887 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2888 pub const NODE_MONOPOLIZE_EVENTS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(117);
2889 /// Sets the weight of the component in a chain, which is used to re-lay out components that form the chain.
2890 /// This attribute can be set, reset, and obtained as required through APIs.
2891 ///
2892 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2893 ///
2894 /// .value[0].f32: Horizontal ChainWeight.
2895 ///
2896 /// .value[1].f32: Vertical ChainWeight.
2897 ///
2898 ///
2899 ///
2900 /// Format of the return value [`ArkUI_AttributeItem`]:
2901 ///
2902 /// .value[0].f32: Horizontal ChainWeight.
2903 ///
2904 /// .value[1].f32: Vertical ChainWeight.
2905 ///
2906 ///
2907 ///
2908 /// Available since API-level: 23
2909 #[cfg(feature = "api-23")]
2910 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2911 pub const NODE_CHAIN_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(118);
2912 /// Expands the layout safe area of a component.,
2913 /// supporting property setting, property reset, and property fetching.
2914 ///
2915 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
2916 ///
2917 /// .value[0].u32: The region type to expand the component's layout safe area into. The default value is LayoutSafeAreaType.SYSTEM. [`ArkUI_LayoutSafeAreaType`],
2918 /// For example, ARKUI_LAYOUT_SAFE_AREA_TYPE_SYSTEM;
2919 ///
2920 /// .value[1].u32: The set of edges for which to ignore layout safe area. The default value is LayoutSafeAreaEdge.ALL. [`ArkUI_LayoutSafeAreaEdge`];
2921 ///
2922 /// For example: ARKUI_LAYOUT_SAFE_AREA_EDGE_TOP | ARKUI_LAYOUT_SAFE_AREA_EDGE_START;
2923 ///
2924 ///
2925 ///
2926 /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
2927 ///
2928 /// .value[0].u32: The region type to expand the component's layout safe area into.
2929 ///
2930 /// .value[1].u32: The set of edges for which to ignore layout safe area.
2931 ///
2932 ///
2933 ///
2934 /// Available since API-level: 23
2935 #[cfg(feature = "api-23")]
2936 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2937 pub const NODE_IGNORE_LAYOUT_SAFE_AREA: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(119);
2938 /// Defines the length of dash when BorderStyle is dashed, which can be set, reset, and obtained as required through APIs.
2939 ///
2940 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2941 ///
2942 /// .value[0].f32: The length of dash on the top border.
2943 ///
2944 /// .value[1].f32: The length of dash on the right border.
2945 ///
2946 /// .value[2].f32: The length of dash on the bottom border.
2947 ///
2948 /// .value[3].f32: The length of dash on the left border.
2949 ///
2950 ///
2951 ///
2952 /// Format of the return value [`ArkUI_AttributeItem`]:
2953 ///
2954 /// .value[0].f32: The length of dash on the top border.
2955 ///
2956 /// .value[1].f32: The length of dash on the right border.
2957 ///
2958 /// .value[2].f32: The length of dash on the bottom border.
2959 ///
2960 /// .value[3].f32: The length of dash on the left border.
2961 ///
2962 ///
2963 ///
2964 /// Available since API-level: 23
2965 #[cfg(feature = "api-23")]
2966 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2967 pub const NODE_DASH_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(120);
2968 /// Defines the gap of dash when BorderStyle is dashed, which can be set, reset, and obtained as required through APIs.
2969 ///
2970 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
2971 ///
2972 /// .value[0].f32: The gap of dash on the top border.
2973 ///
2974 /// .value[1].f32: The gap of dash on the right border.
2975 ///
2976 /// .value[2].f32: The gap of dash on the bottom border.
2977 ///
2978 /// .value[3].f32: The gap of dash on the left border.
2979 ///
2980 ///
2981 ///
2982 /// Format of the return value [`ArkUI_AttributeItem`]:
2983 ///
2984 /// .value[0].f32: The gap of dash on the top border.
2985 ///
2986 /// .value[1].f32: The gap of dash on the right border.
2987 ///
2988 /// .value[2].f32: The gap of dash on the bottom border.
2989 ///
2990 /// .value[3].f32: The gap of dash on the left border.
2991 ///
2992 ///
2993 ///
2994 /// Available since API-level: 23
2995 #[cfg(feature = "api-23")]
2996 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
2997 pub const NODE_DASH_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(121);
2998 /// Defines the align rules of child component in Stack container, which can be set, reset, and obtained as required through APIs.
2999 ///
3000 /// The default value is <b>ARKUI_LOCALIZED_ALIGNMENT_CENTER</b>.
3001 ///
3002 ///
3003 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3004 ///
3005 /// .value[0].i32: LocalizedAlignment mode. The data type is [`ArkUI_LocalizedAlignment`].
3006 ///
3007 ///
3008 /// Format of the return value [`ArkUI_AttributeItem`]:
3009 ///
3010 /// .value[0].i32: LocalizedAlignment mode. The data type is [`ArkUI_LocalizedAlignment`].
3011 ///
3012 ///
3013 ///
3014 /// Available since API-level: 23
3015 #[cfg(feature = "api-23")]
3016 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3017 pub const NODE_LAYOUT_GRAVITY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(122);
3018 /// Defines the render types for drawing rounded corners when the radius of the border rounded corners is set, which can be set, reset, and obtained as required through APIs.
3019 ///
3020 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3021 ///
3022 /// .value[0].i32: Render types for drawing rounded corners. The data type is [`ArkUI_RenderStrategy`].
3023 /// The default value is <b>ARKUI_RENDERSTRATEGY_FAST</b>.
3024 ///
3025 ///
3026 ///
3027 /// Format of the return value [`ArkUI_AttributeItem`]:
3028 ///
3029 /// .value[0].i32: Render types for drawing rounded corners. The data type is [`ArkUI_RenderStrategy`].
3030 ///
3031 ///
3032 ///
3033 /// Available since API-level: 23
3034 #[cfg(feature = "api-23")]
3035 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3036 pub const NODE_BORDER_RADIUS_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(123);
3037 /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
3038 ///
3039 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3040 ///
3041 /// .string: text content.
3042 ///
3043 ///
3044 ///
3045 /// Format of the return value [`ArkUI_AttributeItem`]:
3046 ///
3047 /// .string: text content.
3048 pub const NODE_TEXT_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000);
3049 /// Defines the font color attribute, which can be set, reset, and obtained as required through APIs.
3050 ///
3051 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3052 ///
3053 /// .value[0].u32: font color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3054 ///
3055 ///
3056 ///
3057 /// Format of the return value [`ArkUI_AttributeItem`]:
3058 ///
3059 /// .value[0].u32: font color value, in 0xARGB format.
3060 pub const NODE_FONT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001);
3061 /// Defines the font size attribute, which can be set, reset, and obtained as required through APIs.
3062 ///
3063 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3064 ///
3065 /// .value[0].f32: font size, in fp.
3066 ///
3067 ///
3068 ///
3069 /// Format of the return value [`ArkUI_AttributeItem`]:
3070 ///
3071 /// .value[0].f32: font size, in fp.
3072 pub const NODE_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002);
3073 /// Defines the font style attribute, which can be set, reset, and obtained as required through APIs.
3074 ///
3075 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3076 ///
3077 /// .value[0].i32: font style [`ArkUI_FontStyle`]. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
3078 ///
3079 ///
3080 ///
3081 /// Format of the return value [`ArkUI_AttributeItem`]:
3082 ///
3083 /// .value[0].i32: font style [`ArkUI_FontStyle`].
3084 pub const NODE_FONT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003);
3085 /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
3086 ///
3087 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3088 ///
3089 /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3090 ///
3091 ///
3092 ///
3093 /// Format of the return value [`ArkUI_AttributeItem`]:
3094 ///
3095 /// .value[0].i32: font weight [`ArkUI_FontWeight`].
3096 pub const NODE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1004);
3097 /// Defines the text line height attribute, which can be set, reset, and obtained as required through APIs.
3098 ///
3099 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3100 ///
3101 /// .value[0].f32: line height, in fp.
3102 ///
3103 ///
3104 ///
3105 /// Format of the return value [`ArkUI_AttributeItem`]:
3106 ///
3107 /// .value[0].f32: line height, in fp.
3108 pub const NODE_TEXT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1005);
3109 /// Defines the text decoration style and color.
3110 /// This attribute can be set, reset, and obtained as required through APIs.
3111 ///
3112 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3113 ///
3114 /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3115 /// The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.
3116 ///
3117 /// .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.
3118 ///
3119 /// .value[2]?.i32: text decoration style [`ArkUI_TextDecorationStyle`].
3120 ///
3121 ///
3122 ///
3123 /// Format of the return value [`ArkUI_AttributeItem`]:
3124 ///
3125 /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3126 ///
3127 /// .value[1].u32: text decoration color, in 0xARGB format.
3128 ///
3129 /// .value[2].i32: text decoration style [`ArkUI_TextDecorationStyle`].
3130 ////**
3131 /// Defines the text decoration style and color.
3132 /// This attribute can be set, reset, and obtained as required through APIs.
3133 ///
3134 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3135 ///
3136 /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3137 /// The default value is <b>ARKUI_TEXT_DECORATION_TYPE_NONE</b>.
3138 ///
3139 /// .value[1]?.u32: text decoration color, in 0xARGB format. For example, 0xFFFF0000 indicates red. Optional.
3140 ///
3141 /// .value[2]?.i32: text decoration style [`ArkUI_TextDecorationStyle`].
3142 ///
3143 /// .value[3]?.f32: text decoration thickness scale.
3144 ///
3145 ///
3146 ///
3147 /// Format of the return value [`ArkUI_AttributeItem`]:
3148 ///
3149 /// .value[0].i32: text decoration type [`ArkUI_TextDecorationType`].
3150 ///
3151 /// .value[1].u32: text decoration color, in 0xARGB format.
3152 ///
3153 /// .value[2].i32: text decoration style [`ArkUI_TextDecorationStyle`].
3154 ///
3155 /// .value[3].f32: text decoration thickness scale.
3156 ///
3157 ///
3158 /// since 22
3159 pub const NODE_TEXT_DECORATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006);
3160 /// Defines the text case attribute, which can be set, reset, and obtained as required through APIs.
3161 ///
3162 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3163 ///
3164 /// .value[0].i32: text case.
3165 ///
3166 ///
3167 ///
3168 /// Format of the return value [`ArkUI_AttributeItem`]:
3169 ///
3170 /// .value[0].i32: text case.
3171 pub const NODE_TEXT_CASE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007);
3172 /// Defines the letter spacing attribute, which can be set, reset, and obtained as required through APIs.
3173 ///
3174 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3175 ///
3176 /// .value[0].f32: letter spacing, in fp.
3177 ///
3178 ///
3179 ///
3180 /// Format of the return value [`ArkUI_AttributeItem`]:
3181 ///
3182 /// .value[0].f32: letter spacing, in fp.
3183 pub const NODE_TEXT_LETTER_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008);
3184 /// Sets the maximum number of lines in the text.
3185 /// This attribute can be set, reset, and obtained as required through APIs.
3186 ///
3187 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3188 ///
3189 /// .value[0].i32: maximum number of lines in the text.
3190 ///
3191 ///
3192 ///
3193 /// Format of the return value [`ArkUI_AttributeItem`]:
3194 ///
3195 /// .value[0].i32: maximum number of lines in the text.
3196 pub const NODE_TEXT_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009);
3197 /// Horizontal alignment mode of the text.
3198 /// This attribute can be set, reset, and obtained as required through APIs.
3199 ///
3200 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3201 ///
3202 /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
3203 ///
3204 ///
3205 ///
3206 /// Format of the return value [`ArkUI_AttributeItem`]:
3207 ///
3208 /// .value[0].i32: horizontal alignment mode of the text. The value is an enum of [`ArkUI_TextAlignment`].
3209 pub const NODE_TEXT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010);
3210 /// Defines the text overflow attribute, which can be set, reset, and obtained as required through APIs.
3211 ///
3212 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3213 ///
3214 /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
3215 ///
3216 ///
3217 ///
3218 /// Format of the return value [`ArkUI_AttributeItem`]:
3219 ///
3220 /// .value[0].i32: display mode when the text is too long. [`ArkUI_TextOverflow`]
3221 pub const NODE_TEXT_OVERFLOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1011);
3222 /// Defines the font family attribute, which can be set, reset, and obtained as required through APIs.
3223 ///
3224 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3225 ///
3226 /// .string: fonts, separated by commas (,).
3227 ///
3228 ///
3229 /// Format of the return value [`ArkUI_AttributeItem`]:
3230 ///
3231 /// .string: fonts, separated by commas (,).
3232 pub const NODE_FONT_FAMILY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1012);
3233 /// Defines the copy option attribute, which 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].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
3238 ///
3239 ///
3240 ///
3241 /// Format of the return value [`ArkUI_AttributeItem`]:
3242 ///
3243 /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
3244 pub const NODE_TEXT_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013);
3245 /// Defines the text baseline offset attribute
3246 /// This attribute can be set, reset, and obtained as required through APIs.
3247 ///
3248 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3249 ///
3250 /// .value[0].f32: baseline offset, in fp.
3251 ///
3252 ///
3253 ///
3254 /// Format of the return value [`ArkUI_AttributeItem`]:
3255 ///
3256 /// .value[0].f32: baseline offset, in fp.
3257 pub const NODE_TEXT_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014);
3258 /// Defines the text shadow attribute, which can be set, reset, and obtained as required through APIs.
3259 ///
3260 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3261 ///
3262 /// .value[0].f32: blur radius of the shadow, in vp.
3263 ///
3264 /// .value[1].i32: shadow type [`ArkUI_ShadowType`]. The default value is <b>ARKUI_SHADOW_TYPE_COLOR</b>.
3265 ///
3266 /// .value[2].u32: shadow color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3267 ///
3268 /// .value[3].f32: offset of the shadow along the x-axis, in vp.
3269 ///
3270 /// .value[4].f32: offset of the shadow along the y-axis, in vp.
3271 ///
3272 ///
3273 ///
3274 /// Format of the return value [`ArkUI_AttributeItem`]:
3275 ///
3276 /// .value[0].f32: blur radius of the shadow, in vp.
3277 ///
3278 /// .value[1].i32: shadow type [`ArkUI_ShadowType`].
3279 ///
3280 /// .value[2].u32: shadow color, in 0xARGB format.
3281 ///
3282 /// .value[3].f32: offset of the shadow along the x-axis, in vp.
3283 ///
3284 /// .value[4].f32: offset of the shadow along the y-axis, in vp.
3285 pub const NODE_TEXT_TEXT_SHADOW: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1015);
3286 /// Defines the minimum font size attribute, which can be set, reset, and obtained as required through APIs.
3287 ///
3288 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3289 ///
3290 /// .value[0].f32: minimum font size, in fp.
3291 ///
3292 ///
3293 /// Format of the return value [`ArkUI_AttributeItem`]:
3294 ///
3295 /// .value[0].f32: minimum font size, in fp.
3296 pub const NODE_TEXT_MIN_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1016);
3297 /// Defines the maximum font size attribute, which can be set, reset, and obtained as required through APIs.
3298 ///
3299 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3300 ///
3301 /// .value[0].f32: maximum font size, in fp.
3302 ///
3303 ///
3304 /// Format of the return value [`ArkUI_AttributeItem`]:
3305 ///
3306 /// .value[0].f32: maximum font size, in fp.
3307 pub const NODE_TEXT_MAX_FONT_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1017);
3308 /// Defines the text style attribute, which can be set, reset, and obtained as required through APIs.
3309 ///
3310 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3311 ///
3312 /// .string?: font family. Optional. Use commas (,) to separate multiple fonts.
3313 ///
3314 /// .value[0].f32: font size, in fp.
3315 ///
3316 /// .value[1]?.i32: font weight. Optional. The parameter type is [`ArkUI_FontWeight`].
3317 /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3318 ///
3319 /// .value[2]?.i32: font style. Optional. The parameter type is [`ArkUI_FontStyle`].
3320 /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
3321 ///
3322 ///
3323 /// Format of the return value [`ArkUI_AttributeItem`]:
3324 ///
3325 /// .string: font family. Use commas (,) to separate multiple fonts.
3326 ///
3327 /// .value[0].f32: font size, in fp.
3328 ///
3329 /// .value[1].i32: font weight. The parameter type is [`ArkUI_FontWeight`].
3330 /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3331 ///
3332 /// .value[2].i32: font style. The parameter type is [`ArkUI_FontStyle`].
3333 /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
3334 pub const NODE_TEXT_FONT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1018);
3335 /// Defines how the adaptive height is determined for the text.
3336 /// This attribute can be set, reset, and obtained as required through APIs.
3337 ///
3338 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3339 ///
3340 /// .value[0].i32: how the adaptive height is determined for the text.
3341 /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`].
3342 ///
3343 ///
3344 /// Format of the return value [`ArkUI_AttributeItem`]:
3345 ///
3346 /// .value[0].i32: how the adaptive height is determined for the text.
3347 /// The parameter type is [`ArkUI_TextHeightAdaptivePolicy`]
3348 pub const NODE_TEXT_HEIGHT_ADAPTIVE_POLICY: ArkUI_NodeAttributeType =
3349 ArkUI_NodeAttributeType(1019);
3350 /// Defines the indentation of the first line.
3351 /// This attribute can be set, reset, and obtained as required through APIs.
3352 ///
3353 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3354 ///
3355 /// .value[0].f32: indentation of the first line.
3356 ///
3357 ///
3358 ///
3359 /// Format of the return value [`ArkUI_AttributeItem`]:
3360 ///
3361 /// .value[0].f32: indentation of the first line.
3362 pub const NODE_TEXT_INDENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1020);
3363 /// Defines the line break rule. This attribute can be set, reset, and obtained as required through APIs.
3364 ///
3365 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3366 ///
3367 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3368 ///
3369 ///
3370 ///
3371 /// Format of the return value [`ArkUI_AttributeItem`]:
3372 ///
3373 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
3374 pub const NODE_TEXT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1021);
3375 /// Defines the ellipsis position. This attribute can be set, reset, and obtained as required through APIs.
3376 ///
3377 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3378 ///
3379 /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3380 ///
3381 ///
3382 ///
3383 /// Format of the return value [`ArkUI_AttributeItem`]:
3384 ///
3385 /// .value[0].i32: The parameter type is [`ArkUI_EllipsisMode`].
3386 pub const NODE_TEXT_ELLIPSIS_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1022);
3387 /// Defines the text line spacing attribute, which can be set, reset, and obtained as required through APIs.
3388 ///
3389 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3390 ///
3391 /// .value[0].f32: line spacing, in fp.
3392 ///
3393 ///
3394 ///
3395 /// Format of the return value [`ArkUI_AttributeItem`]:
3396 ///
3397 /// .value[0].f32: line spacing, in fp.
3398 pub const NODE_TEXT_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1023);
3399 /// Set the text feature effect and the NODE_FONT_FEATURE attribute,
3400 /// NODE_FONT_FEATURE is the advanced typesetting capability of OpenType
3401 /// Features such as ligatures and equal-width digits are generally used in customized fonts.
3402 ///
3403 /// The capabilities need to be supported by the fonts,
3404 ///
3405 /// Interfaces for setting, resetting, and obtaining attributes are supported.
3406 ///
3407 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
3408 ///
3409 /// .string: complies with the text feature format. The format is normal |
3410 ///
3411 /// is in the format of [ | on | off],
3412 /// .
3413 /// There can be multiple values separated by commas (,).
3414 ///
3415 /// For example, the input format of a number with the same width is ss01 on.
3416 ///
3417 ///
3418 ///
3419 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
3420 ///
3421 /// .string indicates the content of the text feature. Multiple text features are separated by commas (,).
3422 pub const NODE_FONT_FEATURE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1024);
3423 /// Setting Enable Text Recognition.
3424 ///
3425 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3426 ///
3427 /// .value[0].i32:Enable text recognition, default value false.
3428 ///
3429 ///
3430 ///
3431 /// Format of the return value [`ArkUI_AttributeItem`]:
3432 ///
3433 /// .value[0].i32:Enable Text Recognition
3434 pub const NODE_TEXT_ENABLE_DATA_DETECTOR: ArkUI_NodeAttributeType =
3435 ArkUI_NodeAttributeType(1025);
3436 /// Set the text recognition configuration.
3437 ///
3438 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3439 ///
3440 /// .value[0...].i32: Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3441 ///
3442 ///
3443 ///
3444 /// Format of the return value [`ArkUI_AttributeItem`]:
3445 ///
3446 /// .value[0...].i32:Array of entity types, parameter types[`ArkUI_TextDataDetectorType`]。
3447 pub const NODE_TEXT_ENABLE_DATA_DETECTOR_CONFIG: ArkUI_NodeAttributeType =
3448 ArkUI_NodeAttributeType(1026);
3449 /// Defines the background color of the selected text.
3450 /// This attribute can be set, reset, and obtained as required through APIs.
3451 ///
3452 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3453 ///
3454 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
3455 ///
3456 ///
3457 ///
3458 /// Format of the return value [`ArkUI_AttributeItem`]:
3459 ///
3460 /// .value[0].u32: color value, in 0xARGB format.
3461 pub const NODE_TEXT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
3462 ArkUI_NodeAttributeType(1027);
3463 /// The text component uses a formatted string object to set text content properties,
3464 /// and supports property setting, property reset, and property acquisition interfaces.
3465 ///
3466 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3467 ///
3468 /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3469 ///
3470 ///
3471 ///
3472 /// Format of the return value [`ArkUI_AttributeItem`]:
3473 ///
3474 /// .object indicates ArkUI_StyledString formatted string data. The parameter type is [`ArkUI_StyledString`].
3475 pub const NODE_TEXT_CONTENT_WITH_STYLED_STRING: ArkUI_NodeAttributeType =
3476 ArkUI_NodeAttributeType(1028);
3477 /// Sets whether to center text vertically in the text component.
3478 ///
3479 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3480 ///
3481 /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
3482 ///
3483 ///
3484 ///
3485 /// Format of the return value [`ArkUI_AttributeItem`]:
3486 ///
3487 /// .value[0].i32: whether to center text vertically.
3488 pub const NODE_TEXT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1029);
3489 /// Defines the font weight attribute, which can be set, reset, and obtained as required through APIs.
3490 /// The font weight specified by this API is not affected by any changes in the system font weight settings.
3491 ///
3492 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3493 ///
3494 /// .value[0].i32: font weight [`ArkUI_FontWeight`]. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
3495 ///
3496 ///
3497 ///
3498 /// Format of the return value [`ArkUI_AttributeItem`]:
3499 ///
3500 /// .value[0].i32: font weight [`ArkUI_FontWeight`].
3501 ///
3502 ///
3503 ///
3504 /// Available since API-level: 15
3505 #[cfg(feature = "api-15")]
3506 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
3507 pub const NODE_IMMUTABLE_FONT_WEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1030);
3508 /// Defines the text line count attribute, which can only be obtained as required through APIs.
3509 ///
3510 /// Format of the return value [`ArkUI_AttributeItem`]:
3511 ///
3512 /// .value[0].i32: line count of the node.
3513 ///
3514 ///
3515 /// Available since API-level: 20
3516 #[cfg(feature = "api-20")]
3517 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3518 pub const NODE_TEXT_LINE_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1031);
3519 /// Sets whether to optimize the trailing spaces at the end of each line during text layout.
3520 /// This attribute can be set, reset, and obtained as required through APIs.
3521 ///
3522 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3523 ///
3524 /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3525 /// The default value is <b>false</b>.
3526 ///
3527 ///
3528 ///
3529 /// Format of the return value [`ArkUI_AttributeItem`]:
3530 ///
3531 /// value[0].i32: whether to optimize trailing spaces at the end of each line during text layout.
3532 ///
3533 ///
3534 ///
3535 /// Available since API-level: 20
3536 #[cfg(feature = "api-20")]
3537 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3538 pub const NODE_TEXT_OPTIMIZE_TRAILING_SPACE: ArkUI_NodeAttributeType =
3539 ArkUI_NodeAttributeType(1032);
3540 /// Sets a linear gradient effect for text.
3541 /// This attribute can be set, reset, and obtained as required through APIs.
3542 ///
3543 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3544 ///
3545 /// .value[0].f32: start angle of the linear gradient.
3546 /// The setting takes effect only when <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>.
3547 /// A positive value indicates a clockwise rotation from the origin, (0, 0). The default value is <b>180</b>.
3548 ///
3549 /// .value[1].i32: direction of the linear gradient. When a direction other than
3550 /// <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b> is set, the <b>angle</b> property is ignored.
3551 /// The parameter type is [`ArkUI_LinearGradientDirection`].
3552 ///
3553 /// .value[2].i32: whether the colors are repeated. The default value is <b>false</b>.
3554 /// .object: array of color stops, each of which consists of a color and its stop position.
3555 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3556 ///
3557 ///
3558 /// colors: colors of the color stops.
3559 ///
3560 /// stops: stop positions of the color stops.
3561 ///
3562 /// size: number of colors.
3563 ///
3564 ///
3565 ///
3566 /// Format of the return value [`ArkUI_AttributeItem`]:
3567 ///
3568 /// .value[0].f32: start angle of the linear gradient.
3569 /// When <b>direction</b> is set to <b>ARKUI_LINEAR_GRADIENT_DIRECTION_CUSTOM</b>, <b>angle</b> at the set value;
3570 /// otherwise, it is at default value.
3571 ///
3572 /// .value[1].i32: direction of the linear gradient.
3573 ///
3574 /// .value[2].i32: whether the colors are repeated.
3575 ///
3576 /// .object: array of color stops, each of which consists of a color and its stop position.
3577 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3578 ///
3579 ///
3580 /// colors: colors of the color stops.
3581 ///
3582 /// stops: stop positions of the color stops.
3583 ///
3584 /// size: number of colors.
3585 ///
3586 ///
3587 ///
3588 /// Available since API-level: 20
3589 #[cfg(feature = "api-20")]
3590 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3591 pub const NODE_TEXT_LINEAR_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1033);
3592 /// Sets a radial gradient effect for text.
3593 /// This attribute can be set, reset, and obtained as required through APIs.
3594 ///
3595 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3596 ///
3597 /// .value[0]?.f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3598 ///
3599 /// .value[1]?.f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3600 ///
3601 /// .value[2]?.f32: radius of the radial gradient. The default value is <b>0</b>.
3602 ///
3603 /// .value[3]?.i32: whether the colors are repeated.
3604 /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3605 ///
3606 ///
3607 /// .object: array of color stops, each of which consists of a color and its stop position.
3608 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3609 ///
3610 /// colors: colors of the color stops.
3611 ///
3612 /// stops: stop positions of the color stops.
3613 ///
3614 /// size: number of colors.
3615 ///
3616 ///
3617 ///
3618 /// Format of the return value [`ArkUI_AttributeItem`]:
3619 ///
3620 /// .value[0].f32: X-coordinate of the radial gradient center relative to the upper left corner of the text.
3621 ///
3622 /// .value[1].f32: Y-coordinate of the radial gradient center relative to the upper left corner of the text.
3623 ///
3624 /// .value[2].f32: radius of the radial gradient. The default value is <b>0</b>.
3625 ///
3626 /// .value[3].i32: whether the colors are repeated.
3627 /// The value <b>1</b> means that the colors are repeated, and <b>0</b> means the opposite.
3628 ///
3629 /// .object: array of color stops, each of which consists of a color and its stop position.
3630 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
3631 ///
3632 /// colors: colors of the color stops.
3633 ///
3634 /// stops: stop positions of the color stops.
3635 ///
3636 /// size: number of colors.
3637 ///
3638 ///
3639 ///
3640 /// Available since API-level: 20
3641 #[cfg(feature = "api-20")]
3642 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3643 pub const NODE_TEXT_RADIAL_GRADIENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1034);
3644 /// Sets the vertical alignment of the text content.
3645 /// This attribute can be set, reset, and obtained as required through APIs.
3646 ///
3647 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3648 ///
3649 /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3650 /// enum. The default value is <b>ARKUI_TEXT_VERTICAL_ALIGNMENT_BASELINE</b>.
3651 ///
3652 ///
3653 ///
3654 /// Format of the return value [`ArkUI_AttributeItem`]:
3655 ///
3656 /// .value[0].i32: vertical alignment of the text content, specified using the [`ArkUI_TextVerticalAlignment`]
3657 /// enum.
3658 ///
3659 ///
3660 ///
3661 /// Available since API-level: 20
3662 #[cfg(feature = "api-20")]
3663 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
3664 pub const NODE_TEXT_VERTICAL_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1035);
3665 /// Sets the content align of the text.
3666 /// This attribute can be set, reset, and obtained as required through APIs.
3667 ///
3668 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3669 ///
3670 /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3671 /// enum. The default value is <b>ARKUI_TEXT_CONTENT_ALIGN_CENTER</b>.
3672 ///
3673 ///
3674 ///
3675 /// Format of the return value [`ArkUI_AttributeItem`]:
3676 ///
3677 /// .value[0].i32: content align of the text, specified using the [`ArkUI_TextContentAlign`]
3678 /// enum.
3679 ///
3680 ///
3681 ///
3682 /// Available since API-level: 21
3683 #[cfg(feature = "api-21")]
3684 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
3685 pub const NODE_TEXT_CONTENT_ALIGN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1036);
3686 /// Sets the minimum number of lines in the text.
3687 /// This attribute can be set, reset, and obtained as required through APIs.
3688 ///
3689 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3690 ///
3691 /// .value[0].i32: minimum number of lines in the text.
3692 ///
3693 ///
3694 ///
3695 /// Format of the return value [`ArkUI_AttributeItem`]:
3696 ///
3697 /// .value[0].i32: minimum number of lines in the text.
3698 ///
3699 ///
3700 ///
3701 /// Available since API-level: 22
3702 #[cfg(feature = "api-22")]
3703 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3704 pub const NODE_TEXT_MIN_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1037);
3705 /// Enables the selected data detector.
3706 ///
3707 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3708 ///
3709 /// .value[0].i32: Enable selected text recognition, default value true.
3710 ///
3711 ///
3712 ///
3713 /// Format of the return value [`ArkUI_AttributeItem`]:
3714 ///
3715 /// .value[0].i32: Whether selected text recognition is enabled.
3716 ///
3717 ///
3718 ///
3719 /// Available since API-level: 22
3720 #[cfg(feature = "api-22")]
3721 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3722 pub const NODE_TEXT_ENABLE_SELECTED_DATA_DETECTOR: ArkUI_NodeAttributeType =
3723 ArkUI_NodeAttributeType(1038);
3724 /// Defines the minimum text line height attribute, which can be set, reset, and obtained as required through APIs.
3725 ///
3726 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3727 ///
3728 /// .value[0].f32: minimum line height.
3729 ///
3730 ///
3731 ///
3732 /// Format of the return value [`ArkUI_AttributeItem`]:
3733 ///
3734 /// .value[0].f32: minimum line height.
3735 ///
3736 ///
3737 ///
3738 /// Available since API-level: 22
3739 #[cfg(feature = "api-22")]
3740 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3741 pub const NODE_TEXT_MIN_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1040);
3742 /// Defines the maximum text line height attribute, which can be set, reset, and obtained as required through APIs.
3743 ///
3744 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3745 ///
3746 /// .value[0].f32: maximum line height.
3747 ///
3748 ///
3749 ///
3750 /// Format of the return value [`ArkUI_AttributeItem`]:
3751 ///
3752 /// .value[0].f32: maximum line height.
3753 ///
3754 ///
3755 ///
3756 /// Available since API-level: 22
3757 #[cfg(feature = "api-22")]
3758 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3759 pub const NODE_TEXT_MAX_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1041);
3760 /// Defines line height multiple value of text, which can be set, reset, and obtained as required through APIs.
3761 ///
3762 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3763 ///
3764 /// .value[0].f32: line height multiple value of text.
3765 ///
3766 ///
3767 ///
3768 /// Format of the return value [`ArkUI_AttributeItem`]:
3769 ///
3770 /// .value[0].f32: line height multiple value of text.
3771 ///
3772 ///
3773 ///
3774 /// Available since API-level: 22
3775 #[cfg(feature = "api-22")]
3776 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3777 pub const NODE_TEXT_LINE_HEIGHT_MULTIPLE: ArkUI_NodeAttributeType =
3778 ArkUI_NodeAttributeType(1042);
3779 /// Get the text layout manager of the text.
3780 ///
3781 /// Format of the return value [`ArkUI_AttributeItem`]:
3782 ///
3783 /// .object: the layout manager of text. The parameter type is [`ArkUI_TextLayoutManager`].
3784 ///
3785 ///
3786 ///
3787 /// Available since API-level: 22
3788 #[cfg(feature = "api-22")]
3789 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3790 pub const NODE_TEXT_LAYOUT_MANAGER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1043);
3791 /// Set the edit menu options of the text.
3792 ///
3793 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3794 ///
3795 /// .object: the edit menu options of text. The parameter type is [`ArkUI_TextEditMenuOptions`].
3796 ///
3797 ///
3798 ///
3799 /// Available since API-level: 22
3800 #[cfg(feature = "api-22")]
3801 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3802 pub const NODE_TEXT_EDIT_MENU_OPTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1044);
3803 /// Bind the selection menu for text.
3804 ///
3805 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3806 ///
3807 /// .object: the custom selection menu of text.
3808 /// The parameter type is [`ArkUI_SelectionMenuOptions`].
3809 ///
3810 ///
3811 ///
3812 /// Available since API-level: 22
3813 #[cfg(feature = "api-22")]
3814 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
3815 pub const NODE_TEXT_BIND_SELECTION_MENU: ArkUI_NodeAttributeType =
3816 ArkUI_NodeAttributeType(1045);
3817 /// Sets the text selection area, which will be highlighted.
3818 /// This attribute can be set, reset, and obtained as required through APIs.
3819 ///
3820 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3821 ///
3822 /// .value[0].i32: start position of the text selection.
3823 ///
3824 /// .value[1].i32: end position of the text selection.
3825 ///
3826 /// .object: selection options including the menu popup policy.
3827 /// The parameter type is [`ArkUI_SelectionOptions`].
3828 ///
3829 ///
3830 ///
3831 /// Format of the return value [`ArkUI_AttributeItem`]:
3832 ///
3833 /// .value[0].i32: start position of the text selection.
3834 ///
3835 /// .value[1].i32: end position of the text selection.
3836 ///
3837 /// .object: selection options including the menu popup policy.
3838 /// The parameter type is [`ArkUI_SelectionOptions`].
3839 ///
3840 ///
3841 ///
3842 /// Available since API-level: 23
3843 #[cfg(feature = "api-23")]
3844 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3845 pub const NODE_TEXT_TEXT_SELECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1046);
3846 /// Whether to compress punctuation at the beginning of line.
3847 ///
3848 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3849 ///
3850 /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
3851 /// The default value is false.
3852 ///
3853 ///
3854 ///
3855 /// Format of the return value [`ArkUI_AttributeItem`]:
3856 ///
3857 /// .value[0].i32: Whether compress punctuation at the beginning of line.
3858 ///
3859 ///
3860 ///
3861 /// Available since API-level: 23
3862 #[cfg(feature = "api-23")]
3863 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3864 pub const NODE_TEXT_COMPRESS_LEADING_PUNCTUATION: ArkUI_NodeAttributeType =
3865 ArkUI_NodeAttributeType(1048);
3866 /// Determines whether the layout adds extra padding at the top and bottom to make space for characters.
3867 ///
3868 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3869 ///
3870 /// .value[0].i32: Enable include the font padding, true means enable this feature, false means disable.
3871 /// The default value is false.
3872 ///
3873 ///
3874 ///
3875 /// Format of the return value [`ArkUI_AttributeItem`]:
3876 ///
3877 /// .value[0].i32: Whether include the font padding.
3878 ///
3879 ///
3880 ///
3881 /// Available since API-level: 23
3882 #[cfg(feature = "api-23")]
3883 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3884 pub const NODE_TEXT_INCLUDE_FONT_PADDING: ArkUI_NodeAttributeType =
3885 ArkUI_NodeAttributeType(1049);
3886 /// Whether to include ascent/descent from fallback fonts to prevent overlapping lines.
3887 ///
3888 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3889 ///
3890 /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
3891 /// The default value is false.
3892 ///
3893 ///
3894 ///
3895 /// Format of the return value [`ArkUI_AttributeItem`]:
3896 ///
3897 /// .value[0].i32: Whether fallback line spacing.
3898 ///
3899 ///
3900 ///
3901 /// Available since API-level: 23
3902 #[cfg(feature = "api-23")]
3903 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3904 pub const NODE_TEXT_FALLBACK_LINE_SPACING: ArkUI_NodeAttributeType =
3905 ArkUI_NodeAttributeType(1050);
3906 /// Set the marquee options of text.
3907 ///
3908 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3909 ///
3910 /// .object: the marquee options of text. The parameter type is [`ArkUI_TextMarqueeOptions`].
3911 ///
3912 ///
3913 ///
3914 /// Format of the return value [`ArkUI_AttributeItem`]:
3915 ///
3916 /// .object: the marquee options of text. The parameter type is [`ArkUI_TextMarqueeOptions`].
3917 ///
3918 ///
3919 ///
3920 /// Available since API-level: 23
3921 #[cfg(feature = "api-23")]
3922 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3923 pub const NODE_TEXT_MARQUEE_OPTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1051);
3924 /// Writing direction of the text.
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 /// .value[0].i32: writing direction of the text. The value is an enum of [`ArkUI_TextDirection`].
3930 ///
3931 ///
3932 ///
3933 /// Format of the return value [`ArkUI_AttributeItem`]:
3934 ///
3935 /// .value[0].i32: writing direction the text. The value is an enum of [`ArkUI_TextDirection`].
3936 ///
3937 ///
3938 ///
3939 /// Available since API-level: 23
3940 #[cfg(feature = "api-23")]
3941 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3942 pub const NODE_TEXT_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1052);
3943 /// Used to set the selected drag preview style.
3944 ///
3945 /// Format of the [`Arkui_AttributeItem`] parameter for setting the attribute:
3946 ///
3947 /// .object: selected drag preview style configuration.
3948 ///
3949 /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
3950 ///
3951 ///
3952 ///
3953 /// Format of the return value [`Arkui_AttributeItem`]:
3954 ///
3955 /// .object: selected drag preview style configuration.
3956 ///
3957 /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
3958 ///
3959 ///
3960 ///
3961 /// Available since API-level: 23
3962 #[cfg(feature = "api-23")]
3963 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
3964 pub const NODE_TEXT_SELECTED_DRAG_PREVIEW_STYLE: ArkUI_NodeAttributeType =
3965 ArkUI_NodeAttributeType(1053);
3966 /// Defines the text content attribute, which can be set, reset, and obtained as required through APIs.
3967 ///
3968 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3969 ///
3970 /// .string: content of the text span.
3971 ///
3972 ///
3973 ///
3974 /// Format of the return value [`ArkUI_AttributeItem`]:
3975 ///
3976 /// .string: content of the text span.
3977 pub const NODE_SPAN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2000);
3978 /// Defines the text background style.
3979 /// This attribute can be set, reset, and obtained as required through APIs.
3980 ///
3981 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
3982 ///
3983 /// .value[0].u32: color of the text background, in 0xARGB format, for example, <b>0xFFFF0000</b> indicating red.
3984 ///
3985 /// The second parameter indicates the rounded corners of the text background. Two setting modes are available:
3986 ///
3987 /// 1: .value[1].f32: radius of the four corners, in vp.
3988 ///
3989 /// 2: .value[1].f32: radius of the upper left corner, in vp.
3990 ///
3991 /// .value[2].f32: radius of the upper right corner, in vp.
3992 ///
3993 /// .value[3].f32: radius of the lower left corner, in vp.
3994 ///
3995 /// .value[4].f32: radius of the lower right corner, in vp.
3996 ///
3997 ///
3998 ///
3999 /// Format of the return value [`ArkUI_AttributeItem`]:
4000 ///
4001 /// .value[0].u32: color of the text background, in 0xARGB format.
4002 ///
4003 /// .value[1].f32: radius of the upper left corner, in vp.
4004 ///
4005 /// .value[2].f32: radius of the upper right corner, in vp.
4006 ///
4007 /// .value[3].f32: radius of the lower left corner, in vp.
4008 ///
4009 /// .value[4].f32: radius of the lower right corner, in vp.
4010 pub const NODE_SPAN_TEXT_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
4011 ArkUI_NodeAttributeType(2001);
4012 /// Defines the text baseline offset attribute
4013 /// This attribute can be set, reset, and obtained as required through APIs.
4014 ///
4015 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4016 ///
4017 /// .value[0].f32: baseline offset, in fp.
4018 ///
4019 ///
4020 ///
4021 /// Format of the return value [`ArkUI_AttributeItem`]:
4022 ///
4023 /// .value[0].f32: baseline offset, in fp.
4024 pub const NODE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(2002);
4025 /// Defines the image source of the image span.
4026 /// This attribute can be set, reset, and obtained as required through APIs.
4027 ///
4028 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4029 ///
4030 /// .string: image address of the image span.
4031 ///
4032 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4033 ///
4034 ///
4035 ///
4036 /// Format of the return value [`ArkUI_AttributeItem`]:
4037 ///
4038 /// .string: image address of the image span.
4039 ///
4040 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4041 pub const NODE_IMAGE_SPAN_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3000);
4042 /// Defines the alignment mode of the image with the text.
4043 /// This attribute can be set, reset, and obtained as required through APIs.
4044 ///
4045 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4046 ///
4047 /// .value[0].i32: alignment mode of the image with the text.
4048 /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
4049 ///
4050 ///
4051 ///
4052 /// Format of the return value [`ArkUI_AttributeItem`]:
4053 ///
4054 /// .value[0].i32: alignment mode of the image with the text.
4055 /// The value is an enum of [`ArkUI_ImageSpanAlignment`].
4056 pub const NODE_IMAGE_SPAN_VERTICAL_ALIGNMENT: ArkUI_NodeAttributeType =
4057 ArkUI_NodeAttributeType(3001);
4058 /// Defines the placeholder image source.
4059 /// This attribute can be set, reset, and obtained as required through APIs.
4060 ///
4061 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4062 ///
4063 /// .string: placeholder image source.
4064 ///
4065 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4066 ///
4067 ///
4068 ///
4069 /// Format of the return value [`ArkUI_AttributeItem`]:
4070 ///
4071 /// .string: placeholder image source.
4072 ///
4073 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4074 pub const NODE_IMAGE_SPAN_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3002);
4075 /// Defines the baseline offset attribute of the <b>ImageSpan</b> component.
4076 /// This attribute can be set, reset, and obtained as required through APIs.
4077 /// A positive value means an upward offset, while a negative value means a downward offset.
4078 /// The default value is <b>0</b>, and the unit is fp.
4079 ///
4080 ///
4081 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4082 ///
4083 /// .value[0].f32: baseline offset, in fp.
4084 ///
4085 ///
4086 ///
4087 /// Format of the return value [`ArkUI_AttributeItem`]:
4088 ///
4089 /// .value[0].f32: baseline offset, in fp.
4090 ///
4091 ///
4092 ///
4093 /// Available since API-level: 13
4094 #[cfg(feature = "api-13")]
4095 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
4096 pub const NODE_IMAGE_SPAN_BASELINE_OFFSET: ArkUI_NodeAttributeType =
4097 ArkUI_NodeAttributeType(3003);
4098 /// Defines the color filter of the image span.
4099 /// This attribute can be set, reset, and obtained as required through APIs.
4100 ///
4101 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4102 ///
4103 /// .value [0].f32 to . value [19].f32: filter matrix array.
4104 ///
4105 /// .size :5 x 4 filter array size.
4106 ///
4107 /// .object : the pointer to OH_Drawing_ColorFilter. Either . value or . object is set.
4108 ///
4109 ///
4110 ///
4111 /// Format of the return value [`ArkUI_AttributeItem`]
4112 #[cfg(feature = "api-22")]
4113 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4114 pub const NODE_IMAGE_SPAN_COLOR_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3004);
4115 /// Set the range of SVG parsing capabilities supported through enable switch.
4116 /// This attribute can be set, reset, and obtained as required through APIs.
4117 ///
4118 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4119 ///
4120 /// .value[0].i32: whether color fliter support svg. The default value is <b>false</b>.
4121 ///
4122 ///
4123 ///
4124 /// Format of the return value [`ArkUI_AttributeItem`]:
4125 ///
4126 /// .value[0].i32: enable switch.
4127 ///
4128 ///
4129 ///
4130 /// Available since API-level: 22
4131 #[cfg(feature = "api-22")]
4132 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4133 pub const NODE_IMAGE_SPAN_SUPPORT_SVG2: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(3005);
4134 /// Defines the image source of the <Image> component.
4135 /// This attribute can be set, reset, and obtained as required through APIs.
4136 ///
4137 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4138 ///
4139 /// .string: image source.
4140 ///
4141 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4142 ///
4143 ///
4144 ///
4145 /// Format of the return value [`ArkUI_AttributeItem`]:
4146 ///
4147 /// .string: image source.
4148 ///
4149 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4150 pub const NODE_IMAGE_SRC: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4000);
4151 /// Defines how the image is resized to fit its container.
4152 /// This attribute can be set, reset, and obtained as required through APIs.
4153 ///
4154 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4155 ///
4156 /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
4157 ///
4158 ///
4159 ///
4160 /// Format of the return value [`ArkUI_AttributeItem`]:
4161 ///
4162 /// .value[0].i32: how the image is resized to fit its container. The value is an enum of [`ArkUI_ObjectFit`].
4163 pub const NODE_IMAGE_OBJECT_FIT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4001);
4164 /// Defines the interpolation effect of the image.
4165 /// This attribute can be set, reset, and obtained as required through APIs.
4166 ///
4167 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4168 ///
4169 /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
4170 ///
4171 ///
4172 ///
4173 /// Format of the return value [`ArkUI_AttributeItem`]:
4174 ///
4175 /// .value[0].i32: interpolation effect of the image. The value is an enum of [`ArkUI_ImageInterpolation`].
4176 pub const NODE_IMAGE_INTERPOLATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4002);
4177 /// Defines how the image is repeated.
4178 /// This attribute can be set, reset, and obtained as required through APIs.
4179 ///
4180 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4181 ///
4182 /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
4183 ///
4184 ///
4185 ///
4186 /// Format of the return value [`ArkUI_AttributeItem`]:
4187 ///
4188 /// .value[0].i32: how the image is repeated. The value is an enum of [`ArkUI_ImageRepeat`].
4189 pub const NODE_IMAGE_OBJECT_REPEAT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4003);
4190 /// Defines the color filter of the image.
4191 /// This attribute can be set, reset, and obtained as required through APIs.
4192 ///
4193 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4194 ///
4195 /// .value[0].f32 to .value[19].f32: filter matrix array.
4196 ///
4197 /// .size: 5 x 4 filter array size.
4198 ///
4199 /// .object: the pointer to OH_Drawing_ColorFilter. Either .value or .object is set.
4200 ///
4201 ///
4202 ///
4203 /// Format of the return value [`ArkUI_AttributeItem`]:
4204 ///
4205 /// .value[0].f32 to .value[19].f32: filter matrix array.
4206 ///
4207 /// .size: 5 x 4 filter array size.
4208 ///
4209 /// .object: the pointer to OH_Drawing_ColorFilter.
4210 pub const NODE_IMAGE_COLOR_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4004);
4211 /// Defines the auto resize attribute, which can be set, reset, and obtained as required through APIs.
4212 ///
4213 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4214 ///
4215 /// .value[0].i32 : whether to resize the image source.
4216 ///
4217 ///
4218 ///
4219 /// Format of the return value [`ArkUI_AttributeItem`]:
4220 ///
4221 /// .value[0].i32 : whether to resize the image source.
4222 pub const NODE_IMAGE_AUTO_RESIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4005);
4223 /// Defines the placeholder image source.
4224 /// This attribute can be set, reset, and obtained as required through APIs.
4225 ///
4226 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4227 ///
4228 /// .string: placeholder image source.
4229 ///
4230 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4231 ///
4232 ///
4233 ///
4234 /// Format of the return value [`ArkUI_AttributeItem`]:
4235 ///
4236 /// .string: placeholder image source.
4237 ///
4238 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4239 pub const NODE_IMAGE_ALT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4006);
4240 /// Defines whether the image is draggable.
4241 /// This attribute can be set, reset, and obtained as required through APIs.
4242 ///
4243 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4244 ///
4245 /// .value[0].i32: whether the image is draggable. The value <b>true</b> means that the image is draggable.
4246 ///
4247 ///
4248 ///
4249 /// Format of the return value [`ArkUI_AttributeItem`]:
4250 ///
4251 /// .value[0].i32: whether the image is draggable.
4252 pub const NODE_IMAGE_DRAGGABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4007);
4253 /// Defines the image rendering mode. This attribute can be set, reset, and obtained as required through APIs.
4254 ///
4255 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4256 ///
4257 /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
4258 ///
4259 ///
4260 ///
4261 /// Format of the return value [`ArkUI_AttributeItem`]:
4262 ///
4263 /// .value[0].i32: The parameter type is [`ArkUI_ImageRenderMode`].
4264 pub const NODE_IMAGE_RENDER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4008);
4265 /// Defines whether the image display size follows the image source size.
4266 /// This attribute can be set, reset, and obtained as required through APIs.
4267 ///
4268 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4269 ///
4270 /// .value[0].i32: wheter to follow, true means to follow.
4271 ///
4272 ///
4273 ///
4274 /// Format of the return value [`ArkUI_AttributeItem`]:
4275 ///
4276 /// .value[0].i32: wheter to follow, true means to follow.
4277 pub const NODE_IMAGE_FIT_ORIGINAL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4009);
4278 /// Defines the fill color of the swiper.
4279 /// This attribute can be set, reset, and obtained as required through APIs.
4280 ///
4281 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4282 ///
4283 /// .value[0].u32: fill color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4284 ///
4285 ///
4286 ///
4287 /// Format of the return value [`ArkUI_AttributeItem`]:
4288 ///
4289 /// .value[0].u32: fill color, in 0xARGB format.
4290 pub const NODE_IMAGE_FILL_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4010);
4291 /// Sets the resizable image options.
4292 ///
4293 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4294 ///
4295 /// .value[0].f32: width of the left edge. The unit is vp.
4296 ///
4297 /// .value[1].f32: width of the top edge. The unit is vp.
4298 ///
4299 /// .value[2].f32: width of the right edge. The unit is vp.
4300 ///
4301 /// .value[3].f32: width of the bottom edge. The unit is vp.
4302 ///
4303 ///
4304 ///
4305 /// Format of the return value [`ArkUI_AttributeItem`]:
4306 ///
4307 /// .value[0].f32: width of the left edge. The unit is vp.
4308 ///
4309 /// .value[1].f32: width of the top edge. The unit is vp.
4310 ///
4311 /// .value[2].f32: width of the right edge. The unit is vp.
4312 ///
4313 /// .value[3].f32: width of the bottom edge. The unit is vp.
4314 pub const NODE_IMAGE_RESIZABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4011);
4315 /// Defines the synchronous image loading attribute.
4316 /// This attribute can be set, reset, and obtained as required through APIs.
4317 ///
4318 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4319 ///
4320 /// .value[0].i32: whether to load the image synchronously.
4321 ///
4322 ///
4323 ///
4324 /// Format of the return value [`ArkUI_AttributeItem`]:
4325 ///
4326 /// .value[0].i32: whether to load the image synchronously.
4327 ///
4328 ///
4329 ///
4330 /// Available since API-level: 20
4331 #[cfg(feature = "api-20")]
4332 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
4333 pub const NODE_IMAGE_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4012);
4334 /// Defines the image decoding size attribute.
4335 /// This attribute can be set, reset, and obtained as required through APIs.
4336 ///
4337 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4338 ///
4339 /// .value[0].i32: width of the image decoding, in px.
4340 ///
4341 /// .value[1].i32: height of the image decoding, in px.
4342 ///
4343 ///
4344 ///
4345 /// Format of the return value [`ArkUI_AttributeItem`]:
4346 ///
4347 /// .value[0].i32: width of the image decoding, in px.
4348 ///
4349 /// .value[1].i32: height of the image decoding, in px.
4350 ///
4351 ///
4352 ///
4353 /// Available since API-level: 21
4354 #[cfg(feature = "api-21")]
4355 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4356 pub const NODE_IMAGE_SOURCE_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4013);
4357 /// Defines the display tranformation matrix for an image.
4358 /// This attribute can be set, reset, and obtained as required through APIs.
4359 ///
4360 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4361 ///
4362 /// .value[0...15].f32: 16 floating-point numbers.
4363 ///
4364 ///
4365 ///
4366 /// Format of the return value [`ArkUI_AttributeItem`]:
4367 ///
4368 /// .value[0...15].f32: 16 floating-point numbers.
4369 ///
4370 ///
4371 ///
4372 /// Available since API-level: 21
4373 #[cfg(feature = "api-21")]
4374 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4375 pub const NODE_IMAGE_IMAGE_MATRIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4014);
4376 /// Defines the image follow text direction attribute.
4377 /// This attribute can be set, reset, and obtained as required through APIs.
4378 ///
4379 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4380 ///
4381 /// .value[0].i32: whether to follows the text direction.
4382 ///
4383 ///
4384 ///
4385 /// Format of the return value [`ArkUI_AttributeItem`]:
4386 ///
4387 /// .value[0].i32: whether to follows the text direction.
4388 ///
4389 ///
4390 ///
4391 /// Available since API-level: 21
4392 #[cfg(feature = "api-21")]
4393 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4394 pub const NODE_IMAGE_MATCH_TEXT_DIRECTION: ArkUI_NodeAttributeType =
4395 ArkUI_NodeAttributeType(4015);
4396 /// Defines the image copy attribute.
4397 /// This attribute can be set, reset, and obtained as required through APIs.
4398 ///
4399 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4400 ///
4401 /// .value[0].i32: copy option [`ArkUI_CopyOptions`]. The default value is <b>ARKUI_COPY_OPTIONS_NONE</b>.
4402 ///
4403 ///
4404 ///
4405 /// Format of the return value [`ArkUI_AttributeItem`]:
4406 ///
4407 /// .value[0].i32: copy option [`ArkUI_CopyOptions.`]
4408 #[cfg(feature = "api-21")]
4409 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4410 pub const NODE_IMAGE_COPY_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4016);
4411 /// Defines the image AI analysis enable attribute.
4412 /// This attribute can be set, reset, and obtained as required through APIs.
4413 ///
4414 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4415 ///
4416 /// .value[0].i32: whether to enable AI analysis for the image.
4417 ///
4418 ///
4419 ///
4420 /// Format of the return value [`ArkUI_AttributeItem`]:
4421 ///
4422 /// .value[0].i32: whether to enable AI analysis for the image.
4423 ///
4424 ///
4425 ///
4426 /// Available since API-level: 21
4427 #[cfg(feature = "api-21")]
4428 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4429 pub const NODE_IMAGE_ENABLE_ANALYZER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4017);
4430 /// Defines the image dynamic display range attribute.
4431 /// This attribute can be set, reset, and obtained as required through APIs.
4432 ///
4433 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4434 ///
4435 /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode`].
4436 /// The default value is <b>ARKUI_DYNAMIC_RANGE_MODE_STANDARD</b>.
4437 ///
4438 ///
4439 ///
4440 /// Format of the return value [`ArkUI_AttributeItem`]:
4441 ///
4442 /// .value[0].i32: dynamic range mode [`ArkUI_DynamicRangeMode.`]
4443 #[cfg(feature = "api-21")]
4444 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4445 pub const NODE_IMAGE_DYNAMIC_RANGE_MODE: ArkUI_NodeAttributeType =
4446 ArkUI_NodeAttributeType(4018);
4447 /// Defines the image dynamic display brightness attribute.
4448 /// This attribute can be set, reset, and obtained as required through APIs.
4449 ///
4450 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4451 ///
4452 /// .value[0].f32: hdr brightness. value range [0, 1]
4453 ///
4454 ///
4455 ///
4456 /// Format of the return value [`ArkUI_AttributeItem`]:
4457 ///
4458 /// .value[0].f32: hdr brightness. value range [0, 1]
4459 ///
4460 ///
4461 ///
4462 /// Available since API-level: 21
4463 #[cfg(feature = "api-21")]
4464 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4465 pub const NODE_IMAGE_HDR_BRIGHTNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4019);
4466 /// Defines the image display direction attribute.
4467 /// This attribute can be set, reset, and obtained as required through APIs.
4468 ///
4469 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4470 ///
4471 /// .value[0].i32: orientation [`ArkUI_Orientation`].
4472 /// The default value is <b>ARKUI_ORIENTATION_UP</b>.
4473 ///
4474 ///
4475 ///
4476 /// Format of the return value [`ArkUI_AttributeItem`]:
4477 ///
4478 /// .value[0].i32: orientation [`ArkUI_Orientation.`]
4479 #[cfg(feature = "api-21")]
4480 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4481 pub const NODE_IMAGE_ORIENTATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4020);
4482 /// Set the range of SVG parsing capabilities supported through enable switch.
4483 /// This attribute can be set, reset, and obtained as required through APIs.
4484 ///
4485 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4486 ///
4487 /// .value[0].i32: enable switch.
4488 ///
4489 ///
4490 ///
4491 /// Format of the return value [`ArkUI_AttributeItem`]:
4492 ///
4493 /// .value[0].i32: enable switch.
4494 ///
4495 ///
4496 ///
4497 /// Available since API-level: 21
4498 #[cfg(feature = "api-21")]
4499 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4500 pub const NODE_IMAGE_SUPPORT_SVG2: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4021);
4501 /// Set the animation effect for the image content transformation.
4502 /// This attribute can be set, reset, and obtained as required through APIs.
4503 ///
4504 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4505 ///
4506 /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
4507 ///
4508 ///
4509 /// Format of the return value [`ArkUI_AttributeItem`]:
4510 ///
4511 /// .object: The parameter type is [`ArkUI_ContentTransitionEffect`].
4512 ///
4513 ///
4514 ///
4515 /// Available since API-level: 21
4516 #[cfg(feature = "api-21")]
4517 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
4518 pub const NODE_IMAGE_CONTENT_TRANSITION: ArkUI_NodeAttributeType =
4519 ArkUI_NodeAttributeType(4022);
4520 /// Defines the placeholder image during loading process.
4521 /// This attribute can be set, reset, and obtained as required through APIs.
4522 ///
4523 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4524 ///
4525 /// .string: placeholder image source.
4526 ///
4527 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4528 ///
4529 ///
4530 ///
4531 /// Format of the return value [`ArkUI_AttributeItem`]:
4532 ///
4533 /// .string: placeholder image source.
4534 ///
4535 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4536 ///
4537 ///
4538 ///
4539 /// Available since API-level: 22
4540 #[cfg(feature = "api-22")]
4541 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4542 pub const NODE_IMAGE_ALT_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4023);
4543 /// Defines the placeholder image when loading fails.
4544 /// This attribute can be set, reset, and obtained as required through APIs.
4545 ///
4546 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4547 ///
4548 /// .string: placeholder image source.
4549 ///
4550 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`]. Either .string or .object must be set.
4551 ///
4552 ///
4553 ///
4554 /// Format of the return value [`ArkUI_AttributeItem`]:
4555 ///
4556 /// .string: placeholder image source.
4557 ///
4558 /// .object: The parameter type is [`ArkUI_DrawableDescriptor`].
4559 ///
4560 ///
4561 ///
4562 /// Available since API-level: 22
4563 #[cfg(feature = "api-22")]
4564 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
4565 pub const NODE_IMAGE_ALT_ERROR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4024);
4566 /// Configure image edge anti-aliasing via an enable switch.
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].i32: enable switch,the default value is false.
4572 ///
4573 ///
4574 ///
4575 /// Format of the return value [`ArkUI_AttributeItem`]:
4576 ///
4577 /// .value[0].i32: enable switch.
4578 ///
4579 ///
4580 ///
4581 /// Available since API-level: 23
4582 #[cfg(feature = "api-23")]
4583 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
4584 pub const NODE_IMAGE_ANTIALIASED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(4025);
4585 /// Defines the color of the component when it is selected.
4586 /// This attribute can be set, reset, and obtained as required through APIs.
4587 ///
4588 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4589 ///
4590 /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4591 ///
4592 ///
4593 ///
4594 /// Format of the return value [`ArkUI_AttributeItem`]:
4595 ///
4596 /// .value[0].u32: background color, in 0xARGB format.
4597 pub const NODE_TOGGLE_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5000);
4598 /// Defines the color of the circular slider for the component of the switch type.
4599 /// This attribute can be set, reset, and obtained as required through APIs.
4600 ///
4601 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4602 ///
4603 /// .value[0].u32: color of the circular slider, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4604 ///
4605 ///
4606 ///
4607 /// Format of the return value [`ArkUI_AttributeItem`]:
4608 ///
4609 /// .value[0].u32: color of the circular slider, in 0xARGB format.
4610 pub const NODE_TOGGLE_SWITCH_POINT_COLOR: ArkUI_NodeAttributeType =
4611 ArkUI_NodeAttributeType(5001);
4612 /// Defines the toggle switch value. This attribute can be set, reset, and obtained as required through APIs.
4613 ///
4614 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4615 ///
4616 /// .value[0].i32: whether to enable the toggle. The value <b>true</b> means to enable the toggle.
4617 ///
4618 ///
4619 ///
4620 /// Format of the return value [`ArkUI_AttributeItem`]:
4621 ///
4622 /// .value[0].i32: whether to enable the toggle.
4623 pub const NODE_TOGGLE_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5002);
4624 /// Defines the color of the component when it is deselected.
4625 /// This attribute can be set, reset, and obtained as required through APIs.
4626 ///
4627 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4628 ///
4629 /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4630 ///
4631 ///
4632 ///
4633 /// Format of the return value [`ArkUI_AttributeItem`]:
4634 ///
4635 /// .value[0].u32: background color, in 0xARGB format.
4636 pub const NODE_TOGGLE_UNSELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(5003);
4637 /// Defines the foreground color of the loading progress bar.
4638 /// This attribute can be set, reset, and obtained as required through APIs.
4639 ///
4640 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4641 ///
4642 /// .value[0].u32: foreground color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4643 ///
4644 ///
4645 ///
4646 /// Format of the return value [`ArkUI_AttributeItem`]:
4647 ///
4648 /// .value[0].u32: foreground color, in 0xARGB format.
4649 pub const NODE_LOADING_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(6000);
4650 /// Defines whether to show the loading animation for the <LoadingProgress> component.
4651 /// This attribute can be set, reset, and obtained as required through APIs.
4652 ///
4653 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4654 ///
4655 /// .value[0].i32: whether to show the loading animation.
4656 /// The value <b>true</b> means to show the loading animation, and <b>false</b> means the opposite.
4657 ///
4658 ///
4659 ///
4660 /// Format of the return value [`ArkUI_AttributeItem`]:
4661 ///
4662 /// .value[0].i32: The value <b>1</b> means to show the loading animation, and <b>0</b> means the opposite.
4663 pub const NODE_LOADING_PROGRESS_ENABLE_LOADING: ArkUI_NodeAttributeType =
4664 ArkUI_NodeAttributeType(6001);
4665 /// Defines the default placeholder text of the single-line text box.
4666 /// This attribute can be set, reset, and obtained as required through APIs.
4667 ///
4668 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4669 ///
4670 /// .string: default placeholder text.
4671 ///
4672 ///
4673 ///
4674 /// Format of the return value [`ArkUI_AttributeItem`]:
4675 ///
4676 /// .string: default placeholder text.
4677 pub const NODE_TEXT_INPUT_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7000);
4678 /// Defines the default text content of the single-line text box.
4679 /// This attribute can be set, reset, and obtained as required through APIs.
4680 ///
4681 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4682 ///
4683 /// .string: default text content.
4684 ///
4685 ///
4686 ///
4687 /// Format of the return value [`ArkUI_AttributeItem`]:
4688 ///
4689 /// .string: default text content.
4690 pub const NODE_TEXT_INPUT_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7001);
4691 /// Defines the caret color attribute.
4692 /// This attribute can be set, reset, and obtained as required through APIs.
4693 ///
4694 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4695 ///
4696 /// .value[0].u32: caret color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4697 ///
4698 ///
4699 ///
4700 /// Format of the return value [`ArkUI_AttributeItem`]:
4701 ///
4702 /// .value[0].u32: caret color, in 0xARGB format.
4703 pub const NODE_TEXT_INPUT_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7002);
4704 /// Defines the caret style attribute.
4705 /// This attribute can be set, reset, and obtained as required through APIs.
4706 ///
4707 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4708 ///
4709 /// .value[0].f32: caret width, in vp.
4710 ///
4711 ///
4712 ///
4713 /// Format of the return value [`ArkUI_AttributeItem`]:
4714 ///
4715 /// .value[0].f32: caret width, in vp.
4716 pub const NODE_TEXT_INPUT_CARET_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7003);
4717 /// Defines the underline attribute of the single-line text box.
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].i32: whether to show an underline.
4723 /// The value <b>true</b> means to show an underline, and <b>false</b> means the opposite.
4724 ///
4725 ///
4726 ///
4727 /// Format of the return value [`ArkUI_AttributeItem`]:
4728 ///
4729 /// .value[0].i32: The value <b>1</b> means to show an underline, and <b>0</b> means the opposite.
4730 pub const NODE_TEXT_INPUT_SHOW_UNDERLINE: ArkUI_NodeAttributeType =
4731 ArkUI_NodeAttributeType(7004);
4732 /// Defines the maximum number of characters in the text input.
4733 /// This attribute can be set, reset, and obtained as required through APIs.
4734 ///
4735 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4736 ///
4737 /// .value[0].i32: maximum number of characters in the text input, without a unit.
4738 ///
4739 ///
4740 ///
4741 /// Format of the return value [`ArkUI_AttributeItem`]:
4742 ///
4743 /// .value[0].i32: maximum number of characters in the text input.
4744 pub const NODE_TEXT_INPUT_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7005);
4745 /// Defines the type of the Enter key.
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: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
4751 ///
4752 ///
4753 ///
4754 /// Format of the return value [`ArkUI_AttributeItem`]:
4755 ///
4756 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
4757 pub const NODE_TEXT_INPUT_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
4758 ArkUI_NodeAttributeType(7006);
4759 /// Defines the placeholder text color.
4760 /// This attribute can be set, reset, and obtained as required through APIs.
4761 ///
4762 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4763 ///
4764 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4765 ///
4766 ///
4767 ///
4768 /// Format of the return value [`ArkUI_AttributeItem`]:
4769 ///
4770 /// .value[0].u32: color value, in 0xARGB format.
4771 pub const NODE_TEXT_INPUT_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
4772 ArkUI_NodeAttributeType(7007);
4773 /// Defines the placeholder text font.
4774 /// This attribute can be set, reset, and obtained as required through APIs.
4775 ///
4776 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4777 ///
4778 /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
4779 ///
4780 /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional.
4781 /// The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
4782 ///
4783 /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional.
4784 /// The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
4785 ///
4786 /// ?.string: font family. Multiple font families are separated by commas (,).
4787 /// Example: "font weight; font family 1, font family 2".
4788 ///
4789 ///
4790 ///
4791 /// Format of the return value [`ArkUI_AttributeItem`]:
4792 ///
4793 /// .value[0].f32: font size, in fp.
4794 ///
4795 /// .value[1].i32: font style [`ArkUI_FontStyle`].
4796 ///
4797 /// .value[2].i32: font weight [`ArkUI_FontWeight`].
4798 ///
4799 /// .string: font family. Multiple font families are separated by commas (,).
4800 pub const NODE_TEXT_INPUT_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
4801 ArkUI_NodeAttributeType(7008);
4802 /// Defines whether to enable the input method when the component obtains focus.
4803 /// This attribute can be set, reset, and obtained as required through APIs.
4804 ///
4805 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4806 ///
4807 /// .value[0].i32: whether to enable the input method when the component obtains focus.
4808 /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
4809 ///
4810 ///
4811 ///
4812 ///
4813 /// Format of the return value [`ArkUI_AttributeItem`]:
4814 ///
4815 /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
4816 /// and <b>0</b> means the opposite.
4817 pub const NODE_TEXT_INPUT_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
4818 ArkUI_NodeAttributeType(7009);
4819 /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
4820 ///
4821 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4822 ///
4823 /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4824 /// The default value is <b>ARKUI_TEXTINPUT_TYPE_NORMAL</b>.
4825 ///
4826 ///
4827 ///
4828 /// Format of the return value [`ArkUI_AttributeItem`]:
4829 ///
4830 /// .value[0].i32: text box type [`ArkUI_TextInputType`].
4831 pub const NODE_TEXT_INPUT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7010);
4832 /// Defines the background color of the selected text.
4833 /// This attribute can be set, reset, and obtained as required through APIs.
4834 ///
4835 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4836 ///
4837 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4838 ///
4839 ///
4840 ///
4841 /// Format of the return value [`ArkUI_AttributeItem`]:
4842 ///
4843 /// .value[0].u32: color value, in 0xARGB format.
4844 pub const NODE_TEXT_INPUT_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
4845 ArkUI_NodeAttributeType(7011);
4846 /// Defines whether to display the password icon at the end of the password text box.
4847 /// This attribute can be set, reset, and obtained as required through APIs.
4848 ///
4849 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4850 ///
4851 /// .value[0].i32: whether to display the password icon at the end of the password text box.
4852 /// The value <b>true</b> means to display the password icon, and <b>false</b> means the opposite.
4853 ///
4854 ///
4855 ///
4856 /// Format of the return value [`ArkUI_AttributeItem`]:
4857 ///
4858 /// .value[0].i32: The value <b>1</b> means to display the password icon at the end of the password text box,
4859 /// and <b>0</b> means the opposite.
4860 pub const NODE_TEXT_INPUT_SHOW_PASSWORD_ICON: ArkUI_NodeAttributeType =
4861 ArkUI_NodeAttributeType(7012);
4862 /// Defines the editable state for the single-line text box.
4863 /// This attribute can be set as required through APIs.
4864 ///
4865 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4866 ///
4867 /// .value[0].i32: whether to remain in the editable state. The value
4868 /// <b>true</b> means to remain in the editable state, and <b>false</b> means to exit the editable state.
4869 ///
4870 ///
4871 ///
4872 /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
4873 /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
4874 /// state, and <b>false</b> means to exit the editable state.
4875 pub const NODE_TEXT_INPUT_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7013);
4876 /// Defines the style of the cancel button on the right of the single-line text box.
4877 /// This attribute can be set, reset, and obtained as required through APIs.
4878 ///
4879 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4880 ///
4881 /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4882 /// The default value is <b>ARKUI_CANCELBUTTON_STYLE_INPUT</b>.
4883 ///
4884 /// .value[1]?.f32: button icon size, in vp.
4885 ///
4886 /// .value[2]?.u32: button icon color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
4887 ///
4888 /// ?.string: button icon image source. The value is the local address of the image, for example, /pages/icon.png.
4889 ///
4890 ///
4891 ///
4892 /// Format of the return value [`ArkUI_AttributeItem`]:
4893 ///
4894 /// .value[0].i32: button style [`ArkUI_CancelButtonStyle`].
4895 ///
4896 /// .value[1].f32: icon size, in vp.
4897 ///
4898 /// .value[2].u32: button icon color, in 0xARGB format.
4899 ///
4900 /// .string: button icon image source.
4901 pub const NODE_TEXT_INPUT_CANCEL_BUTTON: ArkUI_NodeAttributeType =
4902 ArkUI_NodeAttributeType(7014);
4903 /// Sets the text selection area, which will be highlighted.
4904 /// This attribute can be set, reset, and obtained as required through APIs.
4905 ///
4906 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4907 ///
4908 /// .value[0].i32: start position of the text selection.
4909 ///
4910 /// .value[1].i32: end position of the text selection.
4911 ///
4912 ///
4913 ///
4914 /// Format of the return value [`ArkUI_AttributeItem`]:
4915 ///
4916 /// .value[0].i32: start position of the text selection.
4917 ///
4918 /// .value[1].i32: end position of the text selection.
4919 pub const NODE_TEXT_INPUT_TEXT_SELECTION: ArkUI_NodeAttributeType =
4920 ArkUI_NodeAttributeType(7015);
4921 /// Sets the color of the text underline when it is enabled.
4922 ///
4923 /// The default underline color configured for the theme is <b>'0x33182431'</b>.
4924 ///
4925 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4926 ///
4927 /// .value[0].u32: color of the underline applied to the text being typed in.
4928 /// The value is in 0xARGB format.
4929 ///
4930 /// .value[1].u32: color of the underline applied to the text in the normal state.
4931 /// The value is in 0xARGB format.
4932 ///
4933 /// .value[2].u32: color of the underline applied to the text when an error is detected.
4934 /// The value is in 0xARGB format.
4935 ///
4936 /// .value[3].u32: color of the underline applied to the text when it is disabled.
4937 /// The value is in 0xARGB format.
4938 ///
4939 ///
4940 ///
4941 /// Format of the return value [`ArkUI_AttributeItem`]:
4942 ///
4943 /// .value[0].u32: color of the underline applied to the text being typed in. The value is in 0xARGB format.
4944 ///
4945 /// .value[1].u32: color of the underline applied to the text in the normal state. The value is in 0xARGB format.
4946 ///
4947 /// .value[2].u32: color of the underline applied to the text when an error is detected.
4948 /// The value is in 0xARGB format.
4949 ///
4950 /// .value[3].u32: color of the underline applied to the text when it is disabled. The value is in 0xARGB format.
4951 pub const NODE_TEXT_INPUT_UNDERLINE_COLOR: ArkUI_NodeAttributeType =
4952 ArkUI_NodeAttributeType(7016);
4953 /// Sets whether to enable autofill.
4954 ///
4955 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4956 ///
4957 /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
4958 ///
4959 ///
4960 ///
4961 /// Format of the return value [`ArkUI_AttributeItem`]:
4962 ///
4963 /// .value[0].i32: whether to enable autofill.
4964 pub const NODE_TEXT_INPUT_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
4965 ArkUI_NodeAttributeType(7017);
4966 /// Sets the autofill type.
4967 ///
4968 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4969 ///
4970 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4971 ///
4972 ///
4973 ///
4974 /// Format of the return value [`ArkUI_AttributeItem`]:
4975 ///
4976 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
4977 pub const NODE_TEXT_INPUT_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7018);
4978 /// Defines the rules for generating passwords. When autofill is used, these rules are transparently
4979 /// transmitted to Password Vault for generating a new password.
4980 ///
4981 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4982 ///
4983 /// .string: rules for generating passwords.
4984 ///
4985 ///
4986 ///
4987 /// Format of the return value [`ArkUI_AttributeItem`]:
4988 ///
4989 /// .string: rules for generating passwords.
4990 pub const NODE_TEXT_INPUT_PASSWORD_RULES: ArkUI_NodeAttributeType =
4991 ArkUI_NodeAttributeType(7019);
4992 /// Sets whether to select all text in the initial state. The inline mode is not supported.
4993 ///
4994 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
4995 ///
4996 /// .value[0].i32: whether to select all text in the initial state. The default value is b>false</b>.
4997 ///
4998 ///
4999 ///
5000 /// Format of the return value [`ArkUI_AttributeItem`]:
5001 ///
5002 /// .value[0].i32: whether to select all text in the initial state.
5003 pub const NODE_TEXT_INPUT_SELECT_ALL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7020);
5004 /// Sets the regular expression for input filtering.
5005 /// Only inputs that comply with the regular expression can be displayed.
5006 /// Other inputs are filtered out. The specified regular expression can match single characters,
5007 /// but not strings.
5008 ///
5009 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5010 ///
5011 /// .string: regular expression.
5012 ///
5013 ///
5014 ///
5015 /// Format of the return value [`ArkUI_AttributeItem`]:
5016 ///
5017 /// .string: regular expression.
5018 pub const NODE_TEXT_INPUT_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7021);
5019 /// Sets the text box to the default style or inline input style.
5020 ///
5021 /// For the inline input style, only <b>InputType.Normal</b> is supported.
5022 ///
5023 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5024 ///
5025 /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
5026 ///
5027 ///
5028 ///
5029 /// Format of the return value [`ArkUI_AttributeItem`]:
5030 ///
5031 /// .value[0].i32: text input style. The parameter type is [`ArkUI_TextInputStyle`].
5032 pub const NODE_TEXT_INPUT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7022);
5033 /// Sets or obtains the caret position.
5034 ///
5035 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5036 ///
5037 /// In the case of setting the caret position:
5038 /// .value[0].i32: character count from the beginning of a string to the caret position.
5039 ///
5040 ///
5041 /// Format of the return value [`ArkUI_AttributeItem`]:
5042 ///
5043 /// In the case of obtaining the caret position: If this API is called when the caret position is updated in the
5044 /// current frame, it will not take effect.
5045 /// .value[0].i32: index of the caret position.
5046 ///
5047 /// .value[1].f32: X coordinate of the caret relative to the text box.
5048 ///
5049 /// .value[2].f32: Y coordinate of the caret relative to the text box.
5050 pub const NODE_TEXT_INPUT_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7023);
5051 /// Obtains the position of the edited text area relative to the component and its size.
5052 ///
5053 /// Format of the return value [`ArkUI_AttributeItem`]:
5054 ///
5055 /// .value[0].f32: horizontal coordinate.
5056 ///
5057 /// .value[1].f32: vertical coordinate.
5058 ///
5059 /// .value[2].f32: content width.
5060 ///
5061 /// .value[3].f32: content height.
5062 pub const NODE_TEXT_INPUT_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7024);
5063 /// Obtains the number of lines of the edited text.
5064 ///
5065 /// Format of the return value [`ArkUI_AttributeItem`]:
5066 ///
5067 /// .value[0].i32: number of lines of the edited text.
5068 pub const NODE_TEXT_INPUT_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
5069 ArkUI_NodeAttributeType(7025);
5070 /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click, or
5071 /// right-clicked. This attribute can be set, reset, and obtained as required through APIs.
5072 ///
5073 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5074 ///
5075 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
5076 /// right-clicked. The default value is <b>false</b>.
5077 ///
5078 ///
5079 ///
5080 /// Format of the return value [`ArkUI_AttributeItem`]:
5081 ///
5082 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click, or
5083 /// right-clicked.
5084 pub const NODE_TEXT_INPUT_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
5085 ArkUI_NodeAttributeType(7026);
5086 /// Sets whether the text box loses focus after the Enter key is pressed to submit information.
5087 ///
5088 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5089 ///
5090 /// .value[0].i32: whether the text box loses focus.
5091 ///
5092 ///
5093 ///
5094 /// Format of the return value [`ArkUI_AttributeItem`]:
5095 ///
5096 /// .value[0].i32: whether the text box loses focus.
5097 pub const NODE_TEXT_INPUT_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
5098 ArkUI_NodeAttributeType(7027);
5099 /// Set up a custom keyboard.
5100 ///
5101 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5102 ///
5103 /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
5104 ///
5105 /// .value[0]?.i32:Sets whether the custom keyboard supports the avoidance feature, default value false.
5106 ///
5107 ///
5108 ///
5109 /// Format of the return value [`ArkUI_AttributeItem`]:
5110 ///
5111 /// .object:custom keyboard,The parameter type is[`ArkUI_NodeHandle`]。
5112 ///
5113 /// .value[0].i32:Set whether the custom keyboard supports the avoidance function.
5114 pub const NODE_TEXT_INPUT_CUSTOM_KEYBOARD: ArkUI_NodeAttributeType =
5115 ArkUI_NodeAttributeType(7028);
5116 /// Defines the line break rule. 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].i32: The parameter type is [`ArkUI_WordBreak`].
5121 ///
5122 ///
5123 ///
5124 /// Format of the return value [`ArkUI_AttributeItem`]:
5125 ///
5126 /// .value[0].i32: The parameter type is [`ArkUI_WordBreak`].
5127 pub const NODE_TEXT_INPUT_WORD_BREAK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7029);
5128 /// Sets whether the keyboard pops up when the input box gains focus.
5129 /// It supports property setting, property reset and property acquisition interfaces.
5130 ///
5131 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
5132 ///
5133 /// .value[0].i32: Whether to pop up the keyboard.
5134 ///
5135 ///
5136 ///
5137 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
5138 ///
5139 /// .value[0].i32: Whether to pop up the keyboard.
5140 pub const NODE_TEXT_INPUT_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
5141 ArkUI_NodeAttributeType(7030);
5142 /// When this property is set, the height of the textInput component is calculated using this property.
5143 ///
5144 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5145 ///
5146 /// .value[0].i32: set the value of numberOfLines.
5147 ///
5148 ///
5149 ///
5150 /// Format of the return value [`ArkUI_AttributeItem`]:
5151 ///
5152 /// .value[0].i32: the value of numberOfLines.
5153 pub const NODE_TEXT_INPUT_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
5154 ArkUI_NodeAttributeType(7031);
5155 /// Sets the letter spacing of the <b>TextInput</b> component.
5156 /// This attribute can be set, reset, and obtained as required through APIs.
5157 ///
5158 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5159 ///
5160 /// .value[0].f32: letter spacing. The default unit is fp.
5161 ///
5162 ///
5163 ///
5164 /// Format of the return value [`ArkUI_AttributeItem`]:
5165 ///
5166 /// .value[0].f32: letter spacing. The default unit is fp.
5167 ///
5168 ///
5169 ///
5170 /// Available since API-level: 15
5171 #[cfg(feature = "api-15")]
5172 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5173 pub const NODE_TEXT_INPUT_LETTER_SPACING: ArkUI_NodeAttributeType =
5174 ArkUI_NodeAttributeType(7032);
5175 /// Sets whether to enable preview text for the <b>TextInput</b> component.
5176 /// This attribute can be set, reset, and obtained as required through APIs.
5177 ///
5178 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5179 ///
5180 /// .value[0].i32: whether to enable preview tex.
5181 ///
5182 ///
5183 ///
5184 /// Format of the return value [`ArkUI_AttributeItem`]:
5185 ///
5186 /// .value[0].i32: whether to enable preview tex.
5187 ///
5188 ///
5189 ///
5190 /// Available since API-level: 15
5191 #[cfg(feature = "api-15")]
5192 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5193 pub const NODE_TEXT_INPUT_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
5194 ArkUI_NodeAttributeType(7033);
5195 /// Sets whether to center text vertically in the textInput component.
5196 ///
5197 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5198 ///
5199 /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
5200 ///
5201 ///
5202 ///
5203 /// Format of the return value [`ArkUI_AttributeItem`]:
5204 ///
5205 /// .value[0].i32: whether to center text vertically.
5206 ///
5207 ///
5208 ///
5209 /// Available since API-level: 18
5210 #[cfg(feature = "api-18")]
5211 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5212 pub const NODE_TEXT_INPUT_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7034);
5213 /// Set the keyboard style of textInput
5214 ///
5215 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5216 ///
5217 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5218 ///
5219 ///
5220 ///
5221 /// Format of the return value [`ArkUI_AttributeItem`]:
5222 ///
5223 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5224 ///
5225 ///
5226 ///
5227 /// Available since API-level: 15
5228 #[cfg(feature = "api-15")]
5229 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5230 pub const NODE_TEXT_INPUT_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
5231 ArkUI_NodeAttributeType(7035);
5232 /// Set whether to enable the auto fill animation or not.
5233 ///
5234 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5235 ///
5236 /// .value[0].i32: Whether to enable the auto fill animation.
5237 ///
5238 ///
5239 ///
5240 /// Format of the return value [`ArkUI_AttributeItem`]:
5241 ///
5242 /// .value[0].i32: Get the flag of whether the auto fill animation is enabled.
5243 ///
5244 ///
5245 ///
5246 /// Available since API-level: 20
5247 #[cfg(feature = "api-20")]
5248 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5249 pub const NODE_TEXT_INPUT_ENABLE_FILL_ANIMATION: ArkUI_NodeAttributeType =
5250 ArkUI_NodeAttributeType(7036);
5251 /// Set the line height of the input node.
5252 /// This attribute can be set, reset, and obtained as required through APIs.
5253 ///
5254 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5255 ///
5256 /// .value[0].i32: line height value.
5257 ///
5258 ///
5259 /// Format of the return value [`ArkUI_AttributeItem`]:
5260 ///
5261 /// .value[0].i32: line height value
5262 ///
5263 ///
5264 /// Available since API-level: 20
5265 #[cfg(feature = "api-20")]
5266 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5267 pub const NODE_TEXT_INPUT_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7037);
5268 /// Enables selected data detector.
5269 ///
5270 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5271 ///
5272 /// .value[0].i32: Enable selected text recognition, default value true.
5273 ///
5274 ///
5275 ///
5276 /// Format of the return value [`ArkUI_AttributeItem`]:
5277 ///
5278 /// .value[0].i32: Whether selected text recognition is enabled.
5279 ///
5280 ///
5281 ///
5282 /// Available since API-level: 22
5283 #[cfg(feature = "api-22")]
5284 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5285 pub const NODE_TEXT_INPUT_ENABLE_SELECTED_DATA_DETECTOR: ArkUI_NodeAttributeType =
5286 ArkUI_NodeAttributeType(7038);
5287 /// Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
5288 ///
5289 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5290 ///
5291 /// .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter.
5292 ///
5293 /// .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
5294 /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5295 /// by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down.
5296 ///
5297 /// .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum.
5298 ///
5299 /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5300 ///
5301 ///
5302 ///
5303 /// Format of the return value [`ArkUI_AttributeItem`]:
5304 ///
5305 /// .value[0].i32: whether to show a character counter.
5306 ///
5307 /// .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
5308 /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5309 /// by the threshold percentage value. The value range is 1 to 100.
5310 ///
5311 /// .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
5312 /// The default value is <b>true</b>.
5313 ///
5314 /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5315 ///
5316 ///
5317 ///
5318 /// Available since API-level: 22
5319 #[cfg(feature = "api-22")]
5320 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5321 pub const NODE_TEXT_INPUT_SHOW_COUNTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7040);
5322 /// Used to set or get the text content base controller.
5323 ///
5324 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5325 ///
5326 /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
5327 ///
5328 ///
5329 ///
5330 /// Format of the return value [`ArkUI_AttributeItem`]:
5331 ///
5332 /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
5333 ///
5334 ///
5335 ///
5336 /// Available since API-level: 23
5337 #[cfg(feature = "api-23")]
5338 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5339 pub const NODE_TEXT_INPUT_TEXT_CONTENT_CONTROLLER_BASE: ArkUI_NodeAttributeType =
5340 ArkUI_NodeAttributeType(7041);
5341 /// Whether to compress punctuation at the beginning of line.
5342 ///
5343 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5344 ///
5345 /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
5346 /// The default value is false.
5347 ///
5348 ///
5349 ///
5350 /// Format of the return value [`ArkUI_AttributeItem`]:
5351 ///
5352 /// .value[0].i32: Whether compress punctuation at the beginning of line.
5353 ///
5354 ///
5355 ///
5356 /// Available since API-level: 23
5357 #[cfg(feature = "api-23")]
5358 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5359 pub const NODE_TEXT_INPUT_COMPRESS_LEADING_PUNCTUATION: ArkUI_NodeAttributeType =
5360 ArkUI_NodeAttributeType(7044);
5361 /// Determines whether the layout adds extra padding at the top and bottom to make space for characters.
5362 ///
5363 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5364 ///
5365 /// .value[0].i32: Enable include the font padding, true means enable this feature, false means disable.
5366 /// The default value is false.
5367 ///
5368 ///
5369 ///
5370 /// Format of the return value [`ArkUI_AttributeItem`]:
5371 ///
5372 /// .value[0].i32: Whether include the font padding.
5373 ///
5374 ///
5375 ///
5376 /// Available since API-level: 23
5377 #[cfg(feature = "api-23")]
5378 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5379 pub const NODE_TEXT_INPUT_INCLUDE_FONT_PADDING: ArkUI_NodeAttributeType =
5380 ArkUI_NodeAttributeType(7045);
5381 /// Whether to include ascent/descent from fallback fonts to prevent overlapping lines.
5382 ///
5383 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5384 ///
5385 /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
5386 /// The default value is false.
5387 ///
5388 ///
5389 ///
5390 /// Format of the return value [`ArkUI_AttributeItem`]:
5391 ///
5392 /// .value[0].i32: Whether fallback line spacing.
5393 ///
5394 ///
5395 ///
5396 /// Available since API-level: 23
5397 #[cfg(feature = "api-23")]
5398 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5399 pub const NODE_TEXT_INPUT_FALLBACK_LINE_SPACING: ArkUI_NodeAttributeType =
5400 ArkUI_NodeAttributeType(7046);
5401 /// Writing direction of the text.
5402 /// This attribute can be set, reset, and obtained as required through APIs.
5403 ///
5404 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5405 ///
5406 /// .value[0].i32: writing direction of the text. The value is an enum of [`ArkUI_TextDirection`].
5407 ///
5408 ///
5409 ///
5410 /// Format of the return value [`ArkUI_AttributeItem`]:
5411 ///
5412 /// .value[0].i32: writing direction the text. The value is an enum of [`ArkUI_TextDirection`].
5413 ///
5414 ///
5415 ///
5416 /// Available since API-level: 23
5417 #[cfg(feature = "api-23")]
5418 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5419 pub const NODE_TEXT_INPUT_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(7047);
5420 /// Used to set the selected drag preview style.
5421 ///
5422 /// Format of the [`Arkui_AttributeItem`] parameter for setting the attribute:
5423 ///
5424 /// .object: selected drag preview style configuration.
5425 /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
5426 ///
5427 ///
5428 ///
5429 /// Format of the return value [`Arkui_AttributeItem`]:
5430 ///
5431 /// .object: selected drag preview style configuration.
5432 ///
5433 /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
5434 ///
5435 ///
5436 ///
5437 /// Available since API-level: 23
5438 #[cfg(feature = "api-23")]
5439 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
5440 pub const NODE_TEXT_INPUT_SELECTED_DRAG_PREVIEW_STYLE: ArkUI_NodeAttributeType =
5441 ArkUI_NodeAttributeType(7048);
5442 /// Defines the default placeholder text for the multi-line text box.
5443 /// This attribute can be set, reset, and obtained as required through APIs.
5444 ///
5445 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5446 ///
5447 /// .string: default placeholder text.
5448 ///
5449 ///
5450 ///
5451 /// Format of the return value [`ArkUI_AttributeItem`]:
5452 ///
5453 /// .string: default placeholder text.
5454 pub const NODE_TEXT_AREA_PLACEHOLDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8000);
5455 /// Defines the default text content for the multi-line text box.
5456 /// This attribute can be set, reset, and obtained as required through APIs.
5457 ///
5458 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5459 ///
5460 /// .string: default text content.
5461 ///
5462 ///
5463 ///
5464 /// Format of the return value [`ArkUI_AttributeItem`]:
5465 ///
5466 /// .string: default text content.
5467 pub const NODE_TEXT_AREA_TEXT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8001);
5468 /// Defines the maximum number of characters in the text input.
5469 /// This attribute can be set, reset, and obtained as required through APIs.
5470 ///
5471 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5472 ///
5473 /// .value[0].i32: maximum number of characters in the text input.
5474 ///
5475 ///
5476 ///
5477 /// Format of the return value [`ArkUI_AttributeItem`]:
5478 ///
5479 /// .value[0].i32: maximum number of characters in the text input.
5480 pub const NODE_TEXT_AREA_MAX_LENGTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8002);
5481 /// Defines the placeholder text color.
5482 /// This attribute can be set, reset, and obtained as required through APIs.
5483 ///
5484 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5485 ///
5486 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5487 ///
5488 ///
5489 ///
5490 /// Format of the return value [`ArkUI_AttributeItem`]:
5491 ///
5492 /// .value[0].u32: color value, in 0xARGB format.
5493 pub const NODE_TEXT_AREA_PLACEHOLDER_COLOR: ArkUI_NodeAttributeType =
5494 ArkUI_NodeAttributeType(8003);
5495 /// Defines the placeholder text font.
5496 /// This attribute can be set, reset, and obtained as required through APIs.
5497 ///
5498 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5499 ///
5500 /// .value[0]?.f32: font size, in fp. Optional. The default value is <b>16.0</b>.
5501 ///
5502 /// .value[1]?.i32: font style [`ArkUI_FontStyle`]. Optional. The default value is <b>ARKUI_FONT_STYLE_NORMAL</b>.
5503 ///
5504 /// .value[2]?.i32: font weight [`ArkUI_FontWeight`]. Optional. The default value is <b>ARKUI_FONT_WEIGHT_NORMAL</b>.
5505 ///
5506 /// ?.string: font family. Multiple font families are separated by commas (,). For example, "font weight; font family 1, font family 2".
5507 ///
5508 ///
5509 ///
5510 /// Format of the return value [`ArkUI_AttributeItem`]:
5511 ///
5512 /// .value[0].f32: font size, in fp.
5513 ///
5514 /// .value[1].i32: font style [`ArkUI_FontStyle`].
5515 ///
5516 /// .value[2].i32: font weight [`ArkUI_FontWeight`].
5517 ///
5518 /// .string: font family. Multiple font families are separated by commas (,).
5519 pub const NODE_TEXT_AREA_PLACEHOLDER_FONT: ArkUI_NodeAttributeType =
5520 ArkUI_NodeAttributeType(8004);
5521 /// Defines the caret color attribute.
5522 /// This attribute can be set, reset, and obtained as required through APIs.
5523 ///
5524 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5525 ///
5526 /// .value[0].u32: background color, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5527 ///
5528 ///
5529 ///
5530 /// Format of the return value [`ArkUI_AttributeItem`]:
5531 ///
5532 /// .value[0].u32: background color, in 0xARGB format.
5533 pub const NODE_TEXT_AREA_CARET_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8005);
5534 /// Defines the editable state for the multi-line text box.
5535 /// This attribute can be set as required through APIs.
5536 ///
5537 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5538 ///
5539 /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the
5540 /// editable state, and <b>false</b> means to exit the editable state.
5541 ///
5542 ///
5543 ///
5544 ///
5545 /// Format of the [`ArkUI_AttributeItem`] parameter for obtaining the attribute:
5546 /// .value[0].i32: whether to remain in the editable state. The value <b>true</b> means to remain in the editable
5547 /// state, and <b>false</b> means to exit the editable state.
5548 pub const NODE_TEXT_AREA_EDITING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8006);
5549 /// Defines the text box type. This attribute can be set, reset, and obtained as required through APIs.
5550 ///
5551 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5552 ///
5553 /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
5554 /// The default value is <b>ARKUI_TEXTAREA_TYPE_NORMAL</b>.
5555 ///
5556 ///
5557 ///
5558 /// Format of the return value [`ArkUI_AttributeItem`]:
5559 ///
5560 /// .value[0].i32: text box type [`ArkUI_TextAreaType`].
5561 pub const NODE_TEXT_AREA_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8007);
5562 /// Defines the counter settings. This attribute can be set, reset, and obtained as required through APIs.
5563 ///
5564 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5565 ///
5566 /// .value[0].i32: whether to show a character counter. The value <b>true</b> means to show a character counter.
5567 ///
5568 /// .value[1]?.f32: threshold percentage for displaying the character counter. The character counter is displayed
5569 /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5570 /// by the threshold percentage value. The value range is 1 to 100. If the value is a decimal, it is rounded down.
5571 ///
5572 /// .value[2]?.i32: whether to highlight the border when the number of entered characters reaches the maximum.
5573 ///
5574 /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5575 ///
5576 ///
5577 ///
5578 /// Format of the return value [`ArkUI_AttributeItem`]:
5579 ///
5580 /// .value[0].i32: whether to show a character counter.
5581 ///
5582 /// .value[1].f32: threshold percentage for displaying the character counter. The character counter is displayed
5583 /// when the number of characters that have been entered is greater than the maximum number of characters multiplied
5584 /// by the threshold percentage value. The value range is 1 to 100.
5585 ///
5586 /// .value[2].i32: whether to highlight the border when the number of entered characters reaches the maximum.
5587 /// The default value is <b>true</b>.
5588 ///
5589 /// .object: counter configuration. The parameter type is [`ArkUI_ShowCounterConfig`].
5590 pub const NODE_TEXT_AREA_SHOW_COUNTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8008);
5591 /// Sets whether to hide the text selection menu when the text box is long-pressed, double-click,
5592 /// or right-clicked. This attribute can be set, reset, and obtained as required through APIs.
5593 ///
5594 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5595 ///
5596 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
5597 /// or right-clicked. The default value is <b>false</b>.
5598 ///
5599 ///
5600 ///
5601 /// Format of the return value [`ArkUI_AttributeItem`]:
5602 ///
5603 /// .value[0].i32: whether to hide the text selection menu when the text box is long-pressed, double-click,
5604 /// or right-clicked.
5605 pub const NODE_TEXT_AREA_SELECTION_MENU_HIDDEN: ArkUI_NodeAttributeType =
5606 ArkUI_NodeAttributeType(8009);
5607 /// Sets whether the multi-line text box loses focus after the Enter key is pressed to submit information.
5608 ///
5609 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5610 ///
5611 /// .value[0].i32: whether the text box loses focus.
5612 ///
5613 ///
5614 ///
5615 /// Format of the return value [`ArkUI_AttributeItem`]:
5616 ///
5617 /// .value[0].i32: whether the text box loses focus.
5618 pub const NODE_TEXT_AREA_BLUR_ON_SUBMIT: ArkUI_NodeAttributeType =
5619 ArkUI_NodeAttributeType(8010);
5620 /// Sets the regular expression for input filtering.
5621 /// Only inputs that comply with the regular expression can be displayed.
5622 /// Other inputs are filtered out. The specified regular expression can match single characters,
5623 /// but not strings.
5624 ///
5625 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5626 ///
5627 /// .string: regular expression.
5628 ///
5629 ///
5630 ///
5631 /// Format of the return value [`ArkUI_AttributeItem`]:
5632 ///
5633 /// .string: regular expression.
5634 pub const NODE_TEXT_AREA_INPUT_FILTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8011);
5635 /// Defines the background color of the selected text.
5636 /// This attribute can be set, reset, and obtained as required through APIs.
5637 ///
5638 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5639 ///
5640 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
5641 ///
5642 ///
5643 ///
5644 /// Format of the return value [`ArkUI_AttributeItem`]:
5645 ///
5646 /// .value[0].u32: color value, in 0xARGB format.
5647 pub const NODE_TEXT_AREA_SELECTED_BACKGROUND_COLOR: ArkUI_NodeAttributeType =
5648 ArkUI_NodeAttributeType(8012);
5649 /// Defines the type of the Enter key.
5650 /// 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 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`]. The default value is <b>ARKUI_ENTER_KEY_TYPE_DONE</b>.
5655 ///
5656 ///
5657 ///
5658 /// Format of the return value [`ArkUI_AttributeItem`]:
5659 ///
5660 /// .value[0].i32: type of the Enter key[`ArkUI_EnterKeyType`].
5661 pub const NODE_TEXT_AREA_ENTER_KEY_TYPE: ArkUI_NodeAttributeType =
5662 ArkUI_NodeAttributeType(8013);
5663 /// Defines whether to enable the input method when the component obtains focus.
5664 /// This attribute can be set, reset, and obtained as required through APIs.
5665 ///
5666 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5667 ///
5668 /// .value[0].i32: whether to enable the input method when the component obtains focus.
5669 /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
5670 ///
5671 ///
5672 ///
5673 ///
5674 /// Format of the return value [`ArkUI_AttributeItem`]:
5675 ///
5676 /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
5677 /// and <b>0</b> means the opposite.
5678 pub const NODE_TEXT_AREA_ENABLE_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
5679 ArkUI_NodeAttributeType(8014);
5680 /// Defines whether to enable the input method when the component obtains focus.
5681 /// This attribute can be set, reset, and obtained as required through APIs.
5682 ///
5683 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5684 ///
5685 /// .value[0].i32: whether to enable the input method when the component obtains focus.
5686 /// The value <b>true</b> means to enable the input method, and <b>false</b> means the opposite.
5687 ///
5688 ///
5689 ///
5690 ///
5691 /// Format of the return value [`ArkUI_AttributeItem`]:
5692 ///
5693 /// .value[0].i32: The value <b>1</b> means to enable the input method when the component obtains focus,
5694 /// and <b>0</b> means the opposite.
5695 pub const NODE_TEXT_AREA_CARET_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8015);
5696 /// Obtains the position of the edited text area relative to the component and its size.
5697 ///
5698 /// Format of the return value [`ArkUI_AttributeItem`]:
5699 ///
5700 /// .value[0].f32: horizontal coordinate.
5701 ///
5702 /// .value[1].f32: vertical coordinate.
5703 ///
5704 /// .value[2].f32: content width.
5705 ///
5706 /// .value[3].f32: content height.
5707 pub const NODE_TEXT_AREA_CONTENT_RECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8016);
5708 /// Obtains the number of lines of the edited text.
5709 ///
5710 /// Format of the return value [`ArkUI_AttributeItem`]:
5711 ///
5712 /// .value[0].i32: number of lines of the edited text.
5713 pub const NODE_TEXT_AREA_CONTENT_LINE_COUNT: ArkUI_NodeAttributeType =
5714 ArkUI_NodeAttributeType(8017);
5715 /// Sets the text selection area, which will be highlighted.
5716 /// This attribute can be set, reset, and obtained as required through APIs.
5717 ///
5718 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5719 ///
5720 /// .value[0].i32: start position of the text selection.
5721 ///
5722 /// .value[1].i32: end position of the text selection.
5723 ///
5724 ///
5725 ///
5726 /// Format of the return value [`ArkUI_AttributeItem`]:
5727 ///
5728 /// .value[0].i32: start position of the text selection.
5729 ///
5730 /// .value[1].i32: end position of the text selection.
5731 pub const NODE_TEXT_AREA_TEXT_SELECTION: ArkUI_NodeAttributeType =
5732 ArkUI_NodeAttributeType(8018);
5733 /// Sets whether to enable autofill.
5734 ///
5735 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5736 ///
5737 /// .value[0].i32: whether to enable autofill. The default value is <b>true</b>.
5738 ///
5739 ///
5740 ///
5741 /// Format of the return value [`ArkUI_AttributeItem`]:
5742 ///
5743 /// .value[0].i32: whether to enable autofill.
5744 pub const NODE_TEXT_AREA_ENABLE_AUTO_FILL: ArkUI_NodeAttributeType =
5745 ArkUI_NodeAttributeType(8019);
5746 /// Sets the autofill type.
5747 ///
5748 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5749 ///
5750 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
5751 ///
5752 ///
5753 ///
5754 /// Format of the return value [`ArkUI_AttributeItem`]:
5755 ///
5756 /// .value[0].i32: autofill type. The parameter type is [`ArkUI_TextInputContentType`].
5757 pub const NODE_TEXT_AREA_CONTENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8020);
5758 /// Sets whether the keyboard pops up when the input box gains focus.
5759 /// It supports property setting, property reset and property acquisition interfaces.
5760 ///
5761 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
5762 ///
5763 /// .value[0].i32: Whether to pop up the keyboard.
5764 ///
5765 ///
5766 ///
5767 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
5768 ///
5769 /// .value[0].i32: Whether to pop up the keyboard.
5770 pub const NODE_TEXT_AREA_SHOW_KEYBOARD_ON_FOCUS: ArkUI_NodeAttributeType =
5771 ArkUI_NodeAttributeType(8021);
5772 /// When this property is set, the height of the textArea component is calculated using this property.
5773 ///
5774 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5775 ///
5776 /// .value[0].i32: set the value of numberOfLines.
5777 ///
5778 ///
5779 ///
5780 /// Format of the return value [`ArkUI_AttributeItem`]:
5781 ///
5782 /// .value[0].i32: Set the value of numberOfLines
5783 pub const NODE_TEXT_AREA_NUMBER_OF_LINES: ArkUI_NodeAttributeType =
5784 ArkUI_NodeAttributeType(8022);
5785 /// Sets the letter spacing of the <b>TextArea</b> component.
5786 /// This attribute can be set, reset, and obtained as required through APIs.
5787 ///
5788 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5789 ///
5790 /// .value[0].f32: letter spacing. The default unit is fp.
5791 ///
5792 ///
5793 ///
5794 /// Format of the return value [`ArkUI_AttributeItem`]:
5795 ///
5796 /// .value[0].f32: letter spacing. The default unit is fp.
5797 ///
5798 ///
5799 ///
5800 /// Available since API-level: 15
5801 #[cfg(feature = "api-15")]
5802 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5803 pub const NODE_TEXT_AREA_LETTER_SPACING: ArkUI_NodeAttributeType =
5804 ArkUI_NodeAttributeType(8023);
5805 /// Sets whether to enable preview text for the <b>TextArea</b> component.
5806 /// This attribute can be set, reset, and obtained as required through APIs.
5807 ///
5808 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5809 ///
5810 /// .value[0].i32: whether to enable preview tex.
5811 ///
5812 ///
5813 ///
5814 /// Format of the return value [`ArkUI_AttributeItem`]:
5815 ///
5816 /// .value[0].i32: whether to enable preview tex.
5817 ///
5818 ///
5819 ///
5820 /// Available since API-level: 15
5821 #[cfg(feature = "api-15")]
5822 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5823 pub const NODE_TEXT_AREA_ENABLE_PREVIEW_TEXT: ArkUI_NodeAttributeType =
5824 ArkUI_NodeAttributeType(8024);
5825 /// Sets whether to center text vertically in the textArea component.
5826 ///
5827 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5828 ///
5829 /// .value[0].i32: whether to center text vertically. The default value is <b>false</b>.
5830 ///
5831 ///
5832 ///
5833 /// Format of the return value [`ArkUI_AttributeItem`]:
5834 ///
5835 /// .value[0].i32: whether to center text vertically.
5836 ///
5837 ///
5838 ///
5839 /// Available since API-level: 18
5840 #[cfg(feature = "api-18")]
5841 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
5842 pub const NODE_TEXT_AREA_HALF_LEADING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8025);
5843 /// Set the keyboard style of textArea
5844 ///
5845 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5846 ///
5847 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5848 ///
5849 ///
5850 ///
5851 /// Format of the return value [`ArkUI_AttributeItem`]:
5852 ///
5853 /// .value[0].i32:keyboard style,the parameter type is [`ArkUI_KeyboardAppearanceType`]。
5854 ///
5855 ///
5856 ///
5857 /// Available since API-level: 15
5858 #[cfg(feature = "api-15")]
5859 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
5860 pub const NODE_TEXT_AREA_KEYBOARD_APPEARANCE: ArkUI_NodeAttributeType =
5861 ArkUI_NodeAttributeType(8026);
5862 /// Set the max lines of the node. This attribute can be set, reset, and obtained as required through APIs.
5863 ///
5864 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5865 ///
5866 /// .value[0].i32: max lines count.
5867 ///
5868 ///
5869 /// Format of the return value [`ArkUI_AttributeItem`]:
5870 ///
5871 /// .value[0].i32: max lines count.
5872 ///
5873 ///
5874 ///
5875 /// Available since API-level: 20
5876 #[cfg(feature = "api-20")]
5877 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5878 pub const NODE_TEXT_AREA_MAX_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8027);
5879 /// Set line spacing of the node. This attribute can be set, reset, and obtained as required through APIs.
5880 ///
5881 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5882 ///
5883 /// .value[0].i32: line spacing value.
5884 ///
5885 ///
5886 ///
5887 /// Format of the return value [`ArkUI_AttributeItem`]:
5888 ///
5889 /// .value[0].i32: line spacing value.
5890 ///
5891 ///
5892 ///
5893 /// Available since API-level: 20
5894 #[cfg(feature = "api-20")]
5895 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5896 pub const NODE_TEXT_AREA_LINE_SPACING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8028);
5897 /// Set the min lines of the node. This attribute can be set, reset, and obtained as required through APIs.
5898 ///
5899 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5900 ///
5901 /// .value[0].i32: min lines count.
5902 ///
5903 ///
5904 /// Format of the return value [`ArkUI_AttributeItem`]:
5905 ///
5906 /// .value[0].i32: min line count.
5907 ///
5908 ///
5909 ///
5910 /// Available since API-level: 20
5911 #[cfg(feature = "api-20")]
5912 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5913 pub const NODE_TEXT_AREA_MIN_LINES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8029);
5914 /// Set the max lines of the node with scroll.
5915 /// This attribute can be set, reset, and obtained as required through APIs.
5916 ///
5917 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5918 ///
5919 /// .value[0].i32: max lines count with scroll.
5920 ///
5921 ///
5922 /// Format of the return value [`ArkUI_AttributeItem`]:
5923 ///
5924 /// .value[0].i32: max line count with scroll.
5925 ///
5926 ///
5927 ///
5928 /// Available since API-level: 20
5929 #[cfg(feature = "api-20")]
5930 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5931 pub const NODE_TEXT_AREA_MAX_LINES_WITH_SCROLL: ArkUI_NodeAttributeType =
5932 ArkUI_NodeAttributeType(8030);
5933 /// Set the line height of the node. This attribute can be set, reset, and obtained as required through APIs.
5934 ///
5935 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5936 ///
5937 /// .value[0].i32: line height value.
5938 ///
5939 ///
5940 /// Format of the return value [`ArkUI_AttributeItem`]:
5941 ///
5942 /// .value[0].i32: line height value
5943 ///
5944 ///
5945 /// Available since API-level: 20
5946 #[cfg(feature = "api-20")]
5947 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
5948 pub const NODE_TEXT_AREA_LINE_HEIGHT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8031);
5949 /// Define bar state of the text area.
5950 /// This attribute can be set, reset, and obtained as required through APIs.
5951 ///
5952 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5953 ///
5954 /// .value[0].i32: bar state of the text area, specified using the [`ArkUI_BarState`] enum.
5955 /// The default value is <b>ARKUI_BAR_STATE_AUTO</b>.
5956 ///
5957 ///
5958 ///
5959 /// Format of the return value [`ArkUI_AttributeItem`]:
5960 ///
5961 /// .value[0].i32: bar state of the text area, specified using the [`ArkUI_BarState`] enum.
5962 ///
5963 ///
5964 ///
5965 /// Available since API-level: 22
5966 #[cfg(feature = "api-22")]
5967 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5968 pub const NODE_TEXT_AREA_BAR_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8032);
5969 /// Enables selected data detector.
5970 ///
5971 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5972 ///
5973 /// .value[0].i32: Enable selected text recognition, default value true.
5974 ///
5975 ///
5976 ///
5977 /// Format of the return value [`ArkUI_AttributeItem`]:
5978 ///
5979 /// .value[0].i32: Whether selected text recognition is enabled.
5980 ///
5981 ///
5982 ///
5983 /// Available since API-level: 22
5984 #[cfg(feature = "api-22")]
5985 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
5986 pub const NODE_TEXT_AREA_ENABLE_SELECTED_DATA_DETECTOR: ArkUI_NodeAttributeType =
5987 ArkUI_NodeAttributeType(8033);
5988 /// Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
5989 /// through APIs.
5990 ///
5991 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
5992 ///
5993 /// .data[0].u32: color of the scroll bar thumb, in 0xARGB format.
5994 ///
5995 ///
5996 ///
5997 /// Format of the return value [`ArkUI_AttributeItem`]:
5998 ///
5999 /// .data[0].u32: color of the scroll bar thumb, in 0xARGB format.
6000 ///
6001 ///
6002 ///
6003 /// Available since API-level: 22
6004 #[cfg(feature = "api-22")]
6005 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
6006 pub const NODE_TEXT_AREA_SCROLL_BAR_COLOR: ArkUI_NodeAttributeType =
6007 ArkUI_NodeAttributeType(8035);
6008 /// Sets up a custom keyboard.
6009 ///
6010 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6011 ///
6012 /// .object: custom keyboard,The parameter type is [`ArkUI_NodeHandle`].
6013 ///
6014 /// .value[0]?.i32: Sets whether the custom keyboard supports the avoidance feature, default value false.
6015 ///
6016 ///
6017 ///
6018 /// Format of the return value [`ArkUI_AttributeItem`]:
6019 ///
6020 /// .object:custom keyboard,The parameter type is [`ArkUI_NodeHandle`].
6021 ///
6022 /// .value[0].i32: Set whether the custom keyboard supports the avoidance function.
6023 ///
6024 ///
6025 ///
6026 /// Available since API-level: 22
6027 #[cfg(feature = "api-22")]
6028 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
6029 pub const NODE_TEXT_AREA_CUSTOM_KEYBOARD: ArkUI_NodeAttributeType =
6030 ArkUI_NodeAttributeType(8036);
6031 /// Used to set or get the text content base controller.
6032 ///
6033 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6034 ///
6035 /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
6036 ///
6037 ///
6038 ///
6039 /// Format of the return value [`ArkUI_AttributeItem`]:
6040 ///
6041 /// .object: the text content base controller. The parameter type is [`ArkUI_TextContentBaseController`].
6042 ///
6043 ///
6044 ///
6045 /// Available since API-level: 23
6046 #[cfg(feature = "api-23")]
6047 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6048 pub const NODE_TEXT_AREA_TEXT_CONTENT_CONTROLLER_BASE: ArkUI_NodeAttributeType =
6049 ArkUI_NodeAttributeType(8037);
6050 /// Whether to compress punctuation at the beginning of line.
6051 ///
6052 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6053 ///
6054 /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
6055 /// The default value is false.
6056 ///
6057 ///
6058 ///
6059 /// Format of the return value [`ArkUI_AttributeItem`]:
6060 ///
6061 /// .value[0].i32: Whether compress punctuation at the beginning of line.
6062 ///
6063 ///
6064 ///
6065 /// Available since API-level: 23
6066 #[cfg(feature = "api-23")]
6067 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6068 pub const NODE_TEXT_AREA_COMPRESS_LEADING_PUNCTUATION: ArkUI_NodeAttributeType =
6069 ArkUI_NodeAttributeType(8040);
6070 /// Determines whether the layout adds extra padding at the top and bottom to make space for characters.
6071 ///
6072 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6073 ///
6074 /// .value[0].i32: Enable include the font padding, true means enable this feature, false means disable.
6075 /// The default value is false.
6076 ///
6077 ///
6078 ///
6079 /// Format of the return value [`ArkUI_AttributeItem`]:
6080 ///
6081 /// .value[0].i32: Whether include the font padding.
6082 ///
6083 ///
6084 ///
6085 /// Available since API-level: 23
6086 #[cfg(feature = "api-23")]
6087 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6088 pub const NODE_TEXT_AREA_INCLUDE_FONT_PADDING: ArkUI_NodeAttributeType =
6089 ArkUI_NodeAttributeType(8041);
6090 /// Whether to include ascent/descent from fallback fonts to prevent overlapping lines.
6091 ///
6092 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6093 ///
6094 /// .value[0].i32: Whether enable the feature, true means enable this feature, false means disable.
6095 /// The default value is false.
6096 ///
6097 ///
6098 ///
6099 /// Format of the return value [`ArkUI_AttributeItem`]:
6100 ///
6101 /// .value[0].i32: Whether fallback line spacing.
6102 ///
6103 ///
6104 ///
6105 /// Available since API-level: 23
6106 #[cfg(feature = "api-23")]
6107 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6108 pub const NODE_TEXT_AREA_FALLBACK_LINE_SPACING: ArkUI_NodeAttributeType =
6109 ArkUI_NodeAttributeType(8042);
6110 /// Writing direction of the text.
6111 /// This attribute can be set, reset, and obtained as required through APIs.
6112 ///
6113 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6114 ///
6115 /// .value[0].i32: writing direction of the text. The value is an enum of [`ArkUI_TextDirection`].
6116 ///
6117 ///
6118 ///
6119 /// Format of the return value [`ArkUI_AttributeItem`]:
6120 ///
6121 /// .value[0].i32: writing direction the text. The value is an enum of [`ArkUI_TextDirection`].
6122 ///
6123 ///
6124 ///
6125 /// Available since API-level: 23
6126 #[cfg(feature = "api-23")]
6127 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6128 pub const NODE_TEXT_AREA_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(8044);
6129 /// Used to set the selected drag preview style.
6130 ///
6131 /// Format of the [`Arkui_AttributeItem`] parameter for setting the attribute:
6132 ///
6133 /// .object: selected drag preview style configuration.
6134 /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
6135 ///
6136 ///
6137 ///
6138 /// Format of the return value [`Arkui_AttributeItem`]:
6139 ///
6140 /// .object: selected drag preview style configuration.
6141 /// The parameter type is [`Arkui_SelectedDragPreviewStyle`].
6142 ///
6143 ///
6144 ///
6145 /// Available since API-level: 23
6146 #[cfg(feature = "api-23")]
6147 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
6148 pub const NODE_TEXT_AREA_SELECTED_DRAG_PREVIEW_STYLE: ArkUI_NodeAttributeType =
6149 ArkUI_NodeAttributeType(8045);
6150 /// Defines the button text content. This attribute can be set, reset, and obtained as required through APIs.
6151 ///
6152 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6153 ///
6154 /// .string: default text content.
6155 ///
6156 ///
6157 ///
6158 /// Format of the return value [`ArkUI_AttributeItem`]:
6159 ///
6160 /// .string: default text content.
6161 pub const NODE_BUTTON_LABEL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9000);
6162 /// Sets the button type. This attribute can be set, reset, and obtained as required through APIs.
6163 ///
6164 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6165 ///
6166 /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
6167 /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
6168 ///
6169 ///
6170 ///
6171 /// Format of the return value [`ArkUI_AttributeItem`]:
6172 ///
6173 /// .value[0].i32: button type. The parameter type is [`ArkUI_ButtonType`].
6174 /// The default value is <b>ARKUI_BUTTON_TYPE_CAPSULE</b>.
6175 pub const NODE_BUTTON_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9001);
6176 /// Defines the minimum font scale attribute, which can be set, reset, and obtained as required through APIs.
6177 ///
6178 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6179 ///
6180 /// .value[0].f32: minimum font scale, in fp.
6181 ///
6182 ///
6183 /// Format of the return value [`ArkUI_AttributeItem`]:
6184 ///
6185 /// .value[0].f32: minimum font scale, in fp.
6186 ///
6187 ///
6188 /// Available since API-level: 18
6189 #[cfg(feature = "api-18")]
6190 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6191 pub const NODE_BUTTON_MIN_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9002);
6192 /// Defines the maximum font scale attribute, which can be set, reset, and obtained as required through APIs.
6193 ///
6194 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6195 ///
6196 /// .value[0].f32: maximum font scale, in fp.
6197 ///
6198 ///
6199 /// Format of the return value [`ArkUI_AttributeItem`]:
6200 ///
6201 /// .value[0].f32: maximum font scale, in fp.
6202 ///
6203 ///
6204 /// Available since API-level: 18
6205 #[cfg(feature = "api-18")]
6206 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6207 pub const NODE_BUTTON_MAX_FONT_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(9003);
6208 /// Defines the current value of the progress indicator.
6209 /// This attribute can be set, reset, and obtained as required through APIs.
6210 ///
6211 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6212 ///
6213 /// .value[0].f32: current value of the progress indicator.
6214 ///
6215 ///
6216 ///
6217 /// Format of the return value [`ArkUI_AttributeItem`]:
6218 ///
6219 /// .value[0].f32: current value of the progress indicator.
6220 pub const NODE_PROGRESS_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10000);
6221 /// Defines the total value of the progress indicator.
6222 /// This attribute can be set, reset, and obtained as required through APIs.
6223 ///
6224 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6225 ///
6226 /// .value[0].f32: total value of the progress indicator.
6227 ///
6228 ///
6229 ///
6230 /// Format of the return value [`ArkUI_AttributeItem`]:
6231 ///
6232 /// .value[0].f32: total value of the progress indicator.
6233 pub const NODE_PROGRESS_TOTAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10001);
6234 /// Defines the color for the progress value on the progress indicator.
6235 /// This attribute can be set, reset, and obtained as required through APIs.
6236 ///
6237 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6238 ///
6239 /// .value[0].u32: color value, in 0xARGB format. For example, 0xFFFF0000 indicates red.
6240 ///
6241 ///
6242 ///
6243 /// Format of the return value [`ArkUI_AttributeItem`]:
6244 ///
6245 /// .value[0].u32: color value, in 0xARGB format.
6246 pub const NODE_PROGRESS_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10002);
6247 /// Defines the type of the progress indicator.
6248 /// This attribute can be set, reset, and obtained as required through APIs.
6249 ///
6250 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6251 ///
6252 /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
6253 /// The default value is <b>ARKUI_PROGRESS_TYPE_LINEAR</b>.
6254 ///
6255 ///
6256 ///
6257 /// Format of the return value [`ArkUI_AttributeItem`]:
6258 ///
6259 /// .value[0].i32: type of the progress indicator [`ArkUI_ProgressType`].
6260 pub const NODE_PROGRESS_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10003);
6261 /// Sets the style of the linear progress indicator.
6262 /// This attribute can be set, reset, and obtained as required through APIs.
6263 /// If the progress indicator type is not linear, it will not take effect.
6264 ///
6265 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6266 ///
6267 /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to set the style.
6268 ///
6269 ///
6270 ///
6271 /// Format of the return value [`ArkUI_AttributeItem`]:
6272 ///
6273 /// .object: Use the [`ArkUI_ProgressLinearStyleOption`] object to get the style.
6274 ///
6275 ///
6276 ///
6277 /// Available since API-level: 15
6278 #[cfg(feature = "api-15")]
6279 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6280 pub const NODE_PROGRESS_LINEAR_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(10004);
6281 /// Defines whether the check box is selected.
6282 /// This attribute can be set, reset, and obtained as required through APIs.
6283 ///
6284 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6285 ///
6286 /// .value[0].i32: whether the check box is selected.
6287 /// The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
6288 ///
6289 ///
6290 ///
6291 /// Format of the return value [`ArkUI_AttributeItem`]:
6292 ///
6293 /// .value[0].i32: The value <b>1</b> means that the check box is selected, and <b>0</b> means the opposite.
6294 pub const NODE_CHECKBOX_SELECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11000);
6295 /// Defines the color of the check box when it is selected.
6296 /// This attribute can be set, reset, and obtained as required through APIs.
6297 ///
6298 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6299 ///
6300 /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6301 ///
6302 ///
6303 ///
6304 /// Format of the return value [`ArkUI_AttributeItem`]:
6305 ///
6306 /// .value[0].u32: color of the check box when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6307 pub const NODE_CHECKBOX_SELECT_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11001);
6308 /// Defines the border color of the check box when it is not selected.
6309 /// This attribute can be set, reset, and obtained as required through APIs.
6310 ///
6311 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6312 ///
6313 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6314 ///
6315 ///
6316 ///
6317 /// Format of the return value [`ArkUI_AttributeItem`]:
6318 ///
6319 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6320 pub const NODE_CHECKBOX_UNSELECT_COLOR: ArkUI_NodeAttributeType =
6321 ArkUI_NodeAttributeType(11002);
6322 /// Defines the internal icon style of the check box.
6323 /// This attribute can be set, reset, and obtained as required through APIs.
6324 ///
6325 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6326 ///
6327 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6328 ///
6329 /// .value[1]?.f32: size of the internal mark, in vp. Optional.
6330 ///
6331 /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
6332 ///
6333 ///
6334 ///
6335 /// Format of the return value [`ArkUI_AttributeItem`]:
6336 ///
6337 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
6338 ///
6339 /// .value[1].f32: size of the internal mark, in vp.
6340 ///
6341 /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
6342 pub const NODE_CHECKBOX_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11003);
6343 /// Defines the shape of the check box.
6344 /// This attribute can be set, reset, and obtained as required through APIs.
6345 ///
6346 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6347 ///
6348 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6349 ///
6350 ///
6351 ///
6352 /// Format of the return value [`ArkUI_AttributeItem`]:
6353 ///
6354 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
6355 pub const NODE_CHECKBOX_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11004);
6356 /// Defines the name of the checkbox.
6357 /// This attribute can be set, reset, and obtained as required through APIs.
6358 ///
6359 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6360 ///
6361 /// .string: component name.
6362 ///
6363 ///
6364 ///
6365 /// Format of the return value [`ArkUI_AttributeItem`]:
6366 ///
6367 /// .string: component name.
6368 ///
6369 ///
6370 ///
6371 /// Available since API-level: 15
6372 #[cfg(feature = "api-15")]
6373 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6374 pub const NODE_CHECKBOX_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11005);
6375 /// Defines the name of the checkbox.
6376 /// This attribute can be set, reset, and obtained as required through APIs.
6377 ///
6378 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6379 ///
6380 /// .string: component name.
6381 ///
6382 ///
6383 ///
6384 /// Format of the return value [`ArkUI_AttributeItem`]:
6385 ///
6386 /// .string: component name.
6387 ///
6388 ///
6389 ///
6390 /// Available since API-level: 15
6391 #[cfg(feature = "api-15")]
6392 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
6393 pub const NODE_CHECKBOX_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(11006);
6394 /// Defines the ID of the <b><XComponent></b> component.
6395 /// This attribute can be set and obtained as required through APIs.
6396 ///
6397 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6398 ///
6399 /// .string: component ID.
6400 ///
6401 ///
6402 ///
6403 /// Format of the return value [`ArkUI_AttributeItem`]:
6404 ///
6405 /// .string: component ID.
6406 pub const NODE_XCOMPONENT_ID: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12000);
6407 /// Specifies the type of the <b>XComponent</b> component. This attribute is read-only.
6408 ///
6409 /// 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.
6410 ///
6411 /// Attempting to change the type through [`setAttribute`] will cause rendering exceptions.
6412 ///
6413 /// Format of the return value [`ArkUI_AttributeItem`]:
6414 ///
6415 /// .value[0].i32: type [`ArkUI_XComponentType`].
6416 pub const NODE_XCOMPONENT_TYPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(12001);
6417 /// Specifies the size of the <b>XComponent</b> component. This attribute is read-only.
6418 ///
6419 /// Attempting to modify the size through [`setAttribute`] will have no effect.
6420 ///
6421 /// Format of the return value [`ArkUI_AttributeItem`]:
6422 ///
6423 /// .value[0].u32: width, in px.
6424 ///
6425 /// .value[1].u32: height, in px.
6426 pub const NODE_XCOMPONENT_SURFACE_SIZE: ArkUI_NodeAttributeType =
6427 ArkUI_NodeAttributeType(12002);
6428 /// Defines the rectangle information of surface created by the <b><XComponent></b> component.
6429 /// This attribute can be set and obtained as required through APIs.
6430 ///
6431 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6432 ///
6433 /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
6434 ///
6435 /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
6436 ///
6437 /// .value[2].i32: The width of the surface created by XComponent, in pixels.
6438 ///
6439 /// .value[3].i32: The height of the surface created by XComponent, in pixels.
6440 ///
6441 ///
6442 ///
6443 /// Format of the return value [`ArkUI_AttributeItem`]:
6444 ///
6445 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6446 ///
6447 /// .value[0].i32: The horizontal offset of the surface relative to XComponent, in pixels.
6448 ///
6449 /// .value[1].i32: The vertical offset of the surface relative to XComponent, in pixels.
6450 ///
6451 /// .value[2].i32: The width of the surface created by XComponent, in pixels.
6452 ///
6453 /// .value[3].i32: The height of the surface created by XComponent, in pixels.
6454 ///
6455 ///
6456 /// Available since API-level: 18
6457 #[cfg(feature = "api-18")]
6458 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6459 pub const NODE_XCOMPONENT_SURFACE_RECT: ArkUI_NodeAttributeType =
6460 ArkUI_NodeAttributeType(12003);
6461 /// Defines whether to enable the AI analyzer for the <b><XComponent></b> component.
6462 /// This attribute can be set and obtained as required through APIs.
6463 ///
6464 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6465 ///
6466 /// value[0].i32: The parameter type is 1 or 0.
6467 ///
6468 ///
6469 /// Format of the return value [`ArkUI_AttributeItem`]:
6470 ///
6471 /// value[0].i32: The parameter type is 1 or 0.
6472 ///
6473 /// Available since API-level: 18
6474 #[cfg(feature = "api-18")]
6475 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6476 pub const NODE_XCOMPONENT_ENABLE_ANALYZER: ArkUI_NodeAttributeType =
6477 ArkUI_NodeAttributeType(12004);
6478 /// Defines whether to display the lunar calendar in the date picker.
6479 /// This attribute can be set, reset, and obtained as required through APIs.
6480 ///
6481 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6482 ///
6483 /// .value[0].i32: whether to display the lunar calendar in the date picker. The default value is <b>false</b>.
6484 ///
6485 ///
6486 ///
6487 /// Format of the return value [`ArkUI_AttributeItem`]:
6488 ///
6489 /// .value[0].i32: whether to display the lunar calendar in the date picker.
6490 pub const NODE_DATE_PICKER_LUNAR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13000);
6491 /// Defines the start date of the date picker.
6492 /// This attribute can be set, reset, and obtained as required through APIs.
6493 ///
6494 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6495 ///
6496 /// .string: date. The default value is <b>"1970-1-1"</b>.
6497 ///
6498 ///
6499 ///
6500 /// Format of the return value [`ArkUI_AttributeItem`]:
6501 ///
6502 /// .string: date.
6503 pub const NODE_DATE_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13001);
6504 /// Defines the end date of the date picker.
6505 /// This attribute can be set, reset, and obtained as required through APIs.
6506 ///
6507 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6508 ///
6509 /// .string: date. The default value is <b>"2100-12-31"</b>.
6510 ///
6511 ///
6512 ///
6513 /// Format of the return value [`ArkUI_AttributeItem`]:
6514 ///
6515 /// .string: date.
6516 pub const NODE_DATE_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13002);
6517 /// Defines the selected date of the date picker.
6518 /// This attribute can be set, reset, and obtained as required through APIs.
6519 ///
6520 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6521 ///
6522 /// .string: date. The default value is <b>"2024-01-22"</b>.
6523 ///
6524 ///
6525 ///
6526 /// Format of the return value [`ArkUI_AttributeItem`]:
6527 ///
6528 /// .string: date.
6529 pub const NODE_DATE_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13003);
6530 /// Defines the font color, font size, and font weight for the top and bottom items in the date picker.
6531 /// This attribute can be set, reset, and obtained as required through APIs.
6532 ///
6533 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6534 ///
6535 /// .string: array of five parameters of the string type, separated by semicolons (;).
6536 ///
6537 /// Parameter 1: font color, in #ARGB format.
6538 ///
6539 /// Parameter 2: font size, in fp. The value is a number.
6540 ///
6541 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6542 /// .
6543 /// Parameter 4: fonts, separated by commas (,).
6544 ///
6545 /// Parameter 5: font style. Available options are ("normal", "italic").
6546 ///
6547 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6548 ///
6549 ///
6550 ///
6551 /// Format of the return value [`ArkUI_AttributeItem`]:
6552 ///
6553 /// .string: array of five parameters of the string type, separated by semicolons (;).
6554 ///
6555 /// Parameter 1: font color, in #ARGB format.
6556 ///
6557 /// Parameter 2: font size, in fp. The value is a number.
6558 ///
6559 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6560 /// .
6561 /// Parameter 4: fonts, separated by commas (,).
6562 ///
6563 /// Parameter 5: font style. Available options are ("normal", "italic").
6564 ///
6565 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6566 pub const NODE_DATE_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
6567 ArkUI_NodeAttributeType(13004);
6568 /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected
6569 /// items in the date picker. This attribute can be set, reset, and obtained as required through APIs.
6570 ///
6571 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6572 ///
6573 /// .string: array of five parameters of the string type, separated by semicolons (;).
6574 ///
6575 /// Parameter 1: font color, in #ARGB format.
6576 ///
6577 /// Parameter 2: font size, in fp. The value is a number.
6578 ///
6579 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6580 /// .
6581 /// Parameter 4: fonts, separated by commas (,).
6582 ///
6583 /// Parameter 5: font style. Available options are ("normal", "italic").
6584 ///
6585 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6586 ///
6587 ///
6588 ///
6589 /// Format of the return value [`ArkUI_AttributeItem`]:
6590 ///
6591 /// .string: array of five parameters of the string type, separated by semicolons (;).
6592 ///
6593 /// Parameter 1: font color, in #ARGB format.
6594 ///
6595 /// Parameter 2: font size, in fp. The value is a number.
6596 ///
6597 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6598 /// .
6599 /// Parameter 4: fonts, separated by commas (,).
6600 ///
6601 /// Parameter 5: font style. Available options are ("normal", "italic").
6602 ///
6603 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6604 pub const NODE_DATE_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13005);
6605 /// Defines the font color, font size, and font weight of the selected item in the date picker.
6606 /// This attribute can be set, reset, and obtained as required through APIs.
6607 ///
6608 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6609 ///
6610 /// .string: array of five parameters of the string type, separated by semicolons (;).
6611 ///
6612 /// Parameter 1: font color, in #ARGB format.
6613 ///
6614 /// Parameter 2: font size, in fp. The value is a number.
6615 ///
6616 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6617 /// .
6618 /// Parameter 4: fonts, separated by commas (,).
6619 ///
6620 /// Parameter 5: font style. Available options are ("normal", "italic").
6621 ///
6622 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6623 ///
6624 ///
6625 ///
6626 /// Format of the return value [`ArkUI_AttributeItem`]:
6627 ///
6628 /// .string: array of five parameters of the string type, separated by semicolons (;).
6629 ///
6630 /// Parameter 1: font color, in #ARGB format.
6631 ///
6632 /// Parameter 2: font size, in fp. The value is a number.
6633 ///
6634 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6635 /// .
6636 /// Parameter 4: fonts, separated by commas (,).
6637 ///
6638 /// Parameter 5: font style. Available options are ("normal", "italic").
6639 ///
6640 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6641 pub const NODE_DATE_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
6642 ArkUI_NodeAttributeType(13006);
6643 /// Defines the mode of the date picker.
6644 /// This attribute can be set, reset, and obtained as required through APIs.
6645 ///
6646 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6647 ///
6648 /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
6649 /// .
6650 ///
6651 ///
6652 /// Format of the return value [`ArkUI_AttributeItem`]:
6653 ///
6654 /// value[0].i32: the mode. The value is and enum of [`ArkUI_DatePickerMode`].
6655 /// .
6656 ///
6657 ///
6658 /// Available since API-level: 18
6659 #[cfg(feature = "api-18")]
6660 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6661 pub const NODE_DATE_PICKER_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13007);
6662 /// Defines whether haptic feedback.
6663 /// This attribute can be set, reset, and obtained as required through APIs.
6664 ///
6665 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6666 ///
6667 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
6668 /// <b>false</b> means the opposite.
6669 ///
6670 ///
6671 ///
6672 /// Format of the return value [`ArkUI_AttributeItem`]:
6673 ///
6674 /// value[0].i32: whether to feedback.
6675 ///
6676 ///
6677 ///
6678 /// Available since API-level: 18
6679 #[cfg(feature = "api-18")]
6680 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6681 pub const NODE_DATE_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
6682 ArkUI_NodeAttributeType(13008);
6683 /// Defines whether to support scroll looping for the date picker.
6684 /// This attribute can be set, reset, and obtained as required through APIs.
6685 ///
6686 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6687 ///
6688 /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
6689 /// <b>false</b> means the opposite.
6690 ///
6691 ///
6692 ///
6693 /// Format of the return value [`ArkUI_AttributeItem`]:
6694 ///
6695 /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
6696 ///
6697 ///
6698 ///
6699 /// Available since API-level: 20
6700 #[cfg(feature = "api-20")]
6701 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
6702 pub const NODE_DATE_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(13009);
6703 /// Defines the time of the selected item. in the timer picker.
6704 /// This attribute can be set, reset, and obtained as required through APIs.
6705 ///
6706 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6707 ///
6708 /// .string: time. The default value is the current system time.
6709 ///
6710 ///
6711 ///
6712 /// Format of the return value [`ArkUI_AttributeItem`]:
6713 ///
6714 /// .string: time.
6715 pub const NODE_TIME_PICKER_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14000);
6716 /// Defines whether the display time is in 24-hour format.
6717 /// This attribute can be set, reset, and obtained as required through APIs.
6718 ///
6719 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6720 ///
6721 /// .value[0].i32: whether the display time is in 24-hour format. The default value is <b>false</b>.
6722 ///
6723 ///
6724 ///
6725 /// Format of the return value [`ArkUI_AttributeItem`]:
6726 ///
6727 /// .value[0].i32: whether the display time is in 24-hour format.
6728 pub const NODE_TIME_PICKER_USE_MILITARY_TIME: ArkUI_NodeAttributeType =
6729 ArkUI_NodeAttributeType(14001);
6730 /// Defines the font color, font size, and font weight for the top and bottom items in the time picker.
6731 /// This attribute can be set, reset, and obtained as required through APIs.
6732 ///
6733 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6734 ///
6735 /// .string: array of five parameters of the string type, separated by semicolons (;).
6736 ///
6737 /// Parameter 1: font color, in #ARGB format.
6738 ///
6739 /// Parameter 2: font size, in fp. The value is a number.
6740 ///
6741 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6742 /// .
6743 /// Parameter 4: fonts, separated by commas (,).
6744 ///
6745 /// Parameter 5: font style. Available options are ("normal", "italic").
6746 ///
6747 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6748 ///
6749 ///
6750 ///
6751 /// Format of the return value [`ArkUI_AttributeItem`]:
6752 ///
6753 /// .string: array of five parameters of the string type, separated by semicolons (;).
6754 ///
6755 /// Parameter 1: font color, in #ARGB format.
6756 ///
6757 /// Parameter 2: font size, in fp. The value is a number.
6758 ///
6759 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6760 /// .
6761 /// Parameter 4: fonts, separated by commas (,).
6762 ///
6763 /// Parameter 5: font style. Available options are ("normal", "italic").
6764 ///
6765 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6766 pub const NODE_TIME_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
6767 ArkUI_NodeAttributeType(14002);
6768 /// Defines the font color, font size, and font weight of all items except the top, bottom, and selected items
6769 /// in the time picker. This attribute can be set, reset, and obtained as required through APIs.
6770 ///
6771 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6772 ///
6773 /// .string: array of five parameters of the string type, separated by semicolons (;).
6774 ///
6775 /// Parameter 1: font color, in #ARGB format.
6776 ///
6777 /// Parameter 2: font size, in fp. The value is a number.
6778 ///
6779 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6780 /// .
6781 /// Parameter 4: fonts, separated by commas (,).
6782 ///
6783 /// Parameter 5: font style. Available options are ("normal", "italic").
6784 ///
6785 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6786 ///
6787 ///
6788 ///
6789 /// Format of the return value [`ArkUI_AttributeItem`]:
6790 ///
6791 /// .string: array of five parameters of the string type, separated by semicolons (;).
6792 ///
6793 /// Parameter 1: font color, in #ARGB format.
6794 ///
6795 /// Parameter 2: font size, in fp. The value is a number.
6796 ///
6797 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6798 /// .
6799 /// Parameter 4: fonts, separated by commas (,).
6800 ///
6801 /// Parameter 5: font style. Available options are ("normal", "italic").
6802 ///
6803 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6804 pub const NODE_TIME_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14003);
6805 /// Defines the font color, font size, and font weight of the selected item in the time picker.
6806 /// This attribute can be set, reset, and obtained as required through APIs.
6807 ///
6808 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6809 ///
6810 /// .string: array of five parameters of the string type, separated by semicolons (;).
6811 ///
6812 /// Parameter 1: font color, in #ARGB format.
6813 ///
6814 /// Parameter 2: font size, in fp. The value is a number.
6815 ///
6816 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6817 /// .
6818 /// Parameter 4: fonts, separated by commas (,).
6819 ///
6820 /// Parameter 5: font style. Available options are ("normal", "italic").
6821 ///
6822 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6823 ///
6824 ///
6825 ///
6826 /// Format of the return value [`ArkUI_AttributeItem`]:
6827 ///
6828 /// .string: array of five parameters of the string type, separated by semicolons (;).
6829 ///
6830 /// Parameter 1: font color, in #ARGB format.
6831 ///
6832 /// Parameter 2: font size, in fp. The value is a number.
6833 ///
6834 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6835 /// .
6836 /// Parameter 4: fonts, separated by commas (,).
6837 ///
6838 /// Parameter 5: font style. Available options are ("normal", "italic").
6839 ///
6840 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6841 pub const NODE_TIME_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
6842 ArkUI_NodeAttributeType(14004);
6843 /// Defines the start time of the time picker.
6844 /// This attribute can be set, reset, and obtained as required through APIs.
6845 ///
6846 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6847 ///
6848 /// .string: time. The default value is <b>"00:00:00"</b>.
6849 ///
6850 ///
6851 ///
6852 /// Format of the return value [`ArkUI_AttributeItem`]:
6853 ///
6854 /// .string: time. The default value is <b>"00:00:00"</b>.
6855 ///
6856 ///
6857 ///
6858 /// Available since API-level: 18
6859 #[cfg(feature = "api-18")]
6860 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6861 pub const NODE_TIME_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14005);
6862 /// Defines the end time of the time picker.
6863 /// This attribute can be set, reset, and obtained as required through APIs.
6864 ///
6865 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6866 ///
6867 /// .string: time. The default value is <b>"23:59:59"</b>.
6868 ///
6869 ///
6870 ///
6871 /// Format of the return value [`ArkUI_AttributeItem`]:
6872 ///
6873 /// .string: time. The default value is <b>"23:59:59"</b>.
6874 ///
6875 ///
6876 ///
6877 /// Available since API-level: 18
6878 #[cfg(feature = "api-18")]
6879 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6880 pub const NODE_TIME_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(14006);
6881 /// Defines whether the AM/PM option is cascaded with the time in 12-hour mode.
6882 /// This attribute can be set, reset, and obtained as required through APIs.
6883 ///
6884 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6885 ///
6886 /// .value[0].i32: whether to enable cascade. The default value is <b>false</b>.
6887 ///
6888 ///
6889 ///
6890 /// Format of the return value [`ArkUI_AttributeItem`]:
6891 ///
6892 /// .value[0].i32: whether to enable cascade.
6893 ///
6894 ///
6895 ///
6896 /// Available since API-level: 18
6897 #[cfg(feature = "api-18")]
6898 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
6899 pub const NODE_TIME_PICKER_ENABLE_CASCADE: ArkUI_NodeAttributeType =
6900 ArkUI_NodeAttributeType(14007);
6901 /// Defines the data selection range of the text picker.
6902 /// This attribute can be set, reset, and obtained as required through APIs.
6903 ///
6904 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6905 ///
6906 /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
6907 /// The default value is <b>ARKUI_TEXTPICKER_RANGETYPE_SINGLE</b>.
6908 ///
6909 /// ?.string: string input, whose format varies by picker type.
6910 ///
6911 /// 1: single-column picker. The input format is a group of strings separated by semicolons (;).
6912 ///
6913 /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
6914 /// semicolons (;), and strings within each pair are separated by commas (,).
6915 ///
6916 /// ?.object: Object input, whose format varies by picker type.
6917 ///
6918 /// 1: single-column picker with image support. The input structure is [`ARKUI_TextPickerRangeContent`].
6919 ///
6920 /// 2: multi-column interconnected picker. The input structure is [`ARKUI_TextPickerCascadeRangeContent`].
6921 ///
6922 ///
6923 ///
6924 /// Format of the return value [`ArkUI_AttributeItem`]:
6925 ///
6926 /// .value[0].i32: type of the text picker [`ArkUI_TextPickerRangeType`].
6927 ///
6928 /// ?.string: string output, whose format varies by picker type.
6929 ///
6930 /// 1: single-column picker. The output format is a group of strings separated by semicolons (;).
6931 ///
6932 /// 2: multi-column picker. Multiple pairs of plain text strings are supported. The pairs are separated by
6933 /// semicolons (;), and strings within each pair are separated by commas (,).
6934 ///
6935 /// ?.string: Object output, whose format varies by picker type.
6936 ///
6937 /// 1: single-column picker with image support. The output structure is [`ARKUI_TextPickerRangeContent`].
6938 ///
6939 /// 2: multi-column interconnected picker. The output structure is [`ARKUI_TextPickerCascadeRangeContent`].
6940 pub const NODE_TEXT_PICKER_OPTION_RANGE: ArkUI_NodeAttributeType =
6941 ArkUI_NodeAttributeType(15000);
6942 /// Defines the index of the default selected item in the data selection range of the text picker.
6943 /// This attribute can be set, reset, and obtained as required through APIs.
6944 ///
6945 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6946 ///
6947 /// .value[0].u32: index. If there are multiple index values, add them one by one.
6948 ///
6949 ///
6950 ///
6951 /// Format of the return value [`ArkUI_AttributeItem`]:
6952 ///
6953 /// .value[0].u32: index. If there are multiple index values, add them one by one.
6954 pub const NODE_TEXT_PICKER_OPTION_SELECTED: ArkUI_NodeAttributeType =
6955 ArkUI_NodeAttributeType(15001);
6956 /// Defines the value of the default selected item in the text picker.
6957 /// This attribute can be set, reset, and obtained as required through APIs.
6958 ///
6959 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6960 ///
6961 /// .string: value of the selected item. If there are multiple values, add them one by one and
6962 /// separate them with semicolons (;).
6963 ///
6964 ///
6965 ///
6966 /// Format of the return value [`ArkUI_AttributeItem`]:
6967 ///
6968 /// .string: value of the selected item. If there are multiple values, add them one by one and
6969 /// separate them with semicolons (;).
6970 pub const NODE_TEXT_PICKER_OPTION_VALUE: ArkUI_NodeAttributeType =
6971 ArkUI_NodeAttributeType(15002);
6972 /// Defines the font color, font size, and font weight for the top and bottom items in the text picker.
6973 /// This attribute can be set, reset, and obtained as required through APIs.
6974 ///
6975 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
6976 ///
6977 /// .string: array of five parameters of the string type, separated by semicolons (;).
6978 ///
6979 /// Parameter 1: font color, in #ARGB format.
6980 ///
6981 /// Parameter 2: font size, in fp. The value is a number.
6982 ///
6983 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
6984 /// .
6985 /// Parameter 4: fonts, separated by commas (,).
6986 ///
6987 /// Parameter 5: font style. Available options are ("normal", "italic").
6988 ///
6989 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
6990 ///
6991 ///
6992 ///
6993 /// Format of the return value [`ArkUI_AttributeItem`]:
6994 ///
6995 /// .string: array of five parameters of the string type, separated by semicolons (;).
6996 ///
6997 /// Parameter 1: font color, in #ARGB format.
6998 ///
6999 /// Parameter 2: font size, in fp. The value is a number.
7000 ///
7001 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7002 /// .
7003 /// Parameter 4: fonts, separated by commas (,).
7004 ///
7005 /// Parameter 5: font style. Available options are ("normal", "italic").
7006 ///
7007 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7008 pub const NODE_TEXT_PICKER_DISAPPEAR_TEXT_STYLE: ArkUI_NodeAttributeType =
7009 ArkUI_NodeAttributeType(15003);
7010 /// Defines the font color, font size, and font weight for all items except the top, bottom, and selected
7011 /// items in the text picker. This attribute can be set, reset, and obtained as required through APIs.
7012 ///
7013 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7014 ///
7015 /// .string: array of five parameters of the string type, separated by semicolons (;).
7016 ///
7017 /// Parameter 1: font color, in #ARGB format.
7018 ///
7019 /// Parameter 2: font size, in fp. The value is a number.
7020 ///
7021 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7022 /// .
7023 /// Parameter 4: fonts, separated by commas (,).
7024 ///
7025 /// Parameter 5: font style. Available options are ("normal", "italic").
7026 ///
7027 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7028 ///
7029 ///
7030 ///
7031 /// Format of the return value [`ArkUI_AttributeItem`]:
7032 ///
7033 /// .string: array of five parameters of the string type, separated by semicolons (;).
7034 ///
7035 /// Parameter 1: font color, in #ARGB format.
7036 ///
7037 /// Parameter 2: font size, in fp. The value is a number.
7038 ///
7039 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7040 /// .
7041 /// Parameter 4: fonts, separated by commas (,).
7042 ///
7043 /// Parameter 5: font style. Available options are ("normal", "italic").
7044 ///
7045 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7046 pub const NODE_TEXT_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15004);
7047 /// Defines the font color, font size, and font weight for the selected item in the text picker.
7048 /// This attribute can be set, reset, and obtained as required through APIs.
7049 ///
7050 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7051 ///
7052 /// .string: array of five parameters of the string type, separated by semicolons (;).
7053 ///
7054 /// Parameter 1: font color, in #ARGB format.
7055 ///
7056 /// Parameter 2: font size, in fp. The value is a number.
7057 ///
7058 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7059 /// .
7060 /// Parameter 4: fonts, separated by commas (,).
7061 ///
7062 /// Parameter 5: font style. Available options are ("normal", "italic").
7063 ///
7064 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7065 ///
7066 ///
7067 ///
7068 /// Format of the return value [`ArkUI_AttributeItem`]:
7069 ///
7070 /// .string: array of five parameters of the string type, separated by semicolons (;).
7071 ///
7072 /// Parameter 1: font color, in #ARGB format.
7073 ///
7074 /// Parameter 2: font size, in fp. The value is a number.
7075 ///
7076 /// Parameter 3: font weight. Available options are ("bold", "normal", "bolder", "lighter", "medium", "regular").
7077 /// .
7078 /// Parameter 4: fonts, separated by commas (,).
7079 ///
7080 /// Parameter 5: font style. Available options are ("normal", "italic").
7081 ///
7082 /// Example: "#ff182431;14;normal;Arial,HarmonyOS Sans;normal".
7083 pub const NODE_TEXT_PICKER_SELECTED_TEXT_STYLE: ArkUI_NodeAttributeType =
7084 ArkUI_NodeAttributeType(15005);
7085 /// Defines the index of the default selected item in the data selection range of the text picker.
7086 /// This attribute can be set, reset, and obtained as required through APIs.
7087 ///
7088 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7089 ///
7090 /// .value[0...].i32: index of the default item in the data selection range.
7091 pub const NODE_TEXT_PICKER_SELECTED_INDEX: ArkUI_NodeAttributeType =
7092 ArkUI_NodeAttributeType(15006);
7093 /// Defines whether to support scroll looping for the text picker.
7094 /// This attribute can be set, reset, and obtained as required through APIs.
7095 ///
7096 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7097 ///
7098 /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
7099 /// <b>false</b> means the opposite.
7100 ///
7101 ///
7102 ///
7103 ///
7104 /// Format of the return value [`ArkUI_AttributeItem`]:
7105 ///
7106 /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
7107 pub const NODE_TEXT_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(15007);
7108 /// Defines the height of each item in the picker. This attribute can be set, reset, and obtained as required
7109 /// through APIs.
7110 ///
7111 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7112 ///
7113 /// .value[0].f32: item height, in vp.
7114 ///
7115 ///
7116 ///
7117 /// Format of the return value [`ArkUI_AttributeItem`]:
7118 ///
7119 /// value[0].f32: item height, in vp.
7120 pub const NODE_TEXT_PICKER_DEFAULT_PICKER_ITEM_HEIGHT: ArkUI_NodeAttributeType =
7121 ArkUI_NodeAttributeType(15008);
7122 /// Defines whether haptic feedback.
7123 /// This attribute can be set, reset, and obtained as required through APIs.
7124 ///
7125 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7126 ///
7127 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
7128 /// <b>false</b> means the opposite.
7129 ///
7130 ///
7131 ///
7132 /// Format of the return value [`ArkUI_AttributeItem`]:
7133 ///
7134 /// value[0].i32: whether to feedback.
7135 ///
7136 ///
7137 ///
7138 /// Available since API-level: 18
7139 #[cfg(feature = "api-18")]
7140 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7141 pub const NODE_TEXT_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
7142 ArkUI_NodeAttributeType(15010);
7143 /// Defines the background color and border radius of the selected items.
7144 /// This attribute can be set, reset, and obtained as required through APIs.
7145 ///
7146 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7147 ///
7148 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7149 ///
7150 /// 1: .value[1].f32: radius of the four corners.
7151 ///
7152 /// 2: .value[1].f32: radius of the upper left corner.
7153 ///
7154 /// .value[2].f32: radius of the upper right corner.
7155 ///
7156 /// .value[3].f32: radius of the lower left corner.
7157 ///
7158 /// .value[4].f32: radius of the lower right corner.
7159 ///
7160 ///
7161 ///
7162 /// Format of the return value [`ArkUI_AttributeItem`]:
7163 ///
7164 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7165 /// *
7166 /// .value[1].f32: radius of the upper left corner.
7167 ///
7168 /// .value[2].f32: radius of the upper right corner.
7169 ///
7170 /// .value[3].f32: radius of the lower left corner.
7171 ///
7172 /// .value[4].f32: radius of the lower right corner.
7173 ///
7174 ///
7175 ///
7176 /// Available since API-level: 20
7177 #[cfg(feature = "api-20")]
7178 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7179 pub const NODE_TEXT_PICKER_SELECTED_BACKGROUND_STYLE: ArkUI_NodeAttributeType =
7180 ArkUI_NodeAttributeType(15011);
7181 /// Defines the style of the background in the selected state of the calendar picker.
7182 /// This attribute can be set, reset, and obtained as required through APIs.
7183 ///
7184 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7185 ///
7186 /// .value[0].f32: style of the background in the selected state of the calendar picker.
7187 /// The value range is [0, +∞). If the value is <b>0</b>, the background is a rectangle with square corners.
7188 /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to
7189 /// or greater than 16, the background is a circle.
7190 ///
7191 ///
7192 ///
7193 /// Format of the return value [`ArkUI_AttributeItem`]:
7194 ///
7195 /// .value[0].f32: style of the background in the selected state of the calendar picker. The value range is [0, +∞).
7196 /// If the value is <b>0</b>, the background is a rectangle with square corners.
7197 /// If the value is in the 0–16 range, the background is a rectangle with rounded corners. If the value is equal to or
7198 /// greater than 16, the background is a circle.
7199 pub const NODE_CALENDAR_PICKER_HINT_RADIUS: ArkUI_NodeAttributeType =
7200 ArkUI_NodeAttributeType(16000);
7201 /// Defines the date of the selected item in the calendar picker.
7202 /// This attribute can be set, reset, and obtained as required through APIs.
7203 ///
7204 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7205 ///
7206 /// .value[0].u32: year of the selected date.
7207 ///
7208 /// .value[1].u32: month of the selected date.
7209 ///
7210 /// .value[2].u32: day of the selected date.
7211 ///
7212 ///
7213 ///
7214 /// Format of the return value [`ArkUI_AttributeItem`]:
7215 ///
7216 /// .value[0].u32: year of the selected date.
7217 ///
7218 /// .value[1].u32: month of the selected date.
7219 ///
7220 /// .value[2].u32: day of the selected date.
7221 pub const NODE_CALENDAR_PICKER_SELECTED_DATE: ArkUI_NodeAttributeType =
7222 ArkUI_NodeAttributeType(16001);
7223 /// Defines how the calendar picker is aligned with the entry component.
7224 /// This attribute can be set, reset, and obtained as required through APIs.
7225 ///
7226 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7227 ///
7228 /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
7229 ///
7230 /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
7231 /// the specified alignment mode.
7232 ///
7233 /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
7234 /// the specified alignment mode.
7235 ///
7236 ///
7237 ///
7238 /// Format of the return value [`ArkUI_AttributeItem`]:
7239 ///
7240 /// .value[0].i32: alignment mode. The parameter type is [`ArkUI_CalendarAlignment`].
7241 ///
7242 /// .value[1]?.f32: offset of the picker relative to the entry component along the x-axis after alignment based on
7243 /// the specified alignment mode.
7244 ///
7245 /// .value[2]?.f32: offset of the picker relative to the entry component along the y-axis after alignment based on
7246 /// the specified alignment mode.
7247 pub const NODE_CALENDAR_PICKER_EDGE_ALIGNMENT: ArkUI_NodeAttributeType =
7248 ArkUI_NodeAttributeType(16002);
7249 /// Defines the font color, font size, and font weight in the entry area of the calendar picker.
7250 ///
7251 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7252 ///
7253 /// .value[0]?.u32: font color of the entry area.
7254 ///
7255 /// .value[1]?.f32: font size of the entry area, in fp.
7256 ///
7257 /// .value[2]?.i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
7258 ///
7259 ///
7260 ///
7261 /// Format of the return value [`ArkUI_AttributeItem`]:
7262 ///
7263 /// .value[0].u32: font color of the entry area.
7264 ///
7265 /// .value[1].f32: font size of the entry area, in fp.
7266 ///
7267 /// .value[2].i32: font weight of the entry area. The parameter type is [`ArkUI_FontWeight`].
7268 pub const NODE_CALENDAR_PICKER_TEXT_STYLE: ArkUI_NodeAttributeType =
7269 ArkUI_NodeAttributeType(16003);
7270 /// Defines the start date of the calendar picker.
7271 /// This attribute can be set, reset, and obtained as required through APIs.
7272 ///
7273 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7274 ///
7275 /// .string: date. The value like <b>"1970-1-1"</b>.
7276 ///
7277 ///
7278 ///
7279 /// Format of the return value [`ArkUI_AttributeItem`]:
7280 ///
7281 /// .string: date.
7282 ///
7283 ///
7284 ///
7285 /// Available since API-level: 18
7286 #[cfg(feature = "api-18")]
7287 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7288 pub const NODE_CALENDAR_PICKER_START: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16004);
7289 /// Defines the end date of the calendar picker.
7290 /// This attribute can be set, reset, and obtained as required through APIs.
7291 ///
7292 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7293 ///
7294 /// .string: date. The value like <b>"2100-12-31"</b>.
7295 ///
7296 ///
7297 ///
7298 /// Format of the return value [`ArkUI_AttributeItem`]:
7299 ///
7300 /// .string: date.
7301 ///
7302 ///
7303 ///
7304 /// Available since API-level: 18
7305 #[cfg(feature = "api-18")]
7306 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7307 pub const NODE_CALENDAR_PICKER_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(16005);
7308 /// Defines the color of the slider. This attribute can be set, reset, and obtained as required through APIs.
7309 ///
7310 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7311 ///
7312 /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7313 ///
7314 ///
7315 /// Format of the return value [`ArkUI_AttributeItem`]:
7316 ///
7317 /// .value[0].u32: color of the slider, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7318 pub const NODE_SLIDER_BLOCK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17000);
7319 /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
7320 /// through APIs.
7321 ///
7322 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7323 ///
7324 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7325 ///
7326 ///
7327 ///
7328 /// Format of the return value [`ArkUI_AttributeItem`]:
7329 ///
7330 /// .value[0].u32: background color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7331 pub const NODE_SLIDER_TRACK_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17001);
7332 /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
7333 /// as required through APIs.
7334 ///
7335 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7336 ///
7337 /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7338 ///
7339 ///
7340 ///
7341 /// Format of the return value [`ArkUI_AttributeItem`]:
7342 ///
7343 /// .value[0].u32: color of the selected part of the slider track, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7344 pub const NODE_SLIDER_SELECTED_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17002);
7345 /// Sets whether to display the stepping value. This attribute can be set, reset, and obtained as required
7346 /// through APIs.
7347 ///
7348 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7349 ///
7350 /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
7351 /// and <b>0</b> (default value) means the opposite.
7352 ///
7353 ///
7354 ///
7355 /// Format of the return value [`ArkUI_AttributeItem`]:
7356 ///
7357 /// .value[0].i32: whether to display the stepping value. The value <b>1</b> means to display the stepping value,
7358 /// and <b>0</b> (default value) means the opposite.
7359 pub const NODE_SLIDER_SHOW_STEPS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17003);
7360 /// Defines the slider shape, which can be set, reset, and obtained as required through APIs.
7361 ///
7362 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7363 ///
7364 /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
7365 ///
7366 /// .string?: depending on the shape. Optional.
7367 ///
7368 /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
7369 ///
7370 /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
7371 ///
7372 /// There are five types:
7373 ///
7374 /// 1. Rectangle:
7375 ///
7376 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7377 /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
7378 ///
7379 /// .value[2].f32: width of the rectangle.
7380 ///
7381 /// .value[3].f32: height of the rectangle.
7382 ///
7383 /// .value[4].f32: width of the rounded corner of the rectangle.
7384 ///
7385 /// .value[5].f32: height of the rounded corner of the rectangle.
7386 ///
7387 /// 2. Circle:
7388 ///
7389 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7390 /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
7391 ///
7392 /// .value[2].f32: width of the circle.
7393 ///
7394 /// .value[3].f32: height of the circle.
7395 ///
7396 /// 3.Ellipse:
7397 ///
7398 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7399 /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
7400 ///
7401 /// .value[2].f32: width of the ellipse.
7402 ///
7403 /// .value[3].f32: height of the ellipse;
7404 ///
7405 /// 4. Path:
7406 ///
7407 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7408 /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
7409 ///
7410 /// .value[2].f32: width of the path.
7411 ///
7412 /// .value[3].f32: height of the path.
7413 ///
7414 /// .string: command for drawing the path.
7415 ///
7416 ///
7417 ///
7418 /// Format of the return value [`ArkUI_AttributeItem`]:
7419 ///
7420 /// .value[0].i32: shape. The parameter type is [`ArkUI_SliderBlockStyle`].
7421 ///
7422 /// .string?: depending on the shape. Optional.
7423 ///
7424 /// ARKUI_SLIDER_BLOCK_STYLE_IMAGE: image resource of the slider. Example: /pages/common/icon.png.
7425 ///
7426 /// ARKUI_SLIDER_BLOCK_STYLE_SHAPE: custom shape of the slider.
7427 ///
7428 /// There are five types:
7429 ///
7430 /// 1. Rectangle:
7431 ///
7432 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7433 /// The value is <b>ARKUI_SHAPE_TYPE_RECTANGLE</b> for the rectangle shape.
7434 ///
7435 /// .value[2].f32: width of the rectangle.
7436 ///
7437 /// .value[3].f32: height of the rectangle.
7438 ///
7439 /// .value[4].f32: width of the rounded corner of the rectangle.
7440 ///
7441 /// .value[5].f32: height of the rounded corner of the rectangle.
7442 ///
7443 /// 2. Circle:
7444 ///
7445 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7446 /// The value is <b>ARKUI_SHAPE_TYPE_CIRCLE</b> for the circle shape.
7447 ///
7448 /// .value[2].f32: width of the circle.
7449 ///
7450 /// .value[3].f32: height of the circle.
7451 ///
7452 /// 3.Ellipse:
7453 ///
7454 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7455 /// The value is <b>ARKUI_SHAPE_TYPE_ELLIPSE</b> for the ellipse shape.
7456 ///
7457 /// .value[2].f32: width of the ellipse.
7458 ///
7459 /// .value[3].f32: height of the ellipse;
7460 ///
7461 /// 4. Path:
7462 ///
7463 /// .value[1].i32: type of shape. The parameter type is [`ArkUI_ShapeType`].
7464 /// The value is <b>ARKUI_SHAPE_TYPE_PATH</b> for the path shape.
7465 ///
7466 /// .value[2].f32: width of the path.
7467 ///
7468 /// .value[3].f32: height of the path.
7469 ///
7470 /// .string: command for drawing the path.
7471 pub const NODE_SLIDER_BLOCK_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17004);
7472 /// Defines the current value of the slider. This attribute can be set, reset, and obtained as required
7473 /// through APIs.
7474 ///
7475 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7476 ///
7477 /// .value[0].f32: current value.
7478 ///
7479 ///
7480 ///
7481 /// Format of the return value [`ArkUI_AttributeItem`]:
7482 ///
7483 /// .value[0].f32: current value.
7484 pub const NODE_SLIDER_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17005);
7485 /// Defines the minimum value of the slider. This attribute can be set, reset, and obtained as required
7486 /// through APIs.
7487 ///
7488 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7489 ///
7490 /// .value[0].f32: minimum value.
7491 ///
7492 ///
7493 ///
7494 /// Format of the return value [`ArkUI_AttributeItem`]:
7495 ///
7496 /// .value[0].f32: minimum value.
7497 pub const NODE_SLIDER_MIN_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17006);
7498 /// Defines the maximum value of the slider. This attribute can be set, reset, and obtained as required
7499 /// through APIs.
7500 ///
7501 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7502 ///
7503 /// .value[0].f32: maximum value.
7504 ///
7505 ///
7506 ///
7507 /// Format of the return value [`ArkUI_AttributeItem`]:
7508 ///
7509 /// .value[0].f32: maximum value.
7510 pub const NODE_SLIDER_MAX_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17007);
7511 /// Defines the step of the slider. This attribute can be set, reset, and obtained as required through APIs.
7512 ///
7513 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7514 ///
7515 /// .value[0].f32: step. The value range is [0.01, 100].
7516 ///
7517 ///
7518 ///
7519 /// Format of the return value [`ArkUI_AttributeItem`]:
7520 ///
7521 /// .value[0].f32: step. The value range is [0.01, 100].
7522 pub const NODE_SLIDER_STEP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17008);
7523 /// Defines whether the slider moves horizontally or vertically. This attribute can be set, reset, and
7524 /// obtained as required through APIs.
7525 ///
7526 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7527 ///
7528 /// .value[0].i32: whether the slider moves horizontally or vertically.
7529 /// The parameter type is [`ArkUI_SliderDirection`].
7530 ///
7531 ///
7532 ///
7533 /// Format of the return value [`ArkUI_AttributeItem`]:
7534 ///
7535 /// .value[0].i32: whether the slider moves horizontally or vertically.
7536 pub const NODE_SLIDER_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17009);
7537 /// Defines whether the slider values are reversed. This attribute can be set, reset, and obtained as required
7538 /// through APIs.
7539 ///
7540 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7541 ///
7542 /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
7543 /// reversed, and <b>0</b> means the opposite.
7544 ///
7545 ///
7546 ///
7547 /// Format of the return value [`ArkUI_AttributeItem`]:
7548 ///
7549 /// .value[0].i32: whether the slider values are reversed. The value <b>1</b> means that the slider values are
7550 /// reversed, and <b>0</b> means the opposite.
7551 pub const NODE_SLIDER_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17010);
7552 /// Defines the style of the slider thumb and track. This attribute can be set, reset, and obtained
7553 /// as required through APIs.
7554 ///
7555 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7556 ///
7557 /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
7558 ///
7559 ///
7560 ///
7561 /// Format of the return value [`ArkUI_AttributeItem`]:
7562 ///
7563 /// .value[0].i32: style of the slider thumb and track. The parameter type is [`ArkUI_SliderStyle`].
7564 pub const NODE_SLIDER_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17011);
7565 /// Sets the track thickness of the slider.
7566 /// This attribute can be set, reset, and obtained as required through APIs.
7567 ///
7568 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7569 ///
7570 /// .value[0].f32: track thickness of the slider, in vp. The default value is 4.0 vp when <b>NODE_SLIDER_STYLE</b>
7571 /// is set to <b>ARKUI_SLIDER_STYLE_OUT_SET</b> and 20.0 vp when <b>NODE_SLIDER_STYLE</b> is set to
7572 /// <b>ARKUI_SLIDER_STYLE_IN_SET</b>.
7573 ///
7574 ///
7575 ///
7576 /// Format of the return value [`ArkUI_AttributeItem`]:
7577 ///
7578 /// .value[0].f32: track thickness of the slider, in vp.
7579 pub const NODE_SLIDER_TRACK_THICKNESS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17012);
7580 /// Defines whether haptic feedback.
7581 /// This attribute can be set, reset, and obtained as required through APIs.
7582 ///
7583 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7584 ///
7585 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
7586 /// <b>false</b> means the opposite.
7587 ///
7588 ///
7589 ///
7590 /// Format of the return value [`ArkUI_AttributeItem`]:
7591 ///
7592 /// value[0].i32: whether to feedback.
7593 ///
7594 /// When enabling haptic feedback, you need to add "ohos.permission.VIBRATE" in the
7595 /// requestPermissions field of the module.json5 file to enable vibration permission.
7596 ///
7597 ///
7598 ///
7599 /// Available since API-level: 18
7600 #[cfg(feature = "api-18")]
7601 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
7602 pub const NODE_SLIDER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
7603 ArkUI_NodeAttributeType(17013);
7604 /// Sets a custom component on the leading side of the Slider component.
7605 ///
7606 /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
7607 ///
7608 /// .object: Parameter type [`ArkUI_NodeHandle`].
7609 ///
7610 /// The prefix component will be placed at the start position of the Slider,
7611 /// typically on the left side in LTR layouts.
7612 ///
7613 ///
7614 /// Available since API-level: 20
7615 #[cfg(feature = "api-20")]
7616 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7617 pub const NODE_SLIDER_PREFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17014);
7618 /// Sets a custom component on the trailing side of the Slider component.
7619 ///
7620 /// Attribute setting method [`link`] parameter format:
7621 ///
7622 /// .object: Parameter type [`ArkUI_NodeHandle`].
7623 ///
7624 /// The suffix component will be placed at the end position of the Slider,
7625 /// typically on the right side in LTR layouts.
7626 ///
7627 ///
7628 /// Available since API-level: 20
7629 #[cfg(feature = "api-20")]
7630 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
7631 pub const NODE_SLIDER_SUFFIX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(17015);
7632 /// Defines the color of the slider block. This attribute can be set, reset, and obtained as required through APIs.
7633 ///
7634 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7635 ///
7636 /// .object: array of color stops, each of which consists of a color and its stop position.
7637 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7638 ///
7639 ///
7640 /// colors: colors of the color stops.
7641 ///
7642 /// stops: stop positions of the color stops.
7643 ///
7644 /// size: number of colors.
7645 ///
7646 ///
7647 ///
7648 /// Format of the return value [`ArkUI_AttributeItem`]:
7649 ///
7650 /// .object: array of color stops, each of which consists of a color and its stop position.
7651 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7652 ///
7653 ///
7654 /// colors: colors of the color stops.
7655 ///
7656 /// stops: stop positions of the color stops.
7657 ///
7658 /// size: number of colors.
7659 ///
7660 ///
7661 ///
7662 /// Available since API-level: 21
7663 #[cfg(feature = "api-21")]
7664 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
7665 pub const NODE_SLIDER_BLOCK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
7666 ArkUI_NodeAttributeType(17016);
7667 /// Defines the background color of the slider. This attribute can be set, reset, and obtained as required
7668 /// through APIs.
7669 ///
7670 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7671 ///
7672 /// .object: array of color stops, each of which consists of a color and its stop position.
7673 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7674 ///
7675 ///
7676 /// colors: colors of the color stops.
7677 ///
7678 /// stops: stop positions of the color stops.
7679 ///
7680 /// size: number of colors.
7681 ///
7682 ///
7683 ///
7684 /// Format of the return value [`ArkUI_AttributeItem`]:
7685 ///
7686 /// .object: array of color stops, each of which consists of a color and its stop position.
7687 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7688 ///
7689 ///
7690 /// colors: colors of the color stops.
7691 ///
7692 /// stops: stop positions of the color stops.
7693 ///
7694 /// size: number of colors.
7695 ///
7696 ///
7697 ///
7698 /// Available since API-level: 21
7699 #[cfg(feature = "api-21")]
7700 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
7701 pub const NODE_SLIDER_TRACK_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
7702 ArkUI_NodeAttributeType(17017);
7703 /// Defines the color of the selected part of the slider track. This attribute can be set, reset, and obtained
7704 /// as required through APIs.
7705 ///
7706 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7707 ///
7708 /// .object: array of color stops, each of which consists of a color and its stop position.
7709 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7710 ///
7711 ///
7712 /// colors: colors of the color stops.
7713 ///
7714 /// stops: stop positions of the color stops.
7715 ///
7716 /// size: number of colors.
7717 ///
7718 ///
7719 ///
7720 /// Format of the return value [`ArkUI_AttributeItem`]:
7721 ///
7722 /// .object: array of color stops, each of which consists of a color and its stop position.
7723 /// The parameter type is [`ArkUI_ColorStop`]. Invalid colors are automatically skipped.
7724 ///
7725 ///
7726 /// colors: colors of the color stops.
7727 ///
7728 /// stops: stop positions of the color stops.
7729 ///
7730 /// size: number of colors.
7731 ///
7732 ///
7733 ///
7734 /// Available since API-level: 21
7735 #[cfg(feature = "api-21")]
7736 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
7737 pub const NODE_SLIDER_SELECTED_LINEAR_GRADIENT_COLOR: ArkUI_NodeAttributeType =
7738 ArkUI_NodeAttributeType(17018);
7739 /// Set the selection status of an option button. Attribute setting,
7740 /// attribute resetting, and attribute obtaining are supported.
7741 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7742 ///
7743 /// .value[0].i32: check status of an option button. The default value is false.
7744 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7745 ///
7746 /// .value[0].i32: selection status of an option button.
7747 pub const NODE_RADIO_CHECKED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18000);
7748 /// Set the styles of the selected and deselected states of the option button.
7749 /// The attribute setting, attribute resetting, and attribute obtaining are supported.
7750 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7751 ///
7752 /// .value[0]?. u32: color of the mother board in enabled state.
7753 ///
7754 /// The type is 0xARGB, and the default value is 0xFF007DFF.
7755 ///
7756 /// .value[1]?. u32: stroke color in the close state. The type is 0xARGB,
7757 ///
7758 /// and the default value is 0xFF182431.
7759 ///
7760 /// .value[2]?. u32: color of the internal round pie in the enabled state.
7761 ///
7762 /// The type is 0xARGB, and the default value is 0xFFFFFFFF.
7763 ///
7764 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7765 ///
7766 /// .value[0]. u32: color of the mother board in enabled state.
7767 ///
7768 /// The type is 0xARGB, and the default value is 0xFF007DFF.
7769 ///
7770 /// .value[1]. u32: stroke color in the close state. The type is 0xARGB,
7771 ///
7772 /// and the default value is 0xFF182431.
7773 ///
7774 /// .value[2]. u32: color of the internal round pie in the enabled state.
7775 ///
7776 /// The type is 0xARGB, and the default value is 0xFFFFFFF.
7777 pub const NODE_RADIO_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18001);
7778 /// Sets the value of the current radio.
7779 /// This attribute can be set, reset, and obtained as required through APIs.
7780 ///
7781 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7782 ///
7783 /// .string: radio value.
7784 ///
7785 ///
7786 ///
7787 /// Format of the return value [`ArkUI_AttributeItem`]:
7788 ///
7789 /// .string: radio value.
7790 pub const NODE_RADIO_VALUE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18002);
7791 /// Set the group name of the current Radio group, only one radio of the same group can be selected.
7792 /// This attribute can be set, reset, and obtained as required through APIs.
7793 ///
7794 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7795 ///
7796 /// .string: name of the group to which the current option box belongs.
7797 ///
7798 ///
7799 ///
7800 /// Format of the return value [`ArkUI_AttributeItem`]:
7801 ///
7802 /// .string: name of the group to which the current option box belongs.
7803 pub const NODE_RADIO_GROUP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(18003);
7804 /// Set the image frames for the image animator. Dynamic updates is not supported.
7805 /// This attribute can be set, reset, and obtained as required through APIs.
7806 ///
7807 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7808 ///
7809 /// .size: number of the images.
7810 ///
7811 /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
7812 ///
7813 ///
7814 ///
7815 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7816 ///
7817 /// .size: number of the images.
7818 ///
7819 /// .object: array of the images, the type is [`ArkUI_ImageAnimatorFrameInfo`] array.
7820 pub const NODE_IMAGE_ANIMATOR_IMAGES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19000);
7821 /// Set the playback status of the animation for the image animator.
7822 /// This attribute can be set, reset, and obtained as required through APIs.
7823 ///
7824 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7825 ///
7826 /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`],
7827 /// and the default value is ARKUI_ANIMATION_STATUS_INITIAL.
7828 ///
7829 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7830 ///
7831 /// .value[0].i32: the playback status of the animation, the type is [`ArkUI_AnimationStatus`].
7832 pub const NODE_IMAGE_ANIMATOR_STATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19001);
7833 /// Set the playback duration for the image animator. When the duration is 0, no image is played.
7834 /// The value change takes effect only at the beginning of the next cycle.
7835 /// When a separate duration is set in images, the setting of this attribute is invalid.
7836 /// This attribute can be set, reset, and obtained as required through APIs.
7837 ///
7838 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7839 ///
7840 /// .value[0].i32: the playback duration, the unit is ms and the default value is 1000.
7841 ///
7842 ///
7843 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7844 ///
7845 /// .value[0].i32: the playback duration, the unit is ms.
7846 pub const NODE_IMAGE_ANIMATOR_DURATION: ArkUI_NodeAttributeType =
7847 ArkUI_NodeAttributeType(19002);
7848 /// Set the playback direction for the image animator.
7849 /// This attribute can be set, reset, and obtained as required through APIs.
7850 ///
7851 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7852 ///
7853 /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
7854 /// and 1 indicates that images are played from the last one to the first one.
7855 ///
7856 ///
7857 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7858 ///
7859 /// .value[0].i32: the playback direction. 0 indicates that images are played from the first one to the last one,
7860 /// and 1 indicates that images are played from the last one to the first one.
7861 pub const NODE_IMAGE_ANIMATOR_REVERSE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(19003);
7862 /// Set whether the image size is the same as the component size.
7863 /// This attribute can be set, reset, and obtained as required through APIs.
7864 ///
7865 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7866 ///
7867 /// .value[0].i32: whether the image size is the same as the component size.
7868 /// 1 indicates the image size is the same as the component size.
7869 /// In this case, the width, height, top, and left attributes of the image are invalid.
7870 /// 0 indicates the image size is customized.
7871 /// The width, height, top, and left attributes of each image must be set separately.
7872 ///
7873 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7874 ///
7875 /// .value[0].i32: whether the image size is the same as the component size.
7876 /// 1 indicates the image size is the same as the component size.
7877 /// 0 indicates the image size is customized.
7878 pub const NODE_IMAGE_ANIMATOR_FIXED_SIZE: ArkUI_NodeAttributeType =
7879 ArkUI_NodeAttributeType(19004);
7880 /// Set the status before and after execution of the animation in the current playback direction.
7881 /// This attribute can be set, reset, and obtained as required through APIs.
7882 ///
7883 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7884 ///
7885 /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
7886 /// the type is {ArkUI_AnimationFillMode} and the default value is ARKUI_ANIMATION_FILL_MODE_FORWARDS.
7887 ///
7888 ///
7889 /// Attribute obtaining method return value [`ArkUI_AttributeItem`] format:
7890 ///
7891 /// .value[0].i32: the status before and after execution of the animation in the current playback direction,
7892 /// the type is {ArkUI_AnimationFillMode}.
7893 pub const NODE_IMAGE_ANIMATOR_FILL_MODE: ArkUI_NodeAttributeType =
7894 ArkUI_NodeAttributeType(19005);
7895 /// Set the number of times that the animation is played.
7896 /// This attribute can be set, reset, and obtained as required through APIs.
7897 ///
7898 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7899 ///
7900 /// .value[0].i32: the number of times that the animation is played.
7901 ///
7902 ///
7903 /// Attribute setting method [`ArkUI_AttributeItem`] Parameter format:
7904 ///
7905 /// .value[0].i32: the number of times that the animation is played.
7906 pub const NODE_IMAGE_ANIMATOR_ITERATION: ArkUI_NodeAttributeType =
7907 ArkUI_NodeAttributeType(19006);
7908 /// Defines the name of the checkboxgroup.
7909 /// This attribute can be set, reset, and obtained as required through APIs.
7910 ///
7911 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7912 ///
7913 /// .string: component name.
7914 ///
7915 ///
7916 ///
7917 /// Format of the return value [`ArkUI_AttributeItem`]:
7918 ///
7919 /// .string: component name.
7920 ///
7921 ///
7922 ///
7923 /// Available since API-level: 15
7924 #[cfg(feature = "api-15")]
7925 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7926 pub const NODE_CHECKBOX_GROUP_NAME: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21000);
7927 /// Defines whether the checkboxgroup is selected.
7928 /// This attribute can be set, reset, and obtained as required through APIs.
7929 ///
7930 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7931 ///
7932 /// .value[0].i32: whether the checkboxgroup is selected.
7933 /// The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
7934 ///
7935 ///
7936 ///
7937 /// Format of the return value [`ArkUI_AttributeItem`]:
7938 ///
7939 /// .value[0].i32: The value <b>1</b> means that the checkboxgroup is selected, and <b>0</b> means the opposite.
7940 ///
7941 ///
7942 ///
7943 /// Available since API-level: 15
7944 #[cfg(feature = "api-15")]
7945 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7946 pub const NODE_CHECKBOX_GROUP_SELECT_ALL: ArkUI_NodeAttributeType =
7947 ArkUI_NodeAttributeType(21001);
7948 /// Defines the color of the checkboxgroup when it is selected.
7949 /// This attribute can be set, reset, and obtained as required through APIs.
7950 ///
7951 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7952 ///
7953 /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format,
7954 /// for example, <b>0xFF1122FF</b>.
7955 ///
7956 ///
7957 ///
7958 /// Format of the return value [`ArkUI_AttributeItem`]:
7959 ///
7960 /// .value[0].u32: color of the checkboxgroup when it is selected, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7961 ///
7962 ///
7963 /// Available since API-level: 15
7964 #[cfg(feature = "api-15")]
7965 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7966 pub const NODE_CHECKBOX_GROUP_SELECTED_COLOR: ArkUI_NodeAttributeType =
7967 ArkUI_NodeAttributeType(21002);
7968 /// Defines the border color of the checkboxgroup when it is not selected.
7969 /// This attribute can be set, reset, and obtained as required through APIs.
7970 ///
7971 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7972 ///
7973 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7974 ///
7975 ///
7976 ///
7977 /// Format of the return value [`ArkUI_AttributeItem`]:
7978 ///
7979 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7980 ///
7981 ///
7982 /// Available since API-level: 15
7983 #[cfg(feature = "api-15")]
7984 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
7985 pub const NODE_CHECKBOX_GROUP_UNSELECTED_COLOR: ArkUI_NodeAttributeType =
7986 ArkUI_NodeAttributeType(21003);
7987 /// Defines the internal icon style of the checkboxgroup.
7988 /// This attribute can be set, reset, and obtained as required through APIs.
7989 ///
7990 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
7991 ///
7992 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
7993 ///
7994 /// .value[1]?.f32: size of the internal mark, in vp. Optional.
7995 ///
7996 /// .value[2]?.f32: stroke width of the internal mark, in vp. Optional. The default value is <b>2</b>.
7997 ///
7998 ///
7999 ///
8000 /// Format of the return value [`ArkUI_AttributeItem`]:
8001 ///
8002 /// .value[0].u32: border color, in 0xARGB format, for example, <b>0xFF1122FF</b>.
8003 ///
8004 /// .value[1].f32: size of the internal mark, in vp.
8005 ///
8006 /// .value[2].f32: stroke width of the internal mark, in vp. The default value is <b>2</b>.
8007 ///
8008 ///
8009 ///
8010 /// Available since API-level: 15
8011 #[cfg(feature = "api-15")]
8012 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8013 pub const NODE_CHECKBOX_GROUP_MARK: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21004);
8014 /// Defines the shape of the checkboxgroup.
8015 /// This attribute can be set, reset, and obtained as required through APIs.
8016 ///
8017 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8018 ///
8019 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
8020 ///
8021 ///
8022 ///
8023 /// Format of the return value [`ArkUI_AttributeItem`]:
8024 ///
8025 /// .value[0].i32: component shape. The parameter type is [`ArkUI_CheckboxShape`].
8026 ///
8027 ///
8028 /// Available since API-level: 15
8029 #[cfg(feature = "api-15")]
8030 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8031 pub const NODE_CHECKBOX_GROUP_SHAPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(21005);
8032 /// Defines the alignment mode of the child components in the container. This attribute can be set, reset,
8033 /// and obtained as required through APIs.
8034 ///
8035 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8036 ///
8037 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
8038 /// The default value is <b>ARKUI_ALIGNMENT_CENTER</b>.
8039 ///
8040 ///
8041 ///
8042 /// Format of the return value [`ArkUI_AttributeItem`]:
8043 ///
8044 /// .value[0].i32: alignment mode. The data type is [`ArkUI_Alignment`].
8045 pub const NODE_STACK_ALIGN_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1000000);
8046 /// Defines the scrollbar status. This attribute can be set, reset, and obtained as required through APIs.
8047 ///
8048 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8049 ///
8050 /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`]. The default value is
8051 /// <b>ARKUI_SCROLL_BAR_DISPLAY_MODE_AUTO</b>.
8052 ///
8053 ///
8054 ///
8055 /// Format of the return value [`ArkUI_AttributeItem`]:
8056 ///
8057 /// .value[0].i32: scrollbar status. The parameter type is [`ArkUI_ScrollBarDisplayMode`].
8058 pub const NODE_SCROLL_BAR_DISPLAY_MODE: ArkUI_NodeAttributeType =
8059 ArkUI_NodeAttributeType(1002000);
8060 /// Defines the width of the scrollbar. This attribute can be set, reset, and obtained as required
8061 /// through APIs.
8062 ///
8063 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8064 ///
8065 /// .value[0].f32: width of the scrollbar, in vp. The default value is <b>4</b>.
8066 ///
8067 ///
8068 ///
8069 /// Format of the return value [`ArkUI_AttributeItem`]:
8070 ///
8071 /// .value[0].f32: width of the scrollbar, in vp.
8072 pub const NODE_SCROLL_BAR_WIDTH: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002001);
8073 /// Defines the color of the scrollbar. This attribute can be set, reset, and obtained as required
8074 /// through APIs.
8075 ///
8076 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8077 ///
8078 /// .data[0].u32: color of the scrollbar, in 0xARGB format.
8079 ///
8080 ///
8081 ///
8082 /// Format of the return value [`ArkUI_AttributeItem`]:
8083 ///
8084 /// .data[0].u32: color of the scrollbar, in 0xARGB format.
8085 pub const NODE_SCROLL_BAR_COLOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002002);
8086 /// Defines the scroll direction. This attribute can be set, reset, and obtained as required through APIs.
8087 ///
8088 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8089 ///
8090 /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
8091 /// The default value is <b>ARKUI_SCROLL_DIRECTION_VERTICAL</b>.
8092 ///
8093 ///
8094 ///
8095 /// Format of the return value [`ArkUI_AttributeItem`]:
8096 ///
8097 /// .value[0].i32: scroll direction. The parameter type is [`ArkUI_ScrollDirection`].
8098 pub const NODE_SCROLL_SCROLL_DIRECTION: ArkUI_NodeAttributeType =
8099 ArkUI_NodeAttributeType(1002003);
8100 /// Defines the effect used at the edges of the component when the boundary of the scrollable content is
8101 /// reached. This attribute can be set, reset, and obtained as required through APIs.
8102 ///
8103 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8104 ///
8105 /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
8106 /// The parameter type is [`ArkUI_EdgeEffect`]. The default value is <b>ARKUI_EDGE_EFFECT_NONE</b>.
8107 ///
8108 /// .value[1]?.i32: whether to enable the scroll effect when the component content size is smaller than the
8109 /// component itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the
8110 /// opposite. The default value for the List/Grid/WaterFlow component is <b>0</b>, and the default value for the
8111 /// Scroll component is <b>1</b>.
8112 ///
8113 /// .value[2]?.i32: direction in which the effect takes effect. The parameter type is [`ArkUI_EffectEdge`].
8114 /// The default value is <b>ARKUI_EFFECT_EDGE_START | ARKUI_EFFECT_EDGE_END</b>. This parameter is supported since
8115 /// API version 16.
8116 ///
8117 ///
8118 ///
8119 /// Format of the return value [`ArkUI_AttributeItem`]:
8120 ///
8121 /// .value[0].i32: effect used at the edges of the component when the boundary of the scrollable content is reached.
8122 /// The parameter type is [`ArkUI_EdgeEffect`].
8123 ///
8124 /// .value[1].i32: whether to enable the scroll effect when the component content size is smaller than the component
8125 /// itself. Optional. The value <b>1</b> means to enable the scroll effect, and <b>0</b> means the opposite.
8126 ///
8127 /// .value[2].i32: edge for which the effect takes effect when the boundary of the scrollable content is reached.
8128 /// The parameter type is [`ArkUI_EffectEdge`]. This parameter is supported since API version 16.
8129 pub const NODE_SCROLL_EDGE_EFFECT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002004);
8130 /// Defines whether to support scroll gestures. When this attribute is set to <b>false</b>, scrolling by
8131 /// finger or mouse is not supported, but the scroll controller API is not affected.
8132 ///
8133 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8134 ///
8135 /// .value[0].i32: whether to support scroll gestures. The default value is <b>true</b>.
8136 ///
8137 ///
8138 ///
8139 /// Format of the return value [`ArkUI_AttributeItem`]:
8140 ///
8141 /// .value[0].i32: whether to support scroll gestures.
8142 pub const NODE_SCROLL_ENABLE_SCROLL_INTERACTION: ArkUI_NodeAttributeType =
8143 ArkUI_NodeAttributeType(1002005);
8144 /// Defines the friction coefficient. It applies only to gestures in the scrolling area, and it affects only
8145 /// indirectly the scroll chaining during the inertial scrolling process.
8146 ///
8147 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8148 ///
8149 /// .value[0].f32: friction coefficient. The default value is <b>0.6</b> for non-wearable devices and <b>0.9</b>
8150 /// for wearable devices.
8151 ///
8152 ///
8153 ///
8154 /// Format of the return value [`ArkUI_AttributeItem`]:
8155 ///
8156 /// .value[0].f32: friction coefficient.
8157 pub const NODE_SCROLL_FRICTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002006);
8158 /// Defines the scroll snapping mode. This attribute can be set, reset, and obtained as required through APIs.
8159 ///
8160 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8161 ///
8162 /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8163 /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
8164 ///
8165 /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
8166 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8167 /// start edge and the first snap point. The default value is <b>true</b>. It is valid only when there are multiple
8168 /// snap points.
8169 ///
8170 /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
8171 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8172 /// end edge and the last snap point. The default value is <b>true</b>. It is valid only when there are multiple
8173 /// snap points.
8174 ///
8175 /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an
8176 /// edge to which the <b><Scroll></b> component can scroll.
8177 ///
8178 ///
8179 ///
8180 /// Format of the return value [`ArkUI_AttributeItem`]:
8181 ///
8182 /// .value[0].i32: alignment mode for the scroll snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8183 ///
8184 /// .value[1].i32: whether to enable the snap to start feature. When scroll snapping is defined for the
8185 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8186 /// start edge and the first snap point.
8187 ///
8188 /// .value[2].i32: Whether to enable the snap to end feature. When scroll snapping is defined for the
8189 /// <b><Scroll></b> component, setting this attribute to <b>false</b> enables the component to scroll between the
8190 /// end edge and the last snap point.
8191 ///
8192 /// .value[3...].f32: snap points for the <b><Scroll></b> component. Each snap point defines the offset from an edge
8193 /// to which the <b><Scroll></b> component can scroll.
8194 pub const NODE_SCROLL_SNAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002007);
8195 /// Defines the nested scrolling options. This attribute can be set, reset, and obtained as required
8196 /// through APIs.
8197 ///
8198 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8199 ///
8200 /// .value[0].i32: nested scrolling option when the component scrolls forward.
8201 /// The parameter type is [`ArkUI_ScrollNestedMode`].
8202 ///
8203 /// .value[1].i32: nested scrolling option when the component scrolls backward.
8204 /// The parameter type is [`ArkUI_ScrollNestedMode`].
8205 ///
8206 ///
8207 ///
8208 /// Format of the return value [`ArkUI_AttributeItem`]:
8209 ///
8210 /// .value[0].i32: nested scrolling option when the component scrolls forward.
8211 /// The parameter type is [`ArkUI_ScrollNestedMode`].
8212 ///
8213 /// .value[1].i32: nested scrolling option when the component scrolls backward.
8214 /// The parameter type is [`ArkUI_ScrollNestedMode`].
8215 pub const NODE_SCROLL_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002008);
8216 /// Defines the specified position to scroll to. This attribute can be set, reset, and obtained as required
8217 /// through APIs.
8218 ///
8219 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8220 ///
8221 /// .value[0].f32: horizontal scrolling offset, in vp.
8222 ///
8223 /// .value[1].f32: vertical scrolling offset, in vp.
8224 ///
8225 /// .value[2]?.i32: scrolling duration, in milliseconds. Optional.
8226 ///
8227 /// .value[3]?.i32: scrolling curve. Optional. The parameter type is [`ArkUI_AnimationCurve`].
8228 /// The default value is <b>ARKUI_CURVE_EASE</b>.
8229 ///
8230 /// .value[4]?.i32: whether to enable the default spring animation. Optional.
8231 /// The default value <b>0</b> means not to enable the default spring animation.
8232 ///
8233 /// .value[5]?.i32: whether to convert the scroll animation to an overshoot animation when the boundary is reached.
8234 /// Optional.
8235 ///
8236 /// .value[6]?.i32: whether the component can stop at an overscrolled position.
8237 /// This parameter is supported since API version 20.
8238 ///
8239 ///
8240 ///
8241 /// Format of the return value [`ArkUI_AttributeItem`]:
8242 ///
8243 /// .value[0].f32: horizontal scrolling offset, in vp.
8244 ///
8245 /// .value[1].f32: vertical scrolling offset, in vp.
8246 pub const NODE_SCROLL_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002009);
8247 /// Defines the edge position to scroll to. This attribute can be set and obtained as required through APIs.
8248 ///
8249 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8250 ///
8251 /// .value[0].i32: edge position to scroll to. The parameter type is [`ArkUI_ScrollEdge`].
8252 ///
8253 ///
8254 ///
8255 /// Format of the return value [`ArkUI_AttributeItem`]:
8256 ///
8257 /// .value[0].i32: whether the container at the edge position. The value <b>-1</b> means that the container is not
8258 /// at the edge position. If the container is at the edge position, the parameter type is [`ArkUI_ScrollEdge`].
8259 pub const NODE_SCROLL_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002010);
8260 /// Defines whether to enable the swipe-to-turn-pages feature. This attribute can be set, reset, and obtained
8261 /// as required through APIs.
8262 ///
8263 /// If both <b>enablePaging</b> and <b>scrollSnap</b> are set, <b>scrollSnap</b> takes effect, but
8264 /// <b>enablePaging</b> does not.
8265 ///
8266 ///
8267 ///
8268 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8269 ///
8270 /// .value[0].i32: whether to enable the swipe-to-turn-pages feature. The default value is <b>false</b>.
8271 ///
8272 ///
8273 ///
8274 /// Format of the return value [`ArkUI_AttributeItem`]:
8275 ///
8276 /// .value[0].i32: whether to enable the swipe-to-turn-pages feature.
8277 pub const NODE_SCROLL_ENABLE_PAGING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002011);
8278 /// Scroll to the next or previous page.
8279 ///
8280 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8281 ///
8282 /// .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1
8283 /// indicates scroll to previous page.
8284 ///
8285 /// .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable.
8286 pub const NODE_SCROLL_PAGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002012);
8287 /// Scroll a specified distance.
8288 ///
8289 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8290 ///
8291 /// .value[0].f32:Horizontal scrolling distance in vp;
8292 ///
8293 /// .value[1].f32: Vertical scrolling distance in vp;
8294 pub const NODE_SCROLL_BY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002013);
8295 /// Performs inertial scrolling based on the initial velocity passed in.
8296 ///
8297 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8298 ///
8299 /// .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is
8300 /// considered as invalid, and the scrolling for this instance will not take effect. If the value is positive,
8301 /// the scroll will move downward; if the value is negative, the scroll will move upward.
8302 ///
8303 ///
8304 ///
8305 /// Available since API-level: 13
8306 #[cfg(feature = "api-13")]
8307 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
8308 pub const NODE_SCROLL_FLING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002014);
8309 /// Sets the fading effect for the edges of scrollable components.
8310 ///
8311 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8312 /// .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect,
8313 /// and 1 means to enable it.
8314 /// .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32.
8315 ///
8316 /// Format of the return value [`ArkUI_AttributeItem`]:
8317 /// .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is
8318 /// disabled, and 1 means that it is enabled.
8319 /// .value[1].f32: length of the fading effect on edges, in vp.
8320 ///
8321 ///
8322 /// Available since API-level: 14
8323 #[cfg(feature = "api-14")]
8324 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
8325 pub const NODE_SCROLL_FADING_EDGE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002015);
8326 /// Obtains the total size of all child components when fully expanded in the scrollable component.
8327 ///
8328 /// Format of the return value [`ArkUI_AttributeItem`]:
8329 ///
8330 /// .value[0].f32: total width of all child components when fully expanded in the scrollable component.
8331 /// The default unit is vp.
8332 ///
8333 /// .value[1].f32: total height of all child components when fully expanded in the scrollable component.
8334 /// The default unit is vp.
8335 ///
8336 /// When <b>NODE_PADDING</b>, <b>NODE_MARGIN</b>, or <b>NODE_BORDER_WIDTH</b> is set, the values are rounded to the
8337 /// nearest pixel when being converted from vp to px.
8338 /// The returned values are calculated based on these rounded pixel values.
8339 ///
8340 ///
8341 ///
8342 /// Available since API-level: 14
8343 #[cfg(feature = "api-14")]
8344 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
8345 pub const NODE_SCROLL_SIZE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002016);
8346 /// Sets the offset from the start of the scrollable components content.
8347 ///
8348 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8349 ///
8350 /// .value[0].f32: offset from the start of the content, in vp.
8351 ///
8352 ///
8353 ///
8354 /// Format of the return value [`ArkUI_AttributeItem`]:
8355 ///
8356 /// .value[0].f32: offset from the start of the content, in vp.
8357 ///
8358 ///
8359 ///
8360 /// Available since API-level: 15
8361 #[cfg(feature = "api-15")]
8362 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8363 pub const NODE_SCROLL_CONTENT_START_OFFSET: ArkUI_NodeAttributeType =
8364 ArkUI_NodeAttributeType(1002017);
8365 /// Sets the offset from the end of the scrollable components content.
8366 ///
8367 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8368 ///
8369 /// .value[0].f32: offset from the end of the content, in vp.
8370 ///
8371 ///
8372 ///
8373 /// Format of the return value [`ArkUI_AttributeItem`]:
8374 ///
8375 /// .value[0].f32: offset from the end of the content, in vp.
8376 ///
8377 ///
8378 ///
8379 /// Available since API-level: 15
8380 #[cfg(feature = "api-15")]
8381 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8382 pub const NODE_SCROLL_CONTENT_END_OFFSET: ArkUI_NodeAttributeType =
8383 ArkUI_NodeAttributeType(1002018);
8384 /// Defines the maximum starting fling speed of the scrollable when the fling animation starts.
8385 /// This attribute can be set, reset, and obtained as required through APIs.
8386 ///
8387 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8388 ///
8389 /// .value[0].f32: maximum starting fling speed, Unit: vp/s
8390 ///
8391 ///
8392 ///
8393 /// Format of the return value [`ArkUI_AttributeItem`]:
8394 ///
8395 /// .value[0].f32: maximum starting fling speed, Unit: vp/s
8396 ///
8397 ///
8398 ///
8399 /// Available since API-level: 18
8400 #[cfg(feature = "api-18")]
8401 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8402 pub const NODE_SCROLL_FLING_SPEED_LIMIT: ArkUI_NodeAttributeType =
8403 ArkUI_NodeAttributeType(1002019);
8404 /// Defines the clip mode of the scrollable.
8405 /// This attribute can be set, reset, and obtained as required through APIs.
8406 ///
8407 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8408 ///
8409 /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
8410 ///
8411 ///
8412 ///
8413 /// Format of the return value [`ArkUI_AttributeItem`]:
8414 ///
8415 /// .value[0].i32: clip content mode, The parameter type is [`ArkUI_ContentClipMode`].
8416 ///
8417 ///
8418 ///
8419 /// Available since API-level: 18
8420 #[cfg(feature = "api-18")]
8421 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
8422 pub const NODE_SCROLL_CLIP_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002020);
8423 /// Defines whether the scrollable scrolls back to top when status bar is clicked.
8424 /// This attribute can be set, reset, and obtained as required through APIs.
8425 ///
8426 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8427 ///
8428 /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
8429 /// 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>.
8430 ///
8431 ///
8432 ///
8433 /// Format of the return value [`ArkUI_AttributeItem`]:
8434 ///
8435 /// .value[0].i32: whether the scrollable scrolls back to top when status bar is clicked.
8436 ///
8437 ///
8438 ///
8439 /// Available since API-level: 15
8440 #[cfg(feature = "api-15")]
8441 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8442 pub const NODE_SCROLL_BACK_TO_TOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002021);
8443 /// Defines the margin of the scrollbar.
8444 /// This attribute can be set, reset, and obtained as required through APIs.
8445 ///
8446 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8447 ///
8448 /// .value[0].f32: start margin of the scrollbar, in vp. The default value is <b>0</b>.
8449 ///
8450 /// .value[1].f32: end margin of the scrollbar, in vp. The default value is <b>0</b>.
8451 ///
8452 ///
8453 ///
8454 /// Format of the return value [`ArkUI_AttributeItem`]:
8455 ///
8456 /// .value[0].f32: start margin of the scrollbar, in vp.
8457 ///
8458 /// .value[1].f32: end margin of the scrollbar, in vp.
8459 ///
8460 ///
8461 ///
8462 /// Available since API-level: 20
8463 #[cfg(feature = "api-20")]
8464 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8465 pub const NODE_SCROLL_BAR_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002022);
8466 /// Sets the maximum zoom scale for scrollable content.
8467 ///
8468 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8469 ///
8470 /// .value[0].f32: maximum zoom scale to set.
8471 ///
8472 ///
8473 ///
8474 /// Format of the return value [`ArkUI_AttributeItem`]:
8475 ///
8476 /// .value[0].f32: current maximum zoom scale.
8477 ///
8478 ///
8479 ///
8480 /// Available since API-level: 20
8481 #[cfg(feature = "api-20")]
8482 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8483 pub const NODE_SCROLL_MAX_ZOOM_SCALE: ArkUI_NodeAttributeType =
8484 ArkUI_NodeAttributeType(1002023);
8485 /// Sets the minimum zoom scale for scrollable content.
8486 ///
8487 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8488 ///
8489 /// .value[0].f32: minimum zoom scale to set.
8490 ///
8491 ///
8492 ///
8493 /// Format of the return value [`ArkUI_AttributeItem`]:
8494 ///
8495 /// .value[0].f32: current minimum zoom scale.
8496 ///
8497 ///
8498 ///
8499 /// Available since API-level: 20
8500 #[cfg(feature = "api-20")]
8501 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8502 pub const NODE_SCROLL_MIN_ZOOM_SCALE: ArkUI_NodeAttributeType =
8503 ArkUI_NodeAttributeType(1002024);
8504 /// Sets the zoom scale for scrollable content.
8505 ///
8506 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8507 ///
8508 /// .value[0].f32: zoom scale to set.
8509 ///
8510 ///
8511 ///
8512 /// Format of the return value [`ArkUI_AttributeItem`]:
8513 ///
8514 /// .value[0].f32: current zoom scale.
8515 ///
8516 ///
8517 ///
8518 /// Available since API-level: 20
8519 #[cfg(feature = "api-20")]
8520 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8521 pub const NODE_SCROLL_ZOOM_SCALE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1002025);
8522 /// Sets whether to enable the zoom bounce effect when the scaling exceeds the limits.
8523 ///
8524 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8525 ///
8526 /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
8527 /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
8528 ///
8529 ///
8530 ///
8531 /// Format of the return value [`ArkUI_AttributeItem`]:
8532 ///
8533 /// .value[0].i32: whether to enable the zoom bounce effect when the scaling exceeds the limits.
8534 /// The value <b>1</b> means to enable the effect, and <b>0</b> means the opposite.
8535 ///
8536 ///
8537 ///
8538 /// Available since API-level: 20
8539 #[cfg(feature = "api-20")]
8540 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8541 pub const NODE_SCROLL_ENABLE_BOUNCES_ZOOM: ArkUI_NodeAttributeType =
8542 ArkUI_NodeAttributeType(1002026);
8543 /// Sets the direction in which the list items are arranged.
8544 /// This attribute can be set, reset, and obtained as required through APIs.
8545 ///
8546 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8547 ///
8548 /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
8549 /// The default value is <b>ARKUI_AXIS_VERTICAL</b>.
8550 ///
8551 ///
8552 ///
8553 /// Format of the return value [`ArkUI_AttributeItem`]:
8554 ///
8555 /// .value[0].i32: direction in which the list items are arranged. The parameter type is [`ArkUI_Axis`].
8556 pub const NODE_LIST_DIRECTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003000);
8557 /// Defines whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
8558 /// component. This attribute can be set, reset, and obtained as required through APIs.
8559 ///
8560 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8561 ///
8562 /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
8563 /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
8564 /// [`ArkUI_StickyStyle`]. The default value is <b>ARKUI_STICKY_STYLE_NONE</b>.
8565 ///
8566 ///
8567 ///
8568 /// Format of the return value [`ArkUI_AttributeItem`]:
8569 ///
8570 /// .value[0].i32: whether to pin the header to the top or the footer to the bottom in the <b><ListItemGroup></b>
8571 /// component. It is used together with the <b><ListItemGroup></b> component. The parameter type is
8572 /// [`ArkUI_StickyStyle`].
8573 pub const NODE_LIST_STICKY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003001);
8574 /// Defines the spacing between list items. This attribute can be set, reset, and obtained as required
8575 /// through APIs.
8576 ///
8577 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8578 ///
8579 /// .value[0].f32: spacing between list items along the main axis. The default value is <b>0</b>.
8580 ///
8581 ///
8582 ///
8583 /// Format of the return value [`ArkUI_AttributeItem`]:
8584 ///
8585 /// .value[0].f32: spacing between list items along the main axis.
8586 pub const NODE_LIST_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003002);
8587 /// Defines the list adapter. The attribute can be set, reset, and obtained as required through APIs.
8588 ///
8589 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8590 ///
8591 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
8592 pub const NODE_LIST_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003003);
8593 /// Sets the number of cached items in the list adapter.
8594 /// This attribute can be set, reset, and obtained as required through APIs.
8595 ///
8596 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8597 ///
8598 /// .value[0].i32: number of cached items in the list adapter.
8599 ///
8600 /// .value[1]?.i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
8601 /// to show cached items. The default value is <b>0</b>. This parameter is supported since API version 15.
8602 ///
8603 /// .value[2]?.i32: maximum cache count. This parameter is supported since API version 22.
8604 ///
8605 ///
8606 /// Format of the return value [`ArkUI_AttributeItem`]:
8607 ///
8608 /// .value[0].i32: number of cached items in the list adapter.
8609 ///
8610 /// .value[1].i32: whether to show cached items. The value <b>0</b> means to hide cached items, and <b>0</b> means
8611 /// to show cached items. This parameter is supported since API version 15.
8612 ///
8613 /// .value[2].i32: maximum cache count. This parameter is supported since API version 22.
8614 pub const NODE_LIST_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003004);
8615 /// Scroll to the specified index.
8616 ///
8617 /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
8618 /// lead to performance issues when loading a large number of items.
8619 ///
8620 ///
8621 ///
8622 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8623 ///
8624 /// .value[0].i32:The index value of the target element to be slid to in the current container.
8625 ///
8626 /// .value[1]?.i32:Set whether there is an action when sliding to the index value of a list item in the list, where
8627 /// 1 indicates an action and 0 indicates no action. Default value: 0。
8628 ///
8629 /// .value[2]?.i32:Specify the alignment of the sliding element with the current container,The parameter type is
8630 /// [`ArkUI_ScrollAlignment`], default value is ARKUI_SCROLL_ALIGNMENT_START.
8631 ///
8632 /// .value[3]?.f32: extra offset, in vp. The default value is <b>0</b>.
8633 /// This parameter is supported since API version 15.
8634 pub const NODE_LIST_SCROLL_TO_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003005);
8635 /// Sets the alignment mode of list items along the cross axis when the cross-axis width of the list is
8636 /// greater than the cross-axis width of list items multiplied by the value of lanes.
8637 /// This attribute can be set, reset, and obtained as required through APIs.
8638 ///
8639 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8640 ///
8641 /// .value[0].i32: alignment mode of list items along the cross axis.
8642 /// The parameter type is [`ArkUI_ListItemAlignment`].
8643 ///
8644 ///
8645 ///
8646 /// Format of the return value [`ArkUI_AttributeItem`]:
8647 ///
8648 /// .value[0].i32: alignment mode of list items along the cross axis.
8649 /// The parameter type is [`ArkUI_ListItemAlignment`].
8650 pub const NODE_LIST_ALIGN_LIST_ITEM: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003006);
8651 /// Set the default spindle size for the List subcomponent.
8652 ///
8653 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8654 ///
8655 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8656 ///
8657 ///
8658 ///
8659 /// Format of the return value [`ArkUI_AttributeItem`]:
8660 ///
8661 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
8662 pub const NODE_LIST_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
8663 ArkUI_NodeAttributeType(1003007);
8664 /// Set the index value of the item displayed at the start of the viewport
8665 /// when the current List is first loaded.This attribute can be set, reset, and obtained as required through APIs.
8666 ///
8667 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8668 ///
8669 /// .value[0].i32: index value of the item displayed at
8670 /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
8671 ///
8672 ///
8673 ///
8674 /// Format of the return value [`ArkUI_AttributeItem`]:
8675 ///
8676 /// .value[0].i32: index value of the item displayed at
8677 /// the start of the viewport when the current List is loaded for the first time. Default value: 0.
8678 pub const NODE_LIST_INITIAL_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003008);
8679 /// sets the ListItem splitter style. By default, there is no splitter.
8680 /// This attribute can be set, reset, and obtained as required through APIs.
8681 ///
8682 /// Attribute setting method parameter [`ArkUI_AttributeItem`] Format:
8683 ///
8684 /// .value[0].u32: divider color, type 0xargb;
8685 ///
8686 /// .value[1].f32: dividing line width;
8687 ///
8688 /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
8689 ///
8690 /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
8691 ///
8692 ///
8693 ///
8694 /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
8695 ///
8696 /// .value[0].u32: divider color, type 0xargb;
8697 ///
8698 /// .value[1].f32: dividing line width;
8699 ///
8700 /// .value[2].f32: the distance between the divider and the beginning of the side of the list, unit vp;
8701 ///
8702 /// .value[3].f32: the distance between the divider and the end of the side of the list (unit: vp).
8703 pub const NODE_LIST_DIVIDER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003009);
8704 /// Scrolls to the item with the specified index in the specified list item group.
8705 ///
8706 /// When <b>smooth</b> is set to <b>true</b>, all passed items are loaded and counted in layout calculation.
8707 /// This may result in performance issues if a large number of items are involved.
8708 ///
8709 ///
8710 ///
8711 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8712 ///
8713 /// .value[0].i32: index of the target list item group in the current list.
8714 ///
8715 /// .value[1].i32: index of the target list item in the list item group.
8716 ///
8717 /// .value[2]?.i32: whether to enable the smooth animation for scrolling to the item with the specified index.
8718 /// The value <b>1</b> means to enable the animation, and <b>0</b> means the opposite.
8719 /// The default value is <b>0</b>.
8720 ///
8721 /// .value[3]?.i32: how the item to scroll to is aligned with the container. The parameter type is
8722 /// [`ArkUI_ScrollAlignment`]. The default value is <b>ARKUI_SCROLL_ALIGNMENT_START</b>.
8723 ///
8724 ///
8725 ///
8726 /// Available since API-level: 15
8727 #[cfg(feature = "api-15")]
8728 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8729 pub const NODE_LIST_SCROLL_TO_INDEX_IN_GROUP: ArkUI_NodeAttributeType =
8730 ArkUI_NodeAttributeType(1003010);
8731 /// Sets the number of lanes in the list.
8732 /// This attribute can be set, reset, and obtained as required through APIs.
8733 ///
8734 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8735 ///
8736 /// .value[0].u32: number of lanes in the list. If the maximum and minimum lane widths are set, setting the number
8737 /// of lanes will not take effect.
8738 ///
8739 /// .value[1]?.f32: minimum lane width, in vp.
8740 ///
8741 /// .value[2]?.f32: maximum column width, in vp.
8742 ///
8743 /// .value[3]?.f32: lane spacing, in vp.
8744 ///
8745 ///
8746 ///
8747 /// Format of the return value [`ArkUI_AttributeItem`]:
8748 ///
8749 /// .value[0].u32: number of lanes in the list.
8750 ///
8751 /// .value[1].f32: minimum lane width, in vp.
8752 ///
8753 /// .value[2].f32: maximum column width, in vp.
8754 ///
8755 /// .value[3].f32: lane spacing, in vp.
8756 ///
8757 ///
8758 ///
8759 ///
8760 /// Available since API-level: 15
8761 #[cfg(feature = "api-15")]
8762 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8763 pub const NODE_LIST_LANES: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003011);
8764 /// Sets the list snap alignment mode.
8765 ///
8766 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8767 ///
8768 /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8769 /// The default value is <b>ARKUI_SCROLL_SNAP_ALIGN_NONE</b>.
8770 ///
8771 ///
8772 ///
8773 /// Format of the return value [`ArkUI_AttributeItem`]:
8774 ///
8775 /// .value[0].i32: alignment mode for the list snap position. The parameter type is [`ArkUI_ScrollSnapAlign`].
8776 ///
8777 ///
8778 ///
8779 /// Available since API-level: 15
8780 #[cfg(feature = "api-15")]
8781 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8782 pub const NODE_LIST_SCROLL_SNAP_ALIGN: ArkUI_NodeAttributeType =
8783 ArkUI_NodeAttributeType(1003012);
8784 /// Sets whether to maintain the visible content's position when data is inserted or deleted outside the
8785 /// display area of the <b>List</b> component.
8786 ///
8787 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8788 ///
8789 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
8790 /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
8791 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8792 ///
8793 ///
8794 ///
8795 /// Format of the return value [`ArkUI_AttributeItem`]:
8796 ///
8797 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside the
8798 /// display area of the <b>List</b> component. The value <b>0</b> means not to maintain the visible content's
8799 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
8800 ///
8801 ///
8802 ///
8803 /// Available since API-level: 15
8804 #[cfg(feature = "api-15")]
8805 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
8806 pub const NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
8807 ArkUI_NodeAttributeType(1003013);
8808 /// Sets whether the <b>List</b> component starts layout from the end.
8809 ///
8810 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8811 ///
8812 /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
8813 /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
8814 ///
8815 ///
8816 ///
8817 /// Format of the return value [`ArkUI_AttributeItem`]:
8818 ///
8819 /// .value[0].i32: whether the <b>List</b> component starts layout from the end. The value <b>0</b> means layout
8820 /// starts from the top, and <b>1</b> means layout starts from the end. The default value is <b>0</b>.
8821 ///
8822 ///
8823 ///
8824 /// Available since API-level: 19
8825 #[cfg(feature = "api-19")]
8826 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
8827 pub const NODE_LIST_STACK_FROM_END: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003014);
8828 /// Defines the focus wrap mode for the <b>List</b> component.
8829 /// This attribute can be set, reset, and obtained as required through APIs.
8830 ///
8831 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8832 ///
8833 /// .value[0].i32: focus wrap mode of the <b>List</b> component.
8834 /// The parameter type is [`ArkUI_FocusWrapMode`].
8835 ///
8836 ///
8837 ///
8838 /// Format of the return value [`ArkUI_AttributeItem`]:
8839 ///
8840 /// .value[0].i32: focus wrap mode of the <b>List</b> component.
8841 /// The parameter type is [`ArkUI_FocusWrapMode`].
8842 ///
8843 ///
8844 ///
8845 /// Available since API-level: 20
8846 #[cfg(feature = "api-20")]
8847 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8848 pub const NODE_LIST_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003015);
8849 /// Defines whether the <b>List</b> component loads child nodes synchronously.
8850 /// This attribute can be set, reset, and obtained as required through APIs.
8851 ///
8852 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8853 ///
8854 /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
8855 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8856 ///
8857 ///
8858 ///
8859 /// Format of the return value [`ArkUI_AttributeItem`]:
8860 ///
8861 /// .value[0].i32: whether the <b>List</b> component synchronously loads child nodes.
8862 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
8863 ///
8864 ///
8865 ///
8866 /// Available since API-level: 20
8867 #[cfg(feature = "api-20")]
8868 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
8869 pub const NODE_LIST_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1003016);
8870 /// Defines the scroll snap animation speed for the <b>List</b> component.
8871 /// This attribute can be set, reset, and obtained as required through APIs.
8872 ///
8873 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8874 ///
8875 /// .value[0].i32: scroll snap animation speed for the <b>List</b> component.
8876 /// The parameter type is [`ArkUI_ScrollSnapAnimationSpeed`].
8877 /// Default value: <b>ARKUI_SCROLL_SNAP_ANIMATION_NORMAL</b>.
8878 ///
8879 ///
8880 ///
8881 /// Format of the return value [`ArkUI_AttributeItem`]:
8882 ///
8883 /// .value[0].i32: scroll snap animation speed for the <b>List</b> component.
8884 /// The parameter type is [`ArkUI_ScrollSnapAnimationSpeed`].
8885 ///
8886 ///
8887 ///
8888 /// Available since API-level: 22
8889 #[cfg(feature = "api-22")]
8890 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
8891 pub const NODE_LIST_SCROLL_SNAP_ANIMATION_SPEED: ArkUI_NodeAttributeType =
8892 ArkUI_NodeAttributeType(1003017);
8893 /// Specifies the responsive column layout policy for the <b>List</b> component.
8894 /// This attribute can be set, reset, and obtained as required through APIs.
8895 ///
8896 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8897 ///
8898 /// .value[0].i32: number of columns at different breakpoint specifications.
8899 /// The data type is [`ArkUI_ItemFillPolicy`].
8900 ///
8901 /// .value[1]?.f32: column spacing. unit: vp. Default value: <b>0</b>.
8902 ///
8903 ///
8904 ///
8905 /// Format of the return value [`ArkUI_AttributeItem`]:
8906 ///
8907 /// .value[0].i32: number of columns at different breakpoint specifications.
8908 /// The data type is [`ArkUI_ItemFillPolicy`].
8909 ///
8910 /// .value[1].f32: column spacing. unit: vp.
8911 ///
8912 ///
8913 ///
8914 /// Available since API-level: 22
8915 #[cfg(feature = "api-22")]
8916 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
8917 pub const NODE_LIST_LANES_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
8918 ArkUI_NodeAttributeType(1003018);
8919 /// Specifies whether to support empty branch rendering in lazy loading mode for the <b>List</b> container.
8920 /// This attribute can be set, reset, and obtained as required through APIs. When enabled in lazy loading mode,
8921 /// empty branches (items without content) in the <b>List</b> will be rendered and set to width 0 and height 0,
8922 /// which may affect the overall layout and scrolling behavior. This is typically used in scenarios where the
8923 /// data source may have gaps or when maintaining specific layout positions is required.
8924 ///
8925 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8926 ///
8927 /// .value[0].i32: whether to support empty branch rendering in lazy loading mode.
8928 /// <b>0</b>: Disable empty branch support. Empty branches will not be rendered. <b>1</b>: Enable empty branch support.
8929 /// Empty branches will be rendered as placeholder items. Default value: <b>0</b>.
8930 ///
8931 ///
8932 ///
8933 /// Format of the return value [`ArkUI_AttributeItem`]:
8934 ///
8935 /// .value[0].i32: whether empty branch rendering is enabled. <b>0</b>: Disabled. <b>1</b>: Enabled.
8936 ///
8937 ///
8938 ///
8939 /// Available since API-level: 23
8940 #[cfg(feature = "api-23")]
8941 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
8942 pub const NODE_LIST_SUPPORT_EMPTY_BRANCH_IN_LAZY_LOADING: ArkUI_NodeAttributeType =
8943 ArkUI_NodeAttributeType(1003019);
8944 /// Defines whether to enable loop playback for the swiper.
8945 /// This attribute can be set, reset, and obtained as required through APIs.
8946 ///
8947 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8948 ///
8949 /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
8950 /// means the opposite. The default value is <b>1/b>.
8951 ///
8952 ///
8953 ///
8954 /// Format of the return value [`ArkUI_AttributeItem`]:
8955 ///
8956 /// .value[0].i32: whether to enable loop playback. The value <b>1</b> means to enable loop playback, and <b>0</b>
8957 /// means the opposite. The default value is <b>1</b>.
8958 pub const NODE_SWIPER_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001000);
8959 /// Defines whether to enable automatic playback for child component switching in the swiper.
8960 /// This attribute can be set, reset, and obtained as required through APIs.
8961 ///
8962 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8963 ///
8964 /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b>
8965 /// means to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
8966 ///
8967 ///
8968 ///
8969 /// .value[1]?.i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means
8970 /// to stop automatic playback, and <b>0</b> means the opposite. The default value is <b>1</b>. This parameter is
8971 /// supported since API version 16.
8972 ///
8973 ///
8974 ///
8975 /// Format of the return value [`ArkUI_AttributeItem`]:
8976 ///
8977 /// .value[0].i32: whether to enable automatic playback for child component switching. The value <b>1</b> means
8978 /// to enable automatic playback, and <b>0</b> means the opposite. The default value is <b>0</b>.
8979 ///
8980 /// .value[1].i32: whether to stop automatic playback when the user touches the screen. The value <b>1</b> means to
8981 /// stop automatic playback, and <b>0</b> means the opposite. This parameter is supported since API version 16.
8982 pub const NODE_SWIPER_AUTO_PLAY: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001001);
8983 /// Defines whether to enable the navigation point indicator for the swiper. This attribute can be set,
8984 /// reset, and obtained as required through APIs.
8985 ///
8986 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
8987 ///
8988 /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
8989 /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
8990 ///
8991 ///
8992 ///
8993 /// Format of the return value [`ArkUI_AttributeItem`]:
8994 ///
8995 /// .value[0].i32: whether to enable the navigation point indicator. The value <b>1</b> means to enable the
8996 /// navigation point indicator, and <b>0</b> means the opposite. The default value is <b>1</b>.
8997 pub const NODE_SWIPER_SHOW_INDICATOR: ArkUI_NodeAttributeType =
8998 ArkUI_NodeAttributeType(1001002);
8999 /// Defines the interval for automatic playback. This attribute can be set, reset, and obtained as required
9000 /// through APIs.
9001 ///
9002 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9003 ///
9004 /// .value[0].f32: interval for automatic playback, in milliseconds.
9005 ///
9006 ///
9007 ///
9008 /// Format of the return value [`ArkUI_AttributeItem`]:
9009 ///
9010 /// .value[0].f32: interval for automatic playback, in milliseconds.
9011 pub const NODE_SWIPER_INTERVAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001003);
9012 /// Defines whether vertical swiping is used for the swiper. This attribute can be set, reset, and obtained
9013 /// as required through APIs.
9014 ///
9015 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9016 ///
9017 /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
9018 /// <b>0</b> means the opposite. The default value is <b>0</b>.
9019 ///
9020 ///
9021 ///
9022 /// Format of the return value [`ArkUI_AttributeItem`]:
9023 ///
9024 /// .value[0].i32: whether vertical swiping is used. The value <b>1</b> means that vertical swiping is used, and
9025 /// <b>0</b> means the opposite. The default value is <b>0</b>.
9026 pub const NODE_SWIPER_VERTICAL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001004);
9027 /// Defines the duration of the animation for switching child components. This attribute can be set, reset,
9028 /// and obtained as required through APIs.
9029 ///
9030 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9031 ///
9032 /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
9033 /// <b>400</b>.
9034 ///
9035 ///
9036 ///
9037 /// Format of the return value [`ArkUI_AttributeItem`]:
9038 ///
9039 /// .value[0].f32: duration of the animation for switching child components, in milliseconds. The default value is
9040 /// <b>400</b>.
9041 pub const NODE_SWIPER_DURATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001005);
9042 /// Defines the animation curve for the swiper. This attribute can be set, reset, and obtained as required
9043 /// through APIs.
9044 ///
9045 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9046 ///
9047 /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
9048 /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
9049 ///
9050 ///
9051 ///
9052 /// Format of the return value [`ArkUI_AttributeItem`]:
9053 ///
9054 /// .value[0].i32: animation curve. The parameter type is [`ArkUI_AnimationCurve`].
9055 /// The default value is <b>ARKUI_CURVE_LINEAR</b>.
9056 pub const NODE_SWIPER_CURVE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001006);
9057 /// Defines the spacing between child components in the swiper.
9058 /// This attribute can be set, reset, and obtained as required through APIs.
9059 ///
9060 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9061 ///
9062 /// .value[0].f32: spacing between child components.
9063 ///
9064 ///
9065 ///
9066 /// Format of the return value [`ArkUI_AttributeItem`]:
9067 ///
9068 /// .value[0].f32: spacing between child components.
9069 pub const NODE_SWIPER_ITEM_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001007);
9070 /// Defines the index of the child component currently displayed in the swiper.
9071 /// This attribute can be set, reset, and obtained as required through APIs.
9072 ///
9073 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9074 ///
9075 /// .value[0].i32: index value of the child component.
9076 ///
9077 /// .value[1]?.i32: animation mode, the parameter type is [`ArkUI_SwiperAnimationMode`].
9078 ///
9079 /// The default value is ARKUI_SWIPER_NO_ANIMATION. This parameter is valid only for the current call.
9080 ///
9081 /// This parameter is supported since API version 15.
9082 ///
9083 ///
9084 ///
9085 /// Format of the return value [`ArkUI_AttributeItem`]:
9086 ///
9087 /// .value[0].i32: index value of the child component.
9088 pub const NODE_SWIPER_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001008);
9089 /// Defines the number of elements to display per page.
9090 /// This attribute can be set, reset, and obtained as required through APIs.
9091 ///
9092 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9093 ///
9094 /// .value[0].i32: number of elements to display per page.
9095 ///
9096 /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
9097 /// and <b>1</b> means to turn pages by group. This parameter is supported since API version 19.
9098 ///
9099 /// .string?: this parameter can only be set to 'auto'. When 'auto' is set, the value[] parameters are ignored.
9100 /// This parameter is supported since API version 19.
9101 ///
9102 ///
9103 ///
9104 /// Format of the return value [`ArkUI_AttributeItem`]:
9105 ///
9106 /// .value[0].i32: number of elements to display per page.
9107 ///
9108 /// .value[1].i32: whether to turn pages by group. This parameter is supported since API version 19.
9109 ///
9110 /// .string: 'auto' or empty string.
9111 pub const NODE_SWIPER_DISPLAY_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001009);
9112 /// Defines whether to disable the swipe feature.
9113 /// This attribute can be set, reset, and obtained as required through APIs.
9114 ///
9115 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9116 ///
9117 /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable
9118 /// the swipe feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
9119 ///
9120 ///
9121 ///
9122 /// Format of the return value [`ArkUI_AttributeItem`]:
9123 ///
9124 /// .value[0].i32: whether to disable the swipe feature. The value <b>1</b> means to disable the swipe
9125 /// feature, and <b>0</b> means the opposite. The default value is <b>0</b>.
9126 pub const NODE_SWIPER_DISABLE_SWIPE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001010);
9127 /// Defines whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
9128 /// This attribute can be set, reset, and obtained as required through APIs.
9129 ///
9130 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9131 ///
9132 /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
9133 /// The parameter type is [`ArkUI_SwiperArrow`].
9134 ///
9135 /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
9136 ///
9137 /// .?object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
9138 ///
9139 /// This parameter is supported since API version 19.
9140 ///
9141 ///
9142 ///
9143 /// Format of the return value [`ArkUI_AttributeItem`]:
9144 ///
9145 /// .value[0].i32: whether to show the arrow when the mouse pointer hovers over the navigation point indicator.
9146 /// The parameter type is [`ArkUI_SwiperArrow`].
9147 ///
9148 /// The default value is <b>ARKUI_SWIPER_ARROW_HIDE</b>.
9149 ///
9150 /// .object: arrow style. The parameter type is [`ArkUI_SwiperArrowStyle`].
9151 ///
9152 /// This parameter is supported since API version 19.
9153 pub const NODE_SWIPER_SHOW_DISPLAY_ARROW: ArkUI_NodeAttributeType =
9154 ArkUI_NodeAttributeType(1001011);
9155 /// Defines the effect used at the edges of the swiper when the boundary of the scrollable content is reached.
9156 /// This attribute can be set, reset, and obtained as required through APIs.
9157 ///
9158 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9159 ///
9160 /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
9161 /// The parameter type is [`ArkUI_EdgeEffect`].
9162 ///
9163 /// The default value is <b>ARKUI_EDGE_EFFECT_SPRING</b>.
9164 ///
9165 ///
9166 ///
9167 /// Format of the return value [`ArkUI_AttributeItem`]:
9168 ///
9169 /// .value[0].i32: effect used at the edges of the swiper when the boundary of the scrollable content is reached.
9170 /// The parameter type is [`ArkUI_EdgeEffect`].
9171 pub const NODE_SWIPER_EDGE_EFFECT_MODE: ArkUI_NodeAttributeType =
9172 ArkUI_NodeAttributeType(1001012);
9173 /// Defines the swiper adapter. The attribute can be set, reset, and obtained as required through APIs.
9174 ///
9175 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9176 ///
9177 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
9178 pub const NODE_SWIPER_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001013);
9179 /// Sets the number of cached items in the swiper adapter.
9180 /// This attribute can be set, reset, and obtained as required through APIs.
9181 ///
9182 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9183 ///
9184 /// .value[0].i32: number of cached items in the swiper adapter.
9185 ///
9186 /// .value[1]?.i32: whether the cached items will be displayed.
9187 ///
9188 /// The value <b>0</b> indicates that cached items will not be displayed,
9189 ///
9190 /// and <b>1</b> indicates that cached nodes will be displayed. The default value is <b>0</b>.
9191 ///
9192 /// This parameter is supported from API version 19.
9193 ///
9194 ///
9195 ///
9196 /// Format of the return value [`ArkUI_AttributeItem`]:
9197 ///
9198 /// .value[0].i32: number of cached items in the swiper adapter.
9199 ///
9200 /// .value[1].i32: whether the cached items will be displayed. This parameter is supported from API version 19.
9201 pub const NODE_SWIPER_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001014);
9202 /// Defines the front margin of the wiper.
9203 /// The attribute can be set, reset, and obtained as required through APIs.
9204 ///
9205 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9206 ///
9207 /// .value[0].f32: the front margin. The unit is vp. The default value is <b>0.0</b>
9208 ///
9209 /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
9210 /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
9211 ///
9212 /// Format of the return value [`ArkUI_AttributeItem`]:
9213 ///
9214 /// .value[0].f32: the front margin, the unit is vp.
9215 ///
9216 /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
9217 /// the opposite.
9218 pub const NODE_SWIPER_PREV_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001015);
9219 /// Defines the back margin of the wiper.
9220 /// The attribute can be set, reset, and obtained as required through APIs.
9221 ///
9222 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9223 ///
9224 /// .value[0].f32: the back margin. The unit is vp. The default value is <b>0.0</b>
9225 ///
9226 /// .value[1]?.i32: whether to ignore blanks, the default value is 0.
9227 /// The value <b>1</b> means to ignore blank areas, and <b>0</b> means the opposite.
9228 ///
9229 /// Format of the return value [`ArkUI_AttributeItem`]:
9230 ///
9231 /// .value[0].f32: the back margin, the unit is vp.
9232 ///
9233 /// .value[1].i32: whether to ignore blank areas. The value <b>1</b> means to ignore blank areas, and <b>0</b> means
9234 /// the opposite.
9235 pub const NODE_SWIPER_NEXT_MARGIN: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001016);
9236 /// Defines the navigation indicator type of the swiper.
9237 /// The attribute can be set, reset, and obtained as required through APIs.
9238 ///
9239 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9240 ///
9241 /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
9242 ///
9243 /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
9244 ///
9245 /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
9246 /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
9247 ///
9248 /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
9249 ///
9250 ///
9251 ///
9252 /// Format of the return value [`ArkUI_AttributeItem`]:
9253 ///
9254 /// .value[0].i32: navigation indicator type, the parameter type is [`ArkUI_SwiperIndicatorType`].
9255 ///
9256 /// .object: The parameter type is [`ArkUI_SwiperIndicator`] when the indicator type
9257 ///
9258 /// is <b>ARKUI_SWIPER_INDICATOR_TYPE_DOT</b>. The parameter type is [`ArkUI_SwiperDigitIndicator`]
9259 /// when the indicator type is <b>ARKUI_SWIPER_INDICATOR_TYPE_DIGIT</b>.
9260 ///
9261 /// [`ArkUI_SwiperDigitIndicator`] is supported since API version 19.
9262 pub const NODE_SWIPER_INDICATOR: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001017);
9263 /// Set the nested scrolling mode for the Swiper component and parent component.
9264 ///
9265 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9266 ///
9267 /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
9268 /// [`ArkUI_SwiperNestedScrollMode`]
9269 ///
9270 /// The default value is <b>ARKUI_SWIPER_NESTED_SRCOLL_SELF_ONLY<b>
9271 ///
9272 ///
9273 ///
9274 /// Format of the return value [`ArkUI_AttributeItem`]:
9275 ///
9276 /// .value[0].i32:Nested scrolling patterns for Swiper components and parent components. The parameter type is
9277 /// [`ArkUI_SwiperNestedScrollMode`]
9278 pub const NODE_SWIPER_NESTED_SCROLL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001018);
9279 /// Set the switcher component to flip to the specified page.
9280 ///
9281 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9282 ///
9283 /// .value[0].i32:Specify the index value of the page in Swiper.
9284 ///
9285 /// .value[1]?.i32:Set whether there is an animation effect when flipping to the specified page. 1 indicates active
9286 /// effect, 0 indicates no active effect, default value is 0。
9287 pub const NODE_SWIPER_SWIPE_TO_INDEX: ArkUI_NodeAttributeType =
9288 ArkUI_NodeAttributeType(1001019);
9289 /// Set to disable component navigation point interaction function。
9290 ///
9291 /// Property setting method parameter [`ArkUI-AttributeItem`] format:
9292 ///
9293 /// .value[0].i32:Set to disable the interaction function of component navigation points. When set to true, it
9294 /// indicates that the navigation points are interactive. The default value is true.
9295 ///
9296 /// The return value of the attribute acquisition method is in the format of [`ArkUI-AttributeItem`]:
9297 ///
9298 /// .value[0].i32:Set to disable component navigation point interaction.
9299 pub const NODE_SWIPER_INDICATOR_INTERACTIVE: ArkUI_NodeAttributeType =
9300 ArkUI_NodeAttributeType(1001020);
9301 /// Sets the page flipping mode using the mouse wheel.
9302 ///
9303 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9304 ///
9305 /// .value[0].i32: page flipping mode using the mouse wheel. The parameter type is [`ArkUI_PageFlipMode`].
9306 ///
9307 ///
9308 ///
9309 /// Format of the return value [`ArkUI_PageFlipMode`]:
9310 ///
9311 /// .value[0].i32: page flipping mode using the mouse wheel.
9312 ///
9313 ///
9314 ///
9315 /// Available since API-level: 15
9316 #[cfg(feature = "api-15")]
9317 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9318 pub const NODE_SWIPER_PAGE_FLIP_MODE: ArkUI_NodeAttributeType =
9319 ArkUI_NodeAttributeType(1001021);
9320 /// Defines the minimum main axis size of child element for swiper to works out the display count.
9321 /// This attribute can be set, reset, and obtained as required through APIs.
9322 ///
9323 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9324 ///
9325 /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
9326 ///
9327 /// .value[1]?.i32: whether to turn pages by group. The value <b>0</b> means to turn pages by child element,
9328 /// and <b>1</b> means to turn pages by group. The default value is <b>0</b>.
9329 ///
9330 ///
9331 ///
9332 /// Format of the return value [`ArkUI_AttributeItem`]:
9333 ///
9334 /// .value[0].f32: minimum main axis size of the child element, Unit: vp.
9335 ///
9336 /// .value[1].i32: whether to turn pages by group.
9337 ///
9338 ///
9339 ///
9340 /// Available since API-level: 19
9341 #[cfg(feature = "api-19")]
9342 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
9343 pub const NODE_SWIPER_AUTO_FILL: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1001022);
9344 /// Sets whether to maintain the visible content's position when data is inserted or deleted outside
9345 /// the display area of the <b>Swiper</b> component.
9346 ///
9347 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9348 ///
9349 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
9350 /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
9351 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
9352 ///
9353 ///
9354 ///
9355 /// Format of the return value [`ArkUI_AttributeItem`]:
9356 ///
9357 /// .value[0].i32: whether to maintain the visible content's position when data is inserted or deleted outside
9358 /// the display area of the <b>Swiper</b> component. The value <b>0</b> means not to maintain the visible content's
9359 /// position, and <b>1</b> means the opposite. The default value is <b>0</b>.
9360 ///
9361 ///
9362 ///
9363 /// Available since API-level: 20
9364 #[cfg(feature = "api-20")]
9365 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9366 pub const NODE_SWIPER_MAINTAIN_VISIBLE_CONTENT_POSITION: ArkUI_NodeAttributeType =
9367 ArkUI_NodeAttributeType(1001023);
9368 /// Specifies the responsive column layout policy for the <b>Swiper</b> component.
9369 /// This attribute can be set, reset, and obtained as required through APIs.
9370 ///
9371 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9372 ///
9373 /// .value[0].i32: number of columns at different breakpoint specifications.
9374 /// The data type is [`ArkUI_ItemFillPolicy`].
9375 ///
9376 /// .value[1]?.i32: whether to paginate by group. The value <b>0</b> means to paginate by individual child elements,
9377 /// and <b>1</b> means to paginate by groups of child elements displayed within the viewport.
9378 /// The default value is <b>0</b>.
9379 ///
9380 ///
9381 /// Format of the return value [`ArkUI_AttributeItem`]:
9382 ///
9383 /// .value[0].i32: number of columns at different breakpoint specifications.
9384 /// The data type is [`ArkUI_ItemFillPolicy`].
9385 ///
9386 /// .value[1].i32: whether to paginate by group.
9387 ///
9388 ///
9389 ///
9390 /// Available since API-level: 22
9391 #[cfg(feature = "api-22")]
9392 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
9393 pub const NODE_SWIPER_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
9394 ArkUI_NodeAttributeType(1001024);
9395 /// Set the delineation component of the ListItem, supporting property settings, property resets, and
9396 /// property acquisition interfaces.
9397 ///
9398 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
9399 ///
9400 /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
9401 ///
9402 ///
9403 ///
9404 /// The return value of the attribute acquisition method [`ArkUI_AttributeItem`] format:
9405 ///
9406 /// .object: Construct using the [`ArkUI_ListitemSwipeActionOption`] object.
9407 pub const NODE_LIST_ITEM_SWIPE_ACTION: ArkUI_NodeAttributeType =
9408 ArkUI_NodeAttributeType(1004000);
9409 /// Defines the header of the list item group.
9410 /// This attribute can be set, reset, and obtained as required through APIs.
9411 ///
9412 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9413 ///
9414 /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
9415 ///
9416 ///
9417 ///
9418 /// Format of the return value [`ArkUI_AttributeItem`]:
9419 ///
9420 /// .object: [`ArkUI_NodeHandle`] object to be used as the header of the list item group.
9421 pub const NODE_LIST_ITEM_GROUP_SET_HEADER: ArkUI_NodeAttributeType =
9422 ArkUI_NodeAttributeType(1005000);
9423 /// Defines the footer of the list item group. This attribute can be set, reset, and obtained as
9424 /// required through APIs.
9425 ///
9426 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9427 ///
9428 /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
9429 ///
9430 ///
9431 ///
9432 /// Format of the return value [`ArkUI_AttributeItem`]:
9433 ///
9434 /// .object: [`ArkUI_NodeHandle`] object to be used as the footer of the list item group.
9435 pub const NODE_LIST_ITEM_GROUP_SET_FOOTER: ArkUI_NodeAttributeType =
9436 ArkUI_NodeAttributeType(1005001);
9437 /// Defines the style of the divider for the list items. This attribute can be set, reset, and obtained
9438 /// as required through APIs.
9439 ///
9440 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9441 ///
9442 /// .value[0].u32: color of the divider, in 0xARGB format.
9443 ///
9444 /// .value[1].f32: stroke width of the divider, in vp.
9445 ///
9446 /// .value[2].f32: distance between the divider and the start of the list, in vp.
9447 ///
9448 /// .value[3].f32: distance between the divider and the end of the list, in vp.
9449 ///
9450 ///
9451 ///
9452 ///
9453 /// Format of the return value [`ArkUI_AttributeItem`]:
9454 ///
9455 /// .value[0].u32: color of the divider, in 0xARGB format.
9456 ///
9457 /// .value[1].f32: stroke width of the divider, in vp.
9458 ///
9459 /// .value[2].f32: distance between the divider and the start of the list, in vp.
9460 ///
9461 /// .value[3].f32: distance between the divider and the end of the list, in vp.
9462 pub const NODE_LIST_ITEM_GROUP_SET_DIVIDER: ArkUI_NodeAttributeType =
9463 ArkUI_NodeAttributeType(1005002);
9464 /// Set the default spindle size for the ListItem Group subcomponent.
9465 ///
9466 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9467 ///
9468 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
9469 ///
9470 ///
9471 ///
9472 /// Format of the return value [`ArkUI_AttributeItem`]:
9473 ///
9474 /// .object: The parameter format is [`ArkUI-ListChildrenMainSize`]
9475 pub const NODE_LIST_ITEM_GROUP_CHILDREN_MAIN_SIZE: ArkUI_NodeAttributeType =
9476 ArkUI_NodeAttributeType(1005003);
9477 /// Defines the list item group adapter.
9478 /// This attribute can be set, reset, and obtained as required through APIs.
9479 ///
9480 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9481 ///
9482 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
9483 ///
9484 ///
9485 ///
9486 /// Format of the return value [`ArkUI_AttributeItem`]:
9487 ///
9488 /// .object: [`ArkUI_NodeAdapter`] object.
9489 ///
9490 ///
9491 ///
9492 /// Available since API-level: 15
9493 #[cfg(feature = "api-15")]
9494 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
9495 pub const NODE_LIST_ITEM_GROUP_NODE_ADAPTER: ArkUI_NodeAttributeType =
9496 ArkUI_NodeAttributeType(1005004);
9497 /// Defines the horizontal alignment mode of child components in the column.
9498 /// This attribute can be set, reset, and obtained as required through APIs.
9499 ///
9500 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9501 ///
9502 /// .value[0].i32: horizontal alignment mode of child components.
9503 /// The parameter type is [`ArkUI_HorizontalAlignment`].
9504 ///
9505 /// Default value: <b>ARKUI_HORIZONTAL_ALIGNMENT_CENTER</b>.
9506 ///
9507 ///
9508 ///
9509 /// Format of the return value [`ArkUI_AttributeItem`]:
9510 ///
9511 /// .value[0].i32: horizontal alignment mode of child components.
9512 /// The parameter type is [`ArkUI_HorizontalAlignment`].
9513 pub const NODE_COLUMN_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006000);
9514 /// Defines the vertical alignment mode of child components in the column.
9515 /// This attribute can be set, reset, and obtained as required through APIs.
9516 ///
9517 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9518 ///
9519 /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
9520 ///
9521 /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9522 ///
9523 ///
9524 ///
9525 /// Format of the return value [`ArkUI_AttributeItem`]:
9526 ///
9527 /// .value[0].i32: vertical alignment mode of child components. The parameter type is [`ArkUI_FlexAlignment`].
9528 pub const NODE_COLUMN_JUSTIFY_CONTENT: ArkUI_NodeAttributeType =
9529 ArkUI_NodeAttributeType(1006001);
9530 /// Defines Row constructor options or Column constructor options used for settting the spacing of child components, which can be set, reset, and obtained as required through APIs.
9531 ///
9532 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9533 ///
9534 /// .value[0].f32: The space of child components, in vp.
9535 ///
9536 ///
9537 ///
9538 /// Format of the return value [`ArkUI_AttributeItem`]:
9539 ///
9540 /// .value[0].f32: The space of child components, in vp.
9541 ///
9542 ///
9543 ///
9544 /// Available since API-level: 23
9545 #[cfg(feature = "api-23")]
9546 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9547 pub const NODE_LINEAR_LAYOUT_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1006002);
9548 /// Defines whether the arrangement of child components along the main axis in a Column or Row is reversed, which can be set, reset, and obtained as required through APIs.
9549 ///
9550 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9551 ///
9552 /// .value[0].i32: The value that determines whether the arrangement of child components along the main axis is reversed.
9553 ///
9554 ///
9555 ///
9556 /// Format of the return value [`ArkUI_AttributeItem`]:
9557 ///
9558 /// .value[0].i32: The value that determines whether the arrangement of child components along the main axis is reversed.
9559 ///
9560 ///
9561 ///
9562 /// Available since API-level: 23
9563 #[cfg(feature = "api-23")]
9564 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9565 pub const NODE_LINEAR_LAYOUT_REVERSE: ArkUI_NodeAttributeType =
9566 ArkUI_NodeAttributeType(1006003);
9567 /// Defines the vertical alignment mode of child components in the row.
9568 /// This attribute can be set, reset, and obtained as required through APIs.
9569 ///
9570 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9571 ///
9572 /// .value[0].i32: vertical alignment mode of child components.
9573 /// The parameter type is [`ArkUI_VerticalAlignment`].
9574 ///
9575 /// Default value: <b>ARKUI_VERTICAL_ALIGNMENT_CENTER</b>.
9576 ///
9577 ///
9578 ///
9579 /// Format of the return value [`ArkUI_AttributeItem`]:
9580 ///
9581 /// .value[0].i32: vertical alignment mode of child components.
9582 /// The parameter type is [`ArkUI_VerticalAlignment`].
9583 pub const NODE_ROW_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007000);
9584 /// Defines the horizontal alignment mode of child components in the row.
9585 /// This attribute can be set, reset, and obtained as required through APIs.
9586 ///
9587 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9588 ///
9589 /// .value[0].i32: horizontal alignment mode of child components.
9590 /// The parameter type is [`ArkUI_FlexAlignment`].
9591 ///
9592 /// Default value: <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9593 ///
9594 ///
9595 ///
9596 /// Format of the return value [`ArkUI_AttributeItem`]:
9597 ///
9598 /// .value[0].i32: horizontal alignment mode of child components.
9599 /// The parameter type is [`ArkUI_FlexAlignment`].
9600 pub const NODE_ROW_JUSTIFY_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1007001);
9601 /// Defines the flex attribute. This attribute can be set, reset, and obtained as required through APIs.
9602 ///
9603 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9604 ///
9605 /// .value[0]?.i32: direction in which flex items are arranged. The parameter type is [`ArkUI_FlexDirection`].
9606 /// The default value is <b>ARKUI_FLEX_DIRECTION_ROW</b>.
9607 ///
9608 /// .value[1]?.i32: how the flex items are wrapped. The parameter type is [`ArkUI_FlexWrap`].
9609 /// The default value is <b>ARKUI_FLEX_WRAP_NO_WRAP</b>.
9610 ///
9611 /// .value[2]?.i32: alignment mode along the main axis. The parameter type is [`ArkUI_FlexAlignment`].
9612 /// The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9613 ///
9614 /// .value[3]?.i32: alignment mode along the cross axis. The parameter type is [`ArkUI_ItemAlignment`].
9615 /// The default value is <b>ARKUI_ITEM_ALIGNMENT_START</b>.
9616 ///
9617 /// .value[4]?.i32: alignment mode along the cross axis for multi-line content. The parameter type is
9618 /// [`ArkUI_FlexAlignment`]. The default value is <b>ARKUI_FLEX_ALIGNMENT_START</b>.
9619 ///
9620 ///
9621 ///
9622 /// Format of the return value [`ArkUI_AttributeItem`]:
9623 ///
9624 /// .value[0].i32: direction in which flex items are arranged.
9625 ///
9626 /// .value[1].i32: how the flex items are wrapped.
9627 ///
9628 /// .value[2].i32: alignment mode along the main axis.
9629 ///
9630 /// .value[3].i32: alignment mode along the cross axis.
9631 ///
9632 /// .value[4].i32: alignment mode along the cross axis for multi-line content.
9633 pub const NODE_FLEX_OPTION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008000);
9634 /// Defines Row constructor options used for settting the spacing of child components, which can be set, reset, and obtained as required through APIs.
9635 ///
9636 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9637 ///
9638 /// .value[0].f32: Space on the main axis of the flex container., in vp.
9639 ///
9640 /// .value[1].f32: Space on the cross axis of a flex container., in vp.
9641 ///
9642 ///
9643 ///
9644 /// Format of the return value [`ArkUI_AttributeItem`]:
9645 ///
9646 /// .value[0].f32: Space on the main axis of the flex container., in vp.
9647 ///
9648 /// .value[1].f32: Space on the cross axis of a flex container., in vp.
9649 ///
9650 ///
9651 ///
9652 /// Available since API-level: 23
9653 #[cfg(feature = "api-23")]
9654 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9655 pub const NODE_FLEX_SPACE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1008001);
9656 /// Sets whether the component is being refreshed.
9657 /// This attribute can be set and obtained as required through APIs.
9658 ///
9659 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9660 ///
9661 /// .value[0].i32: The parameter type is 1 or 0.
9662 ///
9663 ///
9664 /// Format of the return value [`ArkUI_AttributeItem`]:
9665 ///
9666 /// .value[0].i32: The parameter type is 1 or 0.
9667 pub const NODE_REFRESH_REFRESHING: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009000);
9668 /// Sets the custom content in the pull-down area.
9669 /// This attribute can be set, reset, and obtained as required through APIs.
9670 ///
9671 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9672 ///
9673 /// .object: The parameter type is [`ArkUI_NodeHandle`].
9674 pub const NODE_REFRESH_CONTENT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009001);
9675 /// Set the pull-down hand coefficient.
9676 /// This attribute can be set, reset, and obtained as required through APIs.
9677 ///
9678 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9679 ///
9680 /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
9681 ///
9682 ///
9683 /// Format of the return value [`ArkUI_AttributeItem`]:
9684 ///
9685 /// .value[0].f32:Pull-down hand coefficient, valid value between 0 and 1.
9686 pub const NODE_REFRESH_PULL_DOWN_RATIO: ArkUI_NodeAttributeType =
9687 ArkUI_NodeAttributeType(1009002);
9688 /// Sets the pull-down offset that initiates a refresh.
9689 /// This attribute can be set, reset, and obtained as required through APIs.
9690 ///
9691 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9692 ///
9693 /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
9694 ///
9695 ///
9696 /// Format of the return value [`ArkUI_AttributeItem`]:
9697 ///
9698 /// .value[0].f32: pull-down offset, in vp. The default value is <b>64vp</b>.
9699 pub const NODE_REFRESH_OFFSET: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1009003);
9700 /// Sets whether to initiate a refresh when the pull-down distance exceeds the value of <b>refreshOffset</b>.
9701 /// This attribute can be set, reset, and obtained as required through APIs.
9702 ///
9703 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9704 ///
9705 /// .value[0].i32: whether to initiate a refresh. The value <b>true</b> means to initiate a refresh, and
9706 /// <b>false</b> means the opposite.
9707 ///
9708 ///
9709 /// Format of the return value [`ArkUI_AttributeItem`]:
9710 ///
9711 /// .value[0].i32: whether to initiate a refresh. The value <b>1</b> means to initiate a refresh, and
9712 /// <b>0</b> means the opposite.
9713 pub const NODE_REFRESH_PULL_TO_REFRESH: ArkUI_NodeAttributeType =
9714 ArkUI_NodeAttributeType(1009004);
9715 /// Sets the maximum pull-down distance for refreshing.
9716 /// This attribute can be set, reset, and obtained through the API as required.
9717 ///
9718 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9719 ///
9720 /// .value[0].f32: maximum pull-down distance, in vp.
9721 ///
9722 ///
9723 /// Format of the return value [`ArkUI_AttributeItem`]:
9724 ///
9725 /// .value[0].f32: maximum pull-down distance, in vp.
9726 ///
9727 ///
9728 /// Available since API-level: 20
9729 #[cfg(feature = "api-20")]
9730 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9731 pub const NODE_REFRESH_MAX_PULL_DOWN_DISTANCE: ArkUI_NodeAttributeType =
9732 ArkUI_NodeAttributeType(1009005);
9733 /// Sets whether the pull-up gesture cancels refresh.
9734 /// This attribute can be set, reset, and obtained through the API as required.
9735 ///
9736 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9737 ///
9738 /// .value[0].i32: whether the pull-up gesture cancels refresh. The value <b>1</b> means that the pull-up gesture
9739 /// cancels refresh, and <b>0</b> means the opposite. Default value: <b>1</b>.
9740 ///
9741 ///
9742 /// Format of the return value [`ArkUI_AttributeItem`]:
9743 ///
9744 /// * .value[0].i32: whether the pull-up gesture cancels refresh. The value <b>1</b> means that the pull-up gesture
9745 /// cancels refresh, and <b>0</b> means the opposite.
9746 ///
9747 ///
9748 /// Available since API-level: 23
9749 #[cfg(feature = "api-23")]
9750 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
9751 pub const NODE_REFRESH_PULL_UP_TO_CANCEL_REFRESH: ArkUI_NodeAttributeType =
9752 ArkUI_NodeAttributeType(1009006);
9753 /// Defines the main axis direction of the <b><WaterFlow></b> component layout.
9754 /// This attribute can be set, reset, and obtained as required through APIs.
9755 ///
9756 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9757 ///
9758 /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
9759 ///
9760 ///
9761 /// Format of the return value [`ArkUI_AttributeItem`]:
9762 ///
9763 /// .value[0].i32: main axis direction. The parameter type is [`ArkUI_FlexDirection`].
9764 pub const NODE_WATER_FLOW_LAYOUT_DIRECTION: ArkUI_NodeAttributeType =
9765 ArkUI_NodeAttributeType(1010000);
9766 /// Sets the number of columns in the water flow layout. If this parameter is not set, one column is used
9767 /// by default. This attribute can be set, reset, and obtained as required through APIs.
9768 /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
9769 /// component's full width, the second column 1/4, and the third column 2/4.
9770 /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
9771 /// columns based on the specified column width <b>track-size</b>.
9772 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
9773 /// or a valid number.
9774 ///
9775 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9776 ///
9777 /// .string: number of columns in the layout.
9778 ///
9779 ///
9780 ///
9781 /// Format of the return value [`ArkUI_AttributeItem`]:
9782 ///
9783 /// .string: number of columns in the layout.
9784 pub const NODE_WATER_FLOW_COLUMN_TEMPLATE: ArkUI_NodeAttributeType =
9785 ArkUI_NodeAttributeType(1010001);
9786 /// Sets the number of rows in the water flow layout. If this parameter is not set, one row is used
9787 /// by default. This attribute can be set, reset, and obtained as required through APIs.
9788 /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
9789 /// component's full height, the second row 1/4, and the third row 2/4.
9790 /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
9791 /// based on the specified row height <b>track-size</b>.
9792 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
9793 /// or a valid number.
9794 ///
9795 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9796 ///
9797 /// .string: number of rows in the layout.
9798 ///
9799 ///
9800 ///
9801 /// Format of the return value [`ArkUI_AttributeItem`]:
9802 ///
9803 /// .string: number of rows in the layout.
9804 pub const NODE_WATER_FLOW_ROW_TEMPLATE: ArkUI_NodeAttributeType =
9805 ArkUI_NodeAttributeType(1010002);
9806 /// Sets the gap between columns.
9807 /// This attribute can be set, reset, and obtained as required through APIs.
9808 ///
9809 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9810 ///
9811 /// .value[0].f32: gap between columns, in vp.
9812 ///
9813 ///
9814 ///
9815 /// Format of the return value [`ArkUI_AttributeItem`]:
9816 ///
9817 /// .value[0].f32: gap between columns, in vp.
9818 pub const NODE_WATER_FLOW_COLUMN_GAP: ArkUI_NodeAttributeType =
9819 ArkUI_NodeAttributeType(1010003);
9820 /// Sets the gap between rows.
9821 /// This attribute can be set, reset, and obtained as required through APIs.
9822 ///
9823 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9824 ///
9825 /// .value[0].f32: gap between lines, in vp.
9826 ///
9827 ///
9828 ///
9829 /// Format of the return value [`ArkUI_AttributeItem`]:
9830 ///
9831 /// .value[0].f32: gap between lines, in vp.
9832 pub const NODE_WATER_FLOW_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010004);
9833 /// Defines the water flow section configuration.
9834 /// This attribute can be set, reset, and obtained as required through APIs.
9835 ///
9836 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9837 ///
9838 /// .value[0].i32: An index calculated from 0 is converted to an integer,
9839 /// indicating that you want to start changing the position of the group.
9840 /// .object: [`ArkUI_WaterFlowSectionOption`] object.
9841 ///
9842 ///
9843 ///
9844 /// Format of the return value [`ArkUI_AttributeItem`]:
9845 ///
9846 /// .object: [`ArkUI_WaterFlowSectionOption`] object.
9847 pub const NODE_WATER_FLOW_SECTION_OPTION: ArkUI_NodeAttributeType =
9848 ArkUI_NodeAttributeType(1010005);
9849 /// Defines the water flow adapter. The attribute can be set, reset, and obtained as required through APIs.
9850 ///
9851 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9852 ///
9853 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
9854 pub const NODE_WATER_FLOW_NODE_ADAPTER: ArkUI_NodeAttributeType =
9855 ArkUI_NodeAttributeType(1010006);
9856 /// Sets the number of cached items in the water flow adapter.
9857 /// This attribute can be set, reset, and obtained as required through APIs.
9858 ///
9859 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9860 ///
9861 /// value[0].i32:number of cached items in the water flow adapter.
9862 ///
9863 /// .value[1]?.i32:whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
9864 /// This parameter is supported since API version 16.
9865 ///
9866 ///
9867 ///
9868 /// Format of the return value [`ArkUI_AttributeItem`]:
9869 ///
9870 /// .value[0].i32: number of cached items in the water flow adapter.
9871 ///
9872 /// .value[1].i32: whether to the cached items will be displayed, 0: not displayed, 1: displayed, default value: 0.
9873 /// This parameter is supported since API version 16.
9874 pub const NODE_WATER_FLOW_CACHED_COUNT: ArkUI_NodeAttributeType =
9875 ArkUI_NodeAttributeType(1010007);
9876 /// Set the custom display component at the end of the waterfall flow component.
9877 ///
9878 /// Attribute setting method [`ArkUI_AttributeItem`] parameter format:
9879 ///
9880 /// .object: Parameter type [`ArkUI_NodeHandle`].
9881 pub const NODE_WATER_FLOW_FOOTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010008);
9882 /// Scroll to the specified index.
9883 ///
9884 /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
9885 /// lead to performance issues when loading a large number of items.
9886 ///
9887 ///
9888 ///
9889 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9890 ///
9891 /// .value[0].i32: The index value of the target element to be slid to in the current container.
9892 ///
9893 /// .value[1].i32: Set whether there is an action when sliding to the index value of a list item in the list, where
9894 /// 1 indicates an action and 0 indicates no action. This parameter is optional, default value is 0.
9895 ///
9896 /// .value[2].i32: Specify the alignment of the sliding element with the current container, The parameter type is
9897 /// [`ArkUI_ScrollAlignment`]. This parameter is optional, default value is </b>ARKUI_SCROLL_ALIGNMENT_START</b>.
9898 ///
9899 /// .value[3].f32: Extra offset after scrolling to a specified index, in vp. This parameter is optional, the default
9900 /// value is <b>0</b>.
9901 /// If value[3] is positive, it will offset further towards the bottom.
9902 /// If value[3] is negative, it will offset further towards the top.
9903 /// This parameter is supported since API version 23.
9904 pub const NODE_WATER_FLOW_SCROLL_TO_INDEX: ArkUI_NodeAttributeType =
9905 ArkUI_NodeAttributeType(1010009);
9906 /// Defines the size constraints to apply to water flow items.
9907 /// This attribute can be set, reset, and obtained as required through APIs.
9908 ///
9909 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9910 ///
9911 /// .value[0].f32: minimum width, in vp.
9912 ///
9913 /// .value[1].f32: maximum width, in vp.
9914 ///
9915 /// .value[2].f32: minimum height, in vp.
9916 ///
9917 /// .value[3].f32: maximum height, in vp.
9918 ///
9919 ///
9920 ///
9921 /// Format of the return value [`ArkUI_AttributeItem`]:
9922 ///
9923 /// .value[0].f32: minimum width, in vp.
9924 ///
9925 /// .value[1].f32: maximum width, in vp.
9926 ///
9927 /// .value[2].f32: minimum height, in vp.
9928 ///
9929 /// .value[3].f32: maximum height, in vp.
9930 pub const NODE_WATER_FLOW_ITEM_CONSTRAINT_SIZE: ArkUI_NodeAttributeType =
9931 ArkUI_NodeAttributeType(1010010);
9932 /// Defines the layout mode of the <b><WaterFlow></b> component.
9933 /// This attribute can be set, reset, and obtained as required through APIs.
9934 ///
9935 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9936 ///
9937 /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
9938 ///
9939 ///
9940 /// Format of the return value [`ArkUI_AttributeItem`]:
9941 ///
9942 /// .value[0].i32: waterflow layout mode. The parameter type is [`ArkUI_WaterFlowLayoutMode`].
9943 ///
9944 /// Available since API-level: 18
9945 #[cfg(feature = "api-18")]
9946 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
9947 pub const NODE_WATER_FLOW_LAYOUT_MODE: ArkUI_NodeAttributeType =
9948 ArkUI_NodeAttributeType(1010011);
9949 /// Defines whether the <b>WaterFlow</b> component loads child nodes synchronously.
9950 /// This attribute can be set, reset, and obtained as required through APIs.
9951 ///
9952 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9953 ///
9954 /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
9955 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
9956 ///
9957 ///
9958 ///
9959 /// Format of the return value [`ArkUI_AttributeItem`]:
9960 ///
9961 /// .value[0].i32: whether the <b>WaterFlow</b> component synchronously loads child nodes.
9962 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
9963 ///
9964 ///
9965 ///
9966 /// Available since API-level: 20
9967 #[cfg(feature = "api-20")]
9968 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
9969 pub const NODE_WATER_FLOW_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1010012);
9970 /// Specifies the responsive column layout policy for the <b>WaterFlow</b> component.
9971 /// This attribute can be set, reset, and obtained as required through APIs.
9972 ///
9973 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
9974 ///
9975 /// .value[0].i32: number of columns at different breakpoint specifications.
9976 /// The data type is [`ArkUI_ItemFillPolicy`].
9977 ///
9978 ///
9979 ///
9980 /// Format of the return value [`ArkUI_AttributeItem`]:
9981 ///
9982 /// .value[0].i32: number of columns at different breakpoint specifications.
9983 /// The data type is [`ArkUI_ItemFillPolicy`].
9984 ///
9985 ///
9986 ///
9987 /// Available since API-level: 22
9988 #[cfg(feature = "api-22")]
9989 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
9990 pub const NODE_WATER_FLOW_COLUMN_TEMPLATE_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
9991 ArkUI_NodeAttributeType(1010013);
9992 /// Set the auxiliary line in the RelativeContaine container, supporting property setting,
9993 /// property reset and property acquisition interfaces.
9994 ///
9995 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
9996 ///
9997 /// .object: Auxiliary lines within the RelativeContaine container:
9998 ///
9999 ///
10000 ///
10001 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
10002 ///
10003 /// .object: Auxiliary lines within the RelativeContaine container:
10004 pub const NODE_RELATIVE_CONTAINER_GUIDE_LINE: ArkUI_NodeAttributeType =
10005 ArkUI_NodeAttributeType(1012000);
10006 /// Sets the barrier within the RelativeContaine container and supports property setting,
10007 /// property reset and property acquisition interfaces.
10008 ///
10009 /// Attribute setting method parameter [`ArkUI_AttributeItem`] format:
10010 ///
10011 /// .object: Auxiliary lines within the RelativeContaine container:
10012 ///
10013 ///
10014 ///
10015 /// Attribute acquisition method return value [`ArkUI_AttributeItem`] format:
10016 ///
10017 /// .object: Barrier within the RelativeContaine container:
10018 pub const NODE_RELATIVE_CONTAINER_BARRIER: ArkUI_NodeAttributeType =
10019 ArkUI_NodeAttributeType(1012001);
10020 /// Sets the number of columns in the grid layout. If this parameter is not set, one column is used
10021 /// by default. This attribute can be set, reset, and obtained as required through APIs.
10022 /// For example, <b>'1fr 1fr 2fr'</b> indicates three columns, with the first column taking up 1/4 of the parent
10023 /// component's full width, the second column 1/4, and the third column 2/4.
10024 /// You can use <b>columnsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of
10025 /// columns based on the specified column width <b>track-size</b>.
10026 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
10027 /// or a valid number.
10028 ///
10029 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10030 ///
10031 /// .string: number of columns in the layout.
10032 ///
10033 ///
10034 ///
10035 /// Format of the return value [`ArkUI_AttributeItem`]:
10036 ///
10037 /// .string: number of columns in the layout.
10038 pub const NODE_GRID_COLUMN_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013000);
10039 /// Sets the number of rows in the grid layout. If this parameter is not set, one row is used
10040 /// by default. This attribute can be set, reset, and obtained as required through APIs.
10041 /// For example, <b>'1fr 1fr 2fr'</b> indicates three rows, with the first row taking up 1/4 of the parent
10042 /// component's full height, the second row 1/4, and the third row 2/4.
10043 /// You can use <b>rowsTemplate('repeat(auto-fill,track-size)')</b> to automatically calculate the number of rows
10044 /// based on the specified row height <b>track-size</b>.
10045 /// <b>repeat</b> and <b>auto-fill</b> are keywords. The units for <b>track-size</b> can be px, vp (default), %,
10046 /// or a valid number.
10047 ///
10048 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10049 ///
10050 /// .string: number of rows in the layout.
10051 ///
10052 ///
10053 ///
10054 /// Format of the return value [`ArkUI_AttributeItem`]:
10055 ///
10056 /// .string: number of rows in the layout.
10057 pub const NODE_GRID_ROW_TEMPLATE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013001);
10058 /// Sets the gap between columns. This attribute can be set, reset, and obtained as required through APIs.
10059 ///
10060 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10061 ///
10062 /// .value[0].f32: gap between columns, in vp.
10063 ///
10064 ///
10065 ///
10066 /// Format of the return value [`ArkUI_AttributeItem`]:
10067 ///
10068 /// .value[0].f32: gap between columns, in vp.
10069 pub const NODE_GRID_COLUMN_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013002);
10070 /// Sets the gap between rows. This attribute can be set, reset, and obtained as required through APIs.
10071 ///
10072 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10073 ///
10074 /// .value[0].f32: gap between lines, in vp.
10075 ///
10076 ///
10077 ///
10078 /// Format of the return value [`ArkUI_AttributeItem`]:
10079 ///
10080 /// .value[0].f32: gap between lines, in vp.
10081 pub const NODE_GRID_ROW_GAP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013003);
10082 /// Defines the grid adapter. The attribute can be set, reset, and obtained as required through APIs.
10083 ///
10084 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10085 ///
10086 /// .object: [`ArkUI_NodeAdapter`] object as the adapter.
10087 pub const NODE_GRID_NODE_ADAPTER: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013004);
10088 /// Sets the number of cached items in the grid adapter.
10089 /// This attribute can be set, reset, and obtained as required through APIs.
10090 ///
10091 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10092 ///
10093 /// .value[0].i32: number of cached items in the grid adapter.
10094 pub const NODE_GRID_CACHED_COUNT: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013005);
10095 /// Defines the focus wrap mode for the <b>Grid</b> component.
10096 /// This attribute can be set, reset, and obtained as required through APIs.
10097 ///
10098 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10099 ///
10100 /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
10101 /// The parameter type is [`ArkUI_FocusWrapMode`].
10102 ///
10103 ///
10104 ///
10105 /// Format of the return value [`ArkUI_AttributeItem`]:
10106 ///
10107 /// .value[0].i32: focus wrap mode of the <b>Grid</b> component.
10108 /// The parameter type is [`ArkUI_FocusWrapMode`].
10109 ///
10110 ///
10111 ///
10112 /// Available since API-level: 20
10113 #[cfg(feature = "api-20")]
10114 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10115 pub const NODE_GRID_FOCUS_WRAP_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013006);
10116 /// Defines whether the <b>Grid</b> component loads child nodes synchronously.
10117 /// This attribute can be set, reset, and obtained as required through APIs.
10118 ///
10119 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10120 ///
10121 /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
10122 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
10123 ///
10124 ///
10125 ///
10126 /// Format of the return value [`ArkUI_AttributeItem`]:
10127 ///
10128 /// .value[0].i32: whether the <b>Grid</b> component synchronously loads child nodes.
10129 /// The value <b>0</b> means loading by frames, and <b>1</b> means synchronous loading.
10130 ///
10131 ///
10132 ///
10133 /// Available since API-level: 20
10134 #[cfg(feature = "api-20")]
10135 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10136 pub const NODE_GRID_SYNC_LOAD: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013007);
10137 /// Specifies the alignment of <b>GridItem</b> components in the parent <b>Grid</b> container.
10138 /// This attribute can be set, reset, and obtained as required through APIs.
10139 ///
10140 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10141 ///
10142 /// .value[0].i32: alignment of <b>GridItem</b> components in the parent <b>Grid</b> container,
10143 ///
10144 /// specified using the [`ArkUI_GridItemAlignment`] enum.
10145 ///
10146 /// The default value is <b>GRID_ITEM_ALIGNMENT_DEFAULT</b>.
10147 ///
10148 ///
10149 ///
10150 /// Format of the return value [`ArkUI_AttributeItem`]:
10151 ///
10152 /// .value[0].i32: alignment of <b>GridItem</b> components in the parent <b>Grid</b> container,
10153 ///
10154 /// specified using the [`ArkUI_GridItemAlignment`] enum.
10155 ///
10156 ///
10157 ///
10158 /// Available since API-level: 22
10159 #[cfg(feature = "api-22")]
10160 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10161 pub const NODE_GRID_ALIGN_ITEMS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013008);
10162 /// Specifies the layout options of the <b>Grid</b> component.
10163 /// This attribute can be set, reset, and obtained as required through APIs.
10164 ///
10165 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10166 ///
10167 /// .object: layout options, with the parameter format of [`ArkUI_GridLayoutOptions`].
10168 ///
10169 ///
10170 ///
10171 /// Format of the return value [`ArkUI_AttributeItem`]:
10172 ///
10173 /// .object: current [`ArkUI_GridLayoutOptions`] object.
10174 ///
10175 ///
10176 ///
10177 /// Available since API-level: 22
10178 #[cfg(feature = "api-22")]
10179 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10180 pub const NODE_GRID_LAYOUT_OPTIONS: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013009);
10181 /// Specifies the responsive column layout policy for the <b>Grid</b> component.
10182 /// This attribute can be set, reset, and obtained as required through APIs.
10183 ///
10184 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10185 ///
10186 /// .value[0].i32: number of columns at different breakpoint specifications.
10187 /// The data type is [`ArkUI_ItemFillPolicy`].
10188 ///
10189 ///
10190 ///
10191 /// Format of the return value [`ArkUI_AttributeItem`]:
10192 ///
10193 /// .value[0].i32: number of columns at different breakpoint specifications.
10194 /// The data type is [`ArkUI_ItemFillPolicy`].
10195 ///
10196 ///
10197 ///
10198 /// Available since API-level: 22
10199 #[cfg(feature = "api-22")]
10200 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10201 pub const NODE_GRID_COLUMN_TEMPLATE_ITEMFILLPOLICY: ArkUI_NodeAttributeType =
10202 ArkUI_NodeAttributeType(1013010);
10203 /// Specifies whether to enable edit mode for the <b>Grid</b> component.
10204 /// In edit mode, <b>GridItem</b> components can be dragged through the <b>NODE_GRID_ON_ITEM_DRAG_START</b> event.
10205 /// This attribute can be set, reset, and obtained as required through APIs.
10206 ///
10207 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10208 ///
10209 /// .value[0].i32: whether to enable edit mode for the <b>Grid</b> component.
10210 /// </b>: Disable edit mode. <b>1</b>: Enable edit mode. Default value: <b>0</b>.
10211 ///
10212 ///
10213 ///
10214 /// Format of the return value [`ArkUI_AttributeItem`]:
10215 ///
10216 /// .value[0].i32: whether to enable edit mode for the <b>Grid</b> component.
10217 /// <b>0</b>: Disable edit mode. <b>1</b>: Enable edit mode.
10218 ///
10219 ///
10220 ///
10221 /// Available since API-level: 23
10222 #[cfg(feature = "api-23")]
10223 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10224 pub const NODE_GRID_EDIT_MODE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013011);
10225 /// Specifies whether to enable the drag animation for <b>GridItem</b> components in the <b>Grid</b>
10226 /// container. This attribute can be set, reset, and obtained as required through APIs.
10227 /// Animations are supported only in scrolling mode (when either <b>NODE_GRID_ROW_TEMPLATE</b> or
10228 /// <b>NODE_GRID_COLUMN_TEMPLATE</b> is set, but not both). Drag animations are only supported in regularly sized
10229 /// grid layouts; scenarios involving spanning across rows or columns are not supported.
10230 ///
10231 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10232 ///
10233 /// .value[0].i32: whether to enable the drag animation for <b>GridItem</b> components in the <b>Grid</b> container.
10234 /// <b>0</b>: Disable the drag animation. <b>1</b>: Enable the drag animation. Default value: <b>0</b>.
10235 ///
10236 ///
10237 ///
10238 /// Format of the return value [`ArkUI_AttributeItem`]:
10239 ///
10240 /// .value[0].i32: whether to enable the drag animation for <b>GridItem</b> components in the <b>Grid</b> container.
10241 /// <b>0</b>: Disable the drag animation. <b>1</b>: Enable the drag animation.
10242 ///
10243 ///
10244 ///
10245 /// Available since API-level: 23
10246 #[cfg(feature = "api-23")]
10247 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10248 pub const NODE_GRID_DRAG_ANIMATION: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013012);
10249 /// Specifies whether to enable mouse-based multi-selection in the <b>Grid</b> container. This attribute can
10250 /// be set, reset, and obtained as required through APIs. When enabled, mouse-based multi-selection within the
10251 /// <b>Grid</b> area triggers the <b>NODE_GRID_ITEM_EVENT_ON_SELECT</b> event on <b>GridItem</b> components.
10252 ///
10253 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10254 ///
10255 /// .value[0].i32: whether to enable mouse-based multi-selection.
10256 /// <b>0</b>: Disable mouse-based multi-selection. <b>1</b>: Enable mouse-based multi-selection. Default value:
10257 /// <b>0</b>.
10258 ///
10259 /// Format of the return value [`ArkUI_AttributeItem`]:
10260 /// .value[0].i32: whether to enable
10261 /// mouse-based multi-selection. <b>0</b>: Disable mouse-based multi-selection. <b>1</b>: Enable mouse-based
10262 /// multi-selection.
10263 ///
10264 ///
10265 ///
10266 /// Available since API-level: 23
10267 #[cfg(feature = "api-23")]
10268 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10269 pub const NODE_GRID_MULTI_SELECTABLE: ArkUI_NodeAttributeType =
10270 ArkUI_NodeAttributeType(1013013);
10271 /// Scroll to the specified index.
10272 ///
10273 /// When activating the smooth animation, all items passed through will be loaded and layout calculated, which can
10274 /// lead to performance issues when loading a large number of items.
10275 ///
10276 ///
10277 ///
10278 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10279 ///
10280 /// .value[0].i32: The index value of the target element to be slid to in the current container.
10281 ///
10282 /// .value[1].i32: Set whether there is an animation when sliding to the target element, where
10283 /// 1 indicates an animation and 0 indicates no animation. This parameter is optional. default value is 0.
10284 ///
10285 /// .value[2].i32: Specify the alignment of the target element with the current container. The parameter type is
10286 /// [`ArkUI_ScrollAlignment`]. This parameter is optional, default value is </b>ARKUI_SCROLL_ALIGNMENT_AUTO</b>.
10287 ///
10288 /// .value[3].f32: Extra offset after scrolling to a specified index, in vp. This parameter is optional, the default
10289 /// value is <b>0</b>.
10290 /// If value[3] is positive, it will offset further towards the bottom.
10291 /// If value[3] is negative, it will offset further towards the top.
10292 ///
10293 ///
10294 ///
10295 /// Available since API-level: 23
10296 #[cfg(feature = "api-23")]
10297 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10298 pub const NODE_GRID_SCROLL_TO_INDEX: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1013014);
10299 /// Specifies whether to support empty branch rendering in lazy loading mode for the <b>Grid</b> container.
10300 /// This attribute can be set, reset, and obtained as required through APIs. When enabled in lazy loading mode,
10301 /// empty branches (items without content) in the <b>Grid</b> will be rendered and set to width 0 and height 0,
10302 /// which may affect the overall layout and scrolling behavior. This is typically used in scenarios where the
10303 /// data source may have gaps or when maintaining specific layout positions is required.
10304 ///
10305 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10306 ///
10307 /// .value[0].i32: whether to support empty branch rendering in lazy loading mode.
10308 /// <b>0</b>: Disable empty branch support. Empty branches will not be rendered. <b>1</b>: Enable empty branch support.
10309 /// Empty branches will be rendered as placeholder items. Default value: <b>0</b>.
10310 ///
10311 ///
10312 ///
10313 /// Format of the return value [`ArkUI_AttributeItem`]:
10314 ///
10315 /// .value[0].i32: whether empty branch rendering is enabled. <b>0</b>: Disabled. <b>1</b>: Enabled.
10316 ///
10317 ///
10318 ///
10319 /// Available since API-level: 23
10320 #[cfg(feature = "api-23")]
10321 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10322 pub const NODE_GRID_SUPPORT_EMPTY_BRANCH_IN_LAZY_LOADING: ArkUI_NodeAttributeType =
10323 ArkUI_NodeAttributeType(1013015);
10324 /// Sets the style of the <b>GridItem</b> component.
10325 /// This attribute can be set, reset, and obtained as required through APIs.
10326 ///
10327 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10328 ///
10329 /// .value[0].i32: style of the <b>GridItem</b> component, specified using [`ArkUI_SliderStyle`].
10330 ///
10331 /// The default value is <b>GRID_ITEM_STYLE_NONE</b>.
10332 ///
10333 ///
10334 ///
10335 /// Format of the return value [`ArkUI_AttributeItem`]:
10336 ///
10337 /// .value[0].i32: style of the <b>GridItem</b> component, specified using [`ArkUI_SliderStyle`].
10338 ///
10339 ///
10340 ///
10341 /// Available since API-level: 22
10342 #[cfg(feature = "api-22")]
10343 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
10344 pub const NODE_GRID_ITEM_STYLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014000);
10345 /// Specifies whether the <b>GridItem</b> component can be selected using mouse-based multi-selection.
10346 /// This attribute can be set, reset, and obtained as required through APIs.
10347 ///
10348 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10349 ///
10350 /// .value[0].i32: whether the <b>GridItem</b> component can be selected using mouse-based multi-selection.
10351 /// <b>0</b>: not selectable. <b>1</b>: selectable. Default value: <b>1</b>.
10352 ///
10353 ///
10354 ///
10355 /// Format of the return value [`ArkUI_AttributeItem`]:
10356 ///
10357 /// .value[0].i32: whether the <b>GridItem</b> component can be selected using mouse-based multi-selection.
10358 /// <b>0</b>: not selectable. <b>1</b>: selectable.
10359 ///
10360 ///
10361 ///
10362 /// Available since API-level: 23
10363 #[cfg(feature = "api-23")]
10364 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10365 pub const NODE_GRID_ITEM_SELECTABLE: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014001);
10366 /// Sets the selected state of the <b>GridItem</b> component.
10367 /// This attribute can be set, reset, and obtained as required through APIs.
10368 ///
10369 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10370 ///
10371 /// .value[0].i32: selected state of the <b>GridItem</b> component.
10372 /// <b>0</b>: not selected. <b>1</b>: selected. Default value: <b>0</b>.
10373 ///
10374 ///
10375 ///
10376 /// Format of the return value [`ArkUI_AttributeItem`]:
10377 ///
10378 /// .value[0].i32: selected state of the <b>GridItem</b> component. <b>0</b>: not selected. <b>1</b>: selected.
10379 ///
10380 ///
10381 ///
10382 /// Available since API-level: 23
10383 #[cfg(feature = "api-23")]
10384 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10385 pub const NODE_GRID_ITEM_SELECTED: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1014002);
10386 /// Defines the column width of the text picker.
10387 /// This attribute can be set, reset, and obtained as required through APIs.
10388 ///
10389 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10390 ///
10391 /// .value[0].f32: percentage of total width. The default value is that all colulmns are equal width.
10392 ///
10393 /// .value[1]?.f32: percentage of total width. The default value is that all colulmns are equal width.
10394 ///
10395 /// .value[2]?.f32: percentage of total width. The default value is that all colulmns are equal width.
10396 ///
10397 /// ...
10398 ///
10399 /// .value[n]?.f32: percentage of total width. The default value is that all colulmns are equal width.
10400 ///
10401 ///
10402 ///
10403 /// Format of the return value [`ArkUI_AttributeItem`]:
10404 ///
10405 /// value[0].f32: percentage of total width.
10406 ///
10407 /// value[1].f32: percentage of total width.
10408 ///
10409 /// value[2].f32: percentage of total width.
10410 ///
10411 /// ...
10412 ///
10413 /// value[n].f32: percentage of total width.
10414 ///
10415 ///
10416 ///
10417 /// Available since API-level: 18
10418 #[cfg(feature = "api-18")]
10419 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10420 pub const NODE_TEXT_PICKER_COLUMN_WIDTHS: ArkUI_NodeAttributeType =
10421 ArkUI_NodeAttributeType(15009);
10422 /// Defines the disabled date range of the calendar picker.
10423 /// This attribute can be set, reset, and obtained as required through APIs.
10424 ///
10425 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10426 ///
10427 /// .string: A string of dates. The `1st start date`,`1st end date`,`2nd start date`,`2nd end date`,
10428 /// ...,`nth start date`,`nth end date` of the disabled date range.
10429 ///
10430 /// Example: 1910-01-01,1910-12-31,2020-01-01,2020-12-31
10431 ///
10432 ///
10433 ///
10434 /// Format of the return value [`ArkUI_AttributeItem`]:
10435 ///
10436 /// .string: A string of dates.
10437 ///
10438 ///
10439 ///
10440 /// Available since API-level: 19
10441 #[cfg(feature = "api-19")]
10442 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
10443 pub const NODE_CALENDAR_PICKER_DISABLED_DATE_RANGE: ArkUI_NodeAttributeType =
10444 ArkUI_NodeAttributeType(16006);
10445 /// Defines whether the calendar picker marks today.
10446 /// This attribute can be set, reset, and obtained as required through APIs.
10447 ///
10448 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10449 ///
10450 /// value[0].i32: whether the calendar picker marks today. The default value is <b>false</b>.
10451 ///
10452 ///
10453 ///
10454 /// Format of the return value [`ArkUI_AttributeItem`]:
10455 ///
10456 /// value[0].i32: whether the calendar picker marks today.
10457 ///
10458 ///
10459 ///
10460 /// Available since API-level: 19
10461 #[cfg(feature = "api-19")]
10462 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
10463 pub const NODE_CALENDAR_PICKER_MARK_TODAY: ArkUI_NodeAttributeType =
10464 ArkUI_NodeAttributeType(16007);
10465 /// Defines the want used to start EmbeddedAbility.
10466 /// This attribute can be set as required through APIs.
10467 ///
10468 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10469 ///
10470 /// .object: The want of EmbeddedComponent, with parameter type [`AbilityBase_Want`].
10471 /// The default value is <b>nullptr</b>.
10472 ///
10473 ///
10474 ///
10475 /// Available since API-level: 20
10476 #[cfg(feature = "api-20")]
10477 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10478 pub const NODE_EMBEDDED_COMPONENT_WANT: ArkUI_NodeAttributeType =
10479 ArkUI_NodeAttributeType(1016000);
10480 /// Set onError and onTerminated callbacks for EMBEDDED_COMPONENT.
10481 /// This attribute can be set as required through APIs.
10482 ///
10483 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10484 ///
10485 /// .object: The option for EmbeddedComponent, with parameter type [`ArkUI_EmbeddedComponentOption`].
10486 ///
10487 ///
10488 ///
10489 /// Available since API-level: 20
10490 #[cfg(feature = "api-20")]
10491 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
10492 pub const NODE_EMBEDDED_COMPONENT_OPTION: ArkUI_NodeAttributeType =
10493 ArkUI_NodeAttributeType(1016001);
10494 /// Defines the index of the default selected item in the data selection range of the picker.
10495 /// This attribute can be set, reset, and obtained as required through APIs.
10496 ///
10497 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10498 ///
10499 /// .value[0].u32: index.
10500 ///
10501 ///
10502 ///
10503 /// Format of the return value [`ArkUI_AttributeItem`]:
10504 ///
10505 /// .value[0].u32: index.
10506 ///
10507 ///
10508 ///
10509 /// Available since API-level: 23
10510 #[cfg(feature = "api-23")]
10511 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10512 pub const NODE_PICKER_OPTION_SELECTED_INDEX: ArkUI_NodeAttributeType =
10513 ArkUI_NodeAttributeType(1018000);
10514 /// Defines whether haptic feedback.
10515 /// This attribute can be set, reset, and obtained as required through APIs.
10516 ///
10517 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10518 ///
10519 /// .value[0].i32: whether to feedback. The value <b>true</b> means to feedback, and
10520 /// <b>false</b> means the opposite.
10521 ///
10522 ///
10523 ///
10524 /// Format of the return value [`ArkUI_AttributeItem`]:
10525 ///
10526 /// value[0].i32: whether to feedback.
10527 ///
10528 ///
10529 ///
10530 /// Available since API-level: 23
10531 #[cfg(feature = "api-23")]
10532 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10533 pub const NODE_PICKER_ENABLE_HAPTIC_FEEDBACK: ArkUI_NodeAttributeType =
10534 ArkUI_NodeAttributeType(1018001);
10535 /// Defines whether to support scroll looping for the picker.
10536 /// This attribute can be set, reset, and obtained as required through APIs.
10537 ///
10538 /// Format of the [`ArkUI_AttributeItem`] parameter for setting the attribute:
10539 ///
10540 /// .value[0].i32: whether to support scroll looping. The value <b>true</b> means to support scroll looping, and
10541 /// <b>false</b> means the opposite.
10542 ///
10543 ///
10544 ///
10545 /// Format of the return value [`ArkUI_AttributeItem`]:
10546 ///
10547 /// value[0].i32: The value <b>1</b> means to support scroll looping, and <b>0</b> means the opposite.
10548 ///
10549 ///
10550 ///
10551 /// Available since API-level: 23
10552 #[cfg(feature = "api-23")]
10553 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10554 pub const NODE_PICKER_CAN_LOOP: ArkUI_NodeAttributeType = ArkUI_NodeAttributeType(1018002);
10555 /// Sets the type and parameters of the selection indicator.
10556 /// This attribute can be set, reset, and obtained as required through APIs.
10557 ///
10558 /// Attribute setting method parameter [`ArkUI_AttributeItem`] Format:
10559 ///
10560 /// .object: Parameter type [`ArkUI_PickerIndicatorStyle`].
10561 ///
10562 ///
10563 /// Attribute fetch method return value [`ArkUI_AttributeItem`] format:
10564 ///
10565 /// .object: Parameter type [`ArkUI_PickerIndicatorStyle`].
10566 ///
10567 ///
10568 /// Available since API-level: 23
10569 #[cfg(feature = "api-23")]
10570 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
10571 pub const NODE_PICKER_SELECTION_INDICATOR: ArkUI_NodeAttributeType =
10572 ArkUI_NodeAttributeType(1018003);
10573}
10574#[repr(transparent)]
10575/// Defines the ArkUI style attributes that can be set on the native side.
10576///
10577///
10578/// Available since API-level: 12
10579#[cfg(feature = "api-12")]
10580#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10581#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10582pub struct ArkUI_NodeAttributeType(pub ::core::ffi::c_uint);
10583/// Defines the parameter type of the component callback event.
10584///
10585///
10586/// Available since API-level: 12
10587#[cfg(feature = "api-12")]
10588#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10589#[repr(C)]
10590pub struct ArkUI_NodeComponentEvent {
10591 /// Data array object.
10592 pub data: [ArkUI_NumberValue; 12usize],
10593}
10594/// Defines the string type parameter used by the component callback event.
10595///
10596///
10597/// Available since API-level: 12
10598#[cfg(feature = "api-12")]
10599#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10600#[repr(C)]
10601#[derive(Debug, Copy, Clone)]
10602pub struct ArkUI_StringAsyncEvent {
10603 /// String.
10604 pub pStr: *const ::core::ffi::c_char,
10605}
10606/// Defines a hybrid data structure for component events.
10607///
10608///
10609/// Available since API-level: 15
10610#[cfg(feature = "api-15")]
10611#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10612#[repr(C)]
10613#[derive(Debug, Copy, Clone)]
10614pub struct ArkUI_TextChangeEvent {
10615 /// String data
10616 pub pStr: *const ::core::ffi::c_char,
10617 /// Extended string data
10618 pub pExtendStr: *const ::core::ffi::c_char,
10619 /// Numeric data
10620 pub number: i32,
10621}
10622#[cfg(feature = "api-12")]
10623#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10624impl ArkUI_NodeEventType {
10625 /// Defines the gesture event type.
10626 ///
10627 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is [`ArkUI_UIInputEvent`].
10628 pub const NODE_TOUCH_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(0);
10629 /// Defines the mount event.
10630 ///
10631 /// This event is triggered when the component is mounted and displayed.
10632 ///
10633 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10634 /// [`ArkUI_NodeComponentEvent`].
10635 ///
10636 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10637 pub const NODE_EVENT_ON_APPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(1);
10638 /// Defines the unmount event.
10639 ///
10640 /// This event is triggered when the component is unmounted and hidden.
10641 ///
10642 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10643 /// [`ArkUI_NodeComponentEvent`].
10644 ///
10645 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10646 pub const NODE_EVENT_ON_DISAPPEAR: ArkUI_NodeEventType = ArkUI_NodeEventType(2);
10647 /// Defines the area change event.
10648 ///
10649 /// This event is triggered when the component's size, position, or any other attribute that may
10650 /// affect its display area 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 12 parameters:
10656 ///
10657 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: original width of the target element, in vp.
10658 /// The value type is number.
10659 ///
10660 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: original height of the target element, in vp.
10661 /// The value type is number.
10662 ///
10663 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: original X coordinate of the target element's upper left corner
10664 /// relative to the parent element's, in vp. The value type is number.
10665 ///
10666 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: original Y coordinate of the target element's upper left corner
10667 /// relative to the parent element's, in vp. The value type is number.
10668 ///
10669 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: original X coordinate of the target element's upper left corner
10670 /// relative to the page's, in vp. The value type is number.
10671 ///
10672 /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: original Y coordinate of the target element's upper left corner
10673 /// relative to the page's, in vp. The value type is number.
10674 ///
10675 /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: new width of the target element, in vp. The value is a number.
10676 ///
10677 /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: new height of the target element, in vp. The value is a number.
10678 ///
10679 /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: new X coordinate of the target element's upper left corner relative
10680 /// to the parent element's, in vp. The value type is number.
10681 ///
10682 /// <b>ArkUI_NodeComponentEvent.data[9].f32</b>: new Y coordinate of the target element's upper left corner relative
10683 /// to the parent element's, in vp. The value type is number.
10684 ///
10685 /// <b>ArkUI_NodeComponentEvent.data[10].f32</b>: new X coordinate of the target element's upper left corner relative
10686 /// to the page's, in vp. The value type is number.
10687 ///
10688 /// <b>ArkUI_NodeComponentEvent.data[11].f32</b>: new Y coordinate of the target element's upper left corner relative
10689 /// to the page's, in vp. The value type is number.
10690 pub const NODE_EVENT_ON_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(3);
10691 /// Defines the focus event.
10692 ///
10693 /// This event is triggered when the component obtains the focus.
10694 ///
10695 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10696 /// [`ArkUI_NodeComponentEvent`].
10697 ///
10698 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10699 pub const NODE_ON_FOCUS: ArkUI_NodeEventType = ArkUI_NodeEventType(4);
10700 /// Defines the blur event.
10701 ///
10702 /// This event is triggered when the component loses the focus.
10703 ///
10704 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10705 /// [`ArkUI_NodeComponentEvent`].
10706 ///
10707 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10708 pub const NODE_ON_BLUR: ArkUI_NodeEventType = ArkUI_NodeEventType(5);
10709 /// Defines the click event.
10710 ///
10711 /// This event is triggered when the component is clicked.
10712 ///
10713 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10714 /// [`ArkUI_NodeComponentEvent`].
10715 ///
10716 /// [`ArkUI_NodeComponentEvent`] contains 12 parameters:
10717 ///
10718 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: X coordinate of the click relative to the upper left corner of the
10719 /// clicked component's original area, in vp.
10720 ///
10721 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Y coordinate of the click relative to the upper left corner of the
10722 /// clicked component's original area, in vp.
10723 ///
10724 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: event timestamp. It is the interval between the time when the event
10725 /// is triggered and the time when the system starts, in microseconds.
10726 ///
10727 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: event input device. The value <b>1</b> indicates the mouse,
10728 /// <b>2</b> indicates the touchscreen, and <b>4</b> indicates the key.
10729 ///
10730 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: X coordinate of the click relative to the upper left corner of the
10731 /// application window, in vp.
10732 ///
10733 /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: Y coordinate of the click relative to the upper left corner of the
10734 /// application window, in vp.
10735 ///
10736 /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: X coordinate of the click relative to the upper left corner of the
10737 /// application screen, in vp.
10738 ///
10739 /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: Y coordinate of the click relative to the upper left corner of the
10740 /// application screen, in vp.
10741 pub const NODE_ON_CLICK: ArkUI_NodeEventType = ArkUI_NodeEventType(6);
10742 /// Defines event interception.
10743 ///
10744 /// This event is triggered when the component is touched.
10745 ///
10746 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10747 /// [`ArkUI_UIInputEvent`].
10748 pub const NODE_ON_TOUCH_INTERCEPT: ArkUI_NodeEventType = ArkUI_NodeEventType(7);
10749 /// Defines the visible area change event.
10750 ///
10751 /// This event is triggered when the ratio of the component's visible area to its total area is greater than or less
10752 /// than the threshold.
10753 /// Before registering this event, you must set <b>NODE_VISIBLE_AREA_CHANGE_RATIO</b>.
10754 ///
10755 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10756 /// [`ArkUI_NodeComponentEvent`].
10757 ///
10758 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10759 ///
10760 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
10761 /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates a
10762 /// decrease.
10763 ///
10764 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area when this
10765 /// callback is invoked.
10766 pub const NODE_EVENT_ON_VISIBLE_AREA_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8);
10767 /// Defines the event triggered when the mouse pointer is moved over or away from the component.
10768 ///
10769 ///
10770 ///
10771 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10772 /// [`ArkUI_NodeComponentEvent`].
10773 ///
10774 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10775 ///
10776 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether the mouse pointer is hovered over the component.
10777 /// The value <b>1</b> indicates that the mouse pointer is hovered over the component, and <b>0</b> indicates that
10778 /// the mouse pointer is moved away from the component.
10779 pub const NODE_ON_HOVER: ArkUI_NodeEventType = ArkUI_NodeEventType(9);
10780 /// Defines the click event.
10781 ///
10782 /// This event is triggered when the component is clicked by a mouse device button or when the mouse pointer moves
10783 /// within the component.
10784 ///
10785 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10786 /// [`ArkUI_UIInputEvent`].
10787 pub const NODE_ON_MOUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(10);
10788 /// Defines the attach event.
10789 ///
10790 /// This event is triggered when the component is attached.
10791 ///
10792 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10793 /// [`ArkUI_NodeComponentEvent`].
10794 ///
10795 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10796 pub const NODE_EVENT_ON_ATTACH: ArkUI_NodeEventType = ArkUI_NodeEventType(11);
10797 /// Defines the detach event.
10798 ///
10799 /// This event is triggered when the component is detached.
10800 ///
10801 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10802 /// [`ArkUI_NodeComponentEvent`].
10803 ///
10804 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
10805 pub const NODE_EVENT_ON_DETACH: ArkUI_NodeEventType = ArkUI_NodeEventType(12);
10806 /// Defines the accessibility action event.
10807 ///
10808 /// This event is triggered when The accessibility operation type has been set and
10809 /// corresponding operations have been carried out.
10810 ///
10811 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10812 /// [`ArkUI_NodeComponentEvent`].
10813 ///
10814 /// [`ArkUI_NodeComponentEvent`] contains one parameters:
10815 ///
10816 /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: accessibility action type,the union type is
10817 /// [`ArkUI_AccessibilityActionType`]
10818 pub const NODE_ON_ACCESSIBILITY_ACTIONS: ArkUI_NodeEventType = ArkUI_NodeEventType(13);
10819 /// Notifies the listener of the interaction state prior to a drop and drop operation.
10820 ///
10821 /// This event is triggered when a drag operation is about to start on a draggable item.
10822 ///
10823 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10824 /// [`ArkUI_NodeComponentEvent`].
10825 ///
10826 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
10827 ///
10828 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: corresponds to [`ArkUI_PreDragStatus`].
10829 pub const NODE_ON_PRE_DRAG: ArkUI_NodeEventType = ArkUI_NodeEventType(14);
10830 /// Called when the user starts to drag an ite
10831 ///
10832 /// A drag operation is recognized only when the dragged item is moved far enough.
10833 ///
10834 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10835 /// [`ArkUI_NodeEvent`] object.
10836 pub const NODE_ON_DRAG_START: ArkUI_NodeEventType = ArkUI_NodeEventType(15);
10837 /// Called when a dragged item enters the boundaries of the current component.
10838 ///
10839 /// The current component refers to the component that listens for this event.
10840 ///
10841 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10842 /// [`ArkUI_NodeEvent`] object.
10843 pub const NODE_ON_DRAG_ENTER: ArkUI_NodeEventType = ArkUI_NodeEventType(16);
10844 /// Called when a dragged item moves in the current component.
10845 ///
10846 /// The current component refers to the component that listens for this event.
10847 ///
10848 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10849 /// [`ArkUI_NodeEvent`] object.
10850 pub const NODE_ON_DRAG_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(17);
10851 /// Called when a dragged item leaves the boundaries of the current component.
10852 ///
10853 /// The current component refers to the component that listens for this event.
10854 ///
10855 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10856 /// [`ArkUI_NodeEvent`] object.
10857 pub const NODE_ON_DRAG_LEAVE: ArkUI_NodeEventType = ArkUI_NodeEventType(18);
10858 /// Called when a dragged item is dropped on the current component.
10859 /// The component can obtain the drag data for processing through the callback.
10860 ///
10861 /// The current component refers to the component that listens for this event.
10862 ///
10863 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10864 /// [`ArkUI_NodeEvent`] object.
10865 pub const NODE_ON_DROP: ArkUI_NodeEventType = ArkUI_NodeEventType(19);
10866 /// Called when a drag operation ends.
10867 /// The drag source can obtain the drag result by registering this callback.
10868 ///
10869 /// A drag operation ends when the dragged item is released.
10870 /// When the event callback occurs, the [`ArkUI_DragEvent`] object can be obtained from the
10871 /// [`ArkUI_NodeEvent`] object.
10872 pub const NODE_ON_DRAG_END: ArkUI_NodeEventType = ArkUI_NodeEventType(20);
10873 /// Defines the event triggered when a key event occurs.
10874 ///
10875 /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
10876 /// device.
10877 ///
10878 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10879 /// [`ArkUI_NodeComponentEvent`].
10880 ///
10881 ///
10882 ///
10883 /// Available since API-level: 14
10884 #[cfg(feature = "api-14")]
10885 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
10886 pub const NODE_ON_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(21);
10887 /// Defines the event triggered before the input method responds to the key action.
10888 ///
10889 /// If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and
10890 /// subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted
10891 /// and no longer triggered.
10892 /// The callback can be triggered during interactions with a focused window using an external keyboard or other input
10893 /// device.
10894 ///
10895 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10896 /// [`ArkUI_NodeComponentEvent`].
10897 ///
10898 ///
10899 ///
10900 /// Available since API-level: 14
10901 #[cfg(feature = "api-14")]
10902 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
10903 pub const NODE_ON_KEY_PRE_IME: ArkUI_NodeEventType = ArkUI_NodeEventType(22);
10904 /// Defines the event triggered when the bound component receives a focus axis event after gaining focus.
10905 ///
10906 /// The event callback is triggered by interactions with a joystick and a focused component.
10907 ///
10908 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10909 /// [`ArkUI_UIInputEvent`].
10910 ///
10911 ///
10912 ///
10913 /// Available since API-level: 15
10914 #[cfg(feature = "api-15")]
10915 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10916 pub const NODE_ON_FOCUS_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(23);
10917 /// Dispatch key event on the component node.
10918 ///
10919 /// When the component node receives a key event, this callback will be triggered instead of dispatching event to its
10920 /// children.
10921 ///
10922 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10923 /// [`ArkUI_NodeComponentEvent`].
10924 ///
10925 ///
10926 ///
10927 /// Available since API-level: 15
10928 #[cfg(feature = "api-15")]
10929 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
10930 pub const NODE_DISPATCH_KEY_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(24);
10931 /// Defines the event triggered when the bound component receives an axis event.
10932 ///
10933 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10934 /// [`ArkUI_UIInputEvent`].
10935 ///
10936 ///
10937 ///
10938 /// Available since API-level: 17
10939 #[cfg(feature = "api-17")]
10940 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
10941 pub const NODE_ON_AXIS: ArkUI_NodeEventType = ArkUI_NodeEventType(25);
10942 /// Defines the event triggered when the bound component is clicked.
10943 ///
10944 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10945 /// [`ArkUI_UIInputEvent`].
10946 ///
10947 ///
10948 ///
10949 /// Available since API-level: 18
10950 #[cfg(feature = "api-18")]
10951 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
10952 pub const NODE_ON_CLICK_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(26);
10953 /// Defines the event triggered when the mouse pointer hovers over or moves away from a component.
10954 ///
10955 /// This event is triggered when the mouse pointer enters or leaves the component's bounding box.
10956 ///
10957 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10958 /// [`ArkUI_UIInputEvent`].
10959 ///
10960 ///
10961 ///
10962 /// Available since API-level: 17
10963 #[cfg(feature = "api-17")]
10964 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
10965 pub const NODE_ON_HOVER_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(27);
10966 /// Sets the callback for the NODE_EVENT_ON_VISIBLE_AREA_CHANGE event, which limits the callback interval.
10967 ///
10968 /// The callback is triggered when the ratio of the component's visible area to its total area is greater than or
10969 /// less than the threshold. Before registering the callback, you must configure the threshold and update interval
10970 /// using <b>NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO</b>.
10971 ///
10972 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
10973 /// [`ArkUI_NodeComponentEvent`].
10974 ///
10975 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
10976 ///
10977 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: how the ratio of the component's visible area to its total area
10978 /// changes compared to the previous one. The value <b>1</b> indicates an increase, and <b>0</b> indicates
10979 /// a decrease.
10980 ///
10981 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: ratio of the component's visible area to its total area
10982 /// when this callback is invoked.
10983 ///
10984 ///
10985 ///
10986 /// Available since API-level: 17
10987 #[cfg(feature = "api-17")]
10988 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
10989 pub const NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT: ArkUI_NodeEventType =
10990 ArkUI_NodeEventType(28);
10991 /// Defines the hover event.
10992 ///
10993 /// The event is triggered when the pointer is hovered by a pen device.
10994 /// within the component.
10995 ///
10996 /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
10997 /// [`ArkUI_UIInputEvent`] object.
10998 ///
10999 ///
11000 /// Available since API-level: 15
11001 #[cfg(feature = "api-15")]
11002 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11003 pub const NODE_ON_HOVER_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(29);
11004 /// Defines the size change event.
11005 ///
11006 /// The event will be triggered when the component size changes.
11007 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11008 /// [`ArkUI_NodeComponentEvent`].
11009 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
11010 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: the width of the old rectangle.
11011 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: the height of the old rectangle.
11012 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the width of the new rectangle.
11013 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: the height of the new rectangle.
11014 ///
11015 /// Available since API-level: 21
11016 #[cfg(feature = "api-21")]
11017 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
11018 pub const NODE_ON_SIZE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(30);
11019 /// Defines the coasting axis event.
11020 ///
11021 /// The event is triggered when user swipes with two fingers on the touchpad, the system constructs
11022 /// sliding events based on the speed at the moment the fingers are lifted, according to a certain
11023 /// decay curve. You can listen for such events to handle the flick effect immediately after the
11024 /// regular axis events.
11025 ///
11026 /// When the event callback occurs, the [`ArkUI_UIInputEvent`] object can be obtained from the
11027 /// [`ArkUI_NodeEvent`] object through [`OH_ArkUI_NodeEvent_GetInputEvent`].
11028 /// And the [`ArkUI_CoastingAxisEvent`] object can be obtained from the [`ArkUI_UIInputEvent`]
11029 /// object through [`OH_ArkUI_UIInputEvent_GetCoastingAxisEvent`].
11030 ///
11031 ///
11032 ///
11033 /// Available since API-level: 22
11034 #[cfg(feature = "api-22")]
11035 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
11036 pub const NODE_ON_COASTING_AXIS_EVENT: ArkUI_NodeEventType = ArkUI_NodeEventType(31);
11037 /// Defines the pre-touch test of sub component in touch events. Called to specify how to perform the touch test on the children of this component.
11038 ///
11039 /// The event is triggered when the component is touched.
11040 ///
11041 /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
11042 /// [`ArkUI_TouchTestInfo`] object.
11043 ///
11044 ///
11045 /// Available since API-level: 22
11046 #[cfg(feature = "api-22")]
11047 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
11048 pub const NODE_ON_CHILD_TOUCH_TEST: ArkUI_NodeEventType = ArkUI_NodeEventType(32);
11049 /// Triggers onDetectResultUpdate callback
11050 /// when the text is set to TextDataDetectorConfig and recognized successfully.
11051 ///
11052 /// Trigger this event when TextDataDetectorConfig is set and recognized successfully.
11053 ///
11054 /// When the event callback occurs, the event parameter[`ArkUI_NodeEvent`]The union type in the object is
11055 /// [`ArkUI_StringAsyncEvent`].
11056 ///
11057 /// [`ArkUI_StringAsyncEvent`]contains 1 parameter
11058 ///
11059 /// <b>ArkUI_StringAsyncEvent.pStr</b>:Indicates the result of text recognition, in Json format.
11060 pub const NODE_TEXT_ON_DETECT_RESULT_UPDATE: ArkUI_NodeEventType = ArkUI_NodeEventType(1000);
11061 /// Defines the long press event for span.
11062 ///
11063 /// The event is triggered when the span is long pressed.
11064 /// When the event callback occurs, the [`ArkUI_NodeEvent`] object can be obtained from the
11065 /// [`ArkUI_UIInputEvent`] object.
11066 ///
11067 ///
11068 /// Available since API-level: 20
11069 #[cfg(feature = "api-20")]
11070 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11071 pub const NODE_TEXT_SPAN_ON_LONG_PRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(1001);
11072 /// Defines the image loading success event.
11073 ///
11074 /// This event is triggered when an image is successfully loaded or decoded.
11075 ///
11076 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11077 /// [`ArkUI_NodeComponentEvent`].
11078 ///
11079 /// [`ArkUI_NodeComponentEvent`] contains nine parameters:
11080 ///
11081 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: loading status. The value <b>0</b> indicates that the image is
11082 /// loaded successfully, and the value <b>1</b> indicates that the image is decoded successfully.
11083 ///
11084 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: width of the image, in px.
11085 ///
11086 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: height of the image, in px.
11087 ///
11088 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: width of the component, in px.
11089 ///
11090 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: height of the component, in px.
11091 ///
11092 /// <b>ArkUI_NodeComponentEvent.data[5].f32</b>: offset of the rendered content relative to the component on the
11093 /// x-axis, in px.
11094 ///
11095 /// <b>ArkUI_NodeComponentEvent.data[6].f32</b>: offset of the rendered content relative to the component on the
11096 /// y-axis, in px.
11097 ///
11098 /// <b>ArkUI_NodeComponentEvent.data[7].f32</b>: actual rendered width of the image, in px.
11099 ///
11100 /// <b>ArkUI_NodeComponentEvent.data[8].f32</b>: actual rendered height of the image, in px.
11101 pub const NODE_IMAGE_ON_COMPLETE: ArkUI_NodeEventType = ArkUI_NodeEventType(4000);
11102 /// Defines the image loading failure event.
11103 ///
11104 /// This event is triggered when an error occurs during image loading.
11105 ///
11106 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11107 /// [`ArkUI_NodeComponentEvent`].
11108 ///
11109 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11110 ///
11111 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>error code:
11112 ///
11113 /// 401: The image could not be obtained because the image path is invalid.
11114 ///
11115 /// 103101: The image format is not supported.
11116 pub const NODE_IMAGE_ON_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(4001);
11117 /// Defines the SVG animation playback completion event.
11118 ///
11119 /// This event is triggered when the animation playback in the loaded SVG image is complete.
11120 ///
11121 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11122 /// [`ArkUI_NodeComponentEvent`].
11123 ///
11124 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
11125 pub const NODE_IMAGE_ON_SVG_PLAY_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(4002);
11126 /// Defines image download process event.
11127 ///
11128 /// This event is triggered when downloading webpage images from page components.
11129 ///
11130 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11131 /// [`ArkUI_NodeComponentEvent`].
11132 ///
11133 /// [`ArkUI_NodeComponentEvent`] contains two parameter:
11134 ///
11135 /// <b>ArkUI_NodeComponentEvent.data[0].u32</b>: the num of bytes downloaded.
11136 ///
11137 /// <b>ArkUI_NodeComponentEvent.data[1].u32</b>: the total number of bytes to download.
11138 pub const NODE_IMAGE_ON_DOWNLOAD_PROGRESS: ArkUI_NodeEventType = ArkUI_NodeEventType(4003);
11139 /// Defines the event triggered when the toggle status changes.
11140 ///
11141 ///
11142 ///
11143 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11144 /// [`ArkUI_NodeComponentEvent`].
11145 ///
11146 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11147 ///
11148 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: toggle status. <b>1</b>: on; <b>0</b>: off.
11149 pub const NODE_TOGGLE_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(5000);
11150 /// Defines the event triggered when the text input content changes.
11151 ///
11152 ///
11153 ///
11154 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11155 /// [`ArkUI_StringAsyncEvent`].
11156 ///
11157 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11158 ///
11159 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text input.
11160 pub const NODE_TEXT_INPUT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7000);
11161 /// Defines the event triggered when the Enter key of the text input method is pressed.
11162 ///
11163 ///
11164 ///
11165 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11166 /// [`ArkUI_NodeComponentEvent`].
11167 ///
11168 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11169 ///
11170 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Enter key type of the input method.
11171 pub const NODE_TEXT_INPUT_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(7001);
11172 /// Defines the event triggered when the cut button on the pasteboard, which displays when the text box
11173 /// is long pressed, is clicked.
11174 ///
11175 ///
11176 ///
11177 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11178 /// [`ArkUI_StringAsyncEvent`].
11179 ///
11180 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11181 ///
11182 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is cut.
11183 pub const NODE_TEXT_INPUT_ON_CUT: ArkUI_NodeEventType = ArkUI_NodeEventType(7002);
11184 /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box
11185 /// is long pressed, is clicked.
11186 ///
11187 ///
11188 ///
11189 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11190 /// [`ArkUI_StringAsyncEvent`].
11191 ///
11192 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11193 ///
11194 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
11195 pub const NODE_TEXT_INPUT_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(7003);
11196 /// Defines the event triggered when the text selection position changes.
11197 ///
11198 ///
11199 ///
11200 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11201 /// [`ArkUI_NodeComponentEvent`].
11202 ///
11203 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11204 ///
11205 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
11206 ///
11207 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
11208 pub const NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
11209 ArkUI_NodeEventType(7004);
11210 /// Defines the event triggered when the input status changes.
11211 ///
11212 ///
11213 ///
11214 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11215 /// [`ArkUI_NodeComponentEvent`].
11216 ///
11217 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11218 ///
11219 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
11220 pub const NODE_TEXT_INPUT_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7005);
11221 /// textInput This event is triggered when the input content changes.
11222 ///
11223 /// Conditions for triggering this event: When the input content changes.
11224 ///
11225 /// When the event callback occurs, the union type in the event parameter
11226 /// [`ArkUI_NodeEvent`] object is [`ArkUI_NodeComponentEvent`].
11227 ///
11228 /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
11229 ///
11230 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
11231 ///
11232 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
11233 pub const NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
11234 ArkUI_NodeEventType(7006);
11235 /// Defines the event triggered when matching with the regular expression specified by
11236 /// <b>NODE_TEXT_INPUT_INPUT_FILTER</b> fails.
11237 ///
11238 ///
11239 ///
11240 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11241 /// [`ArkUI_StringAsyncEvent`].
11242 ///
11243 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11244 ///
11245 /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
11246 pub const NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType =
11247 ArkUI_NodeEventType(7007);
11248 /// This callback is triggered when the text content is scrolled.
11249 ///
11250 ///
11251 ///
11252 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11253 /// [`ArkUI_NodeComponentEvent`].
11254 ///
11255 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11256 ///
11257 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
11258 ///
11259 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
11260 ///
11261 /// the text in the content area.
11262 pub const NODE_TEXT_INPUT_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(7008);
11263 /// Defines the event triggered when text is about to be entered.
11264 ///
11265 /// The event parameter is [`ArkUI_NodeEvent`].
11266 ///
11267 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11268 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11269 ///
11270 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11271 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11272 ///
11273 /// # Returns
11274 ///
11275 /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
11276 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11277 pub const NODE_TEXT_INPUT_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7009);
11278 /// Defines the event triggered when text is entered.
11279 ///
11280 /// The event parameter is [`ArkUI_NodeEvent`].
11281 ///
11282 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11283 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11284 ///
11285 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11286 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11287 pub const NODE_TEXT_INPUT_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(7010);
11288 /// Defines the event triggered when text is about to be deleted.
11289 ///
11290 /// The event parameter is [`ArkUI_NodeEvent`].
11291 ///
11292 /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
11293 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11294 ///
11295 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11296 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11297 /// forward-delete.
11298 ///
11299 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11300 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11301 ///
11302 /// # Returns
11303 ///
11304 /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
11305 ///
11306 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11307 pub const NODE_TEXT_INPUT_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7011);
11308 /// Defines the event triggered when text is deleted.
11309 ///
11310 /// The event parameter is [`ArkUI_NodeEvent`].
11311 ///
11312 /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
11313 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11314 ///
11315 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11316 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11317 /// forward-delete.
11318 ///
11319 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11320 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11321 pub const NODE_TEXT_INPUT_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(7012);
11322 /// Defines the event triggered when content (including preview text) changes in the <b>TextInput</b>
11323 /// component.
11324 ///
11325 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11326 ///
11327 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11328 ///
11329 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
11330 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
11331 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
11332 ///
11333 ///
11334 /// Available since API-level: 15
11335 #[cfg(feature = "api-15")]
11336 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11337 pub const NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
11338 ArkUI_NodeEventType(7013);
11339 /// Defines the event triggered before content changes
11340 ///
11341 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11342 ///
11343 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11344 ///
11345 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextInput</b> component.
11346 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextInput</b> component.
11347 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextInput</b> component.
11348 ///
11349 ///
11350 /// Available since API-level: 20
11351 #[cfg(feature = "api-20")]
11352 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11353 pub const NODE_TEXT_INPUT_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(7014);
11354 /// Defines the event triggered when the input in the text box changes.
11355 ///
11356 ///
11357 ///
11358 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11359 /// [`ArkUI_StringAsyncEvent`].
11360 ///
11361 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11362 ///
11363 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text entered.
11364 pub const NODE_TEXT_AREA_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8000);
11365 /// Defines the event triggered when the paste button on the pasteboard, which displays when the text box is
11366 /// long pressed, is clicked.
11367 ///
11368 ///
11369 ///
11370 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11371 /// [`ArkUI_StringAsyncEvent`].
11372 ///
11373 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11374 ///
11375 /// <b>ArkUI_StringAsyncEvent.pStr</b>: text that is pasted
11376 pub const NODE_TEXT_AREA_ON_PASTE: ArkUI_NodeEventType = ArkUI_NodeEventType(8001);
11377 /// Defines the event triggered when the text selection position changes.
11378 ///
11379 ///
11380 ///
11381 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11382 /// [`ArkUI_NodeComponentEvent`].
11383 ///
11384 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11385 ///
11386 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: start position of the text selection area.
11387 ///
11388 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: end position of the text selection area.
11389 pub const NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE: ArkUI_NodeEventType =
11390 ArkUI_NodeEventType(8002);
11391 /// Defines the event triggered when matching with the regular expression specified by
11392 /// <b>NODE_TEXT_AREA_INPUT_FILTER</b> fails.
11393 ///
11394 ///
11395 ///
11396 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11397 /// [`ArkUI_StringAsyncEvent`].
11398 ///
11399 /// [`ArkUI_StringAsyncEvent`] contains one parameter:
11400 ///
11401 /// <b>ArkUI_StringAsyncEvent.pStr</b>: content that is filtered out when regular expression matching fails.
11402 pub const NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR: ArkUI_NodeEventType = ArkUI_NodeEventType(8003);
11403 /// This callback is triggered when the text content is scrolled.
11404 ///
11405 ///
11406 ///
11407 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11408 /// [`ArkUI_NodeComponentEvent`].
11409 ///
11410 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11411 ///
11412 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: Indicates the horizontal offset of the text in the content area.
11413 ///
11414 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: Indicates the vertical coordinate offset of
11415 ///
11416 /// the text in the content area.
11417 pub const NODE_TEXT_AREA_ON_CONTENT_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(8004);
11418 /// Defines the event triggered when the input status changes.
11419 ///
11420 ///
11421 ///
11422 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11423 ///
11424 /// [`ArkUI_NodeComponentEvent`].
11425 ///
11426 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11427 ///
11428 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: <b>true</b> indicates that text input is in progress.
11429 pub const NODE_TEXT_AREA_ON_EDIT_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8005);
11430 /// Defines the event triggered when the Enter key on the keyboard is pressed for the multi-line text box.
11431 ///
11432 /// This event is not triggered when <b>keyType</b> is <b>ARKUI_ENTER_KEY_TYPE_NEW_LINE</b>.
11433 ///
11434 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11435 ///
11436 /// [`ArkUI_NodeComponentEvent`].
11437 ///
11438 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11439 ///
11440 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: type of the Enter key.
11441 pub const NODE_TEXT_AREA_ON_SUBMIT: ArkUI_NodeEventType = ArkUI_NodeEventType(8006);
11442 /// textArea This event is triggered when the input content changes.
11443 ///
11444 /// Conditions for triggering this event: When the input content changes.
11445 ///
11446 /// When the event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
11447 ///
11448 /// [`ArkUI_NodeComponentEvent`].
11449 ///
11450 /// [`ArkUI_NodeComponentEvent`] contains 2 parameters:
11451 ///
11452 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Indicates the width of the text.
11453 ///
11454 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: Indicates the height of the text.
11455 pub const NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE: ArkUI_NodeEventType =
11456 ArkUI_NodeEventType(8007);
11457 /// Defines the event triggered when text is about to be entered.
11458 ///
11459 /// The event parameter is [`ArkUI_NodeEvent`].
11460 ///
11461 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11462 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11463 ///
11464 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11465 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11466 ///
11467 /// # Returns
11468 ///
11469 /// * Returns <b>true</b> if the text is entered; returns <b>false</b> otherwise.
11470 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11471 pub const NODE_TEXT_AREA_ON_WILL_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8008);
11472 /// Defines the event triggered when text is entered.
11473 ///
11474 /// The event parameter is [`ArkUI_NodeEvent`].
11475 ///
11476 /// value.f32: position of the text, with the index of <b>0</b>; obtained using
11477 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11478 ///
11479 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11480 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11481 pub const NODE_TEXT_AREA_ON_DID_INSERT: ArkUI_NodeEventType = ArkUI_NodeEventType(8009);
11482 /// Defines the event triggered when text is about to be deleted.
11483 ///
11484 /// The event parameter is [`ArkUI_NodeEvent`].
11485 ///
11486 /// value.f32: position of the text to delete, with the index of <b>0</b>; obtained using
11487 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11488 ///
11489 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11490 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11491 /// forward-delete.
11492 ///
11493 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11494 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11495 ///
11496 /// # Returns
11497 ///
11498 /// * Returns <b>true</b> if the text is deleted; returns <b>false</b> otherwise.
11499 ///
11500 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
11501 pub const NODE_TEXT_AREA_ON_WILL_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8010);
11502 /// Defines the event triggered when text is deleted.
11503 ///
11504 /// The event parameter is [`ArkUI_NodeEvent`].
11505 ///
11506 /// value.f32: position of the text deleted, with the index of <b>0</b>; obtained using
11507 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
11508 ///
11509 /// value.i32: direction for deleting the text, with the index of <b>1</b>; obtained using
11510 /// <b>OH_ArkUI_NodeEvent_GetNumberValue</b>. The value <b>0</b> indicates backward-delete, and <b>1</b> indicates
11511 /// forward-delete.
11512 ///
11513 /// buffer: string value of the text, with the index of <b>0</b>; obtained using
11514 /// <b>OH_ArkUI_NodeEvent_GetStringValue</b>.
11515 pub const NODE_TEXT_AREA_ON_DID_DELETE: ArkUI_NodeEventType = ArkUI_NodeEventType(8011);
11516 /// Defines the event triggered when content (including preview text) changes in the <b>TextArea</b>
11517 /// component.
11518 ///
11519 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11520 ///
11521 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11522 ///
11523 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
11524 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
11525 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
11526 ///
11527 ///
11528 /// Available since API-level: 15
11529 #[cfg(feature = "api-15")]
11530 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11531 pub const NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT: ArkUI_NodeEventType =
11532 ArkUI_NodeEventType(8012);
11533 /// Defines the event triggered before content changes.
11534 ///
11535 /// When the event callback occurs, the union type [`ArkUI_NodeEvent`] is [`ArkUI_TextChangeEvent`].
11536 ///
11537 /// [`ArkUI_TextChangeEvent`] contains the following parameters:
11538 ///
11539 /// <b>ArkUI_TextChangeEvent.pStr</b>: content in the <b>TextArea</b> component.
11540 /// <b>ArkUI_TextChangeEvent.pExtendStr</b>: content of the preview text in the <b>TextArea</b> component.
11541 /// <b>ArkUI_TextChangeEvent.number</b>: start position of the preview text in the <b>TextArea</b> component.
11542 ///
11543 ///
11544 /// Available since API-level: 20
11545 #[cfg(feature = "api-20")]
11546 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11547 pub const NODE_TEXT_AREA_ON_WILL_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(8013);
11548 /// Defines the event triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX</b> component changes.
11549 ///
11550 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11551 /// [`ArkUI_NodeComponentEvent`].
11552 ///
11553 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b><b>1</b>: selected; <b>0</b>: not selected.
11554 pub const NODE_CHECKBOX_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(11000);
11555 /// Defines the event triggered when a date is selected in the <b>ARKUI_NODE_DATE_PICKER</b> component.
11556 ///
11557 ///
11558 ///
11559 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11560 /// [`ArkUI_NodeComponentEvent`].
11561 ///
11562 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
11563 ///
11564 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: year of the selected date.
11565 ///
11566 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: month of the selected date. Value range: [0-11].
11567 ///
11568 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: day of the selected date.
11569 pub const NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE: ArkUI_NodeEventType =
11570 ArkUI_NodeEventType(13000);
11571 /// Defines the event triggered when a time is selected in the <b>ARKUI_NODE_TIME_PICKER</b> component.
11572 ///
11573 ///
11574 ///
11575 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11576 /// [`ArkUI_NodeComponentEvent`].
11577 ///
11578 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11579 ///
11580 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: hour of the selected time. Value range: [0-23].
11581 ///
11582 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: minute of the selected time. Value range: [0-59].
11583 pub const NODE_TIME_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(14000);
11584 /// Defines the event triggered when an item is selected in the <b>ARKUI_NODE_TEXT_PICKER</b> component.
11585 ///
11586 ///
11587 ///
11588 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11589 /// [`ArkUI_NodeComponentEvent`].
11590 ///
11591 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11592 ///
11593 /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
11594 pub const NODE_TEXT_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(15000);
11595 /// Defines the event triggered when an item is selected and scrolling has stopped in the
11596 /// <b>ARKUI_NODE_TEXT_PICKER</b> component.
11597 ///
11598 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11599 /// [`ArkUI_NodeComponentEvent`].
11600 ///
11601 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11602 ///
11603 /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
11604 ///
11605 ///
11606 ///
11607 /// Available since API-level: 14
11608 #[cfg(feature = "api-14")]
11609 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
11610 pub const NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType =
11611 ArkUI_NodeEventType(15001);
11612 /// Defines the event triggered when a date is selected in the <b>NODE_CALENDAR_PICKER</b>.
11613 ///
11614 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11615 /// [`ArkUI_NodeComponentEvent`].
11616 ///
11617 /// <b>ArkUI_NodeComponent.data[0].u32</b>: year of the selected date.
11618 ///
11619 /// <b>ArkUI_NodeComponent.data[1].u32</b>: month of the selected date.
11620 ///
11621 /// <b>ArkUI_NodeComponent.data[2].u32</b>: day of the selected date.
11622 pub const NODE_CALENDAR_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType =
11623 ArkUI_NodeEventType(16000);
11624 /// Defines the event triggered when the <b>ARKUI_NODE_SLIDER</b> component is dragged or clicked.
11625 ///
11626 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11627 /// [`ArkUI_NodeComponentEvent`].
11628 ///
11629 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11630 ///
11631 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current slider value.
11632 ///
11633 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: state triggered by the event.
11634 pub const NODE_SLIDER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(17000);
11635 /// Defines the event callback function triggered when an object is dragged or clicked by ARKUI_NODE_RADIO.
11636 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11637 ///
11638 /// [`ArkUI_NodeComponentEvent`].
11639 ///
11640 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11641 ///
11642 /// ArkUI_NodeComponentEvent.data[0].i32: option button status.
11643 pub const NODE_RADIO_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(18000);
11644 /// Defines the event callback function triggered when the animation starts to play.
11645 ///
11646 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11647 ///
11648 /// [`ArkUI_NodeComponentEvent`].
11649 ///
11650 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11651 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_START: ArkUI_NodeEventType = ArkUI_NodeEventType(19000);
11652 /// Defines the event callback function triggered when the animation playback is paused.
11653 ///
11654 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11655 ///
11656 /// [`ArkUI_NodeComponentEvent`].
11657 ///
11658 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11659 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE: ArkUI_NodeEventType = ArkUI_NodeEventType(19001);
11660 /// Defines the event callback function triggered when the animation playback is repeated.
11661 ///
11662 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11663 ///
11664 /// [`ArkUI_NodeComponentEvent`].
11665 ///
11666 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11667 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT: ArkUI_NodeEventType = ArkUI_NodeEventType(19002);
11668 /// Defines the event callback function when the animation playback returns to the initial state.
11669 ///
11670 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11671 ///
11672 /// [`ArkUI_NodeComponentEvent`].
11673 ///
11674 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11675 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL: ArkUI_NodeEventType = ArkUI_NodeEventType(19003);
11676 /// Defines the event callback function triggered when the animation playback is complete or stopped.
11677 ///
11678 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11679 ///
11680 /// [`ArkUI_NodeComponentEvent`].
11681 ///
11682 /// [`ArkUI_NodeComponentEvent`] contains no parameter:
11683 pub const NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH: ArkUI_NodeEventType = ArkUI_NodeEventType(19004);
11684 /// Defines the callback triggered when the selected status of the <b>ARKUI_NODE_CHECKBOX_GROOUP</b>
11685 /// or checkbox changes.
11686 ///
11687 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11688 /// [`ArkUI_StringAsyncEvent`].
11689 ///
11690 /// <b>ArkUI_StringAsyncEvent.pStr</b>
11691 /// Name: The names of the selected checkboxes;
11692 /// Status:
11693 /// 0: All checkboxes are selected.
11694 /// 1: Some checkboxes are selected.
11695 /// 2: No checkboxes are selected.
11696 ///
11697 ///
11698 ///
11699 /// Available since API-level: 15
11700 #[cfg(feature = "api-15")]
11701 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11702 pub const NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(21000);
11703 /// Defines the event triggered when the index of the currently displayed element of this
11704 /// <b>ARKUI_NODE_SWIPER</b> instance changes.
11705 ///
11706 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11707 /// [`ArkUI_NodeComponentEvent`].
11708 ///
11709 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11710 ///
11711 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11712 pub const NODE_SWIPER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1001000);
11713 /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance starts.
11714 ///
11715 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11716 /// [`ArkUI_NodeComponentEvent`].
11717 ///
11718 /// [`ArkUI_NodeComponentEvent`] contains five parameters:
11719 ///
11720 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11721 ///
11722 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the target element to switch to.
11723 ///
11724 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: offset of the currently displayed element relative to the
11725 /// start position of the swiper along the main axis.
11726 ///
11727 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b>: offset of the target element relative to the start position
11728 /// of the swiper along the main axis.
11729 ///
11730 /// <b>ArkUI_NodeComponentEvent.data[4].f32</b>: hands-off velocity.
11731 pub const NODE_SWIPER_EVENT_ON_ANIMATION_START: ArkUI_NodeEventType =
11732 ArkUI_NodeEventType(1001001);
11733 /// Defines the event triggered when the switching animation of this <b>ARKUI_NODE_SWIPER</b> instance ends.
11734 ///
11735 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11736 /// [`ArkUI_NodeComponentEvent`].
11737 ///
11738 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11739 ///
11740 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11741 ///
11742 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
11743 /// start position of the swiper along the main axis.
11744 pub const NODE_SWIPER_EVENT_ON_ANIMATION_END: ArkUI_NodeEventType =
11745 ArkUI_NodeEventType(1001002);
11746 /// Defines the event triggered on a frame-by-frame basis when the page is turned by a swipe in this
11747 /// <b>ARKUI_NODE_SWIPER</b> instance.
11748 ///
11749 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11750 /// [`ArkUI_NodeComponentEvent`].
11751 ///
11752 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11753 ///
11754 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently displayed element.
11755 ///
11756 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: offset of the currently displayed element relative to the
11757 /// start position of the swiper along the main axis.
11758 pub const NODE_SWIPER_EVENT_ON_GESTURE_SWIPE: ArkUI_NodeEventType =
11759 ArkUI_NodeEventType(1001003);
11760 /// Define the <b>ARKUI_NODE_SWIPER</b> to listen for Swiper page slide events.
11761 /// Instruction:
11762 ///
11763 /// 1. If the [`ArkUI_SwiperDisplayModeType`] attribute is set to
11764 ///
11765 /// ARKUI_SWIPER_DISPLAY_MODE_AUTO_LINEAR, the interface does not take effect.
11766 ///
11767 /// 2, circular scenario, set prevMargin and nextMargin attributes,
11768 ///
11769 /// so that Swiper front and back end display the same page, the interface does not take effect.
11770 ///
11771 /// 3. During page sliding, the ContentDidScrollCallback callback is
11772 ///
11773 /// triggered frame-by-frame for all pages in the window.
11774 ///
11775 /// For example, when there are two pages in the window with subscripts 0 and 1,
11776 ///
11777 /// callbacks with index values 0 and 1 are triggered twice per frame.
11778 ///
11779 /// 4, set the swipeByGroup parameter of the displayCount property to
11780 ///
11781 /// true if at least one page in the same group is in the window,
11782 ///
11783 /// A callback is triggered for all pages in the group.
11784 ///
11785 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11786 /// [`ArkUI_NodeComponentEvent`].
11787 ///
11788 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
11789 ///
11790 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b> : indicates the index of the Swiper component,
11791 ///
11792 /// which is consistent with the index change in the onChange event.
11793 ///
11794 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b> : The index of a page in the window.
11795 ///
11796 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b> : The proportion of page movement relative to
11797 ///
11798 /// the start position of the Swiper spindle (selectedIndex corresponds to the start position of the page).
11799 ///
11800 /// <b>ArkUI_NodeComponentEvent.data[3].f32</b> : The length of the page in the axis direction.
11801 pub const NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL: ArkUI_NodeEventType =
11802 ArkUI_NodeEventType(1001004);
11803 /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
11804 ///
11805 /// This event is triggered under the following scenarios:
11806 ///
11807 /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
11808 /// the threshold for page turning.
11809 ///
11810 /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
11811 /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
11812 ///
11813 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11814 /// [`ArkUI_NodeComponentEvent`].
11815 ///
11816 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11817 ///
11818 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the currently selected element.
11819 ///
11820 ///
11821 ///
11822 /// Available since API-level: 18
11823 #[cfg(feature = "api-18")]
11824 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
11825 pub const NODE_SWIPER_EVENT_ON_SELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001005);
11826 /// Defines the event triggered when the selected index of the <b>ARKUI_NODE_SWIPER</b> changed.
11827 ///
11828 /// This event is triggered under the following scenarios:
11829 ///
11830 /// 1. When the page switching animation starts after the user lifts their finger after swiping and the swipe meets
11831 /// the threshold for page turning.
11832 ///
11833 /// 2. When the page is changed programmatically using either <b>NODE_SWIPER_INDEX</b> or
11834 /// <b>NODE_SWIPER_SWIPE_TO_INDEX</b>.
11835 ///
11836 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11837 /// [`ArkUI_NodeComponentEvent`].
11838 ///
11839 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11840 ///
11841 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index of the element becomes unselected.
11842 ///
11843 ///
11844 ///
11845 /// Available since API-level: 18
11846 #[cfg(feature = "api-18")]
11847 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
11848 pub const NODE_SWIPER_EVENT_ON_UNSELECTED: ArkUI_NodeEventType = ArkUI_NodeEventType(1001006);
11849 /// Defines the event triggered when content in the swiper component will scroll.
11850 /// Instructions: Before page scrolling, the </b>ContentWillScrollCallback</b> callback is invoked.
11851 ///
11852 ///
11853 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11854 /// [`ArkUI_NodeComponentEvent`].
11855 ///
11856 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
11857 ///
11858 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: the index value of the current child page.
11859 ///
11860 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: the index value of the child page that will display.
11861 ///
11862 /// <b>ArkUI_NodeComponentEvent.data[2].f32</b>: the sliding offset of each frame.
11863 /// Positive numbers indicating slide backward(e.g. from index=1 to index=0), negative numbers indicating
11864 /// slide forward(e.g. from index=0 to index=1).
11865 ///
11866 ///
11867 ///
11868 /// Available since API-level: 15
11869 #[cfg(feature = "api-15")]
11870 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
11871 pub const NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL: ArkUI_NodeEventType =
11872 ArkUI_NodeEventType(1001007);
11873 /// Defines the <b>ARKUI_NODE_SWIPER</b> scroll state change event.
11874 /// This event is triggered when the scroll state of the <b>Swiper</b> component changes during user dragging,
11875 /// during the animation phase after the user lifts their finger, or upon stopping of scrolling.
11876 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11877 /// [`ArkUI_NodeComponentEvent`].
11878 ///
11879 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
11880 ///
11881 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: current scroll state. The parameter type is
11882 /// [`ArkUI_ScrollState`].
11883 ///
11884 ///
11885 ///
11886 /// Available since API-level: 20
11887 #[cfg(feature = "api-20")]
11888 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
11889 pub const NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED: ArkUI_NodeEventType =
11890 ArkUI_NodeEventType(1001008);
11891 /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component scrolls.
11892 ///
11893 /// Notes for triggering the event:
11894 ///
11895 /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
11896 /// settings, such as keyboard and mouse operations.
11897 ///
11898 /// 2. Scrolling can be initiated by calling the controller API.
11899 ///
11900 /// 3. The out-of-bounds bounce effect is supported.
11901 ///
11902 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11903 /// [`ArkUI_NodeComponentEvent`].
11904 ///
11905 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11906 ///
11907 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: horizontal scrolling offset.
11908 ///
11909 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: vertical scrolling offset.
11910 pub const NODE_SCROLL_EVENT_ON_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002000);
11911 /// Defines the event triggered when each frame scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
11912 ///
11913 /// Notes for triggering the event:
11914 ///
11915 /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other input
11916 /// settings, such as keyboard and mouse operations.
11917 ///
11918 /// 2. This event is not triggered when the controller API is called.
11919 ///
11920 /// 3. This event does not support the out-of-bounds bounce effect.
11921 ///
11922 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
11923 /// [`ArkUI_NodeComponentEvent`].
11924 ///
11925 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
11926 ///
11927 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: amount to scroll by.
11928 ///
11929 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scrolling state.
11930 ///
11931 /// <b>::ArkUI_NodeComponentEvent</b> contains one return value:
11932 ///
11933 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The event handler can work out the amount by which the component
11934 /// needs to scroll based on the real-world situation and return the result in this parameter.
11935 pub const NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN: ArkUI_NodeEventType =
11936 ArkUI_NodeEventType(1002001);
11937 /// Define the enumeration value of the pre sliding trigger event for the scrolling container component.
11938 ///
11939 /// The conditions that trigger this event:
11940 ///
11941 /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
11942 /// operations that trigger scrolling.
11943 ///
11944 /// 2. Called through the rolling controller API interface.
11945 ///
11946 /// 3. Cross boundary rebound.
11947 ///
11948 /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
11949 /// [`ArkUI_NodeComponentEvent`].
11950 ///
11951 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
11952 ///
11953 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
11954 /// the left and negative when scrolling to the right, measured in vp.
11955 ///
11956 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
11957 /// scrolling up and a negative offset when scrolling down, measured in vp.
11958 ///
11959 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
11960 ///
11961 /// parameter type is [`ArkUI_ScrollState`].
11962 ///
11963 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: Current scroll source,
11964 ///
11965 /// parameter type is [`ArkUI_ScrollSource`].
11966 ///
11967 ///
11968 /// # Returns
11969 ///
11970 /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
11971 pub const NODE_SCROLL_EVENT_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002002);
11972 /// Define the event enumeration value triggered when sliding a scrolling container component.
11973 ///
11974 /// The conditions that trigger this event:
11975 ///
11976 /// 1. When the scrolling component triggers scrolling, it supports input settings such as keyboard and mouse
11977 /// operations that trigger scrolling.
11978 ///
11979 /// 2. Called through the rolling controller API interface.
11980 ///
11981 /// 3. Cross boundary rebound.
11982 ///
11983 /// When an event callback occurs, the union type in the event parameter [`ArkUI_NodeEvent`] object is
11984 /// [`ArkUI_NodeComponentEvent`].
11985 ///
11986 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
11987 ///
11988 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: The offset for each frame of scrolling is positive when scrolling to
11989 /// the left and negative when scrolling to the right, measured in vp.
11990 ///
11991 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: The offset of each frame scrolling, with a positive offset when
11992 /// scrolling up and a negative offset when scrolling down, measured in vp.
11993 ///
11994 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current sliding state,
11995 ///
11996 /// parameter type is [`ArkUI_ScrollState`].
11997 pub const NODE_SCROLL_EVENT_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1002003);
11998 /// Defines the event triggered when scrolling starts in the <b>ARKUI_NODE_SCROLL</b> component.
11999 ///
12000 /// Notes for triggering the event:
12001 ///
12002 /// 1. This event is triggered when scrolling is started, with support for other input settings, such as keyboard
12003 /// and mouse operations.
12004 ///
12005 /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
12006 ///
12007 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12008 /// [`ArkUI_NodeComponentEvent`].
12009 ///
12010 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12011 pub const NODE_SCROLL_EVENT_ON_SCROLL_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002004);
12012 /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component stops.
12013 ///
12014 /// Notes for triggering the event:
12015 ///
12016 /// 1. This event is triggered when scrolling is stopped by the <b>ARKUI_NODE_SCROLL</b> component or other input
12017 /// settings, such as keyboard and mouse operations.
12018 ///
12019 /// 2. This event is triggered when the controller API is called, accompanied by a transition animation.
12020 ///
12021 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12022 /// [`ArkUI_NodeComponentEvent`].
12023 ///
12024 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12025 pub const NODE_SCROLL_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002005);
12026 /// Defines the event triggered when scrolling of the <b>ARKUI_NODE_SCROLL</b> component reaches
12027 /// one of the edges.
12028 ///
12029 /// Notes for triggering the event:
12030 ///
12031 /// 1. This event is triggered when scrolling reaches the edge after being started by the <b>ARKUI_NODE_SCROLL</b>
12032 /// component or other input settings, such as keyboard and mouse operations.
12033 ///
12034 /// 2. Scrolling can be initiated by calling the controller API.
12035 ///
12036 /// 3. The out-of-bounds bounce effect is supported.
12037 ///
12038 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12039 /// [`ArkUI_NodeComponentEvent`].
12040 ///
12041 /// [`ArkUI_NodeComponentEvent`] contains one parameter.
12042 ///
12043 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: edge (top, bottom, left, or right) that the scrolling reaches.
12044 pub const NODE_SCROLL_EVENT_ON_SCROLL_EDGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1002006);
12045 /// Define that a callback is triggered when the scrolling container component reaches the start position.
12046 /// Condition for triggering the event:
12047 ///
12048 /// Triggered when the component reaches the start position.
12049 ///
12050 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12051 /// [`ArkUI_NodeComponentEvent`].
12052 ///
12053 /// [`ArkUI_NodeComponentEvent`] contains no parameters.
12054 pub const NODE_SCROLL_EVENT_ON_REACH_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002007);
12055 /// Define that a callback is triggered when the scrolling container component ends.
12056 ///
12057 /// Condition for triggering the event:
12058 ///
12059 /// Triggered when the component reaches the end.
12060 ///
12061 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12062 /// [`ArkUI_NodeComponentEvent`].
12063 ///
12064 /// [`ArkUI_NodeComponentEvent`] contains no parameters.
12065 pub const NODE_SCROLL_EVENT_ON_REACH_END: ArkUI_NodeEventType = ArkUI_NodeEventType(1002008);
12066 /// Defines the callback for when the user is about to release the drag on the scrollable container component.
12067 ///
12068 /// This event is triggered when the user is about to release the drag on the scrollable container component.
12069 ///
12070 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12071 /// [`ArkUI_NodeComponentEvent`].
12072 ///
12073 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12074 ///
12075 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: speed at which the user releases the drag, in vp.
12076 ///
12077 ///
12078 ///
12079 /// Available since API-level: 20
12080 #[cfg(feature = "api-20")]
12081 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12082 pub const NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING: ArkUI_NodeEventType =
12083 ArkUI_NodeEventType(1002009);
12084 /// Defines the callback for the <b>Scroll</b> component's zoom event,
12085 /// triggered at the end of each frame during zooming.
12086 ///
12087 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
12088 /// is [`ArkUI_NodeComponentEvent`].
12089 ///
12090 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12091 ///
12092 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: current zoom scale.
12093 ///
12094 ///
12095 ///
12096 /// Available since API-level: 20
12097 #[cfg(feature = "api-20")]
12098 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12099 pub const NODE_SCROLL_EVENT_ON_DID_ZOOM: ArkUI_NodeEventType = ArkUI_NodeEventType(1002010);
12100 /// Defines the callback for the <b>Scroll</b> component's zoom start event,
12101 /// triggered when zooming begins.
12102 ///
12103 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
12104 /// is [`ArkUI_NodeComponentEvent`].
12105 ///
12106 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12107 ///
12108 ///
12109 ///
12110 /// Available since API-level: 20
12111 #[cfg(feature = "api-20")]
12112 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12113 pub const NODE_SCROLL_EVENT_ON_ZOOM_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1002011);
12114 /// Defines the callback for the <b>Scroll</b> component's zoom end event,
12115 /// triggered when zooming ends.
12116 ///
12117 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object
12118 /// is [`ArkUI_NodeComponentEvent`].
12119 ///
12120 /// [`ArkUI_NodeComponentEvent`] does not contain parameters.
12121 ///
12122 ///
12123 ///
12124 /// Available since API-level: 20
12125 #[cfg(feature = "api-20")]
12126 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12127 pub const NODE_SCROLL_EVENT_ON_ZOOM_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1002012);
12128 /// Defines the callback for when the scrollable will start dragging.
12129 ///
12130 /// This event is triggered when the scrollable will start dragging.
12131 ///
12132 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12133 /// [`ArkUI_NodeComponentEvent`].
12134 ///
12135 /// [`ArkUI_NodeComponentEvent`] contains no parameters:
12136 ///
12137 ///
12138 /// Available since API-level: 21
12139 #[cfg(feature = "api-21")]
12140 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12141 pub const NODE_SCROLL_EVENT_ON_WILL_START_DRAGGING: ArkUI_NodeEventType =
12142 ArkUI_NodeEventType(1002013);
12143 /// Defines the callback for when the scrollable did end dragging.
12144 ///
12145 /// This event is triggered when the scrollable did end dragging.
12146 ///
12147 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12148 /// [`ArkUI_NodeComponentEvent`].
12149 ///
12150 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12151 ///
12152 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: whether start fling animation.
12153 ///
12154 ///
12155 ///
12156 /// Available since API-level: 21
12157 #[cfg(feature = "api-21")]
12158 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12159 pub const NODE_SCROLL_EVENT_ON_DID_STOP_DRAGGING: ArkUI_NodeEventType =
12160 ArkUI_NodeEventType(1002014);
12161 /// Defines the callback for when the scrollable will start fling.
12162 ///
12163 /// This event is triggered when the scrollable will start fling.
12164 ///
12165 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12166 /// [`ArkUI_NodeComponentEvent`].
12167 ///
12168 /// [`ArkUI_NodeComponentEvent`] contains no parameters:
12169 ///
12170 ///
12171 /// Available since API-level: 21
12172 #[cfg(feature = "api-21")]
12173 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12174 pub const NODE_SCROLL_EVENT_ON_WILL_START_FLING: ArkUI_NodeEventType =
12175 ArkUI_NodeEventType(1002015);
12176 /// Defines the callback for when the scrollable did end fling.
12177 ///
12178 /// This event is triggered when the scrollable did end fling.
12179 ///
12180 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12181 /// [`ArkUI_NodeComponentEvent`].
12182 ///
12183 /// [`ArkUI_NodeComponentEvent`] contains no parameters:
12184 ///
12185 ///
12186 /// Available since API-level: 21
12187 #[cfg(feature = "api-21")]
12188 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
12189 pub const NODE_SCROLL_EVENT_ON_DID_STOP_FLING: ArkUI_NodeEventType =
12190 ArkUI_NodeEventType(1002016);
12191 /// Defines the enumerated values of the event triggered,
12192 ///
12193 /// when a subcomponent of ARKUI_NODE_LIST is moved into or out of the list display area.
12194 ///
12195 /// Condition for triggering the event:
12196 ///
12197 /// This method is triggered once during list initialization.
12198 ///
12199 /// It is triggered when the index value of the first or last subcomponent in the list display area changes.
12200 ///
12201 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12202 /// [`ArkUI_NodeComponentEvent`].
12203 ///
12204 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12205 ///
12206 /// ArkUI_NodeComponentEvent.data[0].i32: List Displays the index value of
12207 ///
12208 /// the first child component in the region.
12209 ///
12210 /// ArkUI_NodeComponentEvent.data[1].i32: List Displays the index value of
12211 ///
12212 /// the last child component in the region.
12213 ///
12214 /// ArkUI_NodeComponentEvent.data[2].i32: List Displays the index value of
12215 ///
12216 /// the subcomponent in the middle of the area.
12217 pub const NODE_LIST_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1003000);
12218 /// Defines the enumerated values of the event triggered
12219 /// before the sliding of the ARKUI_NODE_LIST component.
12220 ///
12221 /// Condition for triggering the event:
12222 ///
12223 /// This event is triggered when the scrolling component triggers scrolling.
12224 ///
12225 /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
12226 ///
12227 /// Called through the scroll controller API.
12228 ///
12229 /// Out-of-bounds rebound.
12230 ///
12231 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12232 ///
12233 /// [`ArkUI_NodeComponentEvent`].
12234 ///
12235 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12236 ///
12237 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12238 ///
12239 /// The offset is positive when the list content is scrolled up and
12240 ///
12241 /// is negative when the list content is scrolled down.
12242 ///
12243 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12244 ///
12245 /// parameter type is [`ArkUI_ScrollState`].
12246 ///
12247 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
12248 ///
12249 /// parameter type is [`ArkUI_ScrollSource`].
12250 ///
12251 ///
12252 /// # Returns
12253 ///
12254 /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
12255 pub const NODE_LIST_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003001);
12256 /// Define the enumerated values of the event triggered when the ARKUI_NODE_LIST component is flicked.
12257 /// Condition for triggering the event:
12258 ///
12259 /// This event is triggered when the scrolling component triggers scrolling.
12260 ///
12261 /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
12262 ///
12263 /// Called through the scroll controller API.
12264 ///
12265 /// Out-of-bounds rebound.
12266 ///
12267 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12268 ///
12269 /// [`ArkUI_NodeComponentEvent`].
12270 ///
12271 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12272 ///
12273 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12274 ///
12275 /// The offset is positive when the list content is scrolled up and
12276 ///
12277 /// is negative when the list content is scrolled down.
12278 ///
12279 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12280 pub const NODE_LIST_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1003002);
12281 /// Defines the event triggered when the currently displayed content of the <b>ARKUI_NODE_LIST</b> changes.
12282 ///
12283 /// Notes for triggering the event:
12284 ///
12285 /// This event is triggered once when the list is initialized and when the index of the first child component or the
12286 /// next child component in the list display area changes.
12287 /// During index calculation, the list item, header of the list item group, and footer of the list item group each
12288 /// are counted as a child component.
12289 ///
12290 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12291 /// [`ArkUI_NodeComponentEvent`].
12292 ///
12293 /// [`ArkUI_NodeComponentEvent`] contains six parameters:
12294 ///
12295 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the list display area.
12296 ///
12297 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: area in the list item group where the list display area starts.
12298 /// The type is [`ArkUI_ListItemGroupArea`].
12299 ///
12300 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the list item at the start of the list display area
12301 /// in the list item group.
12302 /// If the start of the list display area is not on a list item, the value is <b>-1</b>.
12303 ///
12304 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the last child component in the list display area.
12305 ///
12306 /// <b>ArkUI_NodeComponentEvent.data[4].i32</b>: area in the list item group where the list display area ends.
12307 /// The type is [`ArkUI_ListItemGroupArea`].
12308 ///
12309 /// <b>ArkUI_NodeComponentEvent.data[5].i32</b>: index of the list item at the end of the list display area in the
12310 /// list item group.
12311 /// If the end of the list display area is not on a list item, the value is <b>-1</b>.
12312 ///
12313 ///
12314 ///
12315 /// Available since API-level: 15
12316 #[cfg(feature = "api-15")]
12317 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
12318 pub const NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE: ArkUI_NodeEventType =
12319 ArkUI_NodeEventType(1003003);
12320 /// Defines the event triggered when the refresh state of the <b>ARKUI_NODE_REFRESH</b> object changes.
12321 ///
12322 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12323 /// [`ArkUI_NodeComponentEvent`].
12324 ///
12325 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12326 ///
12327 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: refresh state.
12328 pub const NODE_REFRESH_STATE_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009000);
12329 /// Defines the event triggered when the <b>ARKUI_NODE_REFRESH</b> object enters the refresh state.
12330 ///
12331 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12332 /// [`ArkUI_NodeComponentEvent`].
12333 ///
12334 /// [`ArkUI_NodeComponentEvent`] does not contain parameters:
12335 pub const NODE_REFRESH_ON_REFRESH: ArkUI_NodeEventType = ArkUI_NodeEventType(1009001);
12336 /// Defines the event that is triggered when the <b>ARKUI_NODE_REFRESH</b> drop-down distance changes.
12337 ///
12338 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12339 /// [`ArkUI_NodeComponentEvent`].
12340 ///
12341 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12342 ///
12343 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: Pull-down distance.
12344 pub const NODE_REFRESH_ON_OFFSET_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1009002);
12345 /// Defines the event triggered when the <b>ARKUI_NODE_SCROLL</b> component is about to scroll.
12346 ///
12347 /// Notes for triggering the event:
12348 ///
12349 /// 1. This event is triggered when scrolling is started by the <b>ARKUI_NODE_SCROLL</b> component or other
12350 /// input settings, such as keyboard and mouse operations.
12351 ///
12352 /// 2. Scrolling can be initiated by calling the controller API.
12353 ///
12354 /// 3. The out-of-bounds bounce effect is supported.
12355 ///
12356 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12357 /// [`ArkUI_NodeComponentEvent`].
12358 ///
12359 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12360 ///
12361 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12362 ///
12363 /// The offset is positive when the list content is scrolled up and
12364 ///
12365 /// is negative when the list content is scrolled down.
12366 ///
12367 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12368 ///
12369 /// parameter type is [`ArkUI_ScrollState`].
12370 ///
12371 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: Current scroll source,
12372 ///
12373 /// parameter type is [`ArkUI_ScrollSource`].
12374 ///
12375 ///
12376 /// # Returns
12377 ///
12378 /// * Does not return or returns a number that sets the actual scroll distance of the scroll component.
12379 pub const NODE_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010000);
12380 /// Define the enumerated values of the event triggered when the ARKUI_NODE_WATER_FLOW component slides.
12381 /// Condition for triggering the event:
12382 ///
12383 /// This event is triggered when the scrolling component triggers scrolling.
12384 /// Other inputs that trigger scrolling, such as keyboard and mouse operations, can be set.
12385 ///
12386 /// Called through the scroll controller API.
12387 ///
12388 /// Out-of-bounds rebound.
12389 ///
12390 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12391 ///
12392 /// [`ArkUI_NodeComponentEvent`].
12393 ///
12394 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12395 ///
12396 /// ArkUI_NodeComponentEvent.data[0].f32: offset of each frame scrolling.
12397 ///
12398 /// The offset is positive when the content is scrolled up and is negative when the content is scrolled down.
12399 ///
12400 /// ArkUI_NodeComponentEvent.data[1].i32: Current sliding state.
12401 pub const NODE_WATER_FLOW_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1010001);
12402 /// Defines the enumerated values of the event triggered,
12403 /// when the subcomponent of the start position or end position displayed in the current waterfall changes.
12404 /// Condition for triggering the event:
12405 ///
12406 /// This event is triggered when the index value of the
12407 ///
12408 /// first or last subcomponent in the waterfall display area changes.
12409 ///
12410 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12411 ///
12412 /// [`ArkUI_NodeComponentEvent`].
12413 ///
12414 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12415 ///
12416 /// ArkUI_NodeComponentEvent.data[0].i32: The index value of the
12417 ///
12418 /// start position of the currently displayed WaterFlow.
12419 ///
12420 /// ArkUI_NodeComponentEvent.data[1].i32: The index value of
12421 ///
12422 /// the end position of the currently displayed waterfall.
12423 pub const NODE_WATER_FLOW_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1010002);
12424 /// Defines the event triggered when a child component enters or leaves the grid display area.
12425 ///
12426 /// Notes for triggering the event:
12427 ///
12428 /// This event is triggered once when the grid is initialized and when the index of the first or
12429 ///
12430 /// last child component in the grid display area changes.
12431 ///
12432 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12433 ///
12434 /// [`ArkUI_NodeComponentEvent`].
12435 ///
12436 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12437 ///
12438 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: index of the first child component in the grid display area.
12439 ///
12440 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: index of the last child component in the grid display area.
12441 ///
12442 ///
12443 ///
12444 /// Available since API-level: 22
12445 #[cfg(feature = "api-22")]
12446 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12447 pub const NODE_GRID_ON_SCROLL_INDEX: ArkUI_NodeEventType = ArkUI_NodeEventType(1013000);
12448 /// Defines the event triggered when the grid is about to scroll.
12449 ///
12450 /// Notes for triggering the event:
12451 ///
12452 /// 1. This event is triggered when scrolling is started by the scrollable component or other input settings,
12453 /// such as keyboard and mouse operations.
12454 ///
12455 /// 2. Scrolling can be initiated by calling the controller API.
12456 ///
12457 /// 3. The out-of-bounds bounce effect is supported.
12458 ///
12459 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12460 /// [`ArkUI_NodeComponentEvent`].
12461 ///
12462 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12463 ///
12464 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>:
12465 /// Scroll offset of each frame. A positive offset indicates content scrolling upward,
12466 ///
12467 /// and a negative offset indicates content scrolling downward.
12468 ///
12469 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state. The parameter type is
12470 /// [`ArkUI_ScrollState`].
12471 ///
12472 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: scroll source. The parameter type is [`ArkUI_ScrollSource`].
12473 ///
12474 ///
12475 /// # Returns
12476 ///
12477 /// * Returns one or no number to indicate the actual amount by which the scroll component scrolls.
12478 ///
12479 ///
12480 /// Available since API-level: 22
12481 #[cfg(feature = "api-22")]
12482 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12483 pub const NODE_GRID_ON_WILL_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1013001);
12484 /// Defines the event triggered when the grid scrolls.
12485 ///
12486 /// Notes for triggering the event:
12487 ///
12488 /// 1. This event is triggered when scrolling is started by the scrollable component or other input settings,
12489 /// such as keyboard and mouse operations.
12490 ///
12491 /// 2. Scrolling can be initiated by calling the controller API.
12492 ///
12493 /// 3. The out-of-bounds bounce effect is supported.
12494 ///
12495 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12496 /// [`ArkUI_NodeComponentEvent`].
12497 ///
12498 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12499 ///
12500 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>:
12501 /// Scroll offset of each frame. A positive offset indicates content scrolling upward,
12502 ///
12503 /// and a negative offset indicates content scrolling downward.
12504 ///
12505 /// <b>ArkUI_NodeComponentEvent.data[1].i32</b>: current scroll state.
12506 ///
12507 ///
12508 ///
12509 /// Available since API-level: 22
12510 #[cfg(feature = "api-22")]
12511 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12512 pub const NODE_GRID_ON_DID_SCROLL: ArkUI_NodeEventType = ArkUI_NodeEventType(1013002);
12513 /// Defines the event triggered at the end of each frame layout of the <b>ARKUI_NODE_GRID</b> component,
12514 /// which is used to set the position and length of the scrollbar.
12515 ///
12516 /// The event parameter is [`ArkUI_NodeEvent`].
12517 ///
12518 /// value.i32 at index 0:offset of the first visible grid item,
12519 /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12520 ///
12521 /// value.f32 at index 1: offset of the first visible item relative to the grid's display starting position, in vp,
12522 /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12523 ///
12524 ///
12525 /// # Returns
12526 ///
12527 /// * Information about the scrollbar position and length.
12528 ///
12529 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
12530 ///
12531 /// value.f32 at index 0: total offset of the grid content relative to the display area, in px.
12532 ///
12533 /// value.f32 at index 1: total length of the grid content, in px.
12534 ///
12535 ///
12536 ///
12537 /// Available since API-level: 22
12538 #[cfg(feature = "api-22")]
12539 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
12540 pub const NODE_GRID_ON_SCROLL_BAR_UPDATE: ArkUI_NodeEventType = ArkUI_NodeEventType(1013003);
12541 /// Defines the <b>Grid</b> component's child drag start event.
12542 ///
12543 /// This event is triggered under the following scenarios:
12544 ///
12545 /// 1. <b>NODE_GRID_EDIT_MODE</b> is set to <b>1</b>.
12546 ///
12547 /// 2. The user long-presses and drags a <b>Grid</b> child component with sufficient displacement.
12548 ///
12549 /// The event parameter is [`ArkUI_NodeEvent`].
12550 ///
12551 /// value.f32 at index 0: x-coordinate of the current drag point relative to the <b>Grid</b> component, in vp,
12552 /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12553 ///
12554 /// value.f32 at index 1: y-coordinate of the current drag point relative to the <b>Grid</b> component, in vp,
12555 /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12556 ///
12557 /// value.i32 at index 2: index of the dragged child component in the <b>Grid</b> component,
12558 /// obtained using <b>OH_ArkUI_NodeEvent_GetNumberValue</b>.
12559 ///
12560 ///
12561 ///
12562 /// # Returns
12563 ///
12564 /// * Whether the drag operation is allowed.
12565 ///
12566 /// You can set the return value using <b>OH_ArkUI_NodeEvent_SetReturnNumberValue</b>.
12567 ///
12568 /// value.i32 at index 0 in the return value indicates whether dragging is allowed.
12569 /// <b>0</b>: not allowed. <b>1</b>: allowed.
12570 ///
12571 ///
12572 ///
12573 /// Available since API-level: 23
12574 #[cfg(feature = "api-23")]
12575 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12576 pub const NODE_GRID_ON_ITEM_DRAG_START: ArkUI_NodeEventType = ArkUI_NodeEventType(1013004);
12577 /// Defines the event triggered when a dragged child component enters this <b>Grid</b> component's area.
12578 ///
12579 /// This event is triggered under the following scenarios:
12580 ///
12581 /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> enters the current <b>Grid</b>
12582 /// component's area.
12583 ///
12584 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12585 /// [`ArkUI_NodeComponentEvent`].
12586 ///
12587 /// [`ArkUI_NodeComponentEvent`] contains two parameters:
12588 ///
12589 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12590 /// component, in vp.
12591 ///
12592 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12593 /// component, in vp.
12594 ///
12595 ///
12596 ///
12597 /// Available since API-level: 23
12598 #[cfg(feature = "api-23")]
12599 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12600 pub const NODE_GRID_ON_ITEM_DRAG_ENTER: ArkUI_NodeEventType = ArkUI_NodeEventType(1013005);
12601 /// Defines the event triggered when a dragged child component moves within this <b>Grid</b> component's area.
12602 ///
12603 /// This event is triggered under the following scenarios:
12604 ///
12605 /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> moves within the current
12606 /// <b>Grid</b> component's area.
12607 ///
12608 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12609 /// [`ArkUI_NodeComponentEvent`].
12610 ///
12611 /// [`ArkUI_NodeComponentEvent`] contains four parameters:
12612 ///
12613 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12614 /// component, in vp.
12615 ///
12616 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12617 /// component, in vp.
12618 ///
12619 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the dragged child component in the source <b>Grid</b>
12620 /// component.
12621 ///
12622 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the dragged child component in the current <b>Grid</b>
12623 /// component.
12624 ///
12625 ///
12626 ///
12627 /// Available since API-level: 23
12628 #[cfg(feature = "api-23")]
12629 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12630 pub const NODE_GRID_ON_ITEM_DRAG_MOVE: ArkUI_NodeEventType = ArkUI_NodeEventType(1013006);
12631 /// Defines the event triggered when a dragged child component leaves this <b>Grid</b> component's area.
12632 ///
12633 /// This event is triggered under the following scenarios:
12634 ///
12635 /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> leaves the current <b>Grid</b>
12636 /// component's area.
12637 ///
12638 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12639 /// [`ArkUI_NodeComponentEvent`].
12640 ///
12641 /// [`ArkUI_NodeComponentEvent`] contains three parameters:
12642 ///
12643 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12644 /// component, in vp.
12645 ///
12646 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12647 /// component, in vp.
12648 ///
12649 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the dragged child component in the source <b>Grid</b>
12650 /// component.
12651 ///
12652 ///
12653 ///
12654 /// Available since API-level: 23
12655 #[cfg(feature = "api-23")]
12656 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12657 pub const NODE_GRID_ON_ITEM_DRAG_LEAVE: ArkUI_NodeEventType = ArkUI_NodeEventType(1013007);
12658 /// Defines the event triggered when a dragged child component is released.
12659 ///
12660 /// This event is triggered under the following scenarios:
12661 ///
12662 /// A child component successfully dragged using <b>NODE_GRID_ON_ITEM_DRAG_START</b> is released.
12663 ///
12664 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12665 /// [`ArkUI_NodeComponentEvent`].
12666 ///
12667 /// [`ArkUI_NodeComponentEvent`] contains five parameters:
12668 ///
12669 /// <b>ArkUI_NodeComponentEvent.data[0].f32</b>: x-coordinate of the current drag point relative to the <b>Grid</b>
12670 /// component, in vp.
12671 ///
12672 /// <b>ArkUI_NodeComponentEvent.data[1].f32</b>: y-coordinate of the current drag point relative to the <b>Grid</b>
12673 /// component, in vp.
12674 ///
12675 /// <b>ArkUI_NodeComponentEvent.data[2].i32</b>: index of the dragged child component in the source <b>Grid</b>
12676 /// component.
12677 ///
12678 /// <b>ArkUI_NodeComponentEvent.data[3].i32</b>: index of the dragged child component in the current <b>Grid</b>
12679 /// component.
12680 ///
12681 /// <b>ArkUI_NodeComponentEvent.data[4].i32</b>: whether the dragged child component is successfully released.
12682 ///
12683 /// <b>1</b>: The component is released within the <b>Grid</b> component's area.
12684 /// <b>0</b>: The component is released outside the <b>Grid</b> component's area.
12685 ///
12686 ///
12687 ///
12688 /// Available since API-level: 23
12689 #[cfg(feature = "api-23")]
12690 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12691 pub const NODE_GRID_ON_ITEM_DROP: ArkUI_NodeEventType = ArkUI_NodeEventType(1013008);
12692 /// Defines the selected state change event of the <b>GridItem</b> component.
12693 ///
12694 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12695 /// [`ArkUI_NodeComponentEvent`].
12696 ///
12697 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12698 ///
12699 /// <b>ArkUI_NodeComponentEvent.data[0].i32</b>: selected state. <b>0</b>: not selected. <b>1</b>: selected.
12700 ///
12701 ///
12702 ///
12703 /// Available since API-level: 23
12704 #[cfg(feature = "api-23")]
12705 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12706 pub const NODE_GRID_ITEM_ON_SELECT: ArkUI_NodeEventType = ArkUI_NodeEventType(1014000);
12707 /// Defines the event triggered when an item is selected in the <b>ARKUI_NODE_PICKER</b> component.
12708 ///
12709 ///
12710 ///
12711 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12712 /// [`ArkUI_NodeComponentEvent`].
12713 ///
12714 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12715 ///
12716 /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
12717 ///
12718 ///
12719 ///
12720 /// Available since API-level: 23
12721 #[cfg(feature = "api-23")]
12722 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12723 pub const NODE_PICKER_EVENT_ON_CHANGE: ArkUI_NodeEventType = ArkUI_NodeEventType(1018000);
12724 /// Defines the event triggered when an item is selected and scrolling has stopped in the
12725 /// <b>ARKUI_NODE_PICKER</b> component.
12726 ///
12727 /// When the event callback occurs, the union type in the [`ArkUI_NodeEvent`] object is
12728 /// [`ArkUI_NodeComponentEvent`].
12729 ///
12730 /// [`ArkUI_NodeComponentEvent`] contains one parameter:
12731 ///
12732 /// <b>ArkUI_NodeComponentEvent.data[0...11].i32</b>: value of the selected item.
12733 ///
12734 ///
12735 ///
12736 /// Available since API-level: 23
12737 #[cfg(feature = "api-23")]
12738 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
12739 pub const NODE_PICKER_EVENT_ON_SCROLL_STOP: ArkUI_NodeEventType = ArkUI_NodeEventType(1018001);
12740}
12741#[repr(transparent)]
12742/// Enumerates the event types supported by the NativeNode component.
12743///
12744///
12745/// Available since API-level: 12
12746#[cfg(feature = "api-12")]
12747#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12748#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12749pub struct ArkUI_NodeEventType(pub ::core::ffi::c_uint);
12750/// Defines the common structure type of a component event.
12751///
12752///
12753/// Available since API-level: 12
12754#[cfg(feature = "api-12")]
12755#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12756#[repr(C)]
12757pub struct ArkUI_NodeEvent {
12758 _unused: [u8; 0],
12759}
12760#[cfg(feature = "api-12")]
12761#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12762impl ArkUI_NodeDirtyFlag {
12763 /// Remeasure.
12764 ///
12765 /// When this type of flag is specified, re-layout is triggered by default.
12766 pub const NODE_NEED_MEASURE: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(1);
12767 /// Re-layout.
12768 pub const NODE_NEED_LAYOUT: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(2);
12769 /// Re-rendering.
12770 pub const NODE_NEED_RENDER: ArkUI_NodeDirtyFlag = ArkUI_NodeDirtyFlag(3);
12771}
12772#[repr(transparent)]
12773/// Defines the dirty area flag passed in the <b>::markDirty</b> API.
12774///
12775///
12776/// Available since API-level: 12
12777#[cfg(feature = "api-12")]
12778#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12779#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12780pub struct ArkUI_NodeDirtyFlag(pub ::core::ffi::c_uint);
12781#[cfg(feature = "api-12")]
12782#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12783impl ArkUI_NodeCustomEventType {
12784 /// Measure type.
12785 pub const ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE: ArkUI_NodeCustomEventType =
12786 ArkUI_NodeCustomEventType(1);
12787 /// Layout type.
12788 pub const ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT: ArkUI_NodeCustomEventType =
12789 ArkUI_NodeCustomEventType(2);
12790 /// Draw type.
12791 pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW: ArkUI_NodeCustomEventType =
12792 ArkUI_NodeCustomEventType(4);
12793 /// Foreground type.
12794 pub const ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW: ArkUI_NodeCustomEventType =
12795 ArkUI_NodeCustomEventType(8);
12796 /// Overlay type.
12797 pub const ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW: ArkUI_NodeCustomEventType =
12798 ArkUI_NodeCustomEventType(16);
12799 /// Draw front type.
12800 ///
12801 /// Available since API-level: 20
12802 #[cfg(feature = "api-20")]
12803 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12804 pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT: ArkUI_NodeCustomEventType =
12805 ArkUI_NodeCustomEventType(32);
12806 /// Draw behind type.
12807 ///
12808 /// Available since API-level: 20
12809 #[cfg(feature = "api-20")]
12810 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12811 pub const ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND: ArkUI_NodeCustomEventType =
12812 ArkUI_NodeCustomEventType(64);
12813}
12814#[repr(transparent)]
12815/// Defines the custom component event type.
12816///
12817///
12818/// Available since API-level: 12
12819#[cfg(feature = "api-12")]
12820#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12821#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12822pub struct ArkUI_NodeCustomEventType(pub ::core::ffi::c_uint);
12823/// Defines the general structure of a custom component event.
12824///
12825///
12826/// Available since API-level: 12
12827#[cfg(feature = "api-12")]
12828#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12829#[repr(C)]
12830pub struct ArkUI_NodeCustomEvent {
12831 _unused: [u8; 0],
12832}
12833#[repr(C)]
12834pub struct ArkUI_NodeAdapter {
12835 _unused: [u8; 0],
12836}
12837/// Defines the component adapter, which is used for lazy loading of elements of scrollable components.
12838///
12839///
12840/// Available since API-level: 12
12841#[cfg(feature = "api-12")]
12842#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12843pub type ArkUI_NodeAdapterHandle = *mut ArkUI_NodeAdapter;
12844/// Defines the component adapter event.
12845///
12846///
12847/// Available since API-level: 12
12848#[cfg(feature = "api-12")]
12849#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12850#[repr(C)]
12851pub struct ArkUI_NodeAdapterEvent {
12852 _unused: [u8; 0],
12853}
12854#[cfg(feature = "api-12")]
12855#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12856impl ArkUI_NodeAdapterEventType {
12857 /// This event occurs when the component is attached to the adapter.
12858 pub const NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE: ArkUI_NodeAdapterEventType =
12859 ArkUI_NodeAdapterEventType(1);
12860 /// This event occurs when the component is detached from the adapter.
12861 pub const NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE: ArkUI_NodeAdapterEventType =
12862 ArkUI_NodeAdapterEventType(2);
12863 /// This event occurs when the adapter obtains the unique ID of the new element to add.
12864 pub const NODE_ADAPTER_EVENT_ON_GET_NODE_ID: ArkUI_NodeAdapterEventType =
12865 ArkUI_NodeAdapterEventType(3);
12866 /// This event occurs when the adapter obtains the content of the new element to add.
12867 pub const NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER: ArkUI_NodeAdapterEventType =
12868 ArkUI_NodeAdapterEventType(4);
12869 /// This event occurs when the adapter removes an element.
12870 pub const NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER: ArkUI_NodeAdapterEventType =
12871 ArkUI_NodeAdapterEventType(5);
12872}
12873#[repr(transparent)]
12874/// Enumerates component adapter events.
12875///
12876///
12877/// Available since API-level: 12
12878#[cfg(feature = "api-12")]
12879#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12880#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
12881pub struct ArkUI_NodeAdapterEventType(pub ::core::ffi::c_uint);
12882/// Declares a collection of native node APIs provided by ArkUI.
12883///
12884/// The APIs related to the native node must be called in the main thread.
12885///
12886///
12887/// Version: 1
12888///
12889/// Available since API-level: 12
12890#[cfg(feature = "api-12")]
12891#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
12892#[repr(C)]
12893#[derive(Debug, Copy, Clone)]
12894pub struct ArkUI_NativeNodeAPI_1 {
12895 /// Struct version.
12896 ///
12897 ///
12898 /// Available since API-level: 12
12899 pub version: i32,
12900 /// Creates a component based on [`ArkUI_NodeType`] and returns the pointer to the created component.
12901 ///
12902 /// # Arguments
12903 ///
12904 /// * `type` - Indicates the type of component to create.
12905 ///
12906 /// # Returns
12907 ///
12908 /// * Returns the pointer to the created component. If the component fails to be created, NULL is returned.
12909 ///
12910 /// Available since API-level: 12
12911 pub createNode:
12912 ::core::option::Option<unsafe extern "C" fn(type_: ArkUI_NodeType) -> ArkUI_NodeHandle>,
12913 /// Destroys the component to which the specified pointer points.
12914 ///
12915 /// # Arguments
12916 ///
12917 /// * `node` - Indicates the pointer.
12918 ///
12919 /// Available since API-level: 12
12920 pub disposeNode: ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle)>,
12921 /// Adds a component to a parent node.
12922 ///
12923 /// # Arguments
12924 ///
12925 /// * `parent` - Indicates the pointer to the parent node.
12926 ///
12927 /// * `child` - Indicates the pointer to the child node.
12928 ///
12929 /// # Returns
12930 ///
12931 /// * Returns the error code.
12932 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12933 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12934 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on
12935 /// BuilderNode generated nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
12936 /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
12937 ///
12938 /// Available since API-level: 12
12939 pub addChild: ::core::option::Option<
12940 unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
12941 >,
12942 /// Removes a component from its parent node.
12943 ///
12944 /// # Arguments
12945 ///
12946 /// * `parent` - Indicates the pointer to the parent node.
12947 ///
12948 /// * `child` - Indicates the pointer to the child node.
12949 ///
12950 /// # Returns
12951 ///
12952 /// * Returns the error code.
12953 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12954 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12955 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
12956 /// on BuilderNode generated nodes:
12957 /// setting or resetting attributes, setting events, or adding or editing subnodes.
12958 ///
12959 /// Available since API-level: 12
12960 pub removeChild: ::core::option::Option<
12961 unsafe extern "C" fn(parent: ArkUI_NodeHandle, child: ArkUI_NodeHandle) -> i32,
12962 >,
12963 /// Inserts a component to a parent node after the specified <b>sibling</b> node.
12964 ///
12965 /// # Arguments
12966 ///
12967 /// * `parent` - Indicates the pointer to the parent node.
12968 ///
12969 /// * `child` - Indicates the pointer to the child node.
12970 ///
12971 /// * `sibling` - Indicates the pointer to the sibling node after which the target node is to be inserted.
12972 /// If the value is null, the node is inserted at the start of the parent node.
12973 ///
12974 /// # Returns
12975 ///
12976 /// * Returns the error code.
12977 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
12978 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
12979 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on BuilderNode generated
12980 /// nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
12981 /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
12982 ///
12983 /// Available since API-level: 12
12984 pub insertChildAfter: ::core::option::Option<
12985 unsafe extern "C" fn(
12986 parent: ArkUI_NodeHandle,
12987 child: ArkUI_NodeHandle,
12988 sibling: ArkUI_NodeHandle,
12989 ) -> i32,
12990 >,
12991 /// Inserts a component to a parent node before the specified <b>sibling</b> node.
12992 ///
12993 /// # Arguments
12994 ///
12995 /// * `parent` - Indicates the pointer to the parent node.
12996 ///
12997 /// * `child` - Indicates the pointer to the child node.
12998 ///
12999 /// * `sibling` - Indicates the pointer to the sibling node before which the target node is to be inserted.
13000 /// If the value is null, the node is inserted at the end of the parent node.
13001 ///
13002 /// # Returns
13003 ///
13004 /// * Returns the error code.
13005 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13006 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13007 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on BuilderNode generated
13008 /// nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
13009 /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
13010 ///
13011 /// Available since API-level: 12
13012 pub insertChildBefore: ::core::option::Option<
13013 unsafe extern "C" fn(
13014 parent: ArkUI_NodeHandle,
13015 child: ArkUI_NodeHandle,
13016 sibling: ArkUI_NodeHandle,
13017 ) -> i32,
13018 >,
13019 /// Inserts a component to the specified position in a parent node.
13020 ///
13021 /// # Arguments
13022 ///
13023 /// * `parent` - Indicates the pointer to the parent node.
13024 ///
13025 /// * `child` - Indicates the pointer to the child node.
13026 ///
13027 /// * `position` - Indicates the position to which the target child node is to be inserted. If the value is a
13028 /// negative number or invalid, the node is inserted at the end of the parent node.
13029 ///
13030 /// # Returns
13031 ///
13032 /// * Returns the error code.
13033 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13034 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13035 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed on BuilderNode generated
13036 /// nodes: setting or resetting attributes, setting events, or adding or editing subnodes.
13037 /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the child node has already been adopted. Add since api 22.
13038 ///
13039 /// Available since API-level: 12
13040 pub insertChildAt: ::core::option::Option<
13041 unsafe extern "C" fn(
13042 parent: ArkUI_NodeHandle,
13043 child: ArkUI_NodeHandle,
13044 position: i32,
13045 ) -> i32,
13046 >,
13047 /// Sets the attribute of a node.
13048 ///
13049 /// # Arguments
13050 ///
13051 /// * `node` - Indicates the node whose attribute needs to be set.
13052 ///
13053 /// * `attribute` - Indicates the type of attribute to set.
13054 ///
13055 /// * `value` - Indicates the attribute value.
13056 ///
13057 /// # Returns
13058 ///
13059 /// * Returns the error code.
13060 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13061 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13062 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13063 /// of the native API was not found.
13064 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
13065 /// on BuilderNode generated nodes:
13066 /// setting or resetting attributes, setting events, or adding or editing subnodes.
13067 ///
13068 /// Available since API-level: 12
13069 pub setAttribute: ::core::option::Option<
13070 unsafe extern "C" fn(
13071 node: ArkUI_NodeHandle,
13072 attribute: ArkUI_NodeAttributeType,
13073 item: *const ArkUI_AttributeItem,
13074 ) -> i32,
13075 >,
13076 /// Obtains an attribute.
13077 ///
13078 /// The pointer returned by this API is an internal buffer pointer of the ArkUI framework. As such, you do not need
13079 /// to call <b>delete</b> to release the memory. However, the pointer must be used before this API is called next
13080 /// time. Otherwise, the pointer may be overwritten by other values.
13081 /// # Arguments
13082 ///
13083 /// * `node` - Indicates the node whose attribute needs to be obtained.
13084 ///
13085 /// * `attribute` - Indicates the type of attribute to obtain.
13086 ///
13087 /// # Returns
13088 ///
13089 /// * Returns the attribute value. If the operation fails, a null pointer is returned.
13090 ///
13091 /// Available since API-level: 12
13092 pub getAttribute: ::core::option::Option<
13093 unsafe extern "C" fn(
13094 node: ArkUI_NodeHandle,
13095 attribute: ArkUI_NodeAttributeType,
13096 ) -> *const ArkUI_AttributeItem,
13097 >,
13098 /// Resets an attribute.
13099 ///
13100 /// # Arguments
13101 ///
13102 /// * `node` - Indicates the node whose attribute needs to be reset.
13103 ///
13104 /// * `attribute` - Indicates the type of attribute to reset.
13105 ///
13106 /// # Returns
13107 ///
13108 /// * Returns the error code.
13109 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13110 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13111 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13112 /// of the native API was not found.
13113 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
13114 /// on BuilderNode generated nodes:
13115 /// setting or resetting attributes, setting events, or adding or editing subnodes.
13116 ///
13117 /// Available since API-level: 12
13118 pub resetAttribute: ::core::option::Option<
13119 unsafe extern "C" fn(node: ArkUI_NodeHandle, attribute: ArkUI_NodeAttributeType) -> i32,
13120 >,
13121 /// Registers an event for the specified node.
13122 ///
13123 /// When the component is being displayed, this API must be called in the main thread.
13124 ///
13125 /// # Arguments
13126 ///
13127 /// * `node` - Indicates the target node.
13128 ///
13129 /// * `eventType` - Indicates the type of event to register.
13130 ///
13131 /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeEvent`]
13132 /// when the event is triggered.
13133 ///
13134 /// * `userData` - Indicates the custom event parameter, which is passed in the callback of [`ArkUI_NodeEvent`]
13135 ///
13136 /// # Returns
13137 ///
13138 /// * Returns the error code.
13139 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13140 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13141 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13142 /// of the native API was not found.
13143 /// Returns [`ARKUI_ERROR_CODE_NOT_SUPPROTED_FOR_ARKTS_NODE`] if the following operations are not allowed
13144 /// on BuilderNode generated nodes:
13145 /// setting or resetting attributes, setting events, or adding or editing subnodes.
13146 ///
13147 /// Available since API-level: 12
13148 pub registerNodeEvent: ::core::option::Option<
13149 unsafe extern "C" fn(
13150 node: ArkUI_NodeHandle,
13151 eventType: ArkUI_NodeEventType,
13152 targetId: i32,
13153 userData: *mut ::core::ffi::c_void,
13154 ) -> i32,
13155 >,
13156 /// Unregisters an event for the specified node.
13157 ///
13158 /// When the component is being displayed, this API must be called in the main thread.
13159 ///
13160 /// # Arguments
13161 ///
13162 /// * `node` - Indicates the target node.
13163 ///
13164 /// * `eventType` - Indicates the type of event to unregister.
13165 ///
13166 /// Available since API-level: 12
13167 pub unregisterNodeEvent: ::core::option::Option<
13168 unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeEventType),
13169 >,
13170 /// Registers an event receiver.
13171 ///
13172 /// The ArkUI framework collects component events generated during the process and calls back the events through
13173 /// the registered event receiver.
13174 ///
13175 /// A new call to this API will overwrite the previously registered event receiver.
13176 ///
13177 /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer. The data will be destroyed after the
13178 /// callback is complete.
13179 ///
13180 /// To bind with a component instance, you can use the <b>addNodeEventReceiver</b> function.
13181 ///
13182 ///
13183 /// # Arguments
13184 ///
13185 /// * `eventReceiver` - Indicates the event receiver to register.
13186 ///
13187 /// Available since API-level: 12
13188 pub registerNodeEventReceiver: ::core::option::Option<
13189 unsafe extern "C" fn(
13190 eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13191 ),
13192 >,
13193 /// Unregisters the event receiver.
13194 ///
13195 ///
13196 /// Available since API-level: 12
13197 pub unregisterNodeEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
13198 /// Forcibly marks the current node that needs to be measured, laid out, or rendered again.
13199 ///
13200 /// Regarding updates to system attributes, the ArkUI framework automatically marks the dirty area and performs
13201 /// measuring, layout, or rendering again. In this case, you do not need to call this API.
13202 /// # Arguments
13203 ///
13204 /// * `node` - Indicates the node for which you want to mark as dirty area.
13205 ///
13206 /// * `dirtyFlag` - Indicates type of dirty area.
13207 ///
13208 /// Available since API-level: 12
13209 pub markDirty: ::core::option::Option<
13210 unsafe extern "C" fn(node: ArkUI_NodeHandle, dirtyFlag: ArkUI_NodeDirtyFlag),
13211 >,
13212 /// Obtains the number of subnodes.
13213 ///
13214 /// # Arguments
13215 ///
13216 /// * `node` - Indicates the target node.
13217 ///
13218 /// # Returns
13219 ///
13220 /// * the number of subnodes. If not, returns 0.
13221 ///
13222 /// Available since API-level: 12
13223 pub getTotalChildCount:
13224 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> u32>,
13225 /// Obtains a subnode.
13226 ///
13227 /// # Arguments
13228 ///
13229 /// * `node` - Indicates the target node.
13230 ///
13231 /// * `position` - Indicates the position of the subnode.
13232 ///
13233 /// # Returns
13234 ///
13235 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13236 ///
13237 /// Available since API-level: 12
13238 pub getChildAt: ::core::option::Option<
13239 unsafe extern "C" fn(node: ArkUI_NodeHandle, position: i32) -> ArkUI_NodeHandle,
13240 >,
13241 /// Obtains the first subnode.
13242 ///
13243 /// # Arguments
13244 ///
13245 /// * `node` - Indicates the target node.
13246 ///
13247 /// # Returns
13248 ///
13249 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13250 ///
13251 /// Available since API-level: 12
13252 pub getFirstChild:
13253 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13254 /// Obtains the last subnode.
13255 ///
13256 /// # Arguments
13257 ///
13258 /// * `node` - Indicates the target node.
13259 ///
13260 /// # Returns
13261 ///
13262 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13263 ///
13264 /// Available since API-level: 12
13265 pub getLastChild:
13266 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13267 /// Obtains the previous sibling node.
13268 ///
13269 /// # Arguments
13270 ///
13271 /// * `node` - Indicates the target node.
13272 ///
13273 /// # Returns
13274 ///
13275 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13276 ///
13277 /// Available since API-level: 12
13278 pub getPreviousSibling:
13279 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13280 /// Obtains the next sibling node.
13281 ///
13282 /// # Arguments
13283 ///
13284 /// * `node` - Indicates the target node.
13285 ///
13286 /// # Returns
13287 ///
13288 /// * Returns the pointer to the subnode if the subnode exists; returns <b>NULL</b> otherwise.
13289 ///
13290 /// Available since API-level: 12
13291 pub getNextSibling:
13292 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13293 /// Registers a custom event for a node. When the event is triggered, the value is returned through the entry
13294 /// point function registered by <b>registerNodeCustomEventReceiver</b>.
13295 ///
13296 /// # Arguments
13297 ///
13298 /// * `node` - Indicates the target node.
13299 ///
13300 /// * `eventType` - Indicates the type of event to register.
13301 ///
13302 /// * `targetId` - Indicates the custom event ID, which is passed in the callback of [`ArkUI_NodeCustomEvent`]
13303 /// when the event is triggered.
13304 ///
13305 /// * `userData` - Indicates the custom event parameter, which is passed in the callback of
13306 /// [`ArkUI_NodeCustomEvent`] when the event is triggered.
13307 ///
13308 /// # Returns
13309 ///
13310 /// * Returns the error code.
13311 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13312 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13313 /// Returns [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] if the dynamic implementation library
13314 /// of the native API was not found.
13315 ///
13316 /// Available since API-level: 12
13317 pub registerNodeCustomEvent: ::core::option::Option<
13318 unsafe extern "C" fn(
13319 node: ArkUI_NodeHandle,
13320 eventType: ArkUI_NodeCustomEventType,
13321 targetId: i32,
13322 userData: *mut ::core::ffi::c_void,
13323 ) -> i32,
13324 >,
13325 /// Unregisters a custom event for a node.
13326 ///
13327 /// # Arguments
13328 ///
13329 /// * `node` - Indicates the target node.
13330 ///
13331 /// * `eventType` - Indicates the type of event to unregister.
13332 ///
13333 /// Available since API-level: 12
13334 pub unregisterNodeCustomEvent: ::core::option::Option<
13335 unsafe extern "C" fn(node: ArkUI_NodeHandle, eventType: ArkUI_NodeCustomEventType),
13336 >,
13337 /// Registers a unified entry point function for custom node event callbacks.
13338 ///
13339 /// The ArkUI framework collects custom component events generated during the process and calls back the events
13340 /// through the registered <b>registerNodeCustomEventReceiver</b>.
13341 ///
13342 /// A new call to this API will overwrite the previously registered event receiver.
13343 /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
13344 /// The data will be destroyed after the callback is complete.
13345 ///
13346 /// To bind with a component instance, you can use the <b>addNodeCustomEventReceiver</b> function.
13347 ///
13348 ///
13349 /// # Arguments
13350 ///
13351 /// * `eventReceiver` - Indicates the event receiver to register.
13352 ///
13353 /// Available since API-level: 12
13354 pub registerNodeCustomEventReceiver: ::core::option::Option<
13355 unsafe extern "C" fn(
13356 eventReceiver: ::core::option::Option<
13357 unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
13358 >,
13359 ),
13360 >,
13361 /// Unregisters the unified entry point function for custom node event callbacks.
13362 ///
13363 ///
13364 /// Available since API-level: 12
13365 pub unregisterNodeCustomEventReceiver: ::core::option::Option<unsafe extern "C" fn()>,
13366 /// Sets the width and height for a component after the measurement.
13367 ///
13368 /// # Arguments
13369 ///
13370 /// * `node` - Indicates the target node.
13371 ///
13372 /// * `width` - Indicates the width.
13373 ///
13374 /// * `height` - Indicates the height.
13375 ///
13376 /// # Returns
13377 ///
13378 /// * Returns the error code.
13379 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13380 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13381 ///
13382 /// Available since API-level: 12
13383 pub setMeasuredSize: ::core::option::Option<
13384 unsafe extern "C" fn(node: ArkUI_NodeHandle, width: i32, height: i32) -> i32,
13385 >,
13386 /// Sets the position for a component.
13387 ///
13388 /// # Arguments
13389 ///
13390 /// * `node` - Indicates the target node.
13391 ///
13392 /// * `positionX` - Indicates the X coordinate.
13393 ///
13394 /// * `positionY` - Indicates the Y coordinate.
13395 ///
13396 /// # Returns
13397 ///
13398 /// * Returns the error code.
13399 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13400 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13401 ///
13402 /// Available since API-level: 12
13403 pub setLayoutPosition: ::core::option::Option<
13404 unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
13405 >,
13406 /// Obtains the width and height of a component after measurement.
13407 ///
13408 /// # Arguments
13409 ///
13410 /// * `node` - Indicates the target node.
13411 ///
13412 /// # Returns
13413 ///
13414 /// * Returns the width and height of the component.
13415 ///
13416 /// Available since API-level: 12
13417 pub getMeasuredSize:
13418 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntSize>,
13419 /// Obtains the position of a component after the layout is complete.
13420 ///
13421 /// # Arguments
13422 ///
13423 /// * `node` - Indicates the target node.
13424 ///
13425 /// # Returns
13426 ///
13427 /// * Returns the position of the component.
13428 ///
13429 /// Available since API-level: 12
13430 pub getLayoutPosition:
13431 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_IntOffset>,
13432 /// Measures a node. You can use the <b>getMeasuredSize</b> API to obtain the size after the measurement.
13433 ///
13434 /// # Arguments
13435 ///
13436 /// * `node` - Indicates the target node.
13437 ///
13438 /// * `Constraint` - Indicates the size constraint.
13439 ///
13440 /// # Returns
13441 ///
13442 /// * Returns the error code.
13443 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13444 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13445 ///
13446 /// Available since API-level: 12
13447 pub measureNode: ::core::option::Option<
13448 unsafe extern "C" fn(
13449 node: ArkUI_NodeHandle,
13450 Constraint: *mut ArkUI_LayoutConstraint,
13451 ) -> i32,
13452 >,
13453 /// Lays outs a component and passes the expected position of the component relative to its parent component.
13454 ///
13455 /// When the component is being displayed, this API must be called in the main thread.
13456 ///
13457 /// # Arguments
13458 ///
13459 /// * `node` - Indicates the target node.
13460 ///
13461 /// * `positionX` - Indicates the X coordinate.
13462 ///
13463 /// * `positionY` - Indicates the Y coordinate.
13464 ///
13465 /// # Returns
13466 ///
13467 /// * Returns the error code.
13468 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13469 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13470 ///
13471 /// Available since API-level: 12
13472 pub layoutNode: ::core::option::Option<
13473 unsafe extern "C" fn(node: ArkUI_NodeHandle, positionX: i32, positionY: i32) -> i32,
13474 >,
13475 /// Adds a component event callback function to a component to receive component events generated
13476 /// by the component.
13477 ///
13478 /// Unlike the global registration function <b>registerNodeEventReceiver</b>, this API allows multiple event
13479 /// receivers to be added to the same component.
13480 ///
13481 /// The callback added by this API is triggered before the global callback registered by
13482 /// <b>registerNodeEventReceiver</b>.
13483 ///
13484 /// Do not directly save the <b>ArkUI_NodeEvent</b> object pointer.
13485 /// The data will be destroyed after the callback is complete.
13486 ///
13487 ///
13488 /// # Arguments
13489 ///
13490 /// * `node` - Indicates the component for which you want to add the event callback function.
13491 ///
13492 /// * `eventReceiver` - Indicates the component event callback function to add.
13493 ///
13494 /// # Returns
13495 ///
13496 /// * Returns the error code.
13497 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13498 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13499 ///
13500 /// Available since API-level: 12
13501 pub addNodeEventReceiver: ::core::option::Option<
13502 unsafe extern "C" fn(
13503 node: ArkUI_NodeHandle,
13504 eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13505 ) -> i32,
13506 >,
13507 /// Removes the registered component event callback function from a component.
13508 ///
13509 /// # Arguments
13510 ///
13511 /// * `node` - Indicates the component from which you want to remove the event callback function.
13512 ///
13513 /// * `eventReceiver` - Indicates the component event callback function to remove.
13514 ///
13515 /// # Returns
13516 ///
13517 /// * Returns the error code.
13518 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13519 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13520 ///
13521 /// Available since API-level: 12
13522 pub removeNodeEventReceiver: ::core::option::Option<
13523 unsafe extern "C" fn(
13524 node: ArkUI_NodeHandle,
13525 eventReceiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
13526 ) -> i32,
13527 >,
13528 /// Adds a custom event callback function to a component to receive custom events
13529 /// (such as layout and drawing events) generated by the component.
13530 ///
13531 /// Unlike the global registration function <b>registerNodeCustomEventReceiver</b>, this API allows
13532 /// multiple event receivers to be added to the same component.
13533 ///
13534 /// The callback added by this API is triggered before the global callback registered by
13535 /// <b>registerNodeCustomEventReceiver</b>.
13536 ///
13537 /// Do not directly save the <b>ArkUI_NodeCustomEvent</b> object pointer.
13538 /// The data will be destroyed after the callback is complete.
13539 ///
13540 ///
13541 /// # Arguments
13542 ///
13543 /// * `node` - Indicates the component for which you want to add the custom event callback function.
13544 ///
13545 /// * `eventReceiver` - Indicates the custom event callback function to add.
13546 ///
13547 /// # Returns
13548 ///
13549 /// * Returns the error code.
13550 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13551 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13552 ///
13553 /// Available since API-level: 12
13554 pub addNodeCustomEventReceiver: ::core::option::Option<
13555 unsafe extern "C" fn(
13556 node: ArkUI_NodeHandle,
13557 eventReceiver: ::core::option::Option<
13558 unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
13559 >,
13560 ) -> i32,
13561 >,
13562 /// Removes a registered custom event callback function from a component.
13563 ///
13564 /// # Arguments
13565 ///
13566 /// * `node` - Indicates the component from which you want to remove the custom event callback function.
13567 ///
13568 /// * `eventReceiver` - Indicates the custom event callback function to remove.
13569 ///
13570 /// # Returns
13571 ///
13572 /// * Returns the error code.
13573 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13574 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13575 ///
13576 /// Available since API-level: 12
13577 pub removeNodeCustomEventReceiver: ::core::option::Option<
13578 unsafe extern "C" fn(
13579 node: ArkUI_NodeHandle,
13580 eventReceiver: ::core::option::Option<
13581 unsafe extern "C" fn(event: *mut ArkUI_NodeCustomEvent),
13582 >,
13583 ) -> i32,
13584 >,
13585 /// Saves custom data on the specified component.
13586 ///
13587 /// # Arguments
13588 ///
13589 /// * `node` - Indicates the component on which the custom data will be saved.
13590 ///
13591 /// * `userData` - Indicates the custom data to be saved.
13592 ///
13593 /// # Returns
13594 ///
13595 /// * Returns the error code.
13596 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13597 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13598 ///
13599 /// Available since API-level: 12
13600 pub setUserData: ::core::option::Option<
13601 unsafe extern "C" fn(node: ArkUI_NodeHandle, userData: *mut ::core::ffi::c_void) -> i32,
13602 >,
13603 /// Obtains the custom data saved on the specified component.
13604 ///
13605 /// # Arguments
13606 ///
13607 /// * `node` - Indicates the target component.
13608 ///
13609 /// # Returns
13610 ///
13611 /// * Returns the custom data.
13612 ///
13613 /// Available since API-level: 12
13614 pub getUserData: ::core::option::Option<
13615 unsafe extern "C" fn(node: ArkUI_NodeHandle) -> *mut ::core::ffi::c_void,
13616 >,
13617 /// Sets the unit for a component.
13618 ///
13619 /// # Arguments
13620 ///
13621 /// * `node` - Indicates the component for which you want to set the unit.
13622 ///
13623 /// * `unit` - Indicates the unit, which is an enumerated value of [`ArkUI_LengthMetricUnit`].
13624 /// The default value is <b>ARKUI_LENGTH_METRIC_UNIT_DEFAULT</b>.
13625 ///
13626 /// # Returns
13627 ///
13628 /// * Returns the error code.
13629 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13630 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13631 ///
13632 /// Available since API-level: 12
13633 pub setLengthMetricUnit: ::core::option::Option<
13634 unsafe extern "C" fn(node: ArkUI_NodeHandle, unit: ArkUI_LengthMetricUnit) -> i32,
13635 >,
13636 /// Get the parent node.
13637 ///
13638 /// # Arguments
13639 ///
13640 /// * `node` - target node object.
13641 ///
13642 /// # Returns
13643 ///
13644 /// * Returns the pointer of the component, if not return NULL
13645 ///
13646 /// Available since API-level: 12
13647 pub getParent:
13648 ::core::option::Option<unsafe extern "C" fn(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle>,
13649 /// Uninstall all child nodes from the parent component.
13650 ///
13651 /// # Arguments
13652 ///
13653 /// * `parent` - target node object.
13654 ///
13655 /// # Returns
13656 ///
13657 /// * Returns the error code.
13658 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13659 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13660 ///
13661 /// Available since API-level: 12
13662 pub removeAllChildren:
13663 ::core::option::Option<unsafe extern "C" fn(parent: ArkUI_NodeHandle) -> i32>,
13664}
13665#[cfg(feature = "api-12")]
13666#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13667impl ArkUI_NodeContentEventType {
13668 /// Defines the attach event.
13669 pub const NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW: ArkUI_NodeContentEventType =
13670 ArkUI_NodeContentEventType(0);
13671 /// Defines the detach event.
13672 pub const NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW: ArkUI_NodeContentEventType =
13673 ArkUI_NodeContentEventType(1);
13674}
13675#[repr(transparent)]
13676/// Defines the node content event type.
13677///
13678///
13679/// Available since API-level: 12
13680#[cfg(feature = "api-12")]
13681#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13682#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13683pub struct ArkUI_NodeContentEventType(pub ::core::ffi::c_uint);
13684#[cfg(feature = "api-15")]
13685#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13686impl ArkUI_InspectorErrorCode {
13687 /// Success.
13688 pub const ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL: ArkUI_InspectorErrorCode =
13689 ArkUI_InspectorErrorCode(0);
13690 /// Invalid parameter.
13691 pub const ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER: ArkUI_InspectorErrorCode =
13692 ArkUI_InspectorErrorCode(-1);
13693}
13694#[repr(transparent)]
13695/// Enumerates the inspector error codes.
13696///
13697/// Available since API-level: 15
13698#[cfg(feature = "api-15")]
13699#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13700#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13701pub struct ArkUI_InspectorErrorCode(pub ::core::ffi::c_int);
13702/// Defines the general structure of a node content event.
13703///
13704/// Available since API-level: 12
13705#[cfg(feature = "api-12")]
13706#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13707#[repr(C)]
13708pub struct ArkUI_NodeContentEvent {
13709 _unused: [u8; 0],
13710}
13711/// Defines the callback function of a node content event.
13712///
13713/// Available since API-level: 12
13714#[cfg(feature = "api-12")]
13715#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13716pub type ArkUI_NodeContentCallback =
13717 ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeContentEvent)>;
13718extern "C" {
13719 /// Obtains the type of a component event.
13720 ///
13721 /// # Arguments
13722 ///
13723 /// * `event` - Indicates the pointer to the component event.
13724 ///
13725 /// # Returns
13726 ///
13727 /// * Returns the type of the component event.
13728 ///
13729 /// Available since API-level: 12
13730 #[cfg(feature = "api-12")]
13731 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13732 pub fn OH_ArkUI_NodeEvent_GetEventType(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeEventType;
13733 /// Obtains the custom ID of a component event.
13734 ///
13735 /// The event ID is passed in as a parameter when the [`registerNodeEvent`] function is called and can be applied
13736 /// to the dispatch logic of the same event entry function [`registerNodeEventReceiver`].
13737 ///
13738 /// # Arguments
13739 ///
13740 /// * `event` - Indicates the pointer to the component event.
13741 ///
13742 /// # Returns
13743 ///
13744 /// * Returns the custom ID of the component event.
13745 ///
13746 /// Available since API-level: 12
13747 #[cfg(feature = "api-12")]
13748 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13749 pub fn OH_ArkUI_NodeEvent_GetTargetId(event: *mut ArkUI_NodeEvent) -> i32;
13750 /// Obtains the component object that triggers a component event.
13751 ///
13752 /// # Arguments
13753 ///
13754 /// * `event` - Indicates the pointer to the component event.
13755 ///
13756 /// # Returns
13757 ///
13758 /// * Returns the component object that triggers the component event.
13759 ///
13760 /// Available since API-level: 12
13761 #[cfg(feature = "api-12")]
13762 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13763 pub fn OH_ArkUI_NodeEvent_GetNodeHandle(event: *mut ArkUI_NodeEvent) -> ArkUI_NodeHandle;
13764 /// Obtains input event (for example, touch event) data for a component event.
13765 ///
13766 /// # Arguments
13767 ///
13768 /// * `event` - Indicates the pointer to the component event.
13769 ///
13770 /// # Returns
13771 ///
13772 /// * Returns the pointer to the input event data.
13773 ///
13774 /// Available since API-level: 12
13775 #[cfg(feature = "api-12")]
13776 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13777 pub fn OH_ArkUI_NodeEvent_GetInputEvent(event: *mut ArkUI_NodeEvent)
13778 -> *mut ArkUI_UIInputEvent;
13779 /// Obtains the numerical data in a component event.
13780 ///
13781 /// # Arguments
13782 ///
13783 /// * `event` - Indicates the pointer to the component event.
13784 ///
13785 /// # Returns
13786 ///
13787 /// * Returns the pointer to the numerical data.
13788 ///
13789 /// Available since API-level: 12
13790 #[cfg(feature = "api-12")]
13791 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13792 pub fn OH_ArkUI_NodeEvent_GetNodeComponentEvent(
13793 event: *mut ArkUI_NodeEvent,
13794 ) -> *mut ArkUI_NodeComponentEvent;
13795 /// Obtains the string data in a component event.
13796 ///
13797 /// # Arguments
13798 ///
13799 /// * `event` - Indicates the pointer to the component event.
13800 ///
13801 /// # Returns
13802 ///
13803 /// * Returns the pointer to the string data.
13804 ///
13805 /// Available since API-level: 12
13806 #[cfg(feature = "api-12")]
13807 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13808 pub fn OH_ArkUI_NodeEvent_GetStringAsyncEvent(
13809 event: *mut ArkUI_NodeEvent,
13810 ) -> *mut ArkUI_StringAsyncEvent;
13811 /// Obtains the ArkUI_TextChangeEvent data from a component event.
13812 ///
13813 /// # Arguments
13814 ///
13815 /// * `event` - Pointer to a component event. It cannot be null.
13816 ///
13817 /// # Returns
13818 ///
13819 /// * Returns the pointer to the <b>ArkUI_TextChangeEvent</b> object.
13820 ///
13821 /// Available since API-level: 15
13822 #[cfg(feature = "api-15")]
13823 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
13824 pub fn OH_ArkUI_NodeEvent_GetTextChangeEvent(
13825 event: *mut ArkUI_NodeEvent,
13826 ) -> *mut ArkUI_TextChangeEvent;
13827 /// Obtains the custom data in a component event.
13828 ///
13829 /// This parameter is passed in [`registerNodeEvent`] and can be applied to the service logic when the event
13830 /// is triggered.
13831 ///
13832 /// # Arguments
13833 ///
13834 /// * `event` - Indicates the pointer to the component event.
13835 ///
13836 /// # Returns
13837 ///
13838 /// * Returns the pointer to the custom data.
13839 ///
13840 /// Available since API-level: 12
13841 #[cfg(feature = "api-12")]
13842 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13843 pub fn OH_ArkUI_NodeEvent_GetUserData(event: *mut ArkUI_NodeEvent) -> *mut ::core::ffi::c_void;
13844 /// Obtains the numeric-type parameter of a component event.
13845 ///
13846 /// # Arguments
13847 ///
13848 /// * `event` - Indicates the pointer to the component event.
13849 ///
13850 /// * `index` - Indicates the index of the return value.
13851 ///
13852 /// * `value` - Indicates the return value.
13853 ///
13854 /// # Returns
13855 ///
13856 /// * Returns the error code.
13857 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13858 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
13859 /// the limit.
13860 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
13861 ///
13862 /// Available since API-level: 12
13863 #[cfg(feature = "api-12")]
13864 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13865 pub fn OH_ArkUI_NodeEvent_GetNumberValue(
13866 event: *mut ArkUI_NodeEvent,
13867 index: i32,
13868 value: *mut ArkUI_NumberValue,
13869 ) -> i32;
13870 /// Obtains the string-type parameter of a component event. The string data is valid only during an event
13871 /// callback. To use it outside an event callback, you are advised to copy the string data.
13872 ///
13873 /// # Arguments
13874 ///
13875 /// * `event` - Indicates the pointer to the component event.
13876 ///
13877 /// * `index` - Indicates the index of the return value.
13878 ///
13879 /// * `string` - Indicates the pointer to the string array.
13880 ///
13881 /// * `stringSize` - Indicates the length of the string array.
13882 ///
13883 /// # Returns
13884 ///
13885 /// * Returns the error code.
13886 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13887 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE`] if the parameter length exceeds
13888 /// the limit.
13889 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if the data does not exist in the component event.
13890 ///
13891 /// Available since API-level: 12
13892 #[cfg(feature = "api-12")]
13893 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13894 pub fn OH_ArkUI_NodeEvent_GetStringValue(
13895 event: *mut ArkUI_NodeEvent,
13896 index: i32,
13897 string: *mut *mut ::core::ffi::c_char,
13898 stringSize: *mut i32,
13899 ) -> i32;
13900 /// Sets the return value for a component event.
13901 ///
13902 /// # Arguments
13903 ///
13904 /// * `event` - Indicates the pointer to the component event.
13905 ///
13906 /// * `value` - Indicates the numeric-type array.
13907 ///
13908 /// * `size` - Indicates the array length.
13909 ///
13910 /// # Returns
13911 ///
13912 /// * Returns the error code.
13913 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13914 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_NO_RETURN`] if the component event does not support return values.
13915 /// Returns [`ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID`] if data does not exist in the component event.
13916 ///
13917 /// Available since API-level: 12
13918 #[cfg(feature = "api-12")]
13919 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13920 pub fn OH_ArkUI_NodeEvent_SetReturnNumberValue(
13921 event: *mut ArkUI_NodeEvent,
13922 value: *mut ArkUI_NumberValue,
13923 size: i32,
13924 ) -> i32;
13925 /// Obtains a <b>ArkUI_TouchTestInfo</b> object from the specified <b>ArkUI_NodeEvent</b> object.
13926 ///
13927 /// # Arguments
13928 ///
13929 /// {pointer} nodeEvent Indicates the pointer to an <b>ArkUI_NodeEvent</b> object.
13930 ///
13931 /// # Returns
13932 ///
13933 /// * Returns the pointer to an <b>ArkUI_TouchTestInfo</b> object.
13934 /// Returns <b>null</b> if the parameter passed in is invalid or is not a touch test info.
13935 ///
13936 /// Available since API-level: 22
13937 #[cfg(feature = "api-22")]
13938 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
13939 pub fn OH_ArkUI_NodeEvent_GetTouchTestInfo(
13940 nodeEvent: *mut ArkUI_NodeEvent,
13941 ) -> *mut ArkUI_TouchTestInfo;
13942 /// Creates a component adapter.
13943 ///
13944 ///
13945 /// Available since API-level: 12
13946 #[cfg(feature = "api-12")]
13947 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13948 pub fn OH_ArkUI_NodeAdapter_Create() -> ArkUI_NodeAdapterHandle;
13949 /// Destroys a component adapter.
13950 ///
13951 /// # Arguments
13952 ///
13953 /// * `handle` - Indicates the target component adapter.
13954 ///
13955 /// Available since API-level: 12
13956 #[cfg(feature = "api-12")]
13957 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13958 pub fn OH_ArkUI_NodeAdapter_Dispose(handle: ArkUI_NodeAdapterHandle);
13959 /// Sets the total number of elements in the specified adapter.
13960 ///
13961 /// # Arguments
13962 ///
13963 /// * `handle` - Indicates the target component adapter.
13964 ///
13965 /// * `size` - Indicates the number of elements.
13966 ///
13967 /// # Returns
13968 ///
13969 /// * Returns the error code.
13970 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
13971 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
13972 ///
13973 /// Available since API-level: 12
13974 #[cfg(feature = "api-12")]
13975 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13976 pub fn OH_ArkUI_NodeAdapter_SetTotalNodeCount(
13977 handle: ArkUI_NodeAdapterHandle,
13978 size: u32,
13979 ) -> i32;
13980 /// Obtains the total number of elements in the specified adapter.
13981 ///
13982 /// # Arguments
13983 ///
13984 /// * `handle` - Indicates the target component adapter.
13985 ///
13986 /// # Returns
13987 ///
13988 /// * Returns the total number of elements in the adapter.
13989 ///
13990 /// Available since API-level: 12
13991 #[cfg(feature = "api-12")]
13992 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13993 pub fn OH_ArkUI_NodeAdapter_GetTotalNodeCount(handle: ArkUI_NodeAdapterHandle) -> u32;
13994 /// Registers an event callback for the adapter.
13995 ///
13996 /// # Arguments
13997 ///
13998 /// * `handle` - Indicates the target component adapter.
13999 ///
14000 /// * `userData` - Indicates custom data.
14001 ///
14002 /// * `receiver` - Indicates the event receiver callback.
14003 ///
14004 /// # Returns
14005 ///
14006 /// * Returns the error code.
14007 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14008 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14009 ///
14010 /// Available since API-level: 12
14011 #[cfg(feature = "api-12")]
14012 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14013 pub fn OH_ArkUI_NodeAdapter_RegisterEventReceiver(
14014 handle: ArkUI_NodeAdapterHandle,
14015 userData: *mut ::core::ffi::c_void,
14016 receiver: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeAdapterEvent)>,
14017 ) -> i32;
14018 /// Deregisters an event callback for the adapter.
14019 ///
14020 /// # Arguments
14021 ///
14022 /// * `handle` - Indicates the target component adapter.
14023 ///
14024 /// Available since API-level: 12
14025 #[cfg(feature = "api-12")]
14026 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14027 pub fn OH_ArkUI_NodeAdapter_UnregisterEventReceiver(handle: ArkUI_NodeAdapterHandle);
14028 /// Instructs the specified adapter to reload all elements.
14029 ///
14030 /// # Arguments
14031 ///
14032 /// * `handle` - Indicates the target component adapter.
14033 ///
14034 /// # Returns
14035 ///
14036 /// * Returns the error code.
14037 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14038 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14039 ///
14040 /// Available since API-level: 12
14041 #[cfg(feature = "api-12")]
14042 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14043 pub fn OH_ArkUI_NodeAdapter_ReloadAllItems(handle: ArkUI_NodeAdapterHandle) -> i32;
14044 /// Instructs the specified adapter to reload certain elements.
14045 ///
14046 /// # Arguments
14047 ///
14048 /// * `handle` - Indicates the target component adapter.
14049 ///
14050 /// * `startPosition` - Indicates the start position of the elements to reload.
14051 ///
14052 /// * `itemCount` - Indicates the number of the elements to reload.
14053 ///
14054 /// # Returns
14055 ///
14056 /// * Returns the error code.
14057 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14058 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14059 ///
14060 /// Available since API-level: 12
14061 #[cfg(feature = "api-12")]
14062 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14063 pub fn OH_ArkUI_NodeAdapter_ReloadItem(
14064 handle: ArkUI_NodeAdapterHandle,
14065 startPosition: u32,
14066 itemCount: u32,
14067 ) -> i32;
14068 /// Instructs the specified adapter to remove certain elements.
14069 ///
14070 /// # Arguments
14071 ///
14072 /// * `handle` - Indicates the target component adapter.
14073 ///
14074 /// * `startPosition` - Indicates the start position of the elements to remove.
14075 ///
14076 /// * `itemCount` - Indicates the number of the elements to remove.
14077 ///
14078 /// # Returns
14079 ///
14080 /// * Returns the error code.
14081 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14082 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14083 ///
14084 /// Available since API-level: 12
14085 #[cfg(feature = "api-12")]
14086 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14087 pub fn OH_ArkUI_NodeAdapter_RemoveItem(
14088 handle: ArkUI_NodeAdapterHandle,
14089 startPosition: u32,
14090 itemCount: u32,
14091 ) -> i32;
14092 /// Instructs the specified adapter to insert certain elements.
14093 ///
14094 /// # Arguments
14095 ///
14096 /// * `handle` - Indicates the target component adapter.
14097 ///
14098 /// * `startPosition` - Indicates the start position of the elements to insert.
14099 ///
14100 /// * `itemCount` - Indicates the number of the elements to insert.
14101 ///
14102 /// # Returns
14103 ///
14104 /// * Returns the error code.
14105 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14106 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14107 ///
14108 /// Available since API-level: 12
14109 #[cfg(feature = "api-12")]
14110 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14111 pub fn OH_ArkUI_NodeAdapter_InsertItem(
14112 handle: ArkUI_NodeAdapterHandle,
14113 startPosition: u32,
14114 itemCount: u32,
14115 ) -> i32;
14116 /// Instructs the specified adapter to move certain elements.
14117 ///
14118 /// # Arguments
14119 ///
14120 /// * `handle` - Indicates the target component adapter.
14121 ///
14122 /// * `from` - Indicates the start position of the elements to move.
14123 ///
14124 /// * `to` - Indicates the end position of the elements to move.
14125 ///
14126 /// # Returns
14127 ///
14128 /// * Returns the error code.
14129 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14130 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14131 ///
14132 /// Available since API-level: 12
14133 #[cfg(feature = "api-12")]
14134 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14135 pub fn OH_ArkUI_NodeAdapter_MoveItem(
14136 handle: ArkUI_NodeAdapterHandle,
14137 from: u32,
14138 to: u32,
14139 ) -> i32;
14140 /// Obtains all elements stored in the specified adapter.
14141 ///
14142 /// This API returns the pointer to the array of the elements. You need to manually release the memory data
14143 /// to which the pointer points.
14144 ///
14145 /// # Arguments
14146 ///
14147 /// * `handle` - Indicates the target component adapter.
14148 ///
14149 /// * `items` - Indicates the pointer to the array of the elements in the adapter.
14150 ///
14151 /// * `size` - Indicates the number of elements.
14152 ///
14153 /// # Returns
14154 ///
14155 /// * Returns the error code.
14156 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14157 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14158 ///
14159 /// Available since API-level: 12
14160 #[cfg(feature = "api-12")]
14161 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14162 pub fn OH_ArkUI_NodeAdapter_GetAllItems(
14163 handle: ArkUI_NodeAdapterHandle,
14164 items: *mut *mut ArkUI_NodeHandle,
14165 size: *mut u32,
14166 ) -> i32;
14167 /// Obtains the custom data passed in during registration of the specified event.
14168 ///
14169 /// # Arguments
14170 ///
14171 /// * `event` - Indicates the target adapter event.
14172 ///
14173 /// Available since API-level: 12
14174 #[cfg(feature = "api-12")]
14175 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14176 pub fn OH_ArkUI_NodeAdapterEvent_GetUserData(
14177 event: *mut ArkUI_NodeAdapterEvent,
14178 ) -> *mut ::core::ffi::c_void;
14179 /// Obtains the event type.
14180 ///
14181 /// # Arguments
14182 ///
14183 /// * `event` - Indicates the target adapter event.
14184 ///
14185 /// # Returns
14186 ///
14187 /// * Returns the event type.
14188 ///
14189 /// Available since API-level: 12
14190 #[cfg(feature = "api-12")]
14191 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14192 pub fn OH_ArkUI_NodeAdapterEvent_GetType(
14193 event: *mut ArkUI_NodeAdapterEvent,
14194 ) -> ArkUI_NodeAdapterEventType;
14195 /// Obtains the element to be removed for the event to be destroyed.
14196 ///
14197 /// # Arguments
14198 ///
14199 /// * `event` - Indicates the target adapter event.
14200 ///
14201 /// # Returns
14202 ///
14203 /// * Returns the element to be removed.
14204 ///
14205 /// Available since API-level: 12
14206 #[cfg(feature = "api-12")]
14207 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14208 pub fn OH_ArkUI_NodeAdapterEvent_GetRemovedNode(
14209 event: *mut ArkUI_NodeAdapterEvent,
14210 ) -> ArkUI_NodeHandle;
14211 /// Obtains the index of the element to be operated for the specified adapter event.
14212 ///
14213 /// # Arguments
14214 ///
14215 /// * `event` - Indicates the target adapter event.
14216 ///
14217 /// # Returns
14218 ///
14219 /// * Returns the index of the element.
14220 ///
14221 /// Available since API-level: 12
14222 #[cfg(feature = "api-12")]
14223 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14224 pub fn OH_ArkUI_NodeAdapterEvent_GetItemIndex(event: *mut ArkUI_NodeAdapterEvent) -> u32;
14225 /// Obtains the scrollable container node that uses the specified adapter.
14226 ///
14227 /// # Arguments
14228 ///
14229 /// * `event` - Indicates the target adapter event.
14230 ///
14231 /// # Returns
14232 ///
14233 /// * Returns the scrollable container node that uses the specified adapter.
14234 ///
14235 /// Available since API-level: 12
14236 #[cfg(feature = "api-12")]
14237 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14238 pub fn OH_ArkUI_NodeAdapterEvent_GetHostNode(
14239 event: *mut ArkUI_NodeAdapterEvent,
14240 ) -> ArkUI_NodeHandle;
14241 /// Sets the component to be added to the specified adapter.
14242 ///
14243 /// # Arguments
14244 ///
14245 /// * `event` - Indicates the target adapter event.
14246 ///
14247 /// * `node` - Indicates the component to be added.
14248 ///
14249 /// # Returns
14250 ///
14251 /// * Returns the error code.
14252 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14253 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14254 ///
14255 /// Available since API-level: 12
14256 #[cfg(feature = "api-12")]
14257 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14258 pub fn OH_ArkUI_NodeAdapterEvent_SetItem(
14259 event: *mut ArkUI_NodeAdapterEvent,
14260 node: ArkUI_NodeHandle,
14261 ) -> i32;
14262 /// Sets the component ID to be generated.
14263 ///
14264 /// # Arguments
14265 ///
14266 /// * `event` - Indicates the target adapter event.
14267 ///
14268 /// * `id` - Indicates the component ID to set.
14269 ///
14270 /// # Returns
14271 ///
14272 /// * Returns the error code.
14273 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14274 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14275 ///
14276 /// Available since API-level: 12
14277 #[cfg(feature = "api-12")]
14278 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14279 pub fn OH_ArkUI_NodeAdapterEvent_SetNodeId(event: *mut ArkUI_NodeAdapterEvent, id: i32) -> i32;
14280 /// Obtains the size constraint for measurement through a custom component event.
14281 ///
14282 /// # Arguments
14283 ///
14284 /// * `event` - Indicates the pointer to the custom component event.
14285 ///
14286 /// # Returns
14287 ///
14288 /// * Returns the pointer to the size constraint.
14289 ///
14290 /// Available since API-level: 12
14291 #[cfg(feature = "api-12")]
14292 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14293 pub fn OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(
14294 event: *mut ArkUI_NodeCustomEvent,
14295 ) -> *mut ArkUI_LayoutConstraint;
14296 /// Obtains the expected position of a component relative to its parent component in the layout phase through a
14297 /// custom component event.
14298 ///
14299 /// # Arguments
14300 ///
14301 /// * `event` - Indicates the pointer to the custom component event.
14302 ///
14303 /// # Returns
14304 ///
14305 /// * Returns the expected position relative to the parent component.
14306 ///
14307 /// Available since API-level: 12
14308 #[cfg(feature = "api-12")]
14309 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14310 pub fn OH_ArkUI_NodeCustomEvent_GetPositionInLayout(
14311 event: *mut ArkUI_NodeCustomEvent,
14312 ) -> ArkUI_IntOffset;
14313 /// Obtains the drawing context through a custom component event.
14314 ///
14315 /// # Arguments
14316 ///
14317 /// * `event` - Indicates the pointer to the custom component event.
14318 ///
14319 /// # Returns
14320 ///
14321 /// * Returns the drawing context.
14322 ///
14323 /// Available since API-level: 12
14324 #[cfg(feature = "api-12")]
14325 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14326 pub fn OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(
14327 event: *mut ArkUI_NodeCustomEvent,
14328 ) -> *mut ArkUI_DrawContext;
14329 /// Obtains the ID of a custom component event.
14330 ///
14331 /// # Arguments
14332 ///
14333 /// * `event` - Indicates the pointer to the custom component event.
14334 ///
14335 /// # Returns
14336 ///
14337 /// * Returns the ID of the custom component event.
14338 ///
14339 /// Available since API-level: 12
14340 #[cfg(feature = "api-12")]
14341 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14342 pub fn OH_ArkUI_NodeCustomEvent_GetEventTargetId(event: *mut ArkUI_NodeCustomEvent) -> i32;
14343 /// Obtains custom event parameters through a custom component event.
14344 ///
14345 /// # Arguments
14346 ///
14347 /// * `event` - Indicates the pointer to the custom component event.
14348 ///
14349 /// # Returns
14350 ///
14351 /// * Returns the custom event parameters.
14352 ///
14353 /// Available since API-level: 12
14354 #[cfg(feature = "api-12")]
14355 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14356 pub fn OH_ArkUI_NodeCustomEvent_GetUserData(
14357 event: *mut ArkUI_NodeCustomEvent,
14358 ) -> *mut ::core::ffi::c_void;
14359 /// Obtains a component object through a custom component event.
14360 ///
14361 /// # Arguments
14362 ///
14363 /// * `event` - Indicates the pointer to the custom component event.
14364 ///
14365 /// # Returns
14366 ///
14367 /// * Returns the component object.
14368 ///
14369 /// Available since API-level: 12
14370 #[cfg(feature = "api-12")]
14371 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14372 pub fn OH_ArkUI_NodeCustomEvent_GetNodeHandle(
14373 event: *mut ArkUI_NodeCustomEvent,
14374 ) -> ArkUI_NodeHandle;
14375 /// Obtains the event type through a custom component event.
14376 ///
14377 /// # Arguments
14378 ///
14379 /// * `event` - Indicates the pointer to the custom component event.
14380 ///
14381 /// # Returns
14382 ///
14383 /// * Returns the type of the custom component event.
14384 ///
14385 /// Available since API-level: 12
14386 #[cfg(feature = "api-12")]
14387 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14388 pub fn OH_ArkUI_NodeCustomEvent_GetEventType(
14389 event: *mut ArkUI_NodeCustomEvent,
14390 ) -> ArkUI_NodeCustomEventType;
14391 /// Obtains the measurement information of a custom span through a custom component event.
14392 ///
14393 /// # Arguments
14394 ///
14395 /// * `event` - Indicates the pointer to the custom component event.
14396 ///
14397 /// * `info` - Indicates the measurement information to be obtained.
14398 ///
14399 /// # Returns
14400 ///
14401 /// * Returns the result code.
14402 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14403 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14404 /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
14405 ///
14406 /// Available since API-level: 12
14407 #[cfg(feature = "api-12")]
14408 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14409 pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(
14410 event: *mut ArkUI_NodeCustomEvent,
14411 info: *mut ArkUI_CustomSpanMeasureInfo,
14412 ) -> i32;
14413 /// Sets the measurement metrics of a custom span through a custom component event.
14414 ///
14415 /// # Arguments
14416 ///
14417 /// * `event` - Indicates the pointer to the custom component event.
14418 ///
14419 /// * `metrics` - Indicates the measurement metrics to set.
14420 ///
14421 /// # Returns
14422 ///
14423 /// * Returns the result code.
14424 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14425 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14426 /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
14427 ///
14428 /// Available since API-level: 12
14429 #[cfg(feature = "api-12")]
14430 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14431 pub fn OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(
14432 event: *mut ArkUI_NodeCustomEvent,
14433 metrics: *mut ArkUI_CustomSpanMetrics,
14434 ) -> i32;
14435 /// Obtains the drawing information of a custom span through a custom component event.
14436 ///
14437 /// # Arguments
14438 ///
14439 /// * `event` - Indicates the pointer to the custom component event.
14440 ///
14441 /// * `info` - Indicates the drawing information to obtain.
14442 ///
14443 /// # Returns
14444 ///
14445 /// * Returns the result code.
14446 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14447 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14448 /// <br> Possible causes: Parameter verification failed, the parameter should not be nullptr.
14449 ///
14450 /// Available since API-level: 12
14451 #[cfg(feature = "api-12")]
14452 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14453 pub fn OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(
14454 event: *mut ArkUI_NodeCustomEvent,
14455 info: *mut ArkUI_CustomSpanDrawInfo,
14456 ) -> i32;
14457 /// register a callback function to a node content.
14458 ///
14459 /// # Arguments
14460 ///
14461 /// * `content` - Indicates the pointer to the node content instance.
14462 ///
14463 /// * `callback` - Indicates the callback function.
14464 ///
14465 /// # Returns
14466 ///
14467 /// * Returns the error code.
14468 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14469 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14470 ///
14471 /// Available since API-level: 12
14472 #[cfg(feature = "api-12")]
14473 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14474 pub fn OH_ArkUI_NodeContent_RegisterCallback(
14475 content: ArkUI_NodeContentHandle,
14476 callback: ArkUI_NodeContentCallback,
14477 ) -> i32;
14478 /// Obtains the type of a node content event.
14479 ///
14480 /// # Arguments
14481 ///
14482 /// * `event` - Indicates the pointer to the node content event.
14483 ///
14484 /// # Returns
14485 ///
14486 /// * Returns the type of the node content event.
14487 ///
14488 /// Available since API-level: 12
14489 #[cfg(feature = "api-12")]
14490 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14491 pub fn OH_ArkUI_NodeContentEvent_GetEventType(
14492 event: *mut ArkUI_NodeContentEvent,
14493 ) -> ArkUI_NodeContentEventType;
14494 /// Obtains the node content object that triggers a node content event.
14495 ///
14496 /// # Arguments
14497 ///
14498 /// * `event` - Indicates the pointer to the node content event.
14499 ///
14500 /// # Returns
14501 ///
14502 /// * Returns the node content object that triggers the node content event.
14503 ///
14504 /// Available since API-level: 12
14505 #[cfg(feature = "api-12")]
14506 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14507 pub fn OH_ArkUI_NodeContentEvent_GetNodeContentHandle(
14508 event: *mut ArkUI_NodeContentEvent,
14509 ) -> ArkUI_NodeContentHandle;
14510 /// Saves custom data on the specified node content.
14511 ///
14512 /// # Arguments
14513 ///
14514 /// * `content` - Indicates the node content on which the custom data will be saved.
14515 ///
14516 /// * `userData` - Indicates the custom data to be saved.
14517 ///
14518 /// # Returns
14519 ///
14520 /// * Returns the error code.
14521 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14522 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14523 ///
14524 /// Available since API-level: 12
14525 #[cfg(feature = "api-12")]
14526 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14527 pub fn OH_ArkUI_NodeContent_SetUserData(
14528 content: ArkUI_NodeContentHandle,
14529 userData: *mut ::core::ffi::c_void,
14530 ) -> i32;
14531 /// Obtains the custom data saved on the specified node content.
14532 ///
14533 /// # Arguments
14534 ///
14535 /// * `content` - Indicates the target node content.
14536 ///
14537 /// # Returns
14538 ///
14539 /// * Returns the custom data.
14540 ///
14541 /// Available since API-level: 12
14542 #[cfg(feature = "api-12")]
14543 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14544 pub fn OH_ArkUI_NodeContent_GetUserData(
14545 content: ArkUI_NodeContentHandle,
14546 ) -> *mut ::core::ffi::c_void;
14547 /// Add a node to a node content.
14548 ///
14549 /// # Arguments
14550 ///
14551 /// * `content` - Indicates the pointer to the node content instance.
14552 ///
14553 /// * `node` - Indicates the pointer to the node
14554 ///
14555 /// # Returns
14556 ///
14557 /// * Returns the error code.
14558 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14559 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14560 /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the node has already been adopted. add since api 22.
14561 ///
14562 /// Available since API-level: 12
14563 #[cfg(feature = "api-12")]
14564 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14565 pub fn OH_ArkUI_NodeContent_AddNode(
14566 content: ArkUI_NodeContentHandle,
14567 node: ArkUI_NodeHandle,
14568 ) -> i32;
14569 /// remove a node from a node content.
14570 ///
14571 /// # Arguments
14572 ///
14573 /// * `content` - Indicates the pointer to the node content instance.
14574 ///
14575 /// * `node` - Indicates the pointer to the node
14576 ///
14577 /// # Returns
14578 ///
14579 /// * Returns the error code.
14580 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14581 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14582 ///
14583 /// Available since API-level: 12
14584 #[cfg(feature = "api-12")]
14585 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14586 pub fn OH_ArkUI_NodeContent_RemoveNode(
14587 content: ArkUI_NodeContentHandle,
14588 node: ArkUI_NodeHandle,
14589 ) -> i32;
14590 /// insert a node into a node content at a given position.
14591 ///
14592 /// # Arguments
14593 ///
14594 /// * `content` - Indicates the pointer to the node content instance.
14595 ///
14596 /// * `node` - Indicates the pointer to the node
14597 ///
14598 /// * `position` - Indicates the position for inserting the node
14599 ///
14600 /// # Returns
14601 ///
14602 /// * Returns the error code.
14603 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14604 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14605 /// Returns [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the node has already been adopted. add since api 22.
14606 ///
14607 /// Available since API-level: 12
14608 #[cfg(feature = "api-12")]
14609 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14610 pub fn OH_ArkUI_NodeContent_InsertNode(
14611 content: ArkUI_NodeContentHandle,
14612 node: ArkUI_NodeHandle,
14613 position: i32,
14614 ) -> i32;
14615 /// Get the size of the component layout area.
14616 /// The layout area size does not include graphic variation attributes such as scaling.
14617 ///
14618 /// # Arguments
14619 ///
14620 /// * `node` - ArkUI_NodeHandle pointer.
14621 ///
14622 /// * `size` - The drawing area size of the component handle, in px.
14623 ///
14624 /// # Returns
14625 ///
14626 /// * Returns the error code.
14627 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14628 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14629 ///
14630 /// Available since API-level: 12
14631 #[cfg(feature = "api-12")]
14632 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14633 pub fn OH_ArkUI_NodeUtils_GetLayoutSize(
14634 node: ArkUI_NodeHandle,
14635 size: *mut ArkUI_IntSize,
14636 ) -> i32;
14637 /// Obtain the position of the component layout area relative to the parent component.
14638 /// The relative position of the layout area does not include graphic variation attributes, such as translation.
14639 ///
14640 /// # Arguments
14641 ///
14642 /// * `node` - ArkUI_NodeHandle pointer.
14643 ///
14644 /// * `localOffset` - The offset value of the component handle relative to the parent component, in px.
14645 ///
14646 /// # Returns
14647 ///
14648 /// * Returns the error code.
14649 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14650 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14651 ///
14652 /// Available since API-level: 12
14653 #[cfg(feature = "api-12")]
14654 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14655 pub fn OH_ArkUI_NodeUtils_GetLayoutPosition(
14656 node: ArkUI_NodeHandle,
14657 localOffset: *mut ArkUI_IntOffset,
14658 ) -> i32;
14659 /// Obtain the position of the component layout area relative to the window.
14660 /// The relative position of the layout area does not include graphic variation attributes, such as translation.
14661 ///
14662 /// # Arguments
14663 ///
14664 /// * `node` - ArkUI_NodeHandle pointer.
14665 ///
14666 /// * `globalOffset` - The offset value of the component handle relative to the window, in px.
14667 ///
14668 /// # Returns
14669 ///
14670 /// * Returns the error code.
14671 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14672 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14673 ///
14674 /// Available since API-level: 12
14675 #[cfg(feature = "api-12")]
14676 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14677 pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(
14678 node: ArkUI_NodeHandle,
14679 globalOffset: *mut ArkUI_IntOffset,
14680 ) -> i32;
14681 /// Obtain the position of the component layout area relative to the screen.
14682 /// The relative position of the layout area does not include graphic variation attributes, such as translation.
14683 ///
14684 /// # Arguments
14685 ///
14686 /// * `node` - ArkUI_NodeHandle pointer.
14687 ///
14688 /// * `screenOffset` - The offset value of the component handle relative to the screen, in px.
14689 ///
14690 /// # Returns
14691 ///
14692 /// * Returns the error code.
14693 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14694 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14695 ///
14696 /// Available since API-level: 12
14697 #[cfg(feature = "api-12")]
14698 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14699 pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(
14700 node: ArkUI_NodeHandle,
14701 screenOffset: *mut ArkUI_IntOffset,
14702 ) -> i32;
14703 /// Obtains the offset of a component relative to the global display.
14704 /// The relative position does not count in transformation attributes, such as translate.
14705 ///
14706 /// # Arguments
14707 ///
14708 /// * `node` - Pointer to the <b>ArkUI_NodeHandle</b> representing the component.
14709 ///
14710 /// * `offset` - Offset of the component relative to the global display, in px.
14711 ///
14712 /// # Returns
14713 ///
14714 /// * Result code.
14715 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14716 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14717 ///
14718 /// Available since API-level: 20
14719 #[cfg(feature = "api-20")]
14720 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
14721 pub fn OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(
14722 node: ArkUI_NodeHandle,
14723 offset: *mut ArkUI_IntOffset,
14724 ) -> i32;
14725 /// Obtain the position of the component in the window, including the properties of graphic translation changes.
14726 ///
14727 /// # Arguments
14728 ///
14729 /// * `node` - ArkUI_NodeHandle pointer.
14730 ///
14731 /// * `translateOffset` - The cumulative offset value of the component handle itself,
14732 /// parent components, and ancestor nodes, in px.
14733 ///
14734 /// # Returns
14735 ///
14736 /// * Returns the error code.
14737 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14738 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14739 ///
14740 /// Available since API-level: 12
14741 #[cfg(feature = "api-12")]
14742 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14743 pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(
14744 node: ArkUI_NodeHandle,
14745 translateOffset: *mut ArkUI_IntOffset,
14746 ) -> i32;
14747 /// Obtain the position of the component on the screen, including the attributes of graphic translation changes.
14748 ///
14749 /// # Arguments
14750 ///
14751 /// * `node` - ArkUI_NodeHandle pointer.
14752 ///
14753 /// * `translateOffset` - The cumulative offset value of the component handle itself,
14754 /// parent components, and ancestor nodes, in px.
14755 ///
14756 /// # Returns
14757 ///
14758 /// * Returns the error code.
14759 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
14760 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
14761 ///
14762 /// Available since API-level: 12
14763 #[cfg(feature = "api-12")]
14764 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14765 pub fn OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(
14766 node: ArkUI_NodeHandle,
14767 translateOffset: *mut ArkUI_IntOffset,
14768 ) -> i32;
14769 /// Add the custom property of the component. This interface only works on the main thread.
14770 ///
14771 /// # Arguments
14772 ///
14773 /// * `node` - ArkUI_NodeHandle pointer.
14774 ///
14775 /// * `name` - The name of the custom property. Passing null pointers is not allowed.
14776 ///
14777 /// * `value` - The value of the custom property. Passing null pointers is not allowed.
14778 ///
14779 /// Available since API-level: 13
14780 #[cfg(feature = "api-13")]
14781 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
14782 pub fn OH_ArkUI_NodeUtils_AddCustomProperty(
14783 node: ArkUI_NodeHandle,
14784 name: *const ::core::ffi::c_char,
14785 value: *const ::core::ffi::c_char,
14786 );
14787 /// Remove the custom property of the component.
14788 ///
14789 /// # Arguments
14790 ///
14791 /// * `node` - ArkUI_NodeHandle pointer.
14792 ///
14793 /// * `name` - The name of the custom property.
14794 ///
14795 /// Available since API-level: 13
14796 #[cfg(feature = "api-13")]
14797 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
14798 pub fn OH_ArkUI_NodeUtils_RemoveCustomProperty(
14799 node: ArkUI_NodeHandle,
14800 name: *const ::core::ffi::c_char,
14801 );
14802 /// Get the value of the custom property of the component.
14803 ///
14804 /// # Arguments
14805 ///
14806 /// * `node` - ArkUI-NodeHandle pointer.
14807 ///
14808 /// * `name` - The name of the custom attribute.
14809 ///
14810 /// * `handle` - The structure of the custom attribute corresponding to the key parameter name obtained.
14811 ///
14812 /// # Returns
14813 ///
14814 /// * Error code.
14815 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14816 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14817 ///
14818 /// Available since API-level: 14
14819 #[cfg(feature = "api-14")]
14820 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14821 pub fn OH_ArkUI_NodeUtils_GetCustomProperty(
14822 node: ArkUI_NodeHandle,
14823 name: *const ::core::ffi::c_char,
14824 handle: *mut *mut ArkUI_CustomProperty,
14825 ) -> i32;
14826 /// Get the parent node to obtain the component nodes created by ArkTs.
14827 ///
14828 /// # Arguments
14829 ///
14830 /// * `node` - Target node object.
14831 ///
14832 /// # Returns
14833 ///
14834 /// * Return the pointer of the component.
14835 ///
14836 /// Available since API-level: 14
14837 #[cfg(feature = "api-14")]
14838 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14839 pub fn OH_ArkUI_NodeUtils_GetParentInPageTree(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
14840 /// Retrieve all active child nodes of a node. Span will not be counted in the children.
14841 ///
14842 /// # Arguments
14843 ///
14844 /// * `head` - Pass in the node that needs to be obtained.
14845 ///
14846 /// * `handle` - The structure corresponding to the sub node information of the head node.
14847 ///
14848 /// # Returns
14849 ///
14850 /// * Error code.
14851 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14852 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14853 ///
14854 /// Available since API-level: 14
14855 #[cfg(feature = "api-14")]
14856 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14857 pub fn OH_ArkUI_NodeUtils_GetActiveChildrenInfo(
14858 head: ArkUI_NodeHandle,
14859 handle: *mut *mut ArkUI_ActiveChildrenInfo,
14860 ) -> i32;
14861 /// Retrieve the root node of the current page.
14862 ///
14863 /// # Arguments
14864 ///
14865 /// * `node` - Target node object.
14866 ///
14867 /// # Returns
14868 ///
14869 /// * Return the pointer of the component.
14870 ///
14871 /// Available since API-level: 14
14872 #[cfg(feature = "api-14")]
14873 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14874 pub fn OH_ArkUI_NodeUtils_GetCurrentPageRootNode(node: ArkUI_NodeHandle) -> ArkUI_NodeHandle;
14875 /// Retrieve whether the component is labeled by C-API.
14876 ///
14877 /// # Arguments
14878 ///
14879 /// * `node` - Target node object.
14880 ///
14881 /// # Returns
14882 ///
14883 /// * Return whether the node is a Tag created by C-API,
14884 /// true represents created by C-API, false represents not created by C-API.
14885 ///
14886 /// Available since API-level: 14
14887 #[cfg(feature = "api-14")]
14888 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14889 pub fn OH_ArkUI_NodeUtils_IsCreatedByNDK(node: ArkUI_NodeHandle) -> bool;
14890 /// Get the type of node.
14891 ///
14892 /// # Arguments
14893 ///
14894 /// * `node` - Target node object.
14895 ///
14896 /// # Returns
14897 ///
14898 /// * Return the type of the node.
14899 /// For specific open types, refer to [`ArkUI_NodeType`]. For unopened nodes, return -1.
14900 ///
14901 /// Available since API-level: 14
14902 #[cfg(feature = "api-14")]
14903 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
14904 pub fn OH_ArkUI_NodeUtils_GetNodeType(node: ArkUI_NodeHandle) -> i32;
14905 /// Get info of the window to which the node belongs.
14906 ///
14907 /// # Arguments
14908 ///
14909 /// * `node` - Target node object.
14910 ///
14911 /// * `info` - Window info. Use [`OH_ArkUI_HostWindowInfo_Destroy`] to release memory.
14912 ///
14913 /// # Returns
14914 ///
14915 /// * Error code.
14916 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14917 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14918 /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The node is not mounted.
14919 ///
14920 /// Available since API-level: 15
14921 #[cfg(feature = "api-15")]
14922 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14923 pub fn OH_ArkUI_NodeUtils_GetWindowInfo(
14924 node: ArkUI_NodeHandle,
14925 info: *mut *mut ArkUI_HostWindowInfo,
14926 ) -> i32;
14927 /// Obtains the index of the current FrameNode's first child node which is on the tree.
14928 ///
14929 /// # Arguments
14930 ///
14931 /// * `node` - Indicates the target node.
14932 ///
14933 /// * `index` - The index of the subnode.
14934 ///
14935 /// # Returns
14936 ///
14937 /// * Error code.
14938 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14939 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14940 ///
14941 /// Available since API-level: 15
14942 #[cfg(feature = "api-15")]
14943 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14944 pub fn OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(
14945 node: ArkUI_NodeHandle,
14946 index: *mut u32,
14947 ) -> i32;
14948 /// Obtains the index of the current FrameNode's last child node which is on the tree.
14949 ///
14950 /// # Arguments
14951 ///
14952 /// * `node` - Indicates the target node.
14953 ///
14954 /// * `index` - the index of the subnode.
14955 ///
14956 /// # Returns
14957 ///
14958 /// * Error code.
14959 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14960 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14961 ///
14962 /// Available since API-level: 15
14963 #[cfg(feature = "api-15")]
14964 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14965 pub fn OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(
14966 node: ArkUI_NodeHandle,
14967 index: *mut u32,
14968 ) -> i32;
14969 /// Obtains a subnode by position with the expand mode.
14970 ///
14971 /// # Arguments
14972 ///
14973 /// * `node` - Indicates the target node.
14974 ///
14975 /// * `position` - Indicates the position of the subnode.
14976 ///
14977 /// * `subnode` - The pointer to the subnode.
14978 ///
14979 /// * `expandMode` - Indicates the expand mode. [`ArkUI_ExpandMode`].
14980 ///
14981 /// # Returns
14982 ///
14983 /// * Error code.
14984 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
14985 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
14986 ///
14987 /// Available since API-level: 15
14988 #[cfg(feature = "api-15")]
14989 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
14990 pub fn OH_ArkUI_NodeUtils_GetChildWithExpandMode(
14991 node: ArkUI_NodeHandle,
14992 position: i32,
14993 subnode: *mut ArkUI_NodeHandle,
14994 expandMode: u32,
14995 ) -> i32;
14996 /// Collapse the ListItem in its expanded state.
14997 ///
14998 /// # Arguments
14999 ///
15000 /// * `node` - Node objects that need to be registered for events.
15001 ///
15002 /// * `userData` - Custom event parameters are carried back in the callback parameter when the event is triggered.
15003 ///
15004 /// * `onFinish` - The callback triggered after the completion of the folding animation.
15005 ///
15006 /// # Returns
15007 ///
15008 /// * Error code.
15009 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15010 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15011 /// [`ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED`] The component does not support this event.
15012 ///
15013 /// Available since API-level: 12
15014 #[cfg(feature = "api-12")]
15015 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15016 pub fn OH_ArkUI_List_CloseAllSwipeActions(
15017 node: ArkUI_NodeHandle,
15018 userData: *mut ::core::ffi::c_void,
15019 onFinish: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
15020 ) -> i32;
15021 /// Obtain the UIContext pointer to the page where the node is located.
15022 ///
15023 /// # Arguments
15024 ///
15025 /// * `node` - The node.
15026 ///
15027 /// # Returns
15028 ///
15029 /// * The UIContext pointer.
15030 /// If a null pointer is returned, it may be because the node is empty.
15031 ///
15032 /// Available since API-level: 12
15033 #[cfg(feature = "api-12")]
15034 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15035 pub fn OH_ArkUI_GetContextByNode(node: ArkUI_NodeHandle) -> ArkUI_ContextHandle;
15036 /// The event called when the system color mode changes.
15037 /// Only one system color change callback can be registered for the same component.
15038 ///
15039 /// # Arguments
15040 ///
15041 /// * `node` - Indicates the target node.
15042 ///
15043 /// * `userData` - Indicates the custom data to be saved.
15044 ///
15045 /// * `onColorModeChange` - Callback Events.
15046 ///
15047 /// # Returns
15048 ///
15049 /// * Error code.
15050 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15051 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15052 ///
15053 /// Available since API-level: 12
15054 #[cfg(feature = "api-12")]
15055 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15056 pub fn OH_ArkUI_RegisterSystemColorModeChangeEvent(
15057 node: ArkUI_NodeHandle,
15058 userData: *mut ::core::ffi::c_void,
15059 onColorModeChange: ::core::option::Option<
15060 unsafe extern "C" fn(
15061 colorMode: ArkUI_SystemColorMode,
15062 userData: *mut ::core::ffi::c_void,
15063 ),
15064 >,
15065 ) -> i32;
15066 /// Unregister the event callback when the system color mode changes.
15067 ///
15068 /// # Arguments
15069 ///
15070 /// * `node` - Indicates the target node.
15071 ///
15072 /// Available since API-level: 12
15073 #[cfg(feature = "api-12")]
15074 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15075 pub fn OH_ArkUI_UnregisterSystemColorModeChangeEvent(node: ArkUI_NodeHandle);
15076 /// The event called when the system font style changes.
15077 /// Only one system font change callback can be registered for the same component.
15078 ///
15079 /// # Arguments
15080 ///
15081 /// * `node` - Indicates the target node.
15082 ///
15083 /// * `userData` - Indicates the custom data to be saved.
15084 ///
15085 /// * `onFontStyleChange` - Callback Events.
15086 ///
15087 /// # Returns
15088 ///
15089 /// * Error code.
15090 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15091 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15092 ///
15093 /// Available since API-level: 12
15094 #[cfg(feature = "api-12")]
15095 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15096 pub fn OH_ArkUI_RegisterSystemFontStyleChangeEvent(
15097 node: ArkUI_NodeHandle,
15098 userData: *mut ::core::ffi::c_void,
15099 onFontStyleChange: ::core::option::Option<
15100 unsafe extern "C" fn(
15101 event: *mut ArkUI_SystemFontStyleEvent,
15102 userData: *mut ::core::ffi::c_void,
15103 ),
15104 >,
15105 ) -> i32;
15106 /// Unregister the event callback when the system font style changes.
15107 ///
15108 /// # Arguments
15109 ///
15110 /// * `node` - Indicates the target node.
15111 ///
15112 /// Available since API-level: 12
15113 #[cfg(feature = "api-12")]
15114 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15115 pub fn OH_ArkUI_UnregisterSystemFontStyleChangeEvent(node: ArkUI_NodeHandle);
15116 /// Retrieve the font size value for system font change events.
15117 ///
15118 /// # Arguments
15119 ///
15120 /// * `event` - Indicates a pointer to the current system font change event.
15121 ///
15122 /// # Returns
15123 ///
15124 /// * Updated system font size scaling factor. Default value: 1.0.
15125 ///
15126 /// Available since API-level: 12
15127 #[cfg(feature = "api-12")]
15128 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15129 pub fn OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(
15130 event: *const ArkUI_SystemFontStyleEvent,
15131 ) -> f32;
15132 /// Retrieve the font thickness values for system font change events.
15133 ///
15134 /// # Arguments
15135 ///
15136 /// * `event` - Indicates a pointer to the current system font change event.
15137 ///
15138 /// # Returns
15139 ///
15140 /// * The updated system font thickness scaling factor. Default value: 1.0.
15141 ///
15142 /// Available since API-level: 12
15143 #[cfg(feature = "api-12")]
15144 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
15145 pub fn OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(
15146 event: *const ArkUI_SystemFontStyleEvent,
15147 ) -> f32;
15148 /// Get the node handle by id.
15149 ///
15150 /// # Arguments
15151 ///
15152 /// * `id` - The id of the target node handle.
15153 ///
15154 /// * `node` - The handle of target node handle.
15155 ///
15156 /// # Returns
15157 ///
15158 /// * Error code.
15159 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15160 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15161 ///
15162 /// Available since API-level: 15
15163 #[cfg(feature = "api-15")]
15164 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15165 pub fn OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(
15166 id: *const ::core::ffi::c_char,
15167 node: *mut ArkUI_NodeHandle,
15168 ) -> i32;
15169 /// Move the node handle to target parent node as child.
15170 ///
15171 /// # Arguments
15172 ///
15173 /// * `node` - The node handle of the node to move.
15174 ///
15175 /// * `target_parent` - The node handle of target parent.
15176 ///
15177 /// * `index` - Indicates the index which the node is moved to. If the value is a nagative number of invalid, the
15178 /// node is moved to the end of the target parent node.
15179 ///
15180 /// # Returns
15181 ///
15182 /// * Error code.
15183 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15184 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15185 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15186 /// [`ARKUI_ERROR_CODE_NODE_IS_ADOPTED`] if the node has already been adopted. add since api 22.
15187 ///
15188 /// Available since API-level: 18
15189 #[cfg(feature = "api-18")]
15190 #[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
15191 pub fn OH_ArkUI_NodeUtils_MoveTo(
15192 node: ArkUI_NodeHandle,
15193 target_parent: ArkUI_NodeHandle,
15194 index: i32,
15195 ) -> i32;
15196 /// Triggers node updates in the current frame.
15197 /// When node attributes are modified after the current frame's build phase,
15198 /// the node updates will be deferred to the next
15199 /// frame. This function forces immediate node updates within the current frame to
15200 /// ensure rendering effects are applied synchronously.
15201 ///
15202 /// # Arguments
15203 ///
15204 /// * `node` - ArkUI_NodeHandle pointer.
15205 ///
15206 /// # Returns
15207 ///
15208 /// * Error code.
15209 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15210 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15211 ///
15212 /// Available since API-level: 21
15213 #[cfg(feature = "api-21")]
15214 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15215 pub fn OH_ArkUI_NativeModule_InvalidateAttributes(node: ArkUI_NodeHandle) -> i32;
15216 /// Set the cross-language option of the target node handle.
15217 ///
15218 /// # Arguments
15219 ///
15220 /// * `node` - The target node handle.
15221 ///
15222 /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
15223 ///
15224 /// # Returns
15225 ///
15226 /// * Error code.
15227 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15228 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15229 ///
15230 /// Available since API-level: 15
15231 #[cfg(feature = "api-15")]
15232 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15233 pub fn OH_ArkUI_NodeUtils_SetCrossLanguageOption(
15234 node: ArkUI_NodeHandle,
15235 option: *mut ArkUI_CrossLanguageOption,
15236 ) -> i32;
15237 /// Get the cross-language option of the target node handle.
15238 ///
15239 /// # Arguments
15240 ///
15241 /// * `node` - The target node handle.
15242 ///
15243 /// * `option` - The cross-language option [`ArkUI_CrossLanguageOption`].
15244 ///
15245 /// # Returns
15246 ///
15247 /// * Error code.
15248 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15249 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15250 ///
15251 /// Available since API-level: 15
15252 #[cfg(feature = "api-15")]
15253 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15254 pub fn OH_ArkUI_NodeUtils_GetCrossLanguageOption(
15255 node: ArkUI_NodeHandle,
15256 option: *mut ArkUI_CrossLanguageOption,
15257 ) -> i32;
15258 /// Registers a callback for node when layout is completed.
15259 ///
15260 /// # Arguments
15261 ///
15262 /// * `node` - Indicates the target node.
15263 ///
15264 /// * `userData` - Indicates the custom data used in onLayoutCompleted callback function.
15265 ///
15266 /// * `onLayoutCompleted` - Indicates the function when layout completed is callback.
15267 ///
15268 /// # Returns
15269 ///
15270 /// * error code
15271 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15272 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15273 ///
15274 /// Available since API-level: 15
15275 #[cfg(feature = "api-15")]
15276 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15277 pub fn OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(
15278 node: ArkUI_NodeHandle,
15279 userData: *mut ::core::ffi::c_void,
15280 onLayoutCompleted: ::core::option::Option<
15281 unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
15282 >,
15283 ) -> i32;
15284 /// Registers a callback for node when draw is completed.
15285 ///
15286 /// # Arguments
15287 ///
15288 /// * `node` - Indicates the target node.
15289 ///
15290 /// * `userData` - Indicates the custom data used in onDrawCompleted callback function.
15291 ///
15292 /// * `onDrawCompleted` - Indicates the function when draw completed is callback.
15293 ///
15294 /// # Returns
15295 ///
15296 /// * error code
15297 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15298 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15299 ///
15300 /// Available since API-level: 15
15301 #[cfg(feature = "api-15")]
15302 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15303 pub fn OH_ArkUI_RegisterDrawCallbackOnNodeHandle(
15304 node: ArkUI_NodeHandle,
15305 userData: *mut ::core::ffi::c_void,
15306 onDrawCompleted: ::core::option::Option<
15307 unsafe extern "C" fn(userData: *mut ::core::ffi::c_void),
15308 >,
15309 ) -> i32;
15310 /// Unregisters the layout completed callback for node.
15311 ///
15312 /// # Arguments
15313 ///
15314 /// * `node` - Indicates the target node.
15315 ///
15316 /// # Returns
15317 ///
15318 /// * error code
15319 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15320 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15321 ///
15322 /// Available since API-level: 15
15323 #[cfg(feature = "api-15")]
15324 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15325 pub fn OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
15326 /// Unregisters the draw completed callback for node.
15327 ///
15328 /// # Arguments
15329 ///
15330 /// * `node` - Indicates the target node.
15331 ///
15332 /// # Returns
15333 ///
15334 /// * error code
15335 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15336 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter is incorrect.
15337 ///
15338 /// Available since API-level: 15
15339 #[cfg(feature = "api-15")]
15340 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15341 pub fn OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(node: ArkUI_NodeHandle) -> i32;
15342 /// Get the snapshot pixelmap for the given node synchronously, will get error if the node is not on the
15343 /// tree or is not rendered yet.
15344 /// Note: the pixelmap should be released through OH_PixelmapNative_Release when it's not used any more.
15345 ///
15346 /// # Arguments
15347 ///
15348 /// * `node` - Indicates the target node.
15349 ///
15350 /// * `snapshotOptions` - the given configuration for taking snapshot, can be null for using default.
15351 ///
15352 /// * `pixelmap` - Pixelmap pointer created by system, it's the out result.
15353 ///
15354 /// # Returns
15355 ///
15356 /// * Returns the result code.
15357 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15358 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15359 /// Returns [`ARKUI_ERROR_CODE_INTERNAL_ERROR`] if the snapshot taking failed will null pixelmap returned.
15360 /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT`] if the snapshot taking is timeout.
15361 ///
15362 /// Available since API-level: 15
15363 ////**
15364 /// Obtains a snapshot of a given component. If the node is not in the component tree or has not been rendered,
15365 /// the snapshot operation will fail. When the <b>Pixelmap</b> object created is no longer in use, it should be released
15366 /// by calling [`OH_PixelmapNative_Release`].
15367 ///
15368 ///
15369 /// * `node` - Target node.
15370 ///
15371 /// * `snapshotOptions` - Snapshot settings. If the value is null, the default settings are used.
15372 /// Snapshot settings include scaling, color space, and dynamic range configuration.
15373 /// Scaling: floating-point value greater than 0.
15374 /// Color space: <b>3</b> (DISPLAY_P3), <b>4</b> (SRGB), <b>27</b> (DISPLAY_BT2020_SRGB).
15375 /// Dynamic range: [`ArkUI_DynamicRangeMode`].
15376 ///
15377 /// * `pixelmap` - Pointer to the <b>Pixelmap</b> object created by the system.
15378 ///
15379 /// * Result code.
15380 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15381 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15382 /// Returns [`ARKUI_ERROR_CODE_INTERNAL_ERROR`] if the snapshot fails, returning a null pointer.
15383 /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT`] if the snapshot operation times out.
15384 /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_MODE_NOT_SUPPORTED`] if the provided color space or
15385 /// dynamic range mode is not supported.
15386 /// Returns [`ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_AUTO_NOT_SUPPORTED`] if the isAuto parameter of the color
15387 /// space or dynamic range mode is set to true for offscreen node snapshot.
15388 ///
15389 /// Available since API-level: 23
15390 #[cfg(feature = "api-15")]
15391 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15392 pub fn OH_ArkUI_GetNodeSnapshot(
15393 node: ArkUI_NodeHandle,
15394 snapshotOptions: *mut ArkUI_SnapshotOptions,
15395 pixelmap: *mut *mut OH_PixelmapNative,
15396 ) -> i32;
15397 /// Obtains the offset of a specific node relative to its parent node.
15398 ///
15399 /// # Arguments
15400 ///
15401 /// * `node` - Target node.
15402 ///
15403 /// * `globalOffset` - Offset of the target node relative to its parent node, in px.
15404 ///
15405 /// # Returns
15406 ///
15407 /// * Returns the result code.
15408 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15409 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15410 ///
15411 /// Available since API-level: 15
15412 #[cfg(feature = "api-15")]
15413 #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
15414 pub fn OH_ArkUI_NodeUtils_GetPositionToParent(
15415 node: ArkUI_NodeHandle,
15416 globalOffset: *mut ArkUI_IntOffset,
15417 ) -> i32;
15418 /// Adds the UI state style supported by the component. To handle states change efficiently, need to specify the
15419 /// states of interest and the corresponding handler. When a state of interest occurs, the handler will be executed.
15420 /// - You can adjust the UI style based on the current state within the callback. If this API is called multiple
15421 /// times on the same node, the last set of states and handler will take precedence.
15422 /// - Some component types have default system handling for certain states. For example, the <b>Button</b>
15423 /// component has a default style effect for the PRESSED state. When custom state handling is implemented on such
15424 /// components, the default style effect will be applied first, followed by the custom style changes, resulting in
15425 /// a combined effect. To disable the default style effects, set <b>excludeInner</b> to <b>true</b>, if this is allowed
15426 /// by the system implementation.
15427 /// - And when this API is called, the provided handler function will be executed immediately.
15428 /// - There is no need to explicitly register a listener for the NORMAL state. Once a non-NORMAL state is registered,
15429 /// the system will automatically notify your application when the state changes back to NORMAL.
15430 ///
15431 /// # Arguments
15432 ///
15433 /// * `node` - Target node.
15434 ///
15435 /// * `uiStates` - Target UI states to be handled on the node.
15436 /// The combined result of all target UI states can be calculated using the <b>|</b> operator.
15437 /// Example: <b>targetUIStates = ArkUI_UIState::PRESSED | ArkUI_UIState::FOCUSED</b>.
15438 ///
15439 /// * `statesChangeHandler` - Handler for UI state changes.
15440 /// It rturns the current UI status. The value is the result of combining all current state enum values using the
15441 /// <b>|</b> operator. You can determine the state using the <b>&</b> operator.
15442 /// Example: <b>if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)</b>.
15443 /// However, for checking the normal state, use the equality operator directly.
15444 /// Example: <b>if (currentStates == ArkUI_UIState::NORMAL)</b>.
15445 ///
15446 /// * `excludeInner` - Whether to disable the default state styles.
15447 ///
15448 /// * `userData` - Custom data used in the <b>statesChangeHandler</b> callback.
15449 ///
15450 /// # Returns
15451 ///
15452 /// * Returns the result code.
15453 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15454 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15455 ///
15456 /// Available since API-level: 20
15457 #[cfg(feature = "api-20")]
15458 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15459 pub fn OH_ArkUI_AddSupportedUIStates(
15460 node: ArkUI_NodeHandle,
15461 uiStates: i32,
15462 statesChangeHandler: ::core::option::Option<
15463 unsafe extern "C" fn(currentStates: i32, userData: *mut ::core::ffi::c_void),
15464 >,
15465 excludeInner: bool,
15466 userData: *mut ::core::ffi::c_void,
15467 ) -> ArkUiResult;
15468 /// Removes registered UI states. When all states registered using <b>OH_ArkUI_AddSupportedUIStates</b>
15469 /// are removed, the registered <b>stateChangeHandler</b> will no longer be executed.
15470 ///
15471 /// # Arguments
15472 ///
15473 /// * `node` - Target node.
15474 ///
15475 /// * `uiStates` - Target UI states to be removed.
15476 ///
15477 /// # Returns
15478 ///
15479 /// * Returns the result code.
15480 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15481 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
15482 ///
15483 /// Available since API-level: 20
15484 #[cfg(feature = "api-20")]
15485 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15486 pub fn OH_ArkUI_RemoveSupportedUIStates(node: ArkUI_NodeHandle, uiStates: i32) -> ArkUiResult;
15487 /// Run a custom function inside the UIContext scope.
15488 ///
15489 /// # Arguments
15490 ///
15491 /// * `uiContext` - Indicates the pointer to a UI instance.
15492 ///
15493 /// * `userData` - Indicates the pointer to the custom data.
15494 ///
15495 /// * `callback` - The custom function.
15496 ///
15497 /// # Returns
15498 ///
15499 /// * Returns the result code.
15500 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15501 /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15502 /// Returns [`ARKUI_ERROR_CODE_UI_CONTEXT_INVALID`] if the uiContext is invalid.
15503 /// Returns [`ARKUI_ERROR_CODE_CALLBACK_INVALID`] if the callback function is invalid.
15504 ///
15505 /// Available since API-level: 20
15506 #[cfg(feature = "api-20")]
15507 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15508 pub fn OH_ArkUI_RunTaskInScope(
15509 uiContext: ArkUI_ContextHandle,
15510 userData: *mut ::core::ffi::c_void,
15511 callback: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
15512 ) -> i32;
15513 /// Get the node handle by uniqueId.
15514 ///
15515 /// # Arguments
15516 ///
15517 /// * `uniqueId` - The uniqueId of the target node handle.
15518 ///
15519 /// * `node` - The handle of target node handle.
15520 ///
15521 /// # Returns
15522 ///
15523 /// * Error code.
15524 /// [`ARKUI_ERROR_CODE_NO_ERROR`] success.
15525 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15526 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15527 ///
15528 /// Available since API-level: 20
15529 #[cfg(feature = "api-20")]
15530 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15531 pub fn OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(
15532 uniqueId: u32,
15533 node: *mut ArkUI_NodeHandle,
15534 ) -> i32;
15535 /// Get the uniqueId of the target node handle.
15536 ///
15537 /// # Arguments
15538 ///
15539 /// * `node` - The ArkUI-NodeHandle pointer.
15540 ///
15541 /// * `uniqueId` - The uniqueId of the target node handle, default value is -1.
15542 ///
15543 /// # Returns
15544 ///
15545 /// * Error code.
15546 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15547 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15548 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15549 ///
15550 /// Available since API-level: 20
15551 #[cfg(feature = "api-20")]
15552 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15553 pub fn OH_ArkUI_NodeUtils_GetNodeUniqueId(node: ArkUI_NodeHandle, uniqueId: *mut i32) -> i32;
15554 /// Returns true if the node is in the render state. A node is considered to be in the render state if its
15555 /// corresponding RenderNode is on the render tree.
15556 ///
15557 /// # Arguments
15558 ///
15559 /// * `node` - ArkUI_NodeHandle pointer.
15560 ///
15561 /// * `isInRenderState` - If the node is in the render state.
15562 ///
15563 /// # Returns
15564 ///
15565 /// * Error code.
15566 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15567 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15568 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15569 ///
15570 /// Available since API-level: 23
15571 #[cfg(feature = "api-23")]
15572 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15573 pub fn OH_ArkUI_NativeModule_IsInRenderState(
15574 node: ArkUI_NodeHandle,
15575 isInRenderState: *mut bool,
15576 ) -> i32;
15577 /// The current node adopts the target child node. The node being adopted must not have an existing parent node.
15578 /// This operation does not actually append it as a child, but only allows it to receive life-cycle
15579 /// callbacks as if it were a child.
15580 ///
15581 /// # Arguments
15582 ///
15583 /// * `node` - ArkUI_NodeHandle pointer, the parent node that will adopt the child node.
15584 ///
15585 /// * `child` - ArkUI_NodeHandle pointer, the target node being adopted.
15586 ///
15587 /// # Returns
15588 ///
15589 /// * Error code.
15590 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15591 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15592 /// [`ARKUI_ERROR_CODE_NODE_HAS_PARENT`] The child already has a parent node.
15593 /// [`ARKUI_ERROR_CODE_NODE_CAN_NOT_BE_ADOPTED`] The child can not be adopted.
15594 /// [`ARKUI_ERROR_CODE_NODE_CAN_NOT_ADOPT_TO`] The node can not adopt children.
15595 ///
15596 /// Available since API-level: 22
15597 #[cfg(feature = "api-22")]
15598 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15599 pub fn OH_ArkUI_NativeModule_AdoptChild(node: ArkUI_NodeHandle, child: ArkUI_NodeHandle)
15600 -> i32;
15601 /// Remove the target adopted child node.
15602 ///
15603 /// # Arguments
15604 ///
15605 /// * `node` - ArkUI_NodeHandle pointer, the parent node.
15606 ///
15607 /// * `child` - ArkUI_NodeHandle pointer, the node being removed.
15608 ///
15609 /// # Returns
15610 ///
15611 /// * Error code.
15612 /// [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15613 /// [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if the CAPI init error.
15614 /// [`ARKUI_ERROR_CODE_NODE_IS_NOT_IN_ADOPTED_CHILDREN`] This child node is not adopted by the parent node.
15615 ///
15616 /// Available since API-level: 22
15617 #[cfg(feature = "api-22")]
15618 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15619 pub fn OH_ArkUI_NativeModule_RemoveAdoptedChild(
15620 node: ArkUI_NodeHandle,
15621 child: ArkUI_NodeHandle,
15622 ) -> i32;
15623 /// Sets the inverse color algorithm for components and instances.
15624 ///
15625 /// # Arguments
15626 ///
15627 /// * `uiContext` - Indicates the context in which the inverse color feature should take effect.
15628 /// If the value is null, the feature applies to the entire application process.
15629 ///
15630 /// * `forceDark` - Indicates whether the inverse color feature is enabled.
15631 ///
15632 /// * `nodeType` - Indicates the component type for which to enable the inverse color feature.
15633 /// If the value is ARKUI_NODE_UNDEFINED, enabling the feature for all components.
15634 ///
15635 /// * `colorInvertFunc` - Indicates the user-defined inverse color algorithm.
15636 ///
15637 /// # Returns
15638 ///
15639 /// * Returns the error code.
15640 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15641 /// Returns [`ARKUI_ERROR_CODE_CAPI_INIT_ERROR`] if CAPI init error.
15642 /// Returns [`ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID`] if force dark config is invalid.
15643 ///
15644 /// Available since API-level: 20
15645 #[cfg(feature = "api-20")]
15646 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15647 pub fn OH_ArkUI_SetForceDarkConfig(
15648 uiContext: ArkUI_ContextHandle,
15649 forceDark: bool,
15650 nodeType: ArkUI_NodeType,
15651 colorInvertFunc: ::core::option::Option<unsafe extern "C" fn(color: u32) -> u32>,
15652 ) -> i32;
15653 /// Register common event callback of target node.
15654 ///
15655 /// # Arguments
15656 ///
15657 /// * `node` - The ArkUI-NodeHandle pointer.
15658 ///
15659 /// * `eventType` - Indicates the type of event to set.
15660 ///
15661 /// * `userData` - Indicates the pointer to the custom data.
15662 ///
15663 /// * `callback` - Indicates the event callback function.
15664 ///
15665 /// # Returns
15666 ///
15667 /// * Returns the result code.
15668 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15669 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15670 /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
15671 ///
15672 /// Available since API-level: 21
15673 #[cfg(feature = "api-21")]
15674 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15675 pub fn OH_ArkUI_NativeModule_RegisterCommonEvent(
15676 node: ArkUI_NodeHandle,
15677 eventType: ArkUI_NodeEventType,
15678 userData: *mut ::core::ffi::c_void,
15679 callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
15680 ) -> i32;
15681 /// Unregister common event callback of target node.
15682 ///
15683 /// # Arguments
15684 ///
15685 /// * `node` - The ArkUI-NodeHandle pointer.
15686 ///
15687 /// * `eventType` - Indicates the type of event to set.
15688 ///
15689 /// # Returns
15690 ///
15691 /// * Returns the result code.
15692 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15693 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15694 /// Returns [`ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE`] Function parameter eventType is not supported.
15695 ///
15696 /// Available since API-level: 21
15697 #[cfg(feature = "api-21")]
15698 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15699 pub fn OH_ArkUI_NativeModule_UnregisterCommonEvent(
15700 node: ArkUI_NodeHandle,
15701 eventType: ArkUI_NodeEventType,
15702 ) -> i32;
15703 /// Register common visible area approximate change event callback of target node.
15704 ///
15705 /// # Arguments
15706 ///
15707 /// * `node` - The ArkUI-NodeHandle pointer.
15708 ///
15709 /// * `ratios` - Threshold array representing the visible area of the component.
15710 ///
15711 /// * `size` - The size of the ratios.
15712 ///
15713 /// * `expectedUpdateInterval` - The expected calculation interval for developers.
15714 ///
15715 /// * `userData` - Indicates the pointer to the custom data.
15716 ///
15717 /// * `callback` - Indicates the event callback function.
15718 ///
15719 /// # Returns
15720 ///
15721 /// * Returns the result code.
15722 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15723 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15724 ///
15725 /// Available since API-level: 21
15726 #[cfg(feature = "api-21")]
15727 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15728 pub fn OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent(
15729 node: ArkUI_NodeHandle,
15730 ratios: *mut f32,
15731 size: i32,
15732 expectedUpdateInterval: f32,
15733 userData: *mut ::core::ffi::c_void,
15734 callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_NodeEvent)>,
15735 ) -> i32;
15736 /// Unregister common visible area approximate change event callback of target node.
15737 ///
15738 /// # Arguments
15739 ///
15740 /// * `node` - The ArkUI-NodeHandle pointer.
15741 ///
15742 /// # Returns
15743 ///
15744 /// * Returns the result code.
15745 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15746 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function params is invalid.
15747 ///
15748 /// Available since API-level: 21
15749 #[cfg(feature = "api-21")]
15750 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
15751 pub fn OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent(
15752 node: ArkUI_NodeHandle,
15753 ) -> i32;
15754 /// Converts a point's coordinates from the target node's coordinate system
15755 /// to the current window's coordinate system, with consideration of the node’s transformation.
15756 ///
15757 /// # Arguments
15758 ///
15759 /// {ArkUI_NodeHandle} currentNode ArkUI_NodeHandle The target node.
15760 ///
15761 /// {ArkUI_IntOffset} localPosition The point's coordinates in the target node's local coordinate system, in px.
15762 ///
15763 /// {ArkUI_IntOffset*} windowPosition The converted coordinates in the current window's coordinate system, in px.
15764 ///
15765 /// # Returns
15766 ///
15767 /// * Error code.
15768 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15769 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15770 /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The target node is not on main tree.
15771 ///
15772 /// Available since API-level: 23
15773 #[cfg(feature = "api-23")]
15774 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15775 pub fn OH_ArkUI_NativeModule_ConvertPositionToWindow(
15776 currentNode: ArkUI_NodeHandle,
15777 localPosition: ArkUI_IntOffset,
15778 windowPosition: *mut ArkUI_IntOffset,
15779 ) -> i32;
15780 /// Converts a point's coordinates from the current window's coordinate system
15781 /// to the target node's coordinate system, with consideration of the node’s transformation.
15782 ///
15783 /// # Arguments
15784 ///
15785 /// {ArkUI_NodeHandle } targetNode ArkUI_NodeHandle The target node.
15786 ///
15787 /// {ArkUI_IntOffset} windowPosition The point's coordinates in the current window's coordinate system, in px.
15788 ///
15789 /// {ArkUI_IntOffset*} localPosition The converted coordinates in the target node's local coordinate system, in px.
15790 ///
15791 /// # Returns
15792 ///
15793 /// * Error code.
15794 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15795 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15796 /// [`ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE`] The target node is not on main tree.
15797 ///
15798 /// Available since API-level: 23
15799 #[cfg(feature = "api-23")]
15800 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15801 pub fn OH_ArkUI_NativeModule_ConvertPositionFromWindow(
15802 targetNode: ArkUI_NodeHandle,
15803 windowPosition: ArkUI_IntOffset,
15804 localPosition: *mut ArkUI_IntOffset,
15805 ) -> i32;
15806 /// Stop the animation being executed by the Swiper node.
15807 ///
15808 /// # Arguments
15809 ///
15810 /// * `node` - ArkUI_NodeHandle pointer.
15811 ///
15812 /// # Returns
15813 ///
15814 /// * Error code.
15815 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15816 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15817 ///
15818 /// Available since API-level: 22
15819 #[cfg(feature = "api-22")]
15820 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15821 pub fn OH_ArkUI_Swiper_FinishAnimation(node: ArkUI_NodeHandle) -> i32;
15822 /// Post UI task to background threads.
15823 ///
15824 /// # Arguments
15825 ///
15826 /// * `context` - UIContext pointer of the page where the UI task located.
15827 ///
15828 /// * `asyncUITaskData` - Parameter of asyncUITask and onFinish.
15829 ///
15830 /// * `asyncUITask` - Function executed by a background thread.
15831 ///
15832 /// * `onFinish` - Function executed by UI thread after async UI task is executed.
15833 ///
15834 /// # Returns
15835 ///
15836 /// * Returns the result code.
15837 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15838 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if context or asyncUITask is nullptr.
15839 ///
15840 /// Available since API-level: 22
15841 #[cfg(feature = "api-22")]
15842 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15843 pub fn OH_ArkUI_PostAsyncUITask(
15844 context: ArkUI_ContextHandle,
15845 asyncUITaskData: *mut ::core::ffi::c_void,
15846 asyncUITask: ::core::option::Option<
15847 unsafe extern "C" fn(asyncUITaskData: *mut ::core::ffi::c_void),
15848 >,
15849 onFinish: ::core::option::Option<
15850 unsafe extern "C" fn(asyncUITaskData: *mut ::core::ffi::c_void),
15851 >,
15852 ) -> i32;
15853 /// Post UI task to UI thread.
15854 ///
15855 /// # Arguments
15856 ///
15857 /// * `context` - UIContext pointer of the page where the UI task located.
15858 ///
15859 /// * `taskData` - Parameter of task.
15860 ///
15861 /// * `task` - Function executed by UI thread.
15862 ///
15863 /// # Returns
15864 ///
15865 /// * Returns the result code.
15866 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15867 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if context or task is nullptr.
15868 ///
15869 /// Available since API-level: 22
15870 #[cfg(feature = "api-22")]
15871 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15872 pub fn OH_ArkUI_PostUITask(
15873 context: ArkUI_ContextHandle,
15874 taskData: *mut ::core::ffi::c_void,
15875 task: ::core::option::Option<unsafe extern "C" fn(taskData: *mut ::core::ffi::c_void)>,
15876 ) -> i32;
15877 /// set the visiblity of the menubar.
15878 ///
15879 /// # Arguments
15880 ///
15881 /// * `uiContext` - ArkUI_ContextHandle. - The designated ArkUI container context.
15882 ///
15883 /// * `visible` - visibility. true indicate the menubar is visible,
15884 /// false indicate the menubar is invisible.
15885 ///
15886 /// # Returns
15887 ///
15888 /// * Returns the result code.
15889 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15890 /// Returns [`ARKUI_ERROR_CODE_UI_CONTEXT_INVALID`] if the uiContext is invalid.
15891 /// for example, 1.uiContext is nullptr 2.can not get container by uiContext.
15892 /// 3. the uiContext is not belong to atomic service.
15893 ///
15894 /// Available since API-level: 23
15895 #[cfg(feature = "api-23")]
15896 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15897 pub fn OH_ArkUI_NativeModule_AtomicServiceMenuBarSetVisible(
15898 uiContext: ArkUI_ContextHandle,
15899 visible: bool,
15900 ) -> i32;
15901 /// Post UI task to UI thread and wait until UI task finished.
15902 ///
15903 /// # Arguments
15904 ///
15905 /// * `context` - UIContext pointer of the page where the UI task located.
15906 ///
15907 /// * `taskData` - Parameter of task.
15908 ///
15909 /// * `task` - Function executed by UI thread.
15910 ///
15911 /// # Returns
15912 ///
15913 /// * Returns the result code.
15914 /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
15915 /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if context or task is nullptr.
15916 ///
15917 /// Available since API-level: 22
15918 #[cfg(feature = "api-22")]
15919 #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
15920 pub fn OH_ArkUI_PostUITaskAndWait(
15921 context: ArkUI_ContextHandle,
15922 taskData: *mut ::core::ffi::c_void,
15923 task: ::core::option::Option<unsafe extern "C" fn(taskData: *mut ::core::ffi::c_void)>,
15924 ) -> i32;
15925 /// Start a fake drag of the Swiper node.
15926 /// Call OH_ArkUI_Swiper_FakeDragBy to simulate the drag motion. Call OH_ArkUI_Swiper_StopFakeDrag to complete the
15927 /// fake drag. A fake drag can be interrupted by a real drag. If you need to ignore touch events and other user input
15928 /// during a fake drag, use NODE_SWIPER_DISABLE_SWIPE.
15929 ///
15930 /// # Arguments
15931 ///
15932 /// * `node` - ArkUI_NodeHandle pointer.
15933 ///
15934 /// * `isSuccessful` - If the fake drag started successfully, return true.
15935 /// If the Swiper is not ready to start the fake drag, or a real or fake drag is already in progress, return false.
15936 ///
15937 /// # Returns
15938 ///
15939 /// * Error code.
15940 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15941 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15942 ///
15943 /// Available since API-level: 23
15944 #[cfg(feature = "api-23")]
15945 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15946 pub fn OH_ArkUI_Swiper_StartFakeDrag(node: ArkUI_NodeHandle, isSuccessful: *mut bool) -> i32;
15947 /// Fake drag by an offset of the Swiper node.
15948 /// The OH_ArkUI_Swiper_StartFakeDrag must be called first.
15949 ///
15950 /// # Arguments
15951 ///
15952 /// * `node` - ArkUI_NodeHandle pointer.
15953 ///
15954 /// * `offset` - The offset that needs to be scrolled. The unit is vp.
15955 ///
15956 /// * `isConsumedOffset` - If not in a fake drag progress, or no offset is consumed, return false.
15957 /// If any offset is consumed, return true.
15958 ///
15959 /// # Returns
15960 ///
15961 /// * Error code.
15962 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15963 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15964 ///
15965 /// Available since API-level: 23
15966 #[cfg(feature = "api-23")]
15967 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15968 pub fn OH_ArkUI_Swiper_FakeDragBy(
15969 node: ArkUI_NodeHandle,
15970 offset: f32,
15971 isConsumedOffset: *mut bool,
15972 ) -> i32;
15973 /// Stop a fake drag of the Swiper node.
15974 ///
15975 /// # Arguments
15976 ///
15977 /// * `node` - ArkUI_NodeHandle pointer.
15978 ///
15979 /// * `isSuccessful` - If the fake drag stopped successfully, return true.
15980 /// If the Swiper is not ready to stop the fake drag, or no fake drag is in progress, return false.
15981 ///
15982 /// # Returns
15983 ///
15984 /// * Error code.
15985 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
15986 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
15987 ///
15988 /// Available since API-level: 23
15989 #[cfg(feature = "api-23")]
15990 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
15991 pub fn OH_ArkUI_Swiper_StopFakeDrag(node: ArkUI_NodeHandle, isSuccessful: *mut bool) -> i32;
15992 /// Get the fake drag state of the Swiper node.
15993 ///
15994 /// # Arguments
15995 ///
15996 /// * `node` - ArkUI_NodeHandle pointer.
15997 ///
15998 /// * `isFakeDragging` - If a fake drag is in progress return true, otherwise return false
15999 ///
16000 /// # Returns
16001 ///
16002 /// * Error code.
16003 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
16004 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
16005 ///
16006 /// Available since API-level: 23
16007 #[cfg(feature = "api-23")]
16008 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
16009 pub fn OH_ArkUI_Swiper_IsFakeDragging(node: ArkUI_NodeHandle, isFakeDragging: *mut bool)
16010 -> i32;
16011 /// Show the previous page of the Swiper node.
16012 ///
16013 /// # Arguments
16014 ///
16015 /// * `node` - ArkUI_NodeHandle pointer.
16016 ///
16017 /// # Returns
16018 ///
16019 /// * Error code.
16020 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
16021 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
16022 ///
16023 /// Available since API-level: 23
16024 #[cfg(feature = "api-23")]
16025 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
16026 pub fn OH_ArkUI_Swiper_ShowPrevious(node: ArkUI_NodeHandle) -> i32;
16027 /// Show the next page of the Swiper node.
16028 ///
16029 /// # Arguments
16030 ///
16031 /// * `node` - ArkUI_NodeHandle pointer.
16032 ///
16033 /// # Returns
16034 ///
16035 /// * Error code.
16036 /// [`ARKUI_ERROR_CODE_NO_ERROR`] Success.
16037 /// [`ARKUI_ERROR_CODE_PARAM_INVALID`] Function parameter exception.
16038 ///
16039 /// Available since API-level: 23
16040 #[cfg(feature = "api-23")]
16041 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
16042 pub fn OH_ArkUI_Swiper_ShowNext(node: ArkUI_NodeHandle) -> i32;
16043}