diff --git a/zh-cn/native_sdk/ace/native_animate.h b/zh-cn/native_sdk/ace/native_animate.h index 70c7318a96164a23fc098b117f9273cb9d6680fc..6b86abe3f577f496ea2fe1269e1959f84ea4a959 100644 --- a/zh-cn/native_sdk/ace/native_animate.h +++ b/zh-cn/native_sdk/ace/native_animate.h @@ -79,6 +79,13 @@ typedef struct { */ typedef struct ArkUI_AnimateOption ArkUI_AnimateOption; +struct ArkUI_Animator; + +typedef struct ArkUI_Animator *ArkUI_AnimatorHandle; + +typedef struct ArkUI_KeyframeAnimateOption ArkUI_KeyframeAnimateOption; + +typedef struct ArkUI_AnimatorOption ArkUI_AnimatorOption; /** * @brief ArkUI提供的Native侧动画接口集合。 @@ -100,8 +107,73 @@ typedef struct { */ int32_t (*animateTo)(ArkUI_ContextHandle context, ArkUI_AnimateOption* option, ArkUI_ContextCallback* update, ArkUI_AnimateCompleteCallback* complete); + + int32_t (*keyframeAnimateTo)(ArkUI_ContextHandle context, + ArkUI_KeyframeAnimateOption *option); + + ArkUI_AnimatorHandle (*create)(ArkUI_ContextHandle context, + ArkUI_AnimatorOption *option); + void (*dispose)(ArkUI_AnimatorHandle animator); + int32_t (*reset)(ArkUI_AnimatorHandle animator, + ArkUI_AnimatorOption *option); + int32_t (*play)(ArkUI_AnimatorHandle animator); + int32_t (*finish)(ArkUI_AnimatorHandle animator); + int32_t (*pause)(ArkUI_AnimatorHandle animator); + int32_t (*cancel)(ArkUI_AnimatorHandle animator); + int32_t (*reverse)(ArkUI_AnimatorHandle animator); } ArkUI_NativeAnimateAPI_1; +ArkUI_AnimatorOption* OH_ArkUI_AnimatorOption_Create(int32_t keyframeSize); +void OH_ArkUI_ArkUI_AnimatorOption_Dispose(ArkUI_AnimatorOption* option); + +void OH_ArkUI_AnimatorOption_SetDuration(ArkUI_AnimatorOption* option, int32_t value); +void OH_ArkUI_AnimatorOption_SetDelay(ArkUI_AnimatorOption* option, int32_t value); +void OH_ArkUI_AnimatorOption_SetIterations(ArkUI_AnimatorOption* option, int32_t value); +void OH_ArkUI_AnimatorOption_SetFill(ArkUI_AnimatorOption* option, int32_t value); +void OH_ArkUI_AnimatorOption_SetDirection(ArkUI_AnimatorOption* option, int32_t value); +void OH_ArkUI_AnimatorOption_SetEasing(ArkUI_AnimatorOption* option, int32_t value); +void OH_ArkUI_AnimatorOption_SetExpectedFrameRateRange( + ArkUI_AnimatorOption* option, ArkUI_ExpectedFrameRateRange* value); +void OH_ArkUI_AnimatorOption_SetKeyframeTime(ArkUI_AnimatorOption* option, float value, int32_t index); +void OH_ArkUI_AnimatorOption_SetKeyframeValue(ArkUI_AnimatorOption* option, float value, int32_t index); + +int32_t OH_ArkUI_AnimatorOption_GetDuration(ArkUI_AnimatorOption* option); +int32_t OH_ArkUI_AnimatorOption_GetDelay(ArkUI_AnimatorOption* option); +int32_t OH_ArkUI_AnimatorOption_GetIterations(ArkUI_AnimatorOption* option); +int32_t OH_ArkUI_AnimatorOption_GetFill(ArkUI_AnimatorOption* option); +int32_t OH_ArkUI_AnimatorOption_GetDirection(ArkUI_AnimatorOption* option); +int32_t OH_ArkUI_AnimatorOption_GetEasing(ArkUI_AnimatorOption* option); +ArkUI_ExpectedFrameRateRange* OH_ArkUI_AnimatorOption_GetExpectedFrameRateRange(ArkUI_AnimatorOption* option); +float OH_ArkUI_AnimatorOption_GetKeyframeTime(ArkUI_AnimatorOption* option, int32_t index); +float OH_ArkUI_AnimatorOption_GetKeyframeValue(ArkUI_AnimatorOption* option, int32_t index); + +void OH_ArkUI_AnimatorOption_SetOnFrame(ArkUI_AnimatorOption* option, void (*callback)(void* userData)); +void OH_ArkUI_AnimatorOption_SetOnFrameUserData(ArkUI_AnimatorOption* option, void* userData); +void OH_ArkUI_AnimatorOption_SetOnFinish(ArkUI_AnimatorOption* option, void (*callback)(void* userData)); +void OH_ArkUI_AnimatorOption_SetOnFinishUserData(ArkUI_AnimatorOption* option, void* userData); +void OH_ArkUI_AnimatorOption_SetOnCancel(ArkUI_AnimatorOption* option, void (*callback)(void* userData)); +void OH_ArkUI_AnimatorOption_SetOnCancelUserData(ArkUI_AnimatorOption* option, void* userData); +void OH_ArkUI_AnimatorOption_SetOnRepeat(ArkUI_AnimatorOption* option, void (*callback)(void* userData)); +void OH_ArkUI_AnimatorOption_SetOnRepeatUserData(ArkUI_AnimatorOption* option, void* userData); + +ArkUI_KeyframeAnimateOption* OH_ArkUI_KeyframeAnimateOption_Create(int32_t size); +void OH_ArkUI_KeyframeAnimateOption_Dispose(ArkUI_KeyframeAnimateOption* option); + +void OH_ArkUI_KeyframeAnimateOption_SetDelay(ArkUI_KeyframeAnimateOption* option, int32_t value); +void OH_ArkUI_KeyframeAnimateOption_SetIterations(ArkUI_KeyframeAnimateOption* option, int32_t value); + +void OH_ArkUI_KeyframeAnimateOption_SetDuration(ArkUI_KeyframeAnimateOption* option, int32_t value, int32_t index); +void OH_ArkUI_KeyframeAnimateOption_SetCurve(ArkUI_KeyframeAnimateOption* option, int32_t value, int32_t index); +void OH_ArkUI_KeyframeAnimateOption_SetOnFinish( + ArkUI_KeyframeAnimateOption* option, void (*onFinish)(void* userData), int32_t index); +void OH_ArkUI_KeyframeAnimateOption_SetOnFinishUserData( + ArkUI_KeyframeAnimateOption* option, void* userData, int32_t index); + +uint32_t OH_ArkUI_KeyframeAnimateOption_GetDelay(ArkUI_KeyframeAnimateOption* option); +int32_t OH_ArkUI_KeyframeAnimateOption_GetIterations(ArkUI_KeyframeAnimateOption* option); +int32_t OH_ArkUI_KeyframeAnimateOption_GetDuration(ArkUI_KeyframeAnimateOption* option, int32_t index); +int32_t OH_ArkUI_KeyframeAnimateOption_GetCurve(ArkUI_KeyframeAnimateOption* option, int32_t index); + /** * @brief 创建动画效果参数。 * diff --git a/zh-cn/native_sdk/ace/native_type.h b/zh-cn/native_sdk/ace/native_type.h index d42c0b4005c7c6e50b5f6e218ad62ed164b177d0..5be30128940fab92128bb09f6fa1080db51a89ff 100644 --- a/zh-cn/native_sdk/ace/native_type.h +++ b/zh-cn/native_sdk/ace/native_type.h @@ -1672,6 +1672,20 @@ typedef enum { ARKUI_SWIPER_INDICATOR_TYPE_DIGIT, } ArkUI_SwiperIndicatorType; +typedef enum { + ARKUI_ANIMATION_DIRECTION_NORMAL = 0, + ARKUI_ANIMATION_DIRECTION_ALTERNATE, + ARKUI_ANIMATION_DIRECTION_REVERSE, + ARKUI_ANIMATION_DIRECTION_ALTERNATE_REVERSE, +} ArkUI_AnimationDirection; + +typedef enum { + ARKUI_ANIMATION_FILL_NONE = 0, + ARKUI_ANIMATION_FILL_FORWARDS, + ARKUI_ANIMATION_FILL_BACKWARDS, + ARKUI_ANIMATION_FILL_BOTH, +} ArkUI_AnimationFill; + /** * @brief 定义 Swiper 组件的导航指示器风格。 *