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