arkui_sys/native_animate/
native_animate_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
8/// Defines the expected frame rate range of the animation.
9///
10///
11/// Available since API-level: 12
12#[cfg(feature = "api-12")]
13#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
14#[repr(C)]
15pub struct ArkUI_ExpectedFrameRateRange {
16    /// Expected minimum frame rate.
17    pub min: u32,
18    /// Expected maximum frame rate.
19    pub max: u32,
20    /// Expected optimal frame rate.
21    pub expected: u32,
22}
23/// Defines the callback type for when the animation playback is complete.
24///
25///
26/// Available since API-level: 12
27#[cfg(feature = "api-12")]
28#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
29#[repr(C)]
30pub struct ArkUI_AnimateCompleteCallback {
31    /// Type of the <b>onFinish</b> callback.
32    pub type_: ArkUI_FinishCallbackType,
33    /// Callback invoked when the animation playback is complete.
34    pub callback: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
35    /// Custom type.
36    pub userData: *mut ::core::ffi::c_void,
37}
38#[repr(C)]
39pub struct ArkUI_AnimateOption {
40    _unused: [u8; 0],
41}
42#[repr(C)]
43pub struct ArkUI_Curve {
44    _unused: [u8; 0],
45}
46/// Defines the pointer to an interpolation curve.
47///
48///
49/// Available since API-level: 12
50#[cfg(feature = "api-12")]
51#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
52pub type ArkUI_CurveHandle = *mut ArkUI_Curve;
53#[repr(C)]
54pub struct ArkUI_KeyframeAnimateOption {
55    _unused: [u8; 0],
56}
57#[repr(C)]
58pub struct ArkUI_AnimatorOption {
59    _unused: [u8; 0],
60}
61#[repr(C)]
62pub struct ArkUI_Animator {
63    _unused: [u8; 0],
64}
65/// Defines the pointer to an animator object.
66///
67///
68/// Available since API-level: 12
69#[cfg(feature = "api-12")]
70#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
71pub type ArkUI_AnimatorHandle = *mut ArkUI_Animator;
72#[repr(C)]
73pub struct ArkUI_AnimatorEvent {
74    _unused: [u8; 0],
75}
76#[repr(C)]
77pub struct ArkUI_AnimatorOnFrameEvent {
78    _unused: [u8; 0],
79}
80#[repr(C)]
81pub struct ArkUI_TransitionEffect {
82    _unused: [u8; 0],
83}
84/// Implements the native animation APIs provided by ArkUI.
85///
86///
87/// Version: 1
88///
89/// Available since API-level: 12
90#[cfg(feature = "api-12")]
91#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
92#[repr(C)]
93pub struct ArkUI_NativeAnimateAPI_1 {
94    /// Defines an explicit animation.
95    ///
96    ///
97    /// **Note:** Make sure the component attributes to be set in the event closure have been set before.
98    ///
99    /// # Arguments
100    ///
101    /// * `context` - Indicates a <b>UIContext</b> instance.
102    ///
103    /// * `option` - Indicates the pointer to an animation configuration.
104    ///
105    /// * `update` - Indicates the animation closure. The system automatically inserts a transition animation for the
106    /// state change caused by the closure.
107    ///
108    /// * `complete` - Indicates the callback to be invoked when the animation playback is complete.
109    ///
110    /// # Returns
111    ///
112    /// * Returns the error code.
113    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
114    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
115    pub animateTo: ::core::option::Option<
116        unsafe extern "C" fn(
117            context: ArkUI_ContextHandle,
118            option: *mut ArkUI_AnimateOption,
119            update: *mut ArkUI_ContextCallback,
120            complete: *mut ArkUI_AnimateCompleteCallback,
121        ) -> i32,
122    >,
123    /// Sets the keyframe animation.
124    ///
125    ///
126    /// # Arguments
127    ///
128    /// * `context` - Indicates a <b>UIContext</b> instance.
129    ///
130    /// * `option` - Indicates the keyframe animation parameters.
131    ///
132    /// # Returns
133    ///
134    /// * Returns the error code.
135    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
136    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
137    pub keyframeAnimateTo: ::core::option::Option<
138        unsafe extern "C" fn(
139            context: ArkUI_ContextHandle,
140            option: *mut ArkUI_KeyframeAnimateOption,
141        ) -> i32,
142    >,
143    /// Creates an animator object.
144    ///
145    /// # Arguments
146    ///
147    /// * `context` - Indicates a <b>UIContext</b> instance.
148    ///
149    /// * `option` - Indicates the animator parameters.
150    ///
151    /// # Returns
152    ///
153    /// * Returns the pointer to the animator object; returns <b>NULL</b> if a function parameter error occurs.
154    pub createAnimator: ::core::option::Option<
155        unsafe extern "C" fn(
156            context: ArkUI_ContextHandle,
157            option: *mut ArkUI_AnimatorOption,
158        ) -> ArkUI_AnimatorHandle,
159    >,
160    /// Disposes of an animator object.
161    ///
162    /// # Arguments
163    ///
164    /// * `animator` - Indicates the target animator object.
165    pub disposeAnimator:
166        ::core::option::Option<unsafe extern "C" fn(animatorHandle: ArkUI_AnimatorHandle)>,
167}
168extern "C" {
169    /// Creates an animation configuration.
170    ///
171    ///
172    /// # Returns
173    ///
174    /// * Returns the pointer to the created animation configuration.
175    ///
176    /// Available since API-level: 12
177    #[cfg(feature = "api-12")]
178    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
179    pub fn OH_ArkUI_AnimateOption_Create() -> *mut ArkUI_AnimateOption;
180    /// Disposes of an animation configuration.
181    ///
182    ///
183    /// Available since API-level: 12
184    #[cfg(feature = "api-12")]
185    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
186    pub fn OH_ArkUI_AnimateOption_Dispose(option: *mut ArkUI_AnimateOption);
187    /// Obtains the animation duration, in milliseconds.
188    ///
189    /// # Arguments
190    ///
191    /// * `option` - Indicates the pointer to an animation configuration.
192    ///
193    /// # Returns
194    ///
195    /// * Returns the duration.
196    ///
197    /// Available since API-level: 12
198    #[cfg(feature = "api-12")]
199    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
200    pub fn OH_ArkUI_AnimateOption_GetDuration(option: *mut ArkUI_AnimateOption) -> u32;
201    /// Obtains the animation playback speed.
202    ///
203    /// # Arguments
204    ///
205    /// * `option` - Indicates the pointer to an animation configuration.
206    ///
207    /// # Returns
208    ///
209    /// * Returns the animation playback speed.
210    ///
211    /// Available since API-level: 12
212    #[cfg(feature = "api-12")]
213    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
214    pub fn OH_ArkUI_AnimateOption_GetTempo(option: *mut ArkUI_AnimateOption) -> f32;
215    /// Obtains the animation curve.
216    ///
217    /// # Arguments
218    ///
219    /// * `option` - Indicates the pointer to an animation configuration.
220    ///
221    /// # Returns
222    ///
223    /// * Returns the animated curve.If Null is returned, it means option is an invalid value.
224    ///
225    /// Available since API-level: 12
226    #[cfg(feature = "api-12")]
227    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
228    pub fn OH_ArkUI_AnimateOption_GetCurve(
229        option: *mut ArkUI_AnimateOption,
230    ) -> ArkUI_AnimationCurve;
231    /// Obtains the animation delay, in milliseconds.
232    ///
233    /// # Arguments
234    ///
235    /// * `option` - Indicates the pointer to an animation configuration.
236    ///
237    /// # Returns
238    ///
239    /// * Returns the animation delay.
240    ///
241    /// Available since API-level: 12
242    #[cfg(feature = "api-12")]
243    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
244    pub fn OH_ArkUI_AnimateOption_GetDelay(option: *mut ArkUI_AnimateOption) -> i32;
245    /// Obtains the number of times that an animation is played.
246    ///
247    /// # Arguments
248    ///
249    /// * `option` - Indicates the pointer to an animation configuration.
250    ///
251    /// # Returns
252    ///
253    /// * Returns the number of times that the animation is played.
254    ///
255    /// Available since API-level: 12
256    #[cfg(feature = "api-12")]
257    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
258    pub fn OH_ArkUI_AnimateOption_GetIterations(option: *mut ArkUI_AnimateOption) -> i32;
259    /// Obtains the animation playback mode.
260    ///
261    /// # Arguments
262    ///
263    /// * `option` - Indicates the pointer to an animation configuration.
264    ///
265    /// # Returns
266    ///
267    /// * Returns the animation playback mode.
268    ///
269    /// Available since API-level: 12
270    #[cfg(feature = "api-12")]
271    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
272    pub fn OH_ArkUI_AnimateOption_GetPlayMode(
273        option: *mut ArkUI_AnimateOption,
274    ) -> ArkUI_AnimationPlayMode;
275    /// Obtains the expected frame rate range of an animation.
276    ///
277    /// # Arguments
278    ///
279    /// * `option` - Indicates the pointer to an animation configuration.
280    ///
281    /// # Returns
282    ///
283    /// * Returns the expected frame rate range.
284    ///
285    /// Available since API-level: 12
286    #[cfg(feature = "api-12")]
287    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
288    pub fn OH_ArkUI_AnimateOption_GetExpectedFrameRateRange(
289        option: *mut ArkUI_AnimateOption,
290    ) -> *mut ArkUI_ExpectedFrameRateRange;
291    /// Sets the animation duration.
292    ///
293    /// # Arguments
294    ///
295    /// * `option` - Indicates the pointer to an animation configuration.
296    ///
297    /// * `value` - Indicates the duration, in milliseconds.
298    ///
299    /// Available since API-level: 12
300    #[cfg(feature = "api-12")]
301    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
302    pub fn OH_ArkUI_AnimateOption_SetDuration(option: *mut ArkUI_AnimateOption, value: i32);
303    /// Sets the animation playback speed.
304    ///
305    /// # Arguments
306    ///
307    /// * `option` - Indicates the pointer to an animation configuration.
308    ///
309    /// * `value` - Indicates the animation playback speed.
310    ///
311    /// Available since API-level: 12
312    #[cfg(feature = "api-12")]
313    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
314    pub fn OH_ArkUI_AnimateOption_SetTempo(option: *mut ArkUI_AnimateOption, value: f32);
315    /// Sets the animation curve.
316    ///
317    /// # Arguments
318    ///
319    /// * `option` - Indicates the pointer to an animation configuration.
320    ///
321    /// * `value` - Indicates the animated curve. Default value:ARKUI_CURVE_LINEAR.
322    ///
323    /// Available since API-level: 12
324    #[cfg(feature = "api-12")]
325    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
326    pub fn OH_ArkUI_AnimateOption_SetCurve(
327        option: *mut ArkUI_AnimateOption,
328        value: ArkUI_AnimationCurve,
329    );
330    /// Sets the animation delay.
331    ///
332    /// # Arguments
333    ///
334    /// * `option` - Indicates the pointer to an animation configuration.
335    ///
336    /// * `value` - Indicates the animation delay.
337    ///
338    /// Available since API-level: 12
339    #[cfg(feature = "api-12")]
340    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
341    pub fn OH_ArkUI_AnimateOption_SetDelay(option: *mut ArkUI_AnimateOption, value: i32);
342    /// Sets the number of times that an animation is played.
343    ///
344    /// # Arguments
345    ///
346    /// * `option` - Indicates the pointer to an animation configuration.
347    ///
348    /// * `value` - Indicates the number of times that the animation is played.
349    ///
350    /// Available since API-level: 12
351    #[cfg(feature = "api-12")]
352    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
353    pub fn OH_ArkUI_AnimateOption_SetIterations(option: *mut ArkUI_AnimateOption, value: i32);
354    /// Sets the animation playback mode.
355    ///
356    /// # Arguments
357    ///
358    /// * `option` - Indicates the pointer to an animation configuration.
359    ///
360    /// * `value` - Indicates the animation playback mode.
361    ///
362    /// Available since API-level: 12
363    #[cfg(feature = "api-12")]
364    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
365    pub fn OH_ArkUI_AnimateOption_SetPlayMode(
366        option: *mut ArkUI_AnimateOption,
367        value: ArkUI_AnimationPlayMode,
368    );
369    /// Sets the expected frame rate range of an animation.
370    ///
371    /// # Arguments
372    ///
373    /// * `option` - Indicates the pointer to an animation configuration.
374    ///
375    /// * `value` - Indicates the expected frame rate range.
376    ///
377    /// Available since API-level: 12
378    #[cfg(feature = "api-12")]
379    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
380    pub fn OH_ArkUI_AnimateOption_SetExpectedFrameRateRange(
381        option: *mut ArkUI_AnimateOption,
382        value: *mut ArkUI_ExpectedFrameRateRange,
383    );
384    /// Sets the animation curve for the animation of an animator.
385    ///
386    ///
387    /// **Note:** This method is better than the value set by OH_ArkUI_AnimateOption_SetCurve.
388    /// # Arguments
389    ///
390    /// * `option` - Indicates the animator parameters.
391    ///
392    /// * `value` - Indicates the animation curve settings.
393    ///
394    /// Available since API-level: 12
395    #[cfg(feature = "api-12")]
396    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
397    pub fn OH_ArkUI_AnimateOption_SetICurve(
398        option: *mut ArkUI_AnimateOption,
399        value: ArkUI_CurveHandle,
400    );
401    /// Obtains the animation curve of the animation of an animator.
402    ///
403    /// # Arguments
404    ///
405    /// * `option` - Indicates the animator parameters.
406    ///
407    /// # Returns
408    ///
409    /// * Returns the animation curve of the specified animation.
410    /// If Null is returned, it means option is an invalid value.
411    ///
412    /// Available since API-level: 12
413    #[cfg(feature = "api-12")]
414    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
415    pub fn OH_ArkUI_AnimateOption_GetICurve(option: *mut ArkUI_AnimateOption) -> ArkUI_CurveHandle;
416    /// Obtains the keyframe animation parameters.
417    ///
418    /// # Arguments
419    ///
420    /// * `size` - Indicates the number of keyframe animation states.
421    ///
422    /// # Returns
423    ///
424    /// * Returns the keyframe animation parameter object; returns <b>NULL</b> if the value of <b>size</b> is less than
425    /// 0.
426    ///
427    /// Available since API-level: 12
428    #[cfg(feature = "api-12")]
429    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
430    pub fn OH_ArkUI_KeyframeAnimateOption_Create(size: i32) -> *mut ArkUI_KeyframeAnimateOption;
431    /// Disposes of the keyframe animation parameter object.
432    ///
433    /// # Arguments
434    ///
435    /// * `option` - Indicates the keyframe animation parameter object.
436    ///
437    /// Available since API-level: 12
438    #[cfg(feature = "api-12")]
439    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
440    pub fn OH_ArkUI_KeyframeAnimateOption_Dispose(option: *mut ArkUI_KeyframeAnimateOption);
441    /// Sets the overall delay of a keyframe animation, in milliseconds. By default, the keyframe animation is played
442    /// without delay.
443    ///
444    /// # Arguments
445    ///
446    /// * `option` - Indicates the keyframe animation parameters.
447    ///
448    /// * `value` - Indicates the delay, in milliseconds.
449    ///
450    /// # Returns
451    ///
452    /// * Returns the error code.
453    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
454    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
455    ///
456    /// Available since API-level: 12
457    #[cfg(feature = "api-12")]
458    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
459    pub fn OH_ArkUI_KeyframeAnimateOption_SetDelay(
460        option: *mut ArkUI_KeyframeAnimateOption,
461        value: i32,
462    ) -> i32;
463    /// Sets the number of times that the keyframe animation is played. By default, the animation is played once.
464    /// The value <b>-1</b> indicates that the animation is played for an unlimited number of times. The value <b>0</b>
465    /// indicates that there is no animation.
466    ///
467    /// # Arguments
468    ///
469    /// * `option` - Indicates the keyframe animation parameters.
470    ///
471    /// * `value` - Indicates the number of times that the animation is played.
472    ///
473    /// # Returns
474    ///
475    /// * Returns the error code.
476    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
477    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
478    ///
479    /// Available since API-level: 12
480    #[cfg(feature = "api-12")]
481    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
482    pub fn OH_ArkUI_KeyframeAnimateOption_SetIterations(
483        option: *mut ArkUI_KeyframeAnimateOption,
484        value: i32,
485    ) -> i32;
486    /// Sets the callback invoked when the keyframe animation playback is complete. This API is called after the
487    /// keyframe animation has played for the specified number of times.
488    ///
489    /// # Arguments
490    ///
491    /// * `option` - Indicates the keyframe animation parameters.
492    ///
493    /// * `userData` - Indicates the pointer to a custom object.
494    ///
495    /// * `onFinish` - Indicates the callback.
496    ///
497    /// # Returns
498    ///
499    /// * Returns the error code.
500    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
501    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
502    ///
503    /// Available since API-level: 12
504    #[cfg(feature = "api-12")]
505    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
506    pub fn OH_ArkUI_KeyframeAnimateOption_RegisterOnFinishCallback(
507        option: *mut ArkUI_KeyframeAnimateOption,
508        userData: *mut ::core::ffi::c_void,
509        onFinish: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
510    ) -> i32;
511    /// Sets the duration of a keyframe animation, in milliseconds.
512    ///
513    /// # Arguments
514    ///
515    /// * `option` - Indicates the keyframe animation parameters.
516    ///
517    /// * `value` - Indicates the duration to set, in milliseconds.
518    ///
519    /// * `index` - Indicates a state index.
520    ///
521    /// # Returns
522    ///
523    /// * Returns the error code.
524    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
525    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
526    ///
527    /// Available since API-level: 12
528    #[cfg(feature = "api-12")]
529    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
530    pub fn OH_ArkUI_KeyframeAnimateOption_SetDuration(
531        option: *mut ArkUI_KeyframeAnimateOption,
532        value: i32,
533        index: i32,
534    ) -> i32;
535    /// Sets the animation curve for a specific keyframe in a keyframe animation.
536    ///
537    ///
538    /// **Note:** Because the <b>springMotion</b>, <b>responsiveSpringMotion</b>, and <b>interpolatingSpring</b> curves do not
539    /// have effective duration settings, they are not supported.
540    /// # Arguments
541    ///
542    /// * `option` - Indicates the keyframe animation parameters.
543    ///
544    /// * `value` - Indicates the animation curve to set. Default value:EASE_IN_OUT.
545    ///
546    /// * `index` - Indicates a state index.
547    ///
548    /// # Returns
549    ///
550    /// * Returns the error code.
551    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
552    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
553    ///
554    /// Available since API-level: 12
555    #[cfg(feature = "api-12")]
556    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
557    pub fn OH_ArkUI_KeyframeAnimateOption_SetCurve(
558        option: *mut ArkUI_KeyframeAnimateOption,
559        value: ArkUI_CurveHandle,
560        index: i32,
561    ) -> i32;
562    /// Sets the closure function of the state at the time of the keyframe, that is, the state to be reached at the
563    /// time of the keyframe.
564    ///
565    /// # Arguments
566    ///
567    /// * `option` - Indicates the keyframe animation parameters.
568    ///
569    /// * `event` - Indicates a closure function.
570    ///
571    /// * `userData` - Indicates the pointer to a custom object.
572    ///
573    /// * `index` - Indicates a state index.
574    ///
575    /// # Returns
576    ///
577    /// * Returns the error code.
578    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
579    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
580    ///
581    /// Available since API-level: 12
582    #[cfg(feature = "api-12")]
583    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
584    pub fn OH_ArkUI_KeyframeAnimateOption_RegisterOnEventCallback(
585        option: *mut ArkUI_KeyframeAnimateOption,
586        userData: *mut ::core::ffi::c_void,
587        event: ::core::option::Option<unsafe extern "C" fn(userData: *mut ::core::ffi::c_void)>,
588        index: i32,
589    ) -> i32;
590    /// Obtains the overall delay of a keyframe animation
591    ///
592    /// # Arguments
593    ///
594    /// * `option` - Indicates the keyframe animation parameters.
595    ///
596    /// # Returns
597    ///
598    /// * Returns the overall delay.
599    ///
600    /// Available since API-level: 12
601    #[cfg(feature = "api-12")]
602    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
603    pub fn OH_ArkUI_KeyframeAnimateOption_GetDelay(option: *mut ArkUI_KeyframeAnimateOption)
604        -> i32;
605    /// Obtains the number of times that a keyframe animation is played.
606    ///
607    /// # Arguments
608    ///
609    /// * `option` - Indicates the keyframe animation parameters.
610    ///
611    /// # Returns
612    ///
613    /// * Returns the number of times that the animation is played.
614    ///
615    /// Available since API-level: 12
616    #[cfg(feature = "api-12")]
617    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
618    pub fn OH_ArkUI_KeyframeAnimateOption_GetIterations(
619        option: *mut ArkUI_KeyframeAnimateOption,
620    ) -> i32;
621    /// Obtains the duration of a specific state in a keyframe animation.
622    ///
623    /// # Arguments
624    ///
625    /// * `option` - Indicates the keyframe animation parameters.
626    ///
627    /// * `index` - Indicates a state index.
628    ///
629    /// # Returns
630    ///
631    /// * Returns the duration. The unit is millisecond.
632    ///
633    /// Available since API-level: 12
634    #[cfg(feature = "api-12")]
635    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
636    pub fn OH_ArkUI_KeyframeAnimateOption_GetDuration(
637        option: *mut ArkUI_KeyframeAnimateOption,
638        index: i32,
639    ) -> i32;
640    /// Obtains the animation curve of a specific state in a keyframe animation.
641    ///
642    /// # Arguments
643    ///
644    /// * `option` - Indicates the keyframe animation parameters.
645    ///
646    /// * `index` - Indicates a state index.
647    ///
648    /// # Returns
649    ///
650    /// * Returns the animated curve.
651    /// Returns <b>NULL</b> if a parameter error occurs.
652    ///
653    /// Available since API-level: 12
654    #[cfg(feature = "api-12")]
655    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
656    pub fn OH_ArkUI_KeyframeAnimateOption_GetCurve(
657        option: *mut ArkUI_KeyframeAnimateOption,
658        index: i32,
659    ) -> ArkUI_CurveHandle;
660    /// Creates an animator parameter object.
661    ///
662    ///
663    /// **Note:** When <b>keyframeSize</b> is greater than 0, the animation interpolation start point is 0, and the animation
664    /// interpolation end point is 1; no setting is allowed.
665    /// # Arguments
666    ///
667    /// * `keyframeSize` - Indicates the number of keyframes.
668    ///
669    /// # Returns
670    ///
671    /// * Returns the pointer to the animator parameter object.
672    /// returns <b>NULL</b> if the value of <b>size</b> is less than 0.
673    ///
674    /// Available since API-level: 12
675    #[cfg(feature = "api-12")]
676    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
677    pub fn OH_ArkUI_AnimatorOption_Create(keyframeSize: i32) -> *mut ArkUI_AnimatorOption;
678    /// Disposes of an animator parameter object.
679    ///
680    ///
681    /// Available since API-level: 12
682    #[cfg(feature = "api-12")]
683    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
684    pub fn OH_ArkUI_AnimatorOption_Dispose(option: *mut ArkUI_AnimatorOption);
685    /// Sets the duration for thea nimation of an animator, in milliseconds.
686    ///
687    /// # Arguments
688    ///
689    /// * `option` - Indicates the target animator parameter object.
690    ///
691    /// * `value` - Indicates the playback duration, in milliseconds.
692    ///
693    /// # Returns
694    ///
695    /// * Returns the error code.
696    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
697    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
698    ///
699    /// Available since API-level: 12
700    #[cfg(feature = "api-12")]
701    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
702    pub fn OH_ArkUI_AnimatorOption_SetDuration(
703        option: *mut ArkUI_AnimatorOption,
704        value: i32,
705    ) -> i32;
706    /// Sets the delay for playing the animation of an animator, in milliseconds.
707    ///
708    /// # Arguments
709    ///
710    /// * `option` - Indicates an animator parameter object.
711    ///
712    /// * `value` - Indicates the delay to set, in milliseconds.
713    ///
714    /// # Returns
715    ///
716    /// * Returns the error code.
717    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
718    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
719    ///
720    /// Available since API-level: 12
721    #[cfg(feature = "api-12")]
722    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
723    pub fn OH_ArkUI_AnimatorOption_SetDelay(option: *mut ArkUI_AnimatorOption, value: i32) -> i32;
724    /// Sets the number of times that the animation of an animator is played. The value <b>0</b> means not to play the
725    /// animation, and <b>-1</b> means to play the animation for an unlimited number of times.
726    ///
727    ///
728    /// **Note:** If this parameter is set to a negative value other than <b>-1</b>, the value is invalid. In this case, the
729    /// animation is played once.
730    /// # Arguments
731    ///
732    /// * `option` - Indicates an animator parameter object.
733    ///
734    /// * `value` - Indicates the number of times that the animation is played.
735    ///
736    /// # Returns
737    ///
738    /// * Returns the error code.
739    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
740    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
741    ///
742    /// Available since API-level: 12
743    #[cfg(feature = "api-12")]
744    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
745    pub fn OH_ArkUI_AnimatorOption_SetIterations(
746        option: *mut ArkUI_AnimatorOption,
747        value: i32,
748    ) -> i32;
749    /// Sets whether the animation of an animator is restored to the initial state after being executed.
750    ///
751    /// # Arguments
752    ///
753    /// * `option` - Indicates an animator parameter object.
754    ///
755    /// * `value` - Indicates whether to restore the animation to the initial state after the animation is executed.
756    ///
757    /// # Returns
758    ///
759    /// * Returns the error code.
760    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
761    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
762    ///
763    /// Available since API-level: 12
764    #[cfg(feature = "api-12")]
765    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
766    pub fn OH_ArkUI_AnimatorOption_SetFill(
767        option: *mut ArkUI_AnimatorOption,
768        value: ArkUI_AnimationFillMode,
769    ) -> i32;
770    /// Sets the playback direction for the animation of an animator.
771    ///
772    /// # Arguments
773    ///
774    /// * `option` - Indicates an animator parameter object.
775    ///
776    /// * `value` - Indicates the animation playback direction.
777    ///
778    /// # Returns
779    ///
780    /// * Returns the error code.
781    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
782    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
783    ///
784    /// Available since API-level: 12
785    #[cfg(feature = "api-12")]
786    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
787    pub fn OH_ArkUI_AnimatorOption_SetDirection(
788        option: *mut ArkUI_AnimatorOption,
789        value: ArkUI_AnimationDirection,
790    ) -> i32;
791    /// Sets the interpolation curve for the animation of an animator.
792    ///
793    ///
794    /// **Note:** <b>springCurve</b>, <b>springMotion</b>, <b>responsiveSpringMotion</b>, <b>interpolatingSpring</b>,
795    /// and <b>customCurve</b> curves are not supported.
796    ///
797    /// # Arguments
798    ///
799    /// * `option` - Indicates an animator parameter object.
800    ///
801    /// * `value` - Indicates the target interpolation curve. Default value:ARKUI_CURVE_LINEAR.
802    ///
803    /// # Returns
804    ///
805    /// * Returns the error code.
806    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
807    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
808    ///
809    /// Available since API-level: 12
810    #[cfg(feature = "api-12")]
811    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
812    pub fn OH_ArkUI_AnimatorOption_SetCurve(
813        option: *mut ArkUI_AnimatorOption,
814        value: ArkUI_CurveHandle,
815    ) -> i32;
816    /// Sets the interpolation start point for the animation of an animator.
817    ///
818    /// **Note:** This API does not take effect when the animation is a keyframe animation.
819    ///
820    /// # Arguments
821    ///
822    /// * `option` - Indicates an animator parameter object.
823    ///
824    /// * `value` - Indicates the interpolation start point to set.
825    ///
826    /// # Returns
827    ///
828    /// * Returns the error code.
829    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
830    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
831    ///
832    /// Available since API-level: 12
833    #[cfg(feature = "api-12")]
834    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
835    pub fn OH_ArkUI_AnimatorOption_SetBegin(option: *mut ArkUI_AnimatorOption, value: f32) -> i32;
836    /// Sets the interpolation end point for the animation of an animator.
837    ///
838    /// **Note:** This API does not take effect when the animation is a keyframe animation.
839    ///
840    /// # Arguments
841    ///
842    /// * `option` - Indicates an animator parameter object.
843    ///
844    /// * `value` - Indicates the interpolation end point to set.
845    ///
846    /// # Returns
847    ///
848    /// * Returns the error code.
849    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
850    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
851    ///
852    /// Available since API-level: 12
853    #[cfg(feature = "api-12")]
854    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
855    pub fn OH_ArkUI_AnimatorOption_SetEnd(option: *mut ArkUI_AnimatorOption, value: f32) -> i32;
856    /// Sets the expected frame rate range for the animation of an animator.
857    ///
858    /// # Arguments
859    ///
860    /// * `option` - Indicates an animator parameter object.
861    ///
862    /// * `value` - Indicates the expected frame rate range to set.
863    ///
864    /// # Returns
865    ///
866    /// * Returns the error code.
867    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
868    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
869    ///
870    /// Available since API-level: 12
871    #[cfg(feature = "api-12")]
872    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
873    pub fn OH_ArkUI_AnimatorOption_SetExpectedFrameRateRange(
874        option: *mut ArkUI_AnimatorOption,
875        value: *mut ArkUI_ExpectedFrameRateRange,
876    ) -> i32;
877    /// Sets the keyframe parameters for the animation of an animator.
878    ///
879    /// # Arguments
880    ///
881    /// * `option` - Indicates an animator parameter object.
882    ///
883    /// * `time` - Indicates the keyframe time. Value range: [0,1].
884    ///
885    /// * `value` - Indicates the keyframe value.
886    ///
887    /// * `index` - Indicates the keyframe index.
888    ///
889    /// # Returns
890    ///
891    /// * Returns the error code.
892    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
893    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
894    ///
895    /// Available since API-level: 12
896    #[cfg(feature = "api-12")]
897    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
898    pub fn OH_ArkUI_AnimatorOption_SetKeyframe(
899        option: *mut ArkUI_AnimatorOption,
900        time: f32,
901        value: f32,
902        index: i32,
903    ) -> i32;
904    /// Sets the keyframe curve type for the animation of an animator.
905    ///
906    ///
907    /// **Note:** <b>springCurve</b>, <b>springMotion</b>, <b>responsiveSpringMotion</b>, <b>interpolatingSpring</b>,
908    /// and <b>customCurve</b> curves are not supported.
909    ///
910    /// # Arguments
911    ///
912    /// * `option` - Indicates an animator parameter object.
913    ///
914    /// * `value` - Indicates the target interpolation curve.
915    ///
916    /// * `index` - Indicates the keyframe index.
917    ///
918    /// # Returns
919    ///
920    /// * Returns the error code.
921    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
922    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
923    ///
924    /// Available since API-level: 12
925    #[cfg(feature = "api-12")]
926    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
927    pub fn OH_ArkUI_AnimatorOption_SetKeyframeCurve(
928        option: *mut ArkUI_AnimatorOption,
929        value: ArkUI_CurveHandle,
930        index: i32,
931    ) -> i32;
932    /// Obtains the duration for playing an animation.
933    ///
934    /// # Arguments
935    ///
936    /// * `option` - Indicates the animator parameters.
937    ///
938    /// # Returns
939    ///
940    /// * Returns the duration for playing the animation, in milliseconds.
941    ///
942    /// Available since API-level: 12
943    #[cfg(feature = "api-12")]
944    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
945    pub fn OH_ArkUI_AnimatorOption_GetDuration(option: *mut ArkUI_AnimatorOption) -> i32;
946    /// Obtains the delay for playing the animation of an animator.
947    ///
948    /// # Arguments
949    ///
950    /// * `option` - Indicates the animator parameters.
951    ///
952    /// # Returns
953    ///
954    /// * Returns the delay for playing the animation, in milliseconds.
955    ///
956    /// Available since API-level: 12
957    #[cfg(feature = "api-12")]
958    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
959    pub fn OH_ArkUI_AnimatorOption_GetDelay(option: *mut ArkUI_AnimatorOption) -> i32;
960    /// Obtains the number of times that an animation is played.
961    ///
962    /// # Arguments
963    ///
964    /// * `option` - Animator animation parameter.
965    ///
966    /// # Returns
967    ///
968    /// * Returns the number of times that the animation is played.
969    ///
970    /// Available since API-level: 12
971    #[cfg(feature = "api-12")]
972    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
973    pub fn OH_ArkUI_AnimatorOption_GetIterations(option: *mut ArkUI_AnimatorOption) -> i32;
974    /// Obtains whether the animator animation is restored to the initial state after being executed.
975    ///
976    /// # Arguments
977    ///
978    /// * `option` - Indicates the animator parameters.
979    ///
980    /// # Returns
981    ///
982    /// * Returns whether the animator animation is restored to the initial state after being executed.
983    ///
984    /// Available since API-level: 12
985    #[cfg(feature = "api-12")]
986    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
987    pub fn OH_ArkUI_AnimatorOption_GetFill(
988        option: *mut ArkUI_AnimatorOption,
989    ) -> ArkUI_AnimationFillMode;
990    /// Obtains the playback direction of an animation.
991    ///
992    /// # Arguments
993    ///
994    /// * `option` - Indicates the animator parameters.
995    ///
996    /// # Returns
997    ///
998    /// * Returns the animation playback direction.
999    ///
1000    /// Available since API-level: 12
1001    #[cfg(feature = "api-12")]
1002    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1003    pub fn OH_ArkUI_AnimatorOption_GetDirection(
1004        option: *mut ArkUI_AnimatorOption,
1005    ) -> ArkUI_AnimationDirection;
1006    /// Obtains the interpolation curve of the animation of an animator.
1007    ///
1008    /// # Arguments
1009    ///
1010    /// * `option` - Indicates the animator parameters.
1011    ///
1012    /// # Returns
1013    ///
1014    /// * Returns the interpolation curve of the animation.
1015    /// Returns <b>NULL</b> if a parameter error occurs.
1016    ///
1017    /// Available since API-level: 12
1018    #[cfg(feature = "api-12")]
1019    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1020    pub fn OH_ArkUI_AnimatorOption_GetCurve(option: *mut ArkUI_AnimatorOption)
1021        -> ArkUI_CurveHandle;
1022    /// Obtains the interpolation start point of an animation.
1023    ///
1024    /// # Arguments
1025    ///
1026    /// * `option` - Indicates the animator parameters.
1027    ///
1028    /// # Returns
1029    ///
1030    /// * Returns the interpolation start point of the animation.
1031    ///
1032    /// Available since API-level: 12
1033    #[cfg(feature = "api-12")]
1034    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1035    pub fn OH_ArkUI_AnimatorOption_GetBegin(option: *mut ArkUI_AnimatorOption) -> f32;
1036    /// Obtains the interpolation end point of an animation.
1037    ///
1038    /// # Arguments
1039    ///
1040    /// * `option` - Indicates the animator parameters.
1041    ///
1042    /// # Returns
1043    ///
1044    /// * Returns the interpolation end point of the animation.
1045    ///
1046    /// Available since API-level: 12
1047    #[cfg(feature = "api-12")]
1048    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1049    pub fn OH_ArkUI_AnimatorOption_GetEnd(option: *mut ArkUI_AnimatorOption) -> f32;
1050    /// Obtains the expected frame rate range of an animation.
1051    ///
1052    /// # Arguments
1053    ///
1054    /// * `option` - Indicates the animator parameters.
1055    ///
1056    /// # Returns
1057    ///
1058    /// * Returns the pointer to the expected frame rate range object.
1059    /// Returns <b>NULL</b> if a parameter error occurs.
1060    ///
1061    /// Available since API-level: 12
1062    #[cfg(feature = "api-12")]
1063    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1064    pub fn OH_ArkUI_AnimatorOption_GetExpectedFrameRateRange(
1065        option: *mut ArkUI_AnimatorOption,
1066    ) -> *mut ArkUI_ExpectedFrameRateRange;
1067    /// Obtains the keyframe time of an animation.
1068    ///
1069    /// # Arguments
1070    ///
1071    /// * `option` - Indicates an animator parameter object.
1072    ///
1073    /// * `index` - Indicates the keyframe index.
1074    ///
1075    /// # Returns
1076    ///
1077    /// * Returns the keyframe time.
1078    ///
1079    /// Available since API-level: 12
1080    #[cfg(feature = "api-12")]
1081    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1082    pub fn OH_ArkUI_AnimatorOption_GetKeyframeTime(
1083        option: *mut ArkUI_AnimatorOption,
1084        index: i32,
1085    ) -> f32;
1086    /// Obtains the keyframe value of an animation.
1087    ///
1088    /// # Arguments
1089    ///
1090    /// * `option` - Indicates an animator parameter object.
1091    ///
1092    /// * `index` - Indicates the keyframe index.
1093    ///
1094    /// # Returns
1095    ///
1096    /// * Returns the keyframe value.
1097    ///
1098    /// Available since API-level: 12
1099    #[cfg(feature = "api-12")]
1100    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1101    pub fn OH_ArkUI_AnimatorOption_GetKeyframeValue(
1102        option: *mut ArkUI_AnimatorOption,
1103        index: i32,
1104    ) -> f32;
1105    /// Obtains the interpolation curve for a keyframe in the animation of an animator.
1106    ///
1107    /// # Arguments
1108    ///
1109    /// * `option` - Indicates an animator parameter object.
1110    ///
1111    /// * `index` - Indicates the keyframe index.
1112    ///
1113    /// # Returns
1114    ///
1115    /// * Returns the interpolation curve.
1116    /// Returns <b>NULL</b> if a parameter error occurs.
1117    ///
1118    /// Available since API-level: 12
1119    #[cfg(feature = "api-12")]
1120    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1121    pub fn OH_ArkUI_AnimatorOption_GetKeyframeCurve(
1122        option: *mut ArkUI_AnimatorOption,
1123        index: i32,
1124    ) -> ArkUI_CurveHandle;
1125    /// Obtains the custom object in an animation event object.
1126    ///
1127    /// # Arguments
1128    ///
1129    /// * `event` - Indicates an animation event object.
1130    ///
1131    /// # Returns
1132    ///
1133    /// * Returns the custom object.
1134    /// Returns <b>NULL</b> if a parameter error occurs.
1135    ///
1136    /// Available since API-level: 12
1137    #[cfg(feature = "api-12")]
1138    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1139    pub fn OH_ArkUI_AnimatorEvent_GetUserData(
1140        event: *mut ArkUI_AnimatorEvent,
1141    ) -> *mut ::core::ffi::c_void;
1142    /// Obtains the custom object in an animation event object.
1143    ///
1144    /// # Arguments
1145    ///
1146    /// * `event` - Indicates an animation event object.
1147    ///
1148    /// # Returns
1149    ///
1150    /// * Returns the custom object.
1151    ///
1152    /// Available since API-level: 12
1153    #[cfg(feature = "api-12")]
1154    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1155    pub fn OH_ArkUI_AnimatorOnFrameEvent_GetUserData(
1156        event: *mut ArkUI_AnimatorOnFrameEvent,
1157    ) -> *mut ::core::ffi::c_void;
1158    /// Obtains the current progress in an animation event object.
1159    ///
1160    /// # Arguments
1161    ///
1162    /// * `event` - Indicates an animation event object.
1163    ///
1164    /// # Returns
1165    ///
1166    /// * Returns the animation progress.
1167    ///
1168    /// Available since API-level: 12
1169    #[cfg(feature = "api-12")]
1170    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1171    pub fn OH_ArkUI_AnimatorOnFrameEvent_GetValue(event: *mut ArkUI_AnimatorOnFrameEvent) -> f32;
1172    /// Sets the callback invoked when the animator receives a frame.
1173    ///
1174    /// # Arguments
1175    ///
1176    /// * `option` - Indicates an animator parameter object.
1177    ///
1178    /// * `userData` - Indicates the custom parameter.
1179    ///
1180    /// * `callback` - Indicates the callback to set.
1181    ///
1182    /// # Returns
1183    ///
1184    /// * Returns the error code.
1185    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1186    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1187    ///
1188    /// Available since API-level: 12
1189    #[cfg(feature = "api-12")]
1190    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1191    pub fn OH_ArkUI_AnimatorOption_RegisterOnFrameCallback(
1192        option: *mut ArkUI_AnimatorOption,
1193        userData: *mut ::core::ffi::c_void,
1194        callback: ::core::option::Option<
1195            unsafe extern "C" fn(event: *mut ArkUI_AnimatorOnFrameEvent),
1196        >,
1197    ) -> i32;
1198    /// Sets the callback invoked when the animation playback is complete.
1199    ///
1200    /// # Arguments
1201    ///
1202    /// * `option` - Indicates an animator parameter object.
1203    ///
1204    /// * `userData` - Indicates the custom parameter.
1205    ///
1206    /// * `callback` - Indicates the callback to set.
1207    ///
1208    /// # Returns
1209    ///
1210    /// * Returns the error code.
1211    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1212    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1213    ///
1214    /// Available since API-level: 12
1215    #[cfg(feature = "api-12")]
1216    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1217    pub fn OH_ArkUI_AnimatorOption_RegisterOnFinishCallback(
1218        option: *mut ArkUI_AnimatorOption,
1219        userData: *mut ::core::ffi::c_void,
1220        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_AnimatorEvent)>,
1221    ) -> i32;
1222    /// Sets the callback invoked when the animation playback is canceled.
1223    ///
1224    /// # Arguments
1225    ///
1226    /// * `option` - Indicates an animator parameter object.
1227    ///
1228    /// * `userData` - Indicates the custom parameter.
1229    ///
1230    /// * `callback` - Indicates the callback to set.
1231    ///
1232    /// # Returns
1233    ///
1234    /// * Returns the error code.
1235    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1236    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1237    ///
1238    /// Available since API-level: 12
1239    #[cfg(feature = "api-12")]
1240    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1241    pub fn OH_ArkUI_AnimatorOption_RegisterOnCancelCallback(
1242        option: *mut ArkUI_AnimatorOption,
1243        userData: *mut ::core::ffi::c_void,
1244        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_AnimatorEvent)>,
1245    ) -> i32;
1246    /// Sets the callback invoked when the animation playback is repeated.
1247    ///
1248    /// # Arguments
1249    ///
1250    /// * `option` - Indicates an animator parameter object.
1251    ///
1252    /// * `userData` - Indicates the custom parameter.
1253    ///
1254    /// * `callback` - Indicates the callback to set.
1255    ///
1256    /// # Returns
1257    ///
1258    /// * Returns the error code.
1259    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1260    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1261    ///
1262    /// Available since API-level: 12
1263    #[cfg(feature = "api-12")]
1264    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1265    pub fn OH_ArkUI_AnimatorOption_RegisterOnRepeatCallback(
1266        option: *mut ArkUI_AnimatorOption,
1267        userData: *mut ::core::ffi::c_void,
1268        callback: ::core::option::Option<unsafe extern "C" fn(event: *mut ArkUI_AnimatorEvent)>,
1269    ) -> i32;
1270    /// Resets the animation of an animator.
1271    ///
1272    /// # Arguments
1273    ///
1274    /// * `animatorHandle` - Indicates an animator object.
1275    ///
1276    /// * `option` - Indicates the animator parameters.
1277    ///
1278    /// # Returns
1279    ///
1280    /// * Returns the error code.
1281    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1282    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1283    ///
1284    /// Available since API-level: 12
1285    #[cfg(feature = "api-12")]
1286    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1287    pub fn OH_ArkUI_Animator_ResetAnimatorOption(
1288        animatorHandle: ArkUI_AnimatorHandle,
1289        option: *mut ArkUI_AnimatorOption,
1290    ) -> i32;
1291    /// Starts the animation of an animator.
1292    ///
1293    /// # Arguments
1294    ///
1295    /// * `animatorHandle` - Indicates an animator object.
1296    ///
1297    /// # Returns
1298    ///
1299    /// * Returns the error code.
1300    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1301    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1302    ///
1303    /// Available since API-level: 12
1304    #[cfg(feature = "api-12")]
1305    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1306    pub fn OH_ArkUI_Animator_Play(animatorHandle: ArkUI_AnimatorHandle) -> i32;
1307    /// Ends the animation of an animator.
1308    ///
1309    /// # Arguments
1310    ///
1311    /// * `animatorHandle` - Indicates an animator object.
1312    ///
1313    /// # Returns
1314    ///
1315    /// * Returns the error code.
1316    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1317    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1318    ///
1319    /// Available since API-level: 12
1320    #[cfg(feature = "api-12")]
1321    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1322    pub fn OH_ArkUI_Animator_Finish(animatorHandle: ArkUI_AnimatorHandle) -> i32;
1323    /// Pauses the animation of an animator.
1324    ///
1325    /// # Arguments
1326    ///
1327    /// * `animatorHandle` - Indicates an animator object.
1328    ///
1329    /// # Returns
1330    ///
1331    /// * Returns the error code.
1332    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1333    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1334    ///
1335    /// Available since API-level: 12
1336    #[cfg(feature = "api-12")]
1337    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1338    pub fn OH_ArkUI_Animator_Pause(animatorHandle: ArkUI_AnimatorHandle) -> i32;
1339    /// Cancels the animation of an animator.
1340    ///
1341    /// # Arguments
1342    ///
1343    /// * `animatorHandle` - Indicates an animator object.
1344    ///
1345    /// # Returns
1346    ///
1347    /// * Returns the error code.
1348    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1349    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1350    ///
1351    /// Available since API-level: 12
1352    #[cfg(feature = "api-12")]
1353    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1354    pub fn OH_ArkUI_Animator_Cancel(animatorHandle: ArkUI_AnimatorHandle) -> i32;
1355    /// Plays the animation of an animator in reverse order.
1356    ///
1357    /// # Arguments
1358    ///
1359    /// * `animatorHandle` - Indicates an animator object.
1360    ///
1361    /// # Returns
1362    ///
1363    /// * Returns the error code.
1364    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1365    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1366    ///
1367    /// Available since API-level: 12
1368    #[cfg(feature = "api-12")]
1369    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1370    pub fn OH_ArkUI_Animator_Reverse(animatorHandle: ArkUI_AnimatorHandle) -> i32;
1371    /// Implements initialization for the interpolation curve, which is used to create an interpolation curve based on
1372    /// the input parameter.
1373    ///
1374    /// # Arguments
1375    ///
1376    /// * `curve` - Indicates the curve type.
1377    ///
1378    /// # Returns
1379    ///
1380    /// * Returns the pointer to the interpolation object of the curve.
1381    /// Returns <b>NULL</b> if a parameter error occurs.
1382    pub fn OH_ArkUI_Curve_CreateCurveByType(curve: ArkUI_AnimationCurve) -> ArkUI_CurveHandle;
1383    /// Creates a step curve.
1384    ///
1385    /// # Arguments
1386    ///
1387    /// * `count` - Indicates the number of steps. The value must be a positive integer. Value range: [1, +∞).
1388    ///
1389    /// * `end` - Indicates whether jumping occurs when the interpolation ends.
1390    /// <b>true</b>: Jumping occurs when the interpolation ends. <b>false</b>: Jumping occurs when the interpolation starts.
1391    ///
1392    /// # Returns
1393    ///
1394    /// * Returns the pointer to the interpolation object of the curve.
1395    /// Returns <b>NULL</b> if a parameter error occurs.
1396    pub fn OH_ArkUI_Curve_CreateStepsCurve(count: i32, end: bool) -> ArkUI_CurveHandle;
1397    /// Creates a cubic Bezier curve.
1398    ///
1399    ///
1400    /// # Arguments
1401    ///
1402    /// * `x1` - Indicates the X coordinate of the first point on the Bezier curve. Value range: [0, 1].
1403    /// A value less than 0 is handed as <b>0</b>. A value greater than 1 is handed as <b>1</b>.
1404    ///
1405    /// * `y1` - Indicates the Y coordinate of the first point on the Bezier curve.
1406    ///
1407    /// * `x2` - Indicates the X coordinate of the second point on the Bezier curve. Value range: [0, 1].
1408    /// A value less than 0 is handed as <b>0</b>. A value greater than 1 is handed as <b>1</b>.
1409    ///
1410    /// * `y2` - Indicates the Y coordinate of the second point on the Bezier curve.
1411    ///
1412    /// # Returns
1413    ///
1414    /// * Returns the pointer to the interpolation object of the curve.
1415    /// Returns <b>NULL</b> if a parameter error occurs.
1416    pub fn OH_ArkUI_Curve_CreateCubicBezierCurve(
1417        x1: f32,
1418        y1: f32,
1419        x2: f32,
1420        y2: f32,
1421    ) -> ArkUI_CurveHandle;
1422    /// Creates a spring curve. The curve shape is subject to the spring parameters, and the animation duration is
1423    /// subject to the <b>duration</b> parameter in <b>animation</b> and <b>animateTo</b>.
1424    ///
1425    /// # Arguments
1426    ///
1427    /// * `velocity` - Indicates the initial velocity of the spring. It is applied by external factors to the spring
1428    /// animation, designed to help ensure the smooth transition from the previous motion state. The velocity is the
1429    /// normalized velocity, and its value is equal to the actual velocity at the beginning of the animation divided by the
1430    /// animation attribute change value.
1431    ///
1432    /// * `mass` - Indicates the mass, which influences the inertia in the spring system. The greater the mass, the greater
1433    /// the amplitude of the oscillation, and the slower the speed of restoring to the equilibrium position.
1434    ///
1435    /// * `stiffness` - Indicates the stiffness. It is the degree to which an object deforms by resisting the force applied.
1436    /// In an elastic system, the greater the stiffness, the stronger the ability to resist deformation, and the faster the
1437    /// speed of restoring to the equilibrium position.
1438    ///
1439    /// * `damping` - Indicates the damping. It is used to describe the oscillation and attenuation of the system after
1440    /// being disturbed. The larger the damping, the smaller the number of oscillations of elastic motion, and the smaller
1441    /// the oscillation amplitude.
1442    ///
1443    /// # Returns
1444    ///
1445    /// * Returns the pointer to the interpolation object of the curve.
1446    /// Returns <b>NULL</b> if a parameter error occurs.
1447    pub fn OH_ArkUI_Curve_CreateSpringCurve(
1448        velocity: f32,
1449        mass: f32,
1450        stiffness: f32,
1451        damping: f32,
1452    ) -> ArkUI_CurveHandle;
1453    /// Creates a spring animation curve. If multiple spring animations are applied to the same attribute of an
1454    /// object, each animation replaces their predecessor and inherits the velocity.
1455    ///
1456    /// **Note:** The animation duration is subject to the curve parameters, rather than the <b>duration</b> parameter in
1457    /// <b>animation</b> or <b>animateTo</b>.
1458    ///
1459    /// # Arguments
1460    ///
1461    /// * `response` - Indicates the duration of one complete oscillation.
1462    ///
1463    /// * `dampingFraction` - Indicates the damping coefficient.
1464    /// > 0 and < 1: underdamped. In this case, the spring overshoots the equilibrium position.
1465    /// <b>1</b>: critically damped.
1466    /// > 1: overdamped. In this case, the spring approaches equilibrium gradually.
1467    ///
1468    /// * `overlapDuration` - Indicates the duration for animations to overlap. When animations overlap, the <b>response</b>
1469    /// values of these animations will
1470    /// transit smoothly over this duration if they are different.
1471    ///
1472    /// # Returns
1473    ///
1474    /// * Returns the pointer to the interpolation object of the curve.
1475    /// Returns <b>NULL</b> if a parameter error occurs.
1476    pub fn OH_ArkUI_Curve_CreateSpringMotion(
1477        response: f32,
1478        dampingFraction: f32,
1479        overlapDuration: f32,
1480    ) -> ArkUI_CurveHandle;
1481    /// Creates a responsive spring animation curve. It is a special case of <b>springMotion</b>, with the only
1482    /// difference in the default values. It can be used together with <b>springMotion</b>.
1483    ///
1484    /// **Note:** The animation duration is subject to the curve parameters, rather than the <b>duration</b> parameter in
1485    /// <b>animation</b> or <b>animateTo</b>.
1486    ///
1487    /// # Arguments
1488    ///
1489    /// * `response` - Indicates the duration of one complete oscillation.
1490    ///
1491    /// * `dampingFraction` - Indicates the damping coefficient.
1492    /// > 0 and < 1: underdamped. In this case, the spring overshoots the equilibrium position.
1493    /// <b>1</b>: critically damped.
1494    /// > 1: overdamped. In this case, the spring approaches equilibrium gradually.
1495    ///
1496    /// * `overlapDuration` - Indicates the duration for animations to overlap. When animations overlap, the
1497    /// <b>response</b> values of these animations will
1498    /// transit smoothly over this duration if they are different.
1499    ///
1500    /// # Returns
1501    ///
1502    /// * Returns the pointer to the interpolation object of the curve.
1503    /// Returns <b>NULL</b> if a parameter error occurs.
1504    pub fn OH_ArkUI_Curve_CreateResponsiveSpringMotion(
1505        response: f32,
1506        dampingFraction: f32,
1507        overlapDuration: f32,
1508    ) -> ArkUI_CurveHandle;
1509    /// Creates an interpolating spring curve animated from 0 to 1. The actual animation value is calculated based on
1510    /// the curve.
1511    ///
1512    /// **Note:** The animation duration is subject to the curve parameters, rather than the <b>duration</b> parameter in
1513    /// <b>animation</b> or <b>animateTo</b>.
1514    ///
1515    ///
1516    /// # Arguments
1517    ///
1518    /// * `velocity` - Indicates the initial velocity of the spring. It is applied by external factors to the spring
1519    /// animation, esigned to help ensure the smooth transition from the previous motion state. The velocity is the
1520    /// normalized velocity, and its value is equal to the actual velocity
1521    /// at the beginning of the animation divided by the animation attribute change value.
1522    ///
1523    /// * `mass` - Indicates the mass, which influences the inertia in the spring system.
1524    /// The greater the mass, the greater the amplitude of the oscillation, and the slower the speed of restoring to the
1525    /// equilibrium position.
1526    ///
1527    /// * `stiffness` - Indicates the stiffness. It is the degree to which an object deforms by resisting the force applied.
1528    /// In an elastic system, the greater the stiffness, the stronger the ability to resist deformation, and the faster the
1529    /// speed of restoring to the equilibrium position.
1530    ///
1531    /// * `damping` - Indicates the damping. It is used to describe the oscillation and attenuation of the system after
1532    /// being disturbed. The larger the damping, the smaller the number of oscillations of elastic motion, and the smaller
1533    /// the oscillation amplitude.
1534    ///
1535    /// # Returns
1536    ///
1537    /// * Returns the pointer to the interpolation object of the curve.
1538    /// Returns <b>NULL</b> if a parameter error occurs.
1539    pub fn OH_ArkUI_Curve_CreateInterpolatingSpring(
1540        velocity: f32,
1541        mass: f32,
1542        stiffness: f32,
1543        damping: f32,
1544    ) -> ArkUI_CurveHandle;
1545    /// Creates a custom curve.
1546    ///
1547    /// # Arguments
1548    ///
1549    /// * `userData` - Indicates the custom data.
1550    ///
1551    /// * `interpolate` - Indicates the custom interpolation callback. <b>fraction</b> indicates the input x value for
1552    /// interpolation when the animation starts; value range: [0,1].
1553    /// The return value is the y value of the curve; value range: [0,1].
1554    /// If <b>fraction</b> is <b>0</b>, the return value <b>0</b> corresponds to the animation start point; any other return
1555    /// value means that the animation jumps at the start point.
1556    /// If <b>fraction</b> is <b>1</b>, the return value <b>1</b> corresponds to the animation end point; any other return
1557    /// value means that the end value of the animation is not the value of the state variable,
1558    /// which will result in an effect of transition from that end value to the value of the state variable.
1559    ///
1560    /// # Returns
1561    ///
1562    /// * Returns the pointer to the interpolation object of the curve.
1563    /// Returns <b>NULL</b> if a parameter error occurs.
1564    pub fn OH_ArkUI_Curve_CreateCustomCurve(
1565        userData: *mut ::core::ffi::c_void,
1566        interpolate: ::core::option::Option<
1567            unsafe extern "C" fn(fraction: f32, userdata: *mut ::core::ffi::c_void) -> f32,
1568        >,
1569    ) -> ArkUI_CurveHandle;
1570    /// Disposes of a custom curve.
1571    ///
1572    /// # Arguments
1573    ///
1574    /// * `curve` - Indicates the pointer to the interpolation object of the curve.
1575    pub fn OH_ArkUI_Curve_DisposeCurve(curveHandle: ArkUI_CurveHandle);
1576    /// Creates an opacity object for component transition.
1577    ///
1578    ///
1579    /// **Note:** If the value specified is less than 0, the value <b>0</b> is used. If the value specified is greater than 1,
1580    /// the value <b>1</b> is used.
1581    /// # Arguments
1582    ///
1583    /// * `opacity` - Indicates the opacity. Value range: [0, 1].
1584    ///
1585    /// # Returns
1586    ///
1587    /// * Returns the created opacity object for component transition.
1588    ///
1589    /// Available since API-level: 12
1590    #[cfg(feature = "api-12")]
1591    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1592    pub fn OH_ArkUI_CreateOpacityTransitionEffect(opacity: f32) -> *mut ArkUI_TransitionEffect;
1593    /// Creates a translation object for component transition.
1594    ///
1595    /// # Arguments
1596    ///
1597    /// * `translate` - Indicates the translation settings for component transition.
1598    ///
1599    /// # Returns
1600    ///
1601    /// * Returns the translation object created for component transition.
1602    /// Returns <b>NULL</b> if a parameter error occurs.
1603    ///
1604    /// Available since API-level: 12
1605    #[cfg(feature = "api-12")]
1606    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1607    pub fn OH_ArkUI_CreateTranslationTransitionEffect(
1608        translate: *mut ArkUI_TranslationOptions,
1609    ) -> *mut ArkUI_TransitionEffect;
1610    /// Creates a scaling object for component transition.
1611    ///
1612    /// # Arguments
1613    ///
1614    /// * `scale` - Indicates the scaling settings for component transition.
1615    ///
1616    /// # Returns
1617    ///
1618    /// * Returns the scaling object created for component transition.
1619    /// Returns <b>NULL</b> if a parameter error occurs.
1620    ///
1621    /// Available since API-level: 12
1622    #[cfg(feature = "api-12")]
1623    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1624    pub fn OH_ArkUI_CreateScaleTransitionEffect(
1625        scale: *mut ArkUI_ScaleOptions,
1626    ) -> *mut ArkUI_TransitionEffect;
1627    /// Creates a rotation object for component transition.
1628    ///
1629    /// # Arguments
1630    ///
1631    /// * `rotate` - Indicates the rotation settings for component transition.
1632    ///
1633    /// # Returns
1634    ///
1635    /// * Returns the rotation object created for component transition.
1636    /// Returns <b>NULL</b> if a parameter error occurs.
1637    ///
1638    /// Available since API-level: 12
1639    #[cfg(feature = "api-12")]
1640    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1641    pub fn OH_ArkUI_CreateRotationTransitionEffect(
1642        rotate: *mut ArkUI_RotationOptions,
1643    ) -> *mut ArkUI_TransitionEffect;
1644    /// Creates a movement object for component transition.
1645    ///
1646    /// # Arguments
1647    ///
1648    /// * `edge` - Indicates the movement type.
1649    ///
1650    /// # Returns
1651    ///
1652    /// * Returns the movement object created for component transition.
1653    /// Returns <b>NULL</b> if a parameter error occurs.
1654    ///
1655    /// Available since API-level: 12
1656    #[cfg(feature = "api-12")]
1657    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1658    pub fn OH_ArkUI_CreateMovementTransitionEffect(
1659        edge: ArkUI_TransitionEdge,
1660    ) -> *mut ArkUI_TransitionEffect;
1661    /// Creates an asymmetric transition effect.
1662    ///
1663    ///
1664    /// **Note:** If the <b>asymmetric</b> function is not used for <b>TransitionEffect</b>, the transition effect takes effect
1665    /// for both appearance and disappearance of the component.
1666    /// # Arguments
1667    ///
1668    /// * `appear` - Indicates the transition effect for appearance.
1669    ///
1670    /// * `disappear` - Indicates the transition effect for disappearance.
1671    ///
1672    /// # Returns
1673    ///
1674    /// * Returns the asymmetric transition effect.
1675    /// Returns <b>NULL</b> if a parameter error occurs.
1676    ///
1677    /// Available since API-level: 12
1678    #[cfg(feature = "api-12")]
1679    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1680    pub fn OH_ArkUI_CreateAsymmetricTransitionEffect(
1681        appear: *mut ArkUI_TransitionEffect,
1682        disappear: *mut ArkUI_TransitionEffect,
1683    ) -> *mut ArkUI_TransitionEffect;
1684    /// Disposes of a transition effect.
1685    ///
1686    /// # Arguments
1687    ///
1688    /// * `effect` - Indicates the transition effect to dispose of.
1689    ///
1690    /// Available since API-level: 12
1691    #[cfg(feature = "api-12")]
1692    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1693    pub fn OH_ArkUI_TransitionEffect_Dispose(effect: *mut ArkUI_TransitionEffect);
1694    /// Sets a combination of transition effects.
1695    ///
1696    /// # Arguments
1697    ///
1698    /// * `firstEffect` - Indicates the transition effect options.
1699    ///
1700    /// * `secondEffect` - Indicates the combination of transition effects.
1701    ///
1702    /// # Returns
1703    ///
1704    /// * Returns the error code.
1705    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1706    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1707    ///
1708    /// Available since API-level: 12
1709    #[cfg(feature = "api-12")]
1710    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1711    pub fn OH_ArkUI_TransitionEffect_Combine(
1712        firstEffect: *mut ArkUI_TransitionEffect,
1713        secondEffect: *mut ArkUI_TransitionEffect,
1714    ) -> i32;
1715    /// Sets transition effect animation settings.
1716    ///
1717    ///
1718    /// **Note:** If <b>combine</b> is used for combining transition effects, the animation settings of a transition effect are
1719    /// applicable to the one following it.
1720    /// # Arguments
1721    ///
1722    /// * `effect` - Indicates the transition effect options.
1723    ///
1724    /// * `animation` - Indicates the animation settings.
1725    ///
1726    /// # Returns
1727    ///
1728    /// * Returns the error code.
1729    /// Returns [`ARKUI_ERROR_CODE_NO_ERROR`] if the operation is successful.
1730    /// Returns [`ARKUI_ERROR_CODE_PARAM_INVALID`] if a parameter error occurs.
1731    ///
1732    /// Available since API-level: 12
1733    #[cfg(feature = "api-12")]
1734    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1735    pub fn OH_ArkUI_TransitionEffect_SetAnimation(
1736        effect: *mut ArkUI_TransitionEffect,
1737        animation: *mut ArkUI_AnimateOption,
1738    ) -> i32;
1739}