## widget\_animator\_t ### 概述 控件动画接口。 ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | widget\_animator\_destroy | 销毁animator对象。 | | widget\_animator\_init | 初始化。仅供子类内部使用。 | | widget\_animator\_off | 注销指定事件的处理函数。 | | widget\_animator\_on | 注册指定事件的处理函数。 | | widget\_animator\_pause | 暂停动画。 | | widget\_animator\_set\_destroy\_when\_done | 设置完成时是否自动销毁动画对象(缺省销毁)。 | | widget\_animator\_set\_name | 设置名称。 | | widget\_animator\_set\_relayout | 设置每帧是否重新布局。 | | widget\_animator\_set\_repeat | 设置为重复模式。 | | widget\_animator\_set\_reversed | 设置为逆向模式。 | | widget\_animator\_set\_time\_scale | 设置时间倍率,用于实现时间加速减速和停滞的功能。 | | widget\_animator\_set\_yoyo | 设置为yoyo模式。 | | widget\_animator\_start | 启动动画。 | | widget\_animator\_stop | 停止动画。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | name | char* | 名称。 | #### widget\_animator\_destroy 函数 ----------------------- * 函数功能: >

销毁animator对象。 * 函数原型: ``` ret_t widget_animator_destroy (widget_animator_t* animator); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | #### widget\_animator\_init 函数 ----------------------- * 函数功能: >

初始化。仅供子类内部使用。 * 函数原型: ``` ret_t widget_animator_init (widget_animator_t* animator, widget_t* widget, uint32_t duration, uint32_t delay, easing_func_t easing); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | widget | widget\_t* | 控件对象。 | | duration | uint32\_t | 动画持续时间。 | | delay | uint32\_t | 动画执行时间。 | | easing | easing\_func\_t | 插值函数。 | #### widget\_animator\_off 函数 ----------------------- * 函数功能: >

注销指定事件的处理函数。 * 函数原型: ``` ret_t widget_animator_off (widget_animator_t* animator, uint32_t id); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | id | uint32\_t | widget\_animator\_on返回的ID。 | #### widget\_animator\_on 函数 ----------------------- * 函数功能: >

注册指定事件的处理函数。 * 函数原型: ``` uint32_t widget_animator_on (widget_animator_t* animator, event_type_t type, event_func_t on_event, void* ctx); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | uint32\_t | 返回id,用于widget\_animator\_off。 | | animator | widget\_animator\_t* | 动画对象。 | | type | event\_type\_t | 事件类型。目前支持:EVT\_ANIM\_START,EVT\_ANIM\_STOP,EVT\_ANIM\_PAUSE,EVT\_ANIM\_ONCE和EVT\_ANIM\_END。 | | on\_event | event\_func\_t | 事件处理函数。 | | ctx | void* | 事件处理函数上下文。 | #### widget\_animator\_pause 函数 ----------------------- * 函数功能: >

暂停动画。 * 函数原型: ``` ret_t widget_animator_pause (widget_animator_t* animator); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | #### widget\_animator\_set\_destroy\_when\_done 函数 ----------------------- * 函数功能: >

设置完成时是否自动销毁动画对象(缺省销毁)。 * 函数原型: ``` ret_t widget_animator_set_destroy_when_done (widget_animator_t* animator, bool_t destroy_when_done); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | destroy\_when\_done | bool\_t | 完成时是否自动销毁动画对象。 | #### widget\_animator\_set\_name 函数 ----------------------- * 函数功能: >

设置名称。 * 函数原型: ``` ret_t widget_animator_set_name (widget_animator_t* animator, const char* name); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | name | const char* | 名称。 | #### widget\_animator\_set\_relayout 函数 ----------------------- * 函数功能: >

设置每帧是否重新布局。 * 函数原型: ``` ret_t widget_animator_set_relayout (widget_animator_t* animator, bool_t relayout); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | relayout | bool\_t | 是否重新布局。 | #### widget\_animator\_set\_repeat 函数 ----------------------- * 函数功能: >

设置为重复模式。 * 函数原型: ``` ret_t widget_animator_set_repeat (widget_animator_t* animator, uint32_t repeat_times); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | repeat\_times | uint32\_t | 重复的次数。 | #### widget\_animator\_set\_reversed 函数 ----------------------- * 函数功能: >

设置为逆向模式。 * 函数原型: ``` ret_t widget_animator_set_reversed (widget_animator_t* animator, bool_t value); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | value | bool\_t | 是否为逆向模式。 | #### widget\_animator\_set\_time\_scale 函数 ----------------------- * 函数功能: >

设置时间倍率,用于实现时间加速减速和停滞的功能。 * 函数原型: ``` ret_t widget_animator_set_time_scale (widget_animator_t* animator, float_t time_scale); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | time\_scale | float\_t | 时间倍率。 | #### widget\_animator\_set\_yoyo 函数 ----------------------- * 函数功能: >

设置为yoyo模式。 * 函数原型: ``` ret_t widget_animator_set_yoyo (widget_animator_t* animator, uint32_t yoyo_times); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | | yoyo\_times | uint32\_t | yoyo的次数,往返视为两次。 | #### widget\_animator\_start 函数 ----------------------- * 函数功能: >

启动动画。 * 函数原型: ``` ret_t widget_animator_start (widget_animator_t* animator); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | #### widget\_animator\_stop 函数 ----------------------- * 函数功能: >

停止动画。 * 函数原型: ``` ret_t widget_animator_stop (widget_animator_t* animator); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | animator | widget\_animator\_t* | 动画对象。 | #### name 属性 ----------------------- >

名称。 * 类型:char*