「App:Library:LVGL:docs:Overview:Animations」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
119行目: 119行目:
  
  
 +
 +
== Examples ==
 +
 +
=== Start animation on an event ===
 +
https://docs.lvgl.io/8.2/overview/animation.html#start-animation-on-an-event
 +
----Playback animation
 +
 +
https://docs.lvgl.io/8.2/overview/animation.html#playback-animation
 +
----Animation timeline
 +
 +
https://docs.lvgl.io/8.2/overview/animation.html#animation-timeline
 +
----
 +
 +
== API ==
 +
Typedefs
 +
 +
; <span id="_CPPv317lv_anim_path_cb_t"></span><span id="_CPPv217lv_anim_path_cb_t"></span><span id="lv_anim_path_cb_t"></span><span id="lv__anim_8h_1a32c487fbcd8daa37b095ddc4a34630ac" class="target"></span>typedef int32_t (*lv_anim_path_cb_t)(const struct _lv_anim_t*)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_path_cb_t] <span id="_CPPv317lv_anim_path_cb_t"></span><span id="_CPPv217lv_anim_path_cb_t"></span><span id="lv_anim_path_cb_t"></span><span id="lv__anim_8h_1a32c487fbcd8daa37b095ddc4a34630ac" class="target"></span>
 +
: Get the current value during an animation
 +
 +
; <span id="_CPPv318lv_anim_exec_xcb_t"></span><span id="_CPPv218lv_anim_exec_xcb_t"></span><span id="lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1a659b620cc7dd6a848a713b48af9a70aa" class="target"></span>typedef voi[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_path_cb_t]d (*lv_anim_exec_xcb_t)(void*, int32_t)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_exec_xcb_t] <span id="_CPPv318lv_anim_exec_xcb_t"></span><span id="_CPPv218lv_anim_exec_xcb_t"></span><span id="lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1a659b620cc7dd6a848a713b48af9a70aa" class="target"></span>
 +
: Generic prototype of "animator" functions. Fir[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_exec_xcb_t]st parameter is the variable to animate. Second parameter is the value to set. Compatible with <code>lv_xxx_set_yyy(obj, value)</code> functions The <code>x</code> in <code>_xcb_t</code> means it's not a fully generic prototype because it doesn't receive <code>lv_anim_t *</code> as its first argument
 +
 +
; <span id="_CPPv324lv_anim_custom_exec_cb_t"></span><span id="_CPPv224lv_anim_custom_exec_cb_t"></span><span id="lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a28ac56d6c3508a2d808501907531daec" class="target"></span>typedef void (*lv_anim_custom_exec_cb_t)(struct _lv_anim_t*, int32_t)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_custom_exec_cb_t] <span id="_CPPv324lv_anim_custom_exec_cb_t"></span><span id="_CPPv224lv_anim_custom_exec_cb_t"></span><span id="lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a28ac56d6c3508a2d808501907531daec" class="target"></span>
 +
: Same as <code>lv_anim_exec_xcb_t</code> but receives <code>lv_anim_t *</code> as the first [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_custom_exec_cb_t]parameter. It's more consistent but less convenient. Might be used by binding generator functions.
 +
 +
; <span id="_CPPv318lv_anim_ready_cb_t"></span><span id="_CPPv218lv_anim_ready_cb_t"></span><span id="lv_anim_ready_cb_t"></span><span id="lv__anim_8h_1aaa01402e3123828f29f0f6f19a590d8e" class="target"></span>typedef void (*lv_anim_ready_cb_t)(struct _lv_anim_t*)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_ready_cb_t] <span id="_CPPv318lv_anim_ready_cb_t"></span><span id="_CPPv218lv_anim_ready_cb_t"></span><span id="lv_anim_ready_cb_t"></span><span id="lv__anim_8h_1aaa01402e3123828f29f0f6f19a590d8e" class="target"></span>
 +
: Callback to call when the animation is ready
 +
 +
; [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_ready_cb_t]<span id="_CPPv318lv_anim_start_cb_t"></span><span id="_CPPv218lv_anim_start_cb_t"></span><span id="lv_anim_start_cb_t"></span><span id="lv__anim_8h_1ac7164c150f9caaf978cbc97e5a3fe8d3" class="target"></span>typedef void (*lv_anim_start_cb_t)(struct _lv_anim_t*)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_start_cb_t] <span id="_CPPv318lv_anim_start_cb_t"></span><span id="_CPPv218lv_anim_start_cb_t"></span><span id="lv_anim_start_cb_t"></span><span id="lv__anim_8h_1ac7164c150f9caaf978cbc97e5a3fe8d3" class="target"></span>
 +
: Callback to call when the animation really stars ([https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_start_cb_t]considering <code>delay</code>)
 +
 +
; <span id="_CPPv322lv_anim_get_value_cb_t"></span><span id="_CPPv222lv_anim_get_value_cb_t"></span><span id="lv_anim_get_value_cb_t"></span><span id="lv__anim_8h_1aaeec2eb1031f23a26e426036394fc99b" class="target"></span>typedef int32_t (*lv_anim_get_value_cb_t)(struct _lv_anim_t*)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv422lv_anim_get_value_cb_t] <span id="_CPPv322lv_anim_get_value_cb_t"></span><span id="_CPPv222lv_anim_get_value_cb_t"></span><span id="lv_anim_get_value_cb_t"></span><span id="lv__anim_8h_1aaeec2eb1031f23a26e426036394fc99b" class="target"></span>
 +
: Callback used when the animation values are relative to g[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv422lv_anim_get_value_cb_t]et the current value
 +
 +
; <span id="_CPPv39lv_anim_t"></span><span id="_CPPv29lv_anim_t"></span><span id="lv_anim_t"></span><span id="lv__anim_8h_1a94df93c022dc57ee917b4757e50ebe22" class="target"></span>typedef struct _lv_anim_t lv_anim_t[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv49lv_anim_t] <span id="_CPPv39lv_anim_t"></span><span id="_CPPv29lv_anim_t"></span><span id="lv_anim_t"></span><span id="lv__anim_8h_1a94df93c022dc57ee917b4757e50ebe22" class="target"></span>
 +
: Describes an animation
 +
 +
Enums[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv49lv_anim_t]
 +
 +
; <span id="_CPPv316lv_anim_enable_t"></span><span id="_CPPv216lv_anim_enable_t"></span><span id="lv__anim_8h_1a1ba9d18fd18b8c83da1f058155b43a71" class="target"></span>enum lv_anim_enable_t[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv416lv_anim_enable_t] <span id="_CPPv316lv_anim_enable_t"></span><span id="_CPPv216lv_anim_enable_t"></span><span id="lv__anim_8h_1a1ba9d18fd18b8c83da1f058155b43a71" class="target"></span>
 +
: Can be used to in[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv416lv_anim_enable_t]dicate if animations are enabled or disabled in a case  ''Values:''
 +
:; <span id="_CPPv3N16lv_anim_enable_t11LV_ANIM_OFFE"></span><span id="_CPPv2N16lv_anim_enable_t11LV_ANIM_OFFE"></span><span id="lv__anim_8h_1a1ba9d18fd18b8c83da1f058155b43a71a64690995c13aa084264daf0244796d42" class="target"></span>enumerator LV_ANIM_OFF[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N16lv_anim_enable_t11LV_ANIM_OFFE] <span id="_CPPv3N16lv_anim_enable_t11LV_ANIM_OFFE"></span><span id="_CPPv2N16lv_anim_enable_t11LV_ANIM_OFFE"></span><span id="lv__anim_8h_1a1ba9d18fd18b8c83da1f058155b43a71a64690995c13aa084264daf0244796d42" class="target"></span>
 +
::
 +
:; <span id="_CPPv3N16lv_anim_enable_t10LV_ANIM_ONE"></span><span id="_CPPv2N16lv_anim_enable_t10LV_ANIM_ONE"></span><span id="lv__anim_8h_1a1ba9d18fd18b8c83da1f058155b43a71ae078e0865cfff1b8c196d4c526eb5a5e" class="target"></span>enumerator L[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N16lv_anim_enable_t11LV_ANIM_OFFE]V_ANIM_ON[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N16lv_anim_enable_t10LV_ANIM_ONE] <span id="_CPPv3N16lv_anim_enable_t10LV_ANIM_ONE"></span><span id="_CPPv2N16lv_anim_enable_t10LV_ANIM_ONE"></span><span id="lv__anim_8h_1a1ba9d18fd18b8c83da1f058155b43a71ae078e0865cfff1b8c196d4c526eb5a5e" class="target"></span>
 +
::
 +
 +
Functions
 +
 +
[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N16lv_anim_enable_t10LV_ANIM_ONE]
 +
; <span id="_CPPv319LV_EXPORT_CONST_INT23LV_ANIM_REPEAT_INFINITE"></span><span id="_CPPv219LV_EXPORT_CONST_INT23LV_ANIM_REPEAT_INFINITE"></span><span id="LV_EXPORT_CONST_INT__LV_ANIM_REPEAT_INFINITE"></span><span id="lv__anim_8h_1a9fe0ffe8dbd2122f7f347149ffef55ce" class="target"></span>LV_EXPORT_CONST_INT(LV_ANIM_REPEAT_INFINITE)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419LV_EXPORT_CONST_INT23LV_ANIM_REPEAT_INFINITE] <span id="_CPPv319LV_EXPORT_CONST_INT23LV_ANIM_REPEAT_INFINITE"></span><span id="_CPPv219LV_EXPORT_CONST_INT23LV_ANIM_REPEAT_INFINITE"></span><span id="LV_EXPORT_CONST_INT__LV_ANIM_REPEAT_INFINITE"></span><span id="lv__anim_8h_1a9fe0ffe8dbd2122f7f347149ffef55ce" class="target"></span>
 +
:
 +
 +
; <span id="_CPPv319LV_EXPORT_CONST_INT25LV_ANIM_PLAYTIME_INFINITE"></span><span id="_CPPv219LV_EXPORT_CONST_INT25LV_ANIM_PLAYTIME_INFINITE"></span><span id="LV_EXPORT_CONST_INT__LV_ANIM_PLAYTIME_INFINITE"></span><span id="lv__anim_8h_1a0a4d4fb7b1ff60cec2407e313d23bfc0" class="target"></span>LV_EXPORT_CONST_INT(LV_ANIM_PLAYTI[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419LV_EXPORT_CONST_INT23LV_ANIM_REPEAT_INFINITE]ME_INFINITE)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419LV_EXPORT_CONST_INT25LV_ANIM_PLAYTIME_INFINITE] <span id="_CPPv319LV_EXPORT_CONST_INT25LV_ANIM_PLAYTIME_INFINITE"></span><span id="_CPPv219LV_EXPORT_CONST_INT25LV_ANIM_PLAYTIME_INFINITE"></span><span id="LV_EXPORT_CONST_INT__LV_ANIM_PLAYTIME_INFINITE"></span><span id="lv__anim_8h_1a0a4d4fb7b1ff60cec2407e313d23bfc0" class="target"></span>
 +
:
 +
 +
; <span id="_CPPv318_lv_anim_core_initv"></span><span id="_CPPv218_lv_anim_core_initv"></span><span id="_lv_anim_core_init__void"></span><span id="lv__anim_8h_1ae8276fe9608fab75e9bdc989c837d7d3" class="target"></span>void _lv_anim_core_init(void)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418_lv_anim_core_initv] <span id="_CPPv318_lv_anim_core_initv"></span><span id="_CPPv218_lv_anim_core_initv"></span><span id="_lv_anim_core_init__void"></span><span id="lv__anim_8h_1ae8276fe9608fab75e9bdc989c837d7d3" class="target"></span>
 +
: I[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419LV_EXPORT_CONST_INT25LV_ANIM_PLAYTIME_INFINITE]nit. the animation modul[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418_lv_anim_core_initv]e
 +
 +
; <span id="_CPPv312lv_anim_initP9lv_anim_t"></span><span id="_CPPv212lv_anim_initP9lv_anim_t"></span><span id="lv_anim_init__lv_anim_tP"></span><span id="lv__anim_8h_1ab47f0c3139bbd759c1ccae268fc297e6" class="target"></span>void lv_anim_init(lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv412lv_anim_initP9lv_anim_t] <span id="_CPPv312lv_anim_initP9lv_anim_t"></span><span id="_CPPv212lv_anim_initP9lv_anim_t"></span><span id="lv_anim_init__lv_anim_tP"></span><span id="lv__anim_8h_1ab47f0c3139bbd759c1ccae268fc297e6" class="target"></span>
 +
: Initialize an animation var[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv412lv_anim_initP9lv_anim_t]iable. E.g.: lv_anim_t a; lv_anim_init(&a); lv_anim_set_...(&a); lv_anim_start(&a);
 +
:; Parameters
 +
:: a -- pointer to an <code>lv_anim_t</code> variable to initialize
 +
 +
; <span id="_CPPv315lv_anim_set_varP9lv_anim_tPv"></span><span id="_CPPv215lv_anim_set_varP9lv_anim_tPv"></span><span id="lv_anim_set_var__lv_anim_tP.voidP"></span><span id="lv__anim_8h_1acc83bd01c04ffa726956bd89ac32e39b" class="target"></span>static inline void lv_anim_set_var(lv_anim_t *a, void *var)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv415lv_anim_set_varP9lv_anim_tPv] <span id="_CPPv315lv_anim_set_varP9lv_anim_tPv"></span><span id="_CPPv215lv_anim_set_varP9lv_anim_tPv"></span><span id="lv_anim_set_var__lv_anim_tP.voidP"></span><span id="lv__anim_8h_1acc83bd01c04ffa726956bd89ac32e39b" class="target"></span>
 +
: Set a variable to animate
 +
:; Parameters
 +
::* a -- point[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv415lv_anim_set_varP9lv_anim_tPv]er to an initialized <code>lv_anim_t</code> variable
 +
::* var -- pointer to a variable to animate
 +
 +
; <span id="_CPPv319lv_anim_set_exec_cbP9lv_anim_t18lv_anim_exec_xcb_t"></span><span id="_CPPv219lv_anim_set_exec_cbP9lv_anim_t18lv_anim_exec_xcb_t"></span><span id="lv_anim_set_exec_cb__lv_anim_tP.lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1adc1c116cfcc359b4d72cc25b8e8a2ca6" class="target"></span>static inline void lv_anim_set_exec_cb(lv_anim_t *a, lv_anim_exec_xcb_t exec_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_set_exec_cbP9lv_anim_t18lv_anim_exec_xcb_t] <span id="_CPPv319lv_anim_set_exec_cbP9lv_anim_t18lv_anim_exec_xcb_t"></span><span id="_CPPv219lv_anim_set_exec_cbP9lv_anim_t18lv_anim_exec_xcb_t"></span><span id="lv_anim_set_exec_cb__lv_anim_tP.lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1adc1c116cfcc359b4d72cc25b8e8a2ca6" class="target"></span>
 +
: Set a function to animate <code>var</code>
 +
:; Parameters
 +
::* a -- pointer to an initiali[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_set_exec_cbP9lv_anim_t18lv_anim_exec_xcb_t]zed <code>lv_anim_t</code> variable
 +
::* exec_cb -- a function to execute during animation LVGL's built-in functions can be used. E.g. lv_obj_set_x
 +
 +
; <span id="_CPPv316lv_anim_set_timeP9lv_anim_t8uint32_t"></span><span id="_CPPv216lv_anim_set_timeP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_time__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a64e735e13f8bd43ce2532a73b0310d16" class="target"></span>static inline void lv_anim_set_time(lv_anim_t *a, uint32_t duration)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv416lv_anim_set_timeP9lv_anim_t8uint32_t] <span id="_CPPv316lv_anim_set_timeP9lv_anim_t8uint32_t"></span><span id="_CPPv216lv_anim_set_timeP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_time__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a64e735e13f8bd43ce2532a73b0310d16" class="target"></span>
 +
: Set the duration of an animation
 +
:; Parameters
 +
::* a -- pointer[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv416lv_anim_set_timeP9lv_anim_t8uint32_t] to an initialized <code>lv_anim_t</code> variable
 +
::* duration -- duration of the animation in milliseconds
 +
 +
; <span id="_CPPv317lv_anim_set_delayP9lv_anim_t8uint32_t"></span><span id="_CPPv217lv_anim_set_delayP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_delay__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a9a1fe4ddfb65adbe56445040b53ace7d" class="target"></span>static inline void lv_anim_set_delay(lv_anim_t *a, uint32_t delay)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_set_delayP9lv_anim_t8uint32_t] <span id="_CPPv317lv_anim_set_delayP9lv_anim_t8uint32_t"></span><span id="_CPPv217lv_anim_set_delayP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_delay__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a9a1fe4ddfb65adbe56445040b53ace7d" class="target"></span>
 +
: Set a delay before starting the animation
 +
:; Parameters
 +
::* a[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_set_delayP9lv_anim_t8uint32_t] -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* delay -- delay before the animation in milliseconds
 +
 +
; <span id="_CPPv318lv_anim_set_valuesP9lv_anim_t7int32_t7int32_t"></span><span id="_CPPv218lv_anim_set_valuesP9lv_anim_t7int32_t7int32_t"></span><span id="lv_anim_set_values__lv_anim_tP.int32_t.int32_t"></span><span id="lv__anim_8h_1a5c77699e636420ac69e738b54884d8d4" class="target"></span>static inline void lv_anim_set_values(lv_anim_t *a, int32_t start, int32_t end)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_set_valuesP9lv_anim_t7int32_t7int32_t] <span id="_CPPv318lv_anim_set_valuesP9lv_anim_t7int32_t7int32_t"></span><span id="_CPPv218lv_anim_set_valuesP9lv_anim_t7int32_t7int32_t"></span><span id="lv_anim_set_values__lv_anim_tP.int32_t.int32_t"></span><span id="lv__anim_8h_1a5c77699e636420ac69e738b54884d8d4" class="target"></span>
 +
: Set the start and end values of an animation
 +
:; Parameters
 +
::* a -- pointe[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_set_valuesP9lv_anim_t7int32_t7int32_t]r to an initialized <code>lv_anim_t</code> variable
 +
::* start -- the start value
 +
::* end -- the end value
 +
 +
; <span id="_CPPv326lv_anim_set_custom_exec_cbP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="_CPPv226lv_anim_set_custom_exec_cbP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="lv_anim_set_custom_exec_cb__lv_anim_tP.lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a09c98e441b31acb85028937aa23cdc64" class="target"></span>static inline void lv_anim_set_custom_exec_cb(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv426lv_anim_set_custom_exec_cbP9lv_anim_t24lv_anim_custom_exec_cb_t] <span id="_CPPv326lv_anim_set_custom_exec_cbP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="_CPPv226lv_anim_set_custom_exec_cbP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="lv_anim_set_custom_exec_cb__lv_anim_tP.lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a09c98e441b31acb85028937aa23cdc64" class="target"></span>
 +
: Similar to <code>lv_anim_set_exec_cb</code> but <code>lv_anim_custom_exec_cb_t</code> receives <code>lv_anim_t *</code> as its f[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv426lv_anim_set_custom_exec_cbP9lv_anim_t24lv_anim_custom_exec_cb_t]irst parameter instead of <code>void *</code>. This function might be used when LVGL is bound to other languages because it's more consistent to have <code>lv_anim_t *</code> as first parameter. The variable to animate can be stored in the animation's <code>user_data</code>
 +
:; Parameters
 +
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* exec_cb -- a function to execute.
 +
 +
; <span id="_CPPv319lv_anim_set_path_cbP9lv_anim_t17lv_anim_path_cb_t"></span><span id="_CPPv219lv_anim_set_path_cbP9lv_anim_t17lv_anim_path_cb_t"></span><span id="lv_anim_set_path_cb__lv_anim_tP.lv_anim_path_cb_t"></span><span id="lv__anim_8h_1a12da0141e8a3c4bdcf58e3756b358ad8" class="target"></span>static inline void lv_anim_set_path_cb(lv_anim_t *a, lv_anim_path_cb_t path_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_set_path_cbP9lv_anim_t17lv_anim_path_cb_t] <span id="_CPPv319lv_anim_set_path_cbP9lv_anim_t17lv_anim_path_cb_t"></span><span id="_CPPv219lv_anim_set_path_cbP9lv_anim_t17lv_anim_path_cb_t"></span><span id="lv_anim_set_path_cb__lv_anim_tP.lv_anim_path_cb_t"></span><span id="lv__anim_8h_1a12da0141e8a3c4bdcf58e3756b358ad8" class="target"></span>
 +
: Set the path (curve) of the animation.
 +
:; Parameters
 +
::* a -- pointer to a[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_set_path_cbP9lv_anim_t17lv_anim_path_cb_t]n initialized <code>lv_anim_t</code> variable
 +
::* path_cb -- a function to set the current value of the animation.
 +
 +
; <span id="_CPPv320lv_anim_set_start_cbP9lv_anim_t18lv_anim_start_cb_t"></span><span id="_CPPv220lv_anim_set_start_cbP9lv_anim_t18lv_anim_start_cb_t"></span><span id="lv_anim_set_start_cb__lv_anim_tP.lv_anim_start_cb_t"></span><span id="lv__anim_8h_1a53cb484e7e4b7932910a8fba6835cf0e" class="target"></span>static inline void lv_anim_set_start_cb(lv_anim_t *a, lv_anim_start_cb_t start_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_set_start_cbP9lv_anim_t18lv_anim_start_cb_t] <span id="_CPPv320lv_anim_set_start_cbP9lv_anim_t18lv_anim_start_cb_t"></span><span id="_CPPv220lv_anim_set_start_cbP9lv_anim_t18lv_anim_start_cb_t"></span><span id="lv_anim_set_start_cb__lv_anim_tP.lv_anim_start_cb_t"></span><span id="lv__anim_8h_1a53cb484e7e4b7932910a8fba6835cf0e" class="target"></span>
 +
: Set a function call when the animation really starts (considering <code>delay</code>)
 +
:; Pa[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_set_start_cbP9lv_anim_t18lv_anim_start_cb_t]rameters
 +
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* start_cb -- a function call when the animation starts
 +
 +
; <span id="_CPPv324lv_anim_set_get_value_cbP9lv_anim_t22lv_anim_get_value_cb_t"></span><span id="_CPPv224lv_anim_set_get_value_cbP9lv_anim_t22lv_anim_get_value_cb_t"></span><span id="lv_anim_set_get_value_cb__lv_anim_tP.lv_anim_get_value_cb_t"></span><span id="lv__anim_8h_1aacc0e5a9f17efd3e256ac1be2d98aa6f" class="target"></span>static inline void lv_anim_set_get_value_cb(lv_anim_t *a, lv_anim_get_value_cb_t get_value_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_set_get_value_cbP9lv_anim_t22lv_anim_get_value_cb_t] <span id="_CPPv324lv_anim_set_get_value_cbP9lv_anim_t22lv_anim_get_value_cb_t"></span><span id="_CPPv224lv_anim_set_get_value_cbP9lv_anim_t22lv_anim_get_value_cb_t"></span><span id="lv_anim_set_get_value_cb__lv_anim_tP.lv_anim_get_value_cb_t"></span><span id="lv__anim_8h_1aacc0e5a9f17efd3e256ac1be2d98aa6f" class="target"></span>
 +
: Set a function to use the current value of the variable and make start and end value relat[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_set_get_value_cbP9lv_anim_t22lv_anim_get_value_cb_t]ive to the returned current value.
 +
:; Parameters
 +
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* get_value_cb -- a function call when the animation starts
 +
 +
; <span id="_CPPv320lv_anim_set_ready_cbP9lv_anim_t18lv_anim_ready_cb_t"></span><span id="_CPPv220lv_anim_set_ready_cbP9lv_anim_t18lv_anim_ready_cb_t"></span><span id="lv_anim_set_ready_cb__lv_anim_tP.lv_anim_ready_cb_t"></span><span id="lv__anim_8h_1a9e667cfa1cb20fc9c4745f0395d7d382" class="target"></span>static inline void lv_anim_set_ready_cb(lv_anim_t *a, lv_anim_ready_cb_t ready_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_set_ready_cbP9lv_anim_t18lv_anim_ready_cb_t] <span id="_CPPv320lv_anim_set_ready_cbP9lv_anim_t18lv_anim_ready_cb_t"></span><span id="_CPPv220lv_anim_set_ready_cbP9lv_anim_t18lv_anim_ready_cb_t"></span><span id="lv_anim_set_ready_cb__lv_anim_tP.lv_anim_ready_cb_t"></span><span id="lv__anim_8h_1a9e667cfa1cb20fc9c4745f0395d7d382" class="target"></span>
 +
: Set a function call when the animation is ready
 +
:; Parameters
 +
::* a -- pointe[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_set_ready_cbP9lv_anim_t18lv_anim_ready_cb_t]r to an initialized <code>lv_anim_t</code> variable
 +
::* ready_cb -- a function call when the animation is ready
 +
 +
; <span id="_CPPv325lv_anim_set_playback_timeP9lv_anim_t8uint32_t"></span><span id="_CPPv225lv_anim_set_playback_timeP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_playback_time__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1ac4661655a33788509250ef8e2ae8de1e" class="target"></span>static inline void lv_anim_set_playback_time(lv_anim_t *a, uint32_t time)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv425lv_anim_set_playback_timeP9lv_anim_t8uint32_t] <span id="_CPPv325lv_anim_set_playback_timeP9lv_anim_t8uint32_t"></span><span id="_CPPv225lv_anim_set_playback_timeP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_playback_time__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1ac4661655a33788509250ef8e2ae8de1e" class="target"></span>
 +
: Make the animation to play back to when the forward direction is read[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv425lv_anim_set_playback_timeP9lv_anim_t8uint32_t]y
 +
:; Parameters
 +
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* time -- the duration of the playback animation in milliseconds. 0: disable playback
 +
 +
; <span id="_CPPv326lv_anim_set_playback_delayP9lv_anim_t8uint32_t"></span><span id="_CPPv226lv_anim_set_playback_delayP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_playback_delay__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a4586910fbd6598cf80f6cb2e4ab1338f" class="target"></span>static inline void lv_anim_set_playback_delay(lv_anim_t *a, uint32_t delay)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv426lv_anim_set_playback_delayP9lv_anim_t8uint32_t] <span id="_CPPv326lv_anim_set_playback_delayP9lv_anim_t8uint32_t"></span><span id="_CPPv226lv_anim_set_playback_delayP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_playback_delay__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a4586910fbd6598cf80f6cb2e4ab1338f" class="target"></span>
 +
: Make the animation to play back to when the forward direction is ready [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv426lv_anim_set_playback_delayP9lv_anim_t8uint32_t]
 +
:; Parameters
 +
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* delay -- delay in milliseconds before starting the playback animation.
 +
 +
; <span id="_CPPv324lv_anim_set_repeat_countP9lv_anim_t8uint16_t"></span><span id="_CPPv224lv_anim_set_repeat_countP9lv_anim_t8uint16_t"></span><span id="lv_anim_set_repeat_count__lv_anim_tP.uint16_t"></span><span id="lv__anim_8h_1a0ce024650171b1b5519a5e0e6cad344b" class="target"></span>static inline void lv_anim_set_repeat_count(lv_anim_t *a, uint16_t cnt)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_set_repeat_countP9lv_anim_t8uint16_t] <span id="_CPPv324lv_anim_set_repeat_countP9lv_anim_t8uint16_t"></span><span id="_CPPv224lv_anim_set_repeat_countP9lv_anim_t8uint16_t"></span><span id="lv_anim_set_repeat_count__lv_anim_tP.uint16_t"></span><span id="lv__anim_8h_1a0ce024650171b1b5519a5e0e6cad344b" class="target"></span>
 +
: Make the animation repeat itself.
 +
:; Parameters
 +
::* a -- pointer t[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_set_repeat_countP9lv_anim_t8uint16_t]o an initialized <code>lv_anim_t</code> variable
 +
::* cnt -- repeat count or <code>LV_ANIM_REPEAT_INFINITE</code> for infinite repetition. 0: to disable repetition.
 +
 +
; <span id="_CPPv324lv_anim_set_repeat_delayP9lv_anim_t8uint32_t"></span><span id="_CPPv224lv_anim_set_repeat_delayP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_repeat_delay__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a1c64e4ad6ec9fbb9a78688edc8d2c3fd" class="target"></span>static inline void lv_anim_set_repeat_delay(lv_anim_t *a, uint32_t delay)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_set_repeat_delayP9lv_anim_t8uint32_t] <span id="_CPPv324lv_anim_set_repeat_delayP9lv_anim_t8uint32_t"></span><span id="_CPPv224lv_anim_set_repeat_delayP9lv_anim_t8uint32_t"></span><span id="lv_anim_set_repeat_delay__lv_anim_tP.uint32_t"></span><span id="lv__anim_8h_1a1c64e4ad6ec9fbb9a78688edc8d2c3fd" class="target"></span>
 +
: Set a delay before repeating the animation.
 +
:; Parameters
 +
::* a -- p[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_set_repeat_delayP9lv_anim_t8uint32_t]ointer to an initialized <code>lv_anim_t</code> variable
 +
::* delay -- delay in milliseconds before repeating the animation.
 +
 +
; <span id="_CPPv323lv_anim_set_early_applyP9lv_anim_tb"></span><span id="_CPPv223lv_anim_set_early_applyP9lv_anim_tb"></span><span id="lv_anim_set_early_apply__lv_anim_tP.b"></span><span id="lv__anim_8h_1aed092efe358afd0826ca11f9a2681925" class="target"></span>static inline void lv_anim_set_early_apply(lv_anim_t *a, bool en)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv423lv_anim_set_early_applyP9lv_anim_tb] <span id="_CPPv323lv_anim_set_early_applyP9lv_anim_tb"></span><span id="_CPPv223lv_anim_set_early_applyP9lv_anim_tb"></span><span id="lv_anim_set_early_apply__lv_anim_tP.b"></span><span id="lv__anim_8h_1aed092efe358afd0826ca11f9a2681925" class="target"></span>
 +
: Set a whether the animation's should be applied immediately o[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv423lv_anim_set_early_applyP9lv_anim_tb]r only when the delay expired.
 +
:; Parameters
 +
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* en -- true: apply the start value immediately in <code>lv_anim_start</code>; false: apply the start value only when <code>delay</code> ms is elapsed and the animations really starts
 +
 +
; <span id="_CPPv321lv_anim_set_user_dataP9lv_anim_tPv"></span><span id="_CPPv221lv_anim_set_user_dataP9lv_anim_tPv"></span><span id="lv_anim_set_user_data__lv_anim_tP.voidP"></span><span id="lv__anim_8h_1a9e3c292c402249036532695c51cc8644" class="target"></span>static inline void lv_anim_set_user_data(lv_anim_t *a, void *user_data)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_set_user_dataP9lv_anim_tPv] <span id="_CPPv321lv_anim_set_user_dataP9lv_anim_tPv"></span><span id="_CPPv221lv_anim_set_user_dataP9lv_anim_tPv"></span><span id="lv_anim_set_user_data__lv_anim_tP.voidP"></span><span id="lv__anim_8h_1a9e3c292c402249036532695c51cc8644" class="target"></span>
 +
: Set the custom user data field of the animation.
 +
:; Parameters
 +
::* [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_set_user_dataP9lv_anim_tPv] a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
::* user_data -- pointer to the new user_data.
 +
 +
; <span id="_CPPv313lv_anim_startPK9lv_anim_t"></span><span id="_CPPv213lv_anim_startPK9lv_anim_t"></span><span id="lv_anim_start__lv_anim_tCP"></span><span id="lv__anim_8h_1ad06de0b3c7bd796183793174ecb1e005" class="target"></span>lv_anim_t *lv_anim_start(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv413lv_anim_startPK9lv_anim_t] <span id="_CPPv313lv_anim_startPK9lv_anim_t"></span><span id="_CPPv213lv_anim_startPK9lv_anim_t"></span><span id="lv_anim_start__lv_anim_tCP"></span><span id="lv__anim_8h_1ad06de0b3c7bd796183793174ecb1e005" class="target"></span>
 +
: Create an animation
 +
:; Parameters
 +
:: a -[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv413lv_anim_startPK9lv_anim_t]- an initialized 'anim_t' variable. Not required after call.
 +
:; Returns
 +
:: pointer to the created animation (different from the <code>a</code> parameter)
 +
 +
; <span id="_CPPv317lv_anim_get_delayP9lv_anim_t"></span><span id="_CPPv217lv_anim_get_delayP9lv_anim_t"></span><span id="lv_anim_get_delay__lv_anim_tP"></span><span id="lv__anim_8h_1a05bb2b3d866ca22a4b5cab054dc81365" class="target"></span>static inline uint32_t lv_anim_get_delay(lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_get_delayP9lv_anim_t] <span id="_CPPv317lv_anim_get_delayP9lv_anim_t"></span><span id="_CPPv217lv_anim_get_delayP9lv_anim_t"></span><span id="lv_anim_get_delay__lv_anim_tP"></span><span id="lv__anim_8h_1a05bb2b3d866ca22a4b5cab054dc81365" class="target"></span>
 +
: Get a delay before starting the animation
 +
:; Param[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_get_delayP9lv_anim_t]eters
 +
:: a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
:; Returns
 +
:: delay before the animation in milliseconds
 +
 +
; <span id="_CPPv320lv_anim_get_playtimeP9lv_anim_t"></span><span id="_CPPv220lv_anim_get_playtimeP9lv_anim_t"></span><span id="lv_anim_get_playtime__lv_anim_tP"></span><span id="lv__anim_8h_1ac79c00800c817faebc7b9ace49cfdb90" class="target"></span>uint32_t lv_anim_get_playtime(lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_get_playtimeP9lv_anim_t] <span id="_CPPv320lv_anim_get_playtimeP9lv_anim_t"></span><span id="_CPPv220lv_anim_get_playtimeP9lv_anim_t"></span><span id="lv_anim_get_playtime__lv_anim_tP"></span><span id="lv__anim_8h_1ac79c00800c817faebc7b9ace49cfdb90" class="target"></span>
 +
: Get the time used to play the animation[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_get_playtimeP9lv_anim_t].
 +
:; Parameters
 +
:: a -- pointer to an animation.
 +
:; Returns
 +
:: the play time in milliseconds.
 +
 +
; <span id="_CPPv321lv_anim_get_user_dataP9lv_anim_t"></span><span id="_CPPv221lv_anim_get_user_dataP9lv_anim_t"></span><span id="lv_anim_get_user_data__lv_anim_tP"></span><span id="lv__anim_8h_1aaf9537e79904f9293e987d8fe0d8c657" class="target"></span>static inline void *lv_anim_get_user_data(lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_get_user_dataP9lv_anim_t] <span id="_CPPv321lv_anim_get_user_dataP9lv_anim_t"></span><span id="_CPPv221lv_anim_get_user_dataP9lv_anim_t"></span><span id="lv_anim_get_user_data__lv_anim_tP"></span><span id="lv__anim_8h_1aaf9537e79904f9293e987d8fe0d8c657" class="target"></span>
 +
: Get the user_data field of the animation
 +
:; Paramet[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_get_user_dataP9lv_anim_t]ers
 +
:: a -- pointer to an initialized <code>lv_anim_t</code> variable
 +
:; Returns
 +
:: the pointer to the custom user_data of the animation
 +
 +
; <span id="_CPPv311lv_anim_delPv18lv_anim_exec_xcb_t"></span><span id="_CPPv211lv_anim_delPv18lv_anim_exec_xcb_t"></span><span id="lv_anim_del__voidP.lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1a9cb8109a832f6aac58e875fb2baa3755" class="target"></span>bool lv_anim_del(void *var, lv_anim_exec_xcb_t exec_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv411lv_anim_delPv18lv_anim_exec_xcb_t] <span id="_CPPv311lv_anim_delPv18lv_anim_exec_xcb_t"></span><span id="_CPPv211lv_anim_delPv18lv_anim_exec_xcb_t"></span><span id="lv_anim_del__voidP.lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1a9cb8109a832f6aac58e875fb2baa3755" class="target"></span>
 +
: Delete an animation of a variable with a given anim[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv411lv_anim_delPv18lv_anim_exec_xcb_t]ator function
 +
:; Parameters
 +
::* var -- pointer to variable
 +
::* exec_cb -- a function pointer which is animating 'var', or NULL to ignore it and delete all the animations of 'var
 +
:; Returns
 +
:: true: at least 1 animation is deleted, false: no animation is deleted
 +
 +
; <span id="_CPPv315lv_anim_del_allv"></span><span id="_CPPv215lv_anim_del_allv"></span><span id="lv_anim_del_all__void"></span><span id="lv__anim_8h_1a4d5c5f7461ab5982a3f673531139dcc7" class="target"></span>void lv_anim_del_all(void)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv415lv_anim_del_allv] <span id="_CPPv315lv_anim_del_allv"></span><span id="_CPPv215lv_anim_del_allv"></span><span id="lv_anim_del_all__void"></span><span id="lv__anim_8h_1a4d5c5f7461ab5982a3f673531139dcc7" class="target"></span>
 +
: Delete all the animati[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv415lv_anim_del_allv]ons
 +
 +
; <span id="_CPPv311lv_anim_getPv18lv_anim_exec_xcb_t"></span><span id="_CPPv211lv_anim_getPv18lv_anim_exec_xcb_t"></span><span id="lv_anim_get__voidP.lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1a0712f2b4b92f862b9e302b0b9b26611e" class="target"></span>lv_anim_t *lv_anim_get(void *var, lv_anim_exec_xcb_t exec_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv411lv_anim_getPv18lv_anim_exec_xcb_t] <span id="_CPPv311lv_anim_getPv18lv_anim_exec_xcb_t"></span><span id="_CPPv211lv_anim_getPv18lv_anim_exec_xcb_t"></span><span id="lv_anim_get__voidP.lv_anim_exec_xcb_t"></span><span id="lv__anim_8h_1a0712f2b4b92f862b9e302b0b9b26611e" class="target"></span>
 +
: Get the animation of a variable and its <code>exec_cb</code>.
 +
:; Param[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv411lv_anim_getPv18lv_anim_exec_xcb_t]eters
 +
::* var -- pointer to variable
 +
::* exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
 +
:; Returns
 +
:: pointer to the animation.
 +
 +
; <span id="_CPPv318lv_anim_custom_delP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="_CPPv218lv_anim_custom_delP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="lv_anim_custom_del__lv_anim_tP.lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a02abe0023275d07e7a7dd102daf290bc" class="target"></span>static inline bool lv_anim_custom_del(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_custom_delP9lv_anim_t24lv_anim_custom_exec_cb_t] <span id="_CPPv318lv_anim_custom_delP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="_CPPv218lv_anim_custom_delP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="lv_anim_custom_del__lv_anim_tP.lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a02abe0023275d07e7a7dd102daf290bc" class="target"></span>
 +
: Delete an animation by getting the animated variable from <code>a</code>. Only animations with[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_custom_delP9lv_anim_t24lv_anim_custom_exec_cb_t] <code>exec_cb</code> will be deleted. This function exists because it's logical that all anim. functions receives an <code>lv_anim_t</code> as their first parameter. It's not practical in C but might make the API more consequent and makes easier to generate bindings.
 +
:; Parameters
 +
::* a -- pointer to an animation.
 +
::* exec_cb -- a function pointer which is animating 'var', or NULL to ignore it and delete all the animations of 'var
 +
:; Returns
 +
:: true: at least 1 animation is deleted, false: no animation is deleted
 +
 +
; <span id="_CPPv318lv_anim_custom_getP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="_CPPv218lv_anim_custom_getP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="lv_anim_custom_get__lv_anim_tP.lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a128f33116fcf789ea10bbfaaea399e09" class="target"></span>static inline lv_anim_t *lv_anim_custom_get(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_custom_getP9lv_anim_t24lv_anim_custom_exec_cb_t] <span id="_CPPv318lv_anim_custom_getP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="_CPPv218lv_anim_custom_getP9lv_anim_t24lv_anim_custom_exec_cb_t"></span><span id="lv_anim_custom_get__lv_anim_tP.lv_anim_custom_exec_cb_t"></span><span id="lv__anim_8h_1a128f33116fcf789ea10bbfaaea399e09" class="target"></span>
 +
: Get the animation of a variable and its <code>exec_cb</code>. This function exists because it's logi[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv418lv_anim_custom_getP9lv_anim_t24lv_anim_custom_exec_cb_t]cal that all anim. functions receives an <code>lv_anim_t</code> as their first parameter. It's not practical in C but might make the API more consequent and makes easier to generate bindings.
 +
:; Parameters
 +
::* a -- pointer to an animation.
 +
::* exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
 +
:; Returns
 +
:: pointer to the animation.
 +
 +
; <span id="_CPPv321lv_anim_count_runningv"></span><span id="_CPPv221lv_anim_count_runningv"></span><span id="lv_anim_count_running__void"></span><span id="lv__anim_8h_1a4bb557452aa3ce128eb106e2f8208bc8" class="target"></span>uint16_t lv_anim_count_running(void)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_count_runningv] <span id="_CPPv321lv_anim_count_runningv"></span><span id="_CPPv221lv_anim_count_runningv"></span><span id="lv_anim_count_running__void"></span><span id="lv__anim_8h_1a4bb557452aa3ce128eb106e2f8208bc8" class="target"></span>
 +
: Get the number of currently runn[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_count_runningv]ing animations
 +
:; Returns
 +
:: the number of running animations
 +
 +
; <span id="_CPPv321lv_anim_speed_to_time8uint32_t7int32_t7int32_t"></span><span id="_CPPv221lv_anim_speed_to_time8uint32_t7int32_t7int32_t"></span><span id="lv_anim_speed_to_time__uint32_t.int32_t.int32_t"></span><span id="lv__anim_8h_1ab51f8f472c2bffe1f77080a1e40fc939" class="target"></span>uint32_t lv_anim_speed_to_time(uint32_t speed, int32_t start, int32_t end)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_speed_to_time8uint32_t7int32_t7int32_t] <span id="_CPPv321lv_anim_speed_to_time8uint32_t7int32_t7int32_t"></span><span id="_CPPv221lv_anim_speed_to_time8uint32_t7int32_t7int32_t"></span><span id="lv_anim_speed_to_time__uint32_t.int32_t.int32_t"></span><span id="lv__anim_8h_1ab51f8f472c2bffe1f77080a1e40fc939" class="target"></span>
 +
: Calculate the time of an animation with a given speed and the start an[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_speed_to_time8uint32_t7int32_t7int32_t]d end values
 +
:; Parameters
 +
::* speed -- speed of animation in unit/sec
 +
::* start -- start value of the animation
 +
::* end -- end value of the animation
 +
:; Returns
 +
:: the required time [ms] for the animation with the given parameters
 +
 +
; <span id="_CPPv316lv_anim_refr_nowv"></span><span id="_CPPv216lv_anim_refr_nowv"></span><span id="lv_anim_refr_now__void"></span><span id="lv__anim_8h_1a25ae5912901decafee4d960ec3584d17" class="target"></span>void lv_anim_refr_now(void)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv416lv_anim_refr_nowv] <span id="_CPPv316lv_anim_refr_nowv"></span><span id="_CPPv216lv_anim_refr_nowv"></span><span id="lv_anim_refr_now__void"></span><span id="lv__anim_8h_1a25ae5912901decafee4d960ec3584d17" class="target"></span>
 +
: Manually refresh the st[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv416lv_anim_refr_nowv]ate of the animations. Useful to make the animations running in a blocking process where <code>lv_timer_handler</code> can't run for a while. Shouldn't be used directly because it is called in <code>lv_refr_now()</code>.
 +
 +
; <span id="_CPPv319lv_anim_path_linearPK9lv_anim_t"></span><span id="_CPPv219lv_anim_path_linearPK9lv_anim_t"></span><span id="lv_anim_path_linear__lv_anim_tCP"></span><span id="lv__anim_8h_1aa3e1114274e9085b8ba535420c873852" class="target"></span>int32_t lv_anim_path_linear(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_path_linearPK9lv_anim_t] <span id="_CPPv319lv_anim_path_linearPK9lv_anim_t"></span><span id="_CPPv219lv_anim_path_linearPK9lv_anim_t"></span><span id="lv_anim_path_linear__lv_anim_tCP"></span><span id="lv__anim_8h_1aa3e1114274e9085b8ba535420c873852" class="target"></span>
 +
: Calculate the current value of an animation[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_path_linearPK9lv_anim_t] applying linear characteristic
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv320lv_anim_path_ease_inPK9lv_anim_t"></span><span id="_CPPv220lv_anim_path_ease_inPK9lv_anim_t"></span><span id="lv_anim_path_ease_in__lv_anim_tCP"></span><span id="lv__anim_8h_1a95b403ca1374087687179c7967600198" class="target"></span>int32_t lv_anim_path_ease_in(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_path_ease_inPK9lv_anim_t] <span id="_CPPv320lv_anim_path_ease_inPK9lv_anim_t"></span><span id="_CPPv220lv_anim_path_ease_inPK9lv_anim_t"></span><span id="lv_anim_path_ease_in__lv_anim_tCP"></span><span id="lv__anim_8h_1a95b403ca1374087687179c7967600198" class="target"></span>
 +
: Calculate the current value of an animation [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_path_ease_inPK9lv_anim_t]slowing down the start phase
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv321lv_anim_path_ease_outPK9lv_anim_t"></span><span id="_CPPv221lv_anim_path_ease_outPK9lv_anim_t"></span><span id="lv_anim_path_ease_out__lv_anim_tCP"></span><span id="lv__anim_8h_1a6a96dd88618e4e7912fb1096036c6458" class="target"></span>int32_t lv_anim_path_ease_out(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_path_ease_outPK9lv_anim_t] <span id="_CPPv321lv_anim_path_ease_outPK9lv_anim_t"></span><span id="_CPPv221lv_anim_path_ease_outPK9lv_anim_t"></span><span id="lv_anim_path_ease_out__lv_anim_tCP"></span><span id="lv__anim_8h_1a6a96dd88618e4e7912fb1096036c6458" class="target"></span>
 +
: Calculate the current value of an animation s[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_path_ease_outPK9lv_anim_t]lowing down the end phase
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv324lv_anim_path_ease_in_outPK9lv_anim_t"></span><span id="_CPPv224lv_anim_path_ease_in_outPK9lv_anim_t"></span><span id="lv_anim_path_ease_in_out__lv_anim_tCP"></span><span id="lv__anim_8h_1aa276989eca9f5bd11b2dc16d7e29c6d7" class="target"></span>int32_t lv_anim_path_ease_in_out(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_path_ease_in_outPK9lv_anim_t] <span id="_CPPv324lv_anim_path_ease_in_outPK9lv_anim_t"></span><span id="_CPPv224lv_anim_path_ease_in_outPK9lv_anim_t"></span><span id="lv_anim_path_ease_in_out__lv_anim_tCP"></span><span id="lv__anim_8h_1aa276989eca9f5bd11b2dc16d7e29c6d7" class="target"></span>
 +
: Calculate the current value of an animation appl[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv424lv_anim_path_ease_in_outPK9lv_anim_t]ying an "S" characteristic (cosine)
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv322lv_anim_path_overshootPK9lv_anim_t"></span><span id="_CPPv222lv_anim_path_overshootPK9lv_anim_t"></span><span id="lv_anim_path_overshoot__lv_anim_tCP"></span><span id="lv__anim_8h_1ac110a8857df9884ed29e79cf57389cca" class="target"></span>int32_t lv_anim_path_overshoot(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv422lv_anim_path_overshootPK9lv_anim_t] <span id="_CPPv322lv_anim_path_overshootPK9lv_anim_t"></span><span id="_CPPv222lv_anim_path_overshootPK9lv_anim_t"></span><span id="lv_anim_path_overshoot__lv_anim_tCP"></span><span id="lv__anim_8h_1ac110a8857df9884ed29e79cf57389cca" class="target"></span>
 +
: Calculate the current value of an animation wi[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv422lv_anim_path_overshootPK9lv_anim_t]th overshoot at the end
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv319lv_anim_path_bouncePK9lv_anim_t"></span><span id="_CPPv219lv_anim_path_bouncePK9lv_anim_t"></span><span id="lv_anim_path_bounce__lv_anim_tCP"></span><span id="lv__anim_8h_1abba54a9c3fdfefb0edab9be3ca28596e" class="target"></span>int32_t lv_anim_path_bounce(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_path_bouncePK9lv_anim_t] <span id="_CPPv319lv_anim_path_bouncePK9lv_anim_t"></span><span id="_CPPv219lv_anim_path_bouncePK9lv_anim_t"></span><span id="lv_anim_path_bounce__lv_anim_tCP"></span><span id="lv__anim_8h_1abba54a9c3fdfefb0edab9be3ca28596e" class="target"></span>
 +
: Calculate the current value of an animation[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv419lv_anim_path_bouncePK9lv_anim_t] with 3 bounces
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv317lv_anim_path_stepPK9lv_anim_t"></span><span id="_CPPv217lv_anim_path_stepPK9lv_anim_t"></span><span id="lv_anim_path_step__lv_anim_tCP"></span><span id="lv__anim_8h_1a448fcaf1475935df3dfc38acb245497d" class="target"></span>int32_t lv_anim_path_step(const lv_anim_t *a)[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_path_stepPK9lv_anim_t] <span id="_CPPv317lv_anim_path_stepPK9lv_anim_t"></span><span id="_CPPv217lv_anim_path_stepPK9lv_anim_t"></span><span id="lv_anim_path_step__lv_anim_tCP"></span><span id="lv__anim_8h_1a448fcaf1475935df3dfc38acb245497d" class="target"></span>
 +
: Calculate the current value of an animati[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_path_stepPK9lv_anim_t]on applying step characteristic. (Set end value on the end of the animation)
 +
:; Parameters
 +
:: a -- pointer to an animation
 +
:; Returns
 +
:: the current value to set
 +
 +
; <span id="_CPPv310_lv_anim_t"></span><span id="_CPPv210_lv_anim_t"></span><span id="_lv_anim_t"></span><span id="struct__lv__anim__t" class="target"></span>struct _lv_anim_t[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv410_lv_anim_t] <span id="_CPPv310_lv_anim_t"></span><span id="_CPPv210_lv_anim_t"></span><span id="_lv_anim_t"></span><span id="struct__lv__anim__t" class="target"></span>
 +
: ''#include <lv_''[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv410_lv_anim_t]''anim.h>'' Describes an animation  Public Members
 +
:; <span id="_CPPv3N10_lv_anim_t3varE"></span><span id="_CPPv2N10_lv_anim_t3varE"></span><span id="_lv_anim_t::var__voidP"></span><span id="struct__lv__anim__t_1a4b0b0f57a3d67af5bdaaa79ec0f96773" class="target"></span>void *var[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t3varE] <span id="_CPPv3N10_lv_anim_t3varE"></span><span id="_CPPv2N10_lv_anim_t3varE"></span><span id="_lv_anim_t::var__voidP"></span><span id="struct__lv__anim__t_1a4b0b0f57a3d67af5bdaaa79ec0f96773" class="target"></span>
 +
:: Varia[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t3varE]ble to animate
 +
:; <span id="_CPPv3N10_lv_anim_t7exec_cbE"></span><span id="_CPPv2N10_lv_anim_t7exec_cbE"></span><span id="_lv_anim_t::exec_cb__lv_anim_exec_xcb_t"></span><span id="struct__lv__anim__t_1afed693cd4a40ab3981ca12858bacd794" class="target"></span>lv_anim_exec_xcb_t exec_cb[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t7exec_cbE] <span id="_CPPv3N10_lv_anim_t7exec_cbE"></span><span id="_CPPv2N10_lv_anim_t7exec_cbE"></span><span id="_lv_anim_t::exec_cb__lv_anim_exec_xcb_t"></span><span id="struct__lv__anim__t_1afed693cd4a40ab3981ca12858bacd794" class="target"></span>
 +
:: Function to execute to[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t7exec_cbE] animate
 +
:; <span id="_CPPv3N10_lv_anim_t8start_cbE"></span><span id="_CPPv2N10_lv_anim_t8start_cbE"></span><span id="_lv_anim_t::start_cb__lv_anim_start_cb_t"></span><span id="struct__lv__anim__t_1a1794171ac312eff1b40c29b91bbd484f" class="target"></span>lv_anim_start_cb_t start_cb[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8start_cbE] <span id="_CPPv3N10_lv_anim_t8start_cbE"></span><span id="_CPPv2N10_lv_anim_t8start_cbE"></span><span id="_lv_anim_t::start_cb__lv_anim_start_cb_t"></span><span id="struct__lv__anim__t_1a1794171ac312eff1b40c29b91bbd484f" class="target"></span>
 +
:: Call it when the animat[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8start_cbE]ion is starts (considering <code>delay</code>)
 +
:; <span id="_CPPv3N10_lv_anim_t8ready_cbE"></span><span id="_CPPv2N10_lv_anim_t8ready_cbE"></span><span id="_lv_anim_t::ready_cb__lv_anim_ready_cb_t"></span><span id="struct__lv__anim__t_1af9b097f07ff1900f4e8fe7fee82725ae" class="target"></span>lv_anim_ready_cb_t ready_cb[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8ready_cbE] <span id="_CPPv3N10_lv_anim_t8ready_cbE"></span><span id="_CPPv2N10_lv_anim_t8ready_cbE"></span><span id="_lv_anim_t::ready_cb__lv_anim_ready_cb_t"></span><span id="struct__lv__anim__t_1af9b097f07ff1900f4e8fe7fee82725ae" class="target"></span>
 +
:: Call it when the animat[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8ready_cbE]ion is ready
 +
:; <span id="_CPPv3N10_lv_anim_t12get_value_cbE"></span><span id="_CPPv2N10_lv_anim_t12get_value_cbE"></span><span id="_lv_anim_t::get_value_cb__lv_anim_get_value_cb_t"></span><span id="struct__lv__anim__t_1ac1c14ba7023a49323be3a4c6c9a312af" class="target"></span>lv_anim_get_value_cb_t get_value_cb[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12get_value_cbE] <span id="_CPPv3N10_lv_anim_t12get_value_cbE"></span><span id="_CPPv2N10_lv_anim_t12get_value_cbE"></span><span id="_lv_anim_t::get_value_cb__lv_anim_get_value_cb_t"></span><span id="struct__lv__anim__t_1ac1c14ba7023a49323be3a4c6c9a312af" class="target"></span>
 +
:: Get the current value in relati[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12get_value_cbE]ve mode
 +
:; <span id="_CPPv3N10_lv_anim_t9user_dataE"></span><span id="_CPPv2N10_lv_anim_t9user_dataE"></span><span id="_lv_anim_t::user_data__voidP"></span><span id="struct__lv__anim__t_1aa8ccf84c0d4076c8d4bcee939d3f8b38" class="target"></span>void *user_data[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9user_dataE] <span id="_CPPv3N10_lv_anim_t9user_dataE"></span><span id="_CPPv2N10_lv_anim_t9user_dataE"></span><span id="_lv_anim_t::user_data__voidP"></span><span id="struct__lv__anim__t_1aa8ccf84c0d4076c8d4bcee939d3f8b38" class="target"></span>
 +
:: Custom user[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9user_dataE] data
 +
:; <span id="_CPPv3N10_lv_anim_t7path_cbE"></span><span id="_CPPv2N10_lv_anim_t7path_cbE"></span><span id="_lv_anim_t::path_cb__lv_anim_path_cb_t"></span><span id="struct__lv__anim__t_1ac0dd5118407879e65def4439442ba77f" class="target"></span>lv_anim_path_cb_t path_cb[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t7path_cbE] <span id="_CPPv3N10_lv_anim_t7path_cbE"></span><span id="_CPPv2N10_lv_anim_t7path_cbE"></span><span id="_lv_anim_t::path_cb__lv_anim_path_cb_t"></span><span id="struct__lv__anim__t_1ac0dd5118407879e65def4439442ba77f" class="target"></span>
 +
:: Describe the path (cu[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t7path_cbE]rve) of animations
 +
:; <span id="_CPPv3N10_lv_anim_t11start_valueE"></span><span id="_CPPv2N10_lv_anim_t11start_valueE"></span><span id="_lv_anim_t::start_value__int32_t"></span><span id="struct__lv__anim__t_1affb2afd81ed1d25d5aac711cb7917e8d" class="target"></span>int32_t start_value[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t11start_valueE] <span id="_CPPv3N10_lv_anim_t11start_valueE"></span><span id="_CPPv2N10_lv_anim_t11start_valueE"></span><span id="_lv_anim_t::start_value__int32_t"></span><span id="struct__lv__anim__t_1affb2afd81ed1d25d5aac711cb7917e8d" class="target"></span>
 +
:: Start value
 +
: [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t11start_valueE]
 +
:; <span id="_CPPv3N10_lv_anim_t13current_valueE"></span><span id="_CPPv2N10_lv_anim_t13current_valueE"></span><span id="_lv_anim_t::current_value__int32_t"></span><span id="struct__lv__anim__t_1aa3979c3cd067cd7f2f131371ec970744" class="target"></span>int32_t current_value[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t13current_valueE] <span id="_CPPv3N10_lv_anim_t13current_valueE"></span><span id="_CPPv2N10_lv_anim_t13current_valueE"></span><span id="_lv_anim_t::current_value__int32_t"></span><span id="struct__lv__anim__t_1aa3979c3cd067cd7f2f131371ec970744" class="target"></span>
 +
:: Current value
 +
: [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t13current_valueE]
 +
:; <span id="_CPPv3N10_lv_anim_t9end_valueE"></span><span id="_CPPv2N10_lv_anim_t9end_valueE"></span><span id="_lv_anim_t::end_value__int32_t"></span><span id="struct__lv__anim__t_1afb6eeccf9ed0a6fe13f64b46bcd35779" class="target"></span>int32_t end_value[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9end_valueE] <span id="_CPPv3N10_lv_anim_t9end_valueE"></span><span id="_CPPv2N10_lv_anim_t9end_valueE"></span><span id="_lv_anim_t::end_value__int32_t"></span><span id="struct__lv__anim__t_1afb6eeccf9ed0a6fe13f64b46bcd35779" class="target"></span>
 +
:: End value
 +
: [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9end_valueE]
 +
:; <span id="_CPPv3N10_lv_anim_t4timeE"></span><span id="_CPPv2N10_lv_anim_t4timeE"></span><span id="_lv_anim_t::time__int32_t"></span><span id="struct__lv__anim__t_1a42e92594625e6264d999fd42f4f86dd2" class="target"></span>int32_t time[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t4timeE] <span id="_CPPv3N10_lv_anim_t4timeE"></span><span id="_CPPv2N10_lv_anim_t4timeE"></span><span id="_lv_anim_t::time__int32_t"></span><span id="struct__lv__anim__t_1a42e92594625e6264d999fd42f4f86dd2" class="target"></span>
 +
:: Animatio[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t4timeE]n time in ms
 +
:; <span id="_CPPv3N10_lv_anim_t8act_timeE"></span><span id="_CPPv2N10_lv_anim_t8act_timeE"></span><span id="_lv_anim_t::act_time__int32_t"></span><span id="struct__lv__anim__t_1aefd061d401c45d45b0da2233e31c8480" class="target"></span>int32_t act_time[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8act_timeE] <span id="_CPPv3N10_lv_anim_t8act_timeE"></span><span id="_CPPv2N10_lv_anim_t8act_timeE"></span><span id="_lv_anim_t::act_time__int32_t"></span><span id="struct__lv__anim__t_1aefd061d401c45d45b0da2233e31c8480" class="target"></span>
 +
:: Current time[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8act_timeE] in animation. Set to negative to make delay.
 +
:; <span id="_CPPv3N10_lv_anim_t14playback_delayE"></span><span id="_CPPv2N10_lv_anim_t14playback_delayE"></span><span id="_lv_anim_t::playback_delay__uint32_t"></span><span id="struct__lv__anim__t_1acd9eb914c80c72f6094ad053308892f4" class="target"></span>uint32_t playback_delay[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t14playback_delayE] <span id="_CPPv3N10_lv_anim_t14playback_delayE"></span><span id="_CPPv2N10_lv_anim_t14playback_delayE"></span><span id="_lv_anim_t::playback_delay__uint32_t"></span><span id="struct__lv__anim__t_1acd9eb914c80c72f6094ad053308892f4" class="target"></span>
 +
:: Wait before play ba[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t14playback_delayE]ck
 +
:; <span id="_CPPv3N10_lv_anim_t13playback_timeE"></span><span id="_CPPv2N10_lv_anim_t13playback_timeE"></span><span id="_lv_anim_t::playback_time__uint32_t"></span><span id="struct__lv__anim__t_1ae78637ba3313cc15774fdad2ac05af21" class="target"></span>uint32_t playback_time[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t13playback_timeE] <span id="_CPPv3N10_lv_anim_t13playback_timeE"></span><span id="_CPPv2N10_lv_anim_t13playback_timeE"></span><span id="_lv_anim_t::playback_time__uint32_t"></span><span id="struct__lv__anim__t_1ae78637ba3313cc15774fdad2ac05af21" class="target"></span>
 +
:: Duration of playba[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t13playback_timeE]ck animation
 +
:; <span id="_CPPv3N10_lv_anim_t12repeat_delayE"></span><span id="_CPPv2N10_lv_anim_t12repeat_delayE"></span><span id="_lv_anim_t::repeat_delay__uint32_t"></span><span id="struct__lv__anim__t_1a272f02263784d7ecc7804a9064eb1a66" class="target"></span>uint32_t repeat_delay[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12repeat_delayE] <span id="_CPPv3N10_lv_anim_t12repeat_delayE"></span><span id="_CPPv2N10_lv_anim_t12repeat_delayE"></span><span id="_lv_anim_t::repeat_delay__uint32_t"></span><span id="struct__lv__anim__t_1a272f02263784d7ecc7804a9064eb1a66" class="target"></span>
 +
:: Wait before repea[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12repeat_delayE]t
 +
:; <span id="_CPPv3N10_lv_anim_t10repeat_cntE"></span><span id="_CPPv2N10_lv_anim_t10repeat_cntE"></span><span id="_lv_anim_t::repeat_cnt__uint16_t"></span><span id="struct__lv__anim__t_1a9e310c35a279cf668196c2c7fe918975" class="target"></span>uint16_t repeat_cnt[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t10repeat_cntE] <span id="_CPPv3N10_lv_anim_t10repeat_cntE"></span><span id="_CPPv2N10_lv_anim_t10repeat_cntE"></span><span id="_lv_anim_t::repeat_cnt__uint16_t"></span><span id="struct__lv__anim__t_1a9e310c35a279cf668196c2c7fe918975" class="target"></span>
 +
:: Repeat count fo[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t10repeat_cntE]r the animation
 +
:; <span id="_CPPv3N10_lv_anim_t11early_applyE"></span><span id="_CPPv2N10_lv_anim_t11early_applyE"></span><span id="_lv_anim_t::early_apply__uint8_t"></span><span id="struct__lv__anim__t_1a38e52d59bffe3a2d8350b4ebec57e530" class="target"></span>uint8_t early_apply[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t11early_applyE] <span id="_CPPv3N10_lv_anim_t11early_applyE"></span><span id="_CPPv2N10_lv_anim_t11early_applyE"></span><span id="_lv_anim_t::early_apply__uint8_t"></span><span id="struct__lv__anim__t_1a38e52d59bffe3a2d8350b4ebec57e530" class="target"></span>
 +
:: 1: Apply start [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t11early_applyE]value immediately even is there is <code>delay</code>
 +
:; <span id="_CPPv3N10_lv_anim_t12playback_nowE"></span><span id="_CPPv2N10_lv_anim_t12playback_nowE"></span><span id="_lv_anim_t::playback_now__uint8_t"></span><span id="struct__lv__anim__t_1aca604b95ce9cc0ade0a3e6cf35e7b073" class="target"></span>uint8_t playback_now[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12playback_nowE] <span id="_CPPv3N10_lv_anim_t12playback_nowE"></span><span id="_CPPv2N10_lv_anim_t12playback_nowE"></span><span id="_lv_anim_t::playback_now__uint8_t"></span><span id="struct__lv__anim__t_1aca604b95ce9cc0ade0a3e6cf35e7b073" class="target"></span>
 +
:: Play back is in [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12playback_nowE]progress
 +
:; <span id="_CPPv3N10_lv_anim_t9run_roundE"></span><span id="_CPPv2N10_lv_anim_t9run_roundE"></span><span id="_lv_anim_t::run_round__uint8_t"></span><span id="struct__lv__anim__t_1a3ed1178fc3071ed6f544e64b8a0b9572" class="target"></span>uint8_t run_round[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9run_roundE] <span id="_CPPv3N10_lv_anim_t9run_roundE"></span><span id="_CPPv2N10_lv_anim_t9run_roundE"></span><span id="_lv_anim_t::run_round__uint8_t"></span><span id="struct__lv__anim__t_1a3ed1178fc3071ed6f544e64b8a0b9572" class="target"></span>
 +
:: Indicates the[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9run_roundE] animation has run in this round
 +
:; <span id="_CPPv3N10_lv_anim_t15start_cb_calledE"></span><span id="_CPPv2N10_lv_anim_t15start_cb_calledE"></span><span id="_lv_anim_t::start_cb_called__uint8_t"></span><span id="struct__lv__anim__t_1a293f21a4b59ec38b9514000ef079d119" class="target"></span>uint8_t start_cb_called[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t15start_cb_calledE] <span id="_CPPv3N10_lv_anim_t15start_cb_calledE"></span><span id="_CPPv2N10_lv_anim_t15start_cb_calledE"></span><span id="_lv_anim_t::start_cb_called__uint8_t"></span><span id="struct__lv__anim__t_1a293f21a4b59ec38b9514000ef079d119" class="target"></span>
 +
:: Indicates that the [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t15start_cb_calledE]<code>start_cb</code> was already called
  
  

2022年6月27日 (月) 10:47時点における版

https://docs.lvgl.io/8.2/overview/style.html

英文 自動翻訳

Animations

You can automatically change the value of a variable between a start and an end value using animations. Animation will happen by periodically calling an "animator" function with the corresponding value parameter.

The animator functions have the following prototype:

void func(void * var, lv_anim_var_t value);

This prototype is compatible with the majority of the property set functions in LVGL. For example lv_obj_set_x(obj, value) or lv_obj_set_width(obj, value)

Create an animation

To create an animation an lv_anim_t variable has to be initialized and configured with lv_anim_set_...() functions.

/* INITIALIZE AN ANIMATION
 *-----------------------*/

lv_anim_t a;
lv_anim_init(&a);

/* MANDATORY SETTINGS
 *------------------*/

/*Set the "animator" function*/
lv_anim_set_exec_cb(&a, (lv_anim_exec_xcb_t) lv_obj_set_x); 

/*Set target of the animation*/
lv_anim_set_var(&a, obj); 

/*Length of the animation [ms]*/
lv_anim_set_time(&a, duration);

/*Set start and end values. E.g. 0, 150*/
lv_anim_set_values(&a, start, end);

/* OPTIONAL SETTINGS
 *------------------*/

/*Time to wait before starting the animation [ms]*/
lv_anim_set_delay(&a, delay);

/*Set path (curve). Default is linear*/
lv_anim_set_path(&a, lv_anim_path_ease_in);

/*Set a callback to indicate when the animation is ready (idle).*/
lv_anim_set_ready_cb(&a, ready_cb);

/*Set a callback to indicate when the animation is started (after delay).*/
lv_anim_set_start_cb(&a, start_cb);

/*When ready, play the animation backward with this duration. Default is 0 (disabled) [ms]*/
lv_anim_set_playback_time(&a, time);

/*Delay before playback. Default is 0 (disabled) [ms]*/
lv_anim_set_playback_delay(&a, delay);

/*Number of repetitions. Default is 1. LV_ANIM_REPEAT_INFINITE for infinite repetition*/
lv_anim_set_repeat_count(&a, cnt);

/*Delay before repeat. Default is 0 (disabled) [ms]*/
lv_anim_set_repeat_delay(&a, delay);

/*true (default): apply the start value immediately, false: apply start value after delay when the anim. really starts. */
lv_anim_set_early_apply(&a, true/false);

/* START THE ANIMATION
 *------------------*/
lv_anim_start(&a);                             /*Start the animation*/

You can apply multiple different animations on the same variable at the same time. For example, animate the x and y coordinates with lv_obj_set_x and lv_obj_set_y. However, only one animation can exist with a given variable and function pair and lv_anim_start() will remove any existing animations for such a pair.

Animation path

You can control the path of an animation. The most simple case is linear, meaning the current value between start and end is changed with fixed steps. A path is a function which calculates the next value to set based on the current state of the animation. Currently, there are the following built-in path functions:

  • lv_anim_path_linear linear animation
  • lv_anim_path_step change in one step at the end
  • lv_anim_path_ease_in slow at the beginning
  • lv_anim_path_ease_out slow at the end
  • lv_anim_path_ease_in_out slow at the beginning and end
  • lv_anim_path_overshoot overshoot the end value
  • lv_anim_path_bounce bounce back a little from the end value (like hitting a wall)

Speed vs time

By default, you set the animation time directly. But in some cases, setting the animation speed is more practical.

The lv_anim_speed_to_time(speed, start, end) function calculates the required time in milliseconds to reach the end value from a start value with the given speed. The speed is interpreted in unit/sec dimension. For example, lv_anim_speed_to_time(20,0,100) will yield 5000 milliseconds. For example, in the case of lv_obj_set_x unit is pixels so 20 means 20 px/sec speed.

Delete animations

You can delete an animation with lv_anim_del(var, func) if you provide the animated variable and its animator function.

Timeline

A timeline is a collection of multiple animations which makes it easy to create complex composite animations.

Firstly, create an animation element but don’t call lv_anim_start().

Secondly, create an animation timeline object by calling lv_anim_timeline_create().

Thirdly, add animation elements to the animation timeline by calling lv_anim_timeline_add(at, start_time, &a). start_time is the start time of the animation on the timeline. Note that start_time will override the value of delay.

Finally, call lv_anim_timeline_start(at) to start the animation timeline.

It supports forward and backward playback of the entire animation group, using lv_anim_timeline_set_reverse(at, reverse).

Call lv_anim_timeline_stop(at) to stop the animation timeline.

Call lv_anim_timeline_set_progress(at, progress) function to set the state of the object corresponding to the progress of the timeline.

Call lv_anim_timeline_get_playtime(at) function to get the total duration of the entire animation timeline.

Call lv_anim_timeline_get_reverse(at) function to get whether to reverse the animation timeline.

Call lv_anim_timeline_del(at) function to delete the animation timeline. LVGL docs overview animation 01.png


Examples

Start animation on an event

https://docs.lvgl.io/8.2/overview/animation.html#start-animation-on-an-event


Playback animation

https://docs.lvgl.io/8.2/overview/animation.html#playback-animation


Animation timeline

https://docs.lvgl.io/8.2/overview/animation.html#animation-timeline


API

Typedefs

typedef int32_t (*lv_anim_path_cb_t)(const struct _lv_anim_t*)[1]
Get the current value during an animation
typedef voi[2]d (*lv_anim_exec_xcb_t)(void*, int32_t)[3]
Generic prototype of "animator" functions. Fir[4]st parameter is the variable to animate. Second parameter is the value to set. Compatible with lv_xxx_set_yyy(obj, value) functions The x in _xcb_t means it's not a fully generic prototype because it doesn't receive lv_anim_t * as its first argument
typedef void (*lv_anim_custom_exec_cb_t)(struct _lv_anim_t*, int32_t)[5]
Same as lv_anim_exec_xcb_t but receives lv_anim_t * as the first [6]parameter. It's more consistent but less convenient. Might be used by binding generator functions.
typedef void (*lv_anim_ready_cb_t)(struct _lv_anim_t*)[7]
Callback to call when the animation is ready
[8]typedef void (*lv_anim_start_cb_t)(struct _lv_anim_t*)[9]
Callback to call when the animation really stars ([10]considering delay)
typedef int32_t (*lv_anim_get_value_cb_t)(struct _lv_anim_t*)[11]
Callback used when the animation values are relative to g[12]et the current value
typedef struct _lv_anim_t lv_anim_t[13]
Describes an animation

Enums[14]

enum lv_anim_enable_t[15]
Can be used to in[16]dicate if animations are enabled or disabled in a case Values:
enumerator LV_ANIM_OFF[17]
enumerator L[18]V_ANIM_ON[19]

Functions

[20]

LV_EXPORT_CONST_INT(LV_ANIM_REPEAT_INFINITE)[21]
LV_EXPORT_CONST_INT(LV_ANIM_PLAYTI[22]ME_INFINITE)[23]
void _lv_anim_core_init(void)[24]
I[25]nit. the animation modul[26]e
void lv_anim_init(lv_anim_t *a)[27]
Initialize an animation var[28]iable. E.g.: lv_anim_t a; lv_anim_init(&a); lv_anim_set_...(&a); lv_anim_start(&a);
Parameters
a -- pointer to an lv_anim_t variable to initialize
static inline void lv_anim_set_var(lv_anim_t *a, void *var)[29]
Set a variable to animate
Parameters
  • a -- point[30]er to an initialized lv_anim_t variable
  • var -- pointer to a variable to animate
static inline void lv_anim_set_exec_cb(lv_anim_t *a, lv_anim_exec_xcb_t exec_cb)[31]
Set a function to animate var
Parameters
  • a -- pointer to an initiali[32]zed lv_anim_t variable
  • exec_cb -- a function to execute during animation LVGL's built-in functions can be used. E.g. lv_obj_set_x
static inline void lv_anim_set_time(lv_anim_t *a, uint32_t duration)[33]
Set the duration of an animation
Parameters
  • a -- pointer[34] to an initialized lv_anim_t variable
  • duration -- duration of the animation in milliseconds
static inline void lv_anim_set_delay(lv_anim_t *a, uint32_t delay)[35]
Set a delay before starting the animation
Parameters
  • a[36] -- pointer to an initialized lv_anim_t variable
  • delay -- delay before the animation in milliseconds
static inline void lv_anim_set_values(lv_anim_t *a, int32_t start, int32_t end)[37]
Set the start and end values of an animation
Parameters
  • a -- pointe[38]r to an initialized lv_anim_t variable
  • start -- the start value
  • end -- the end value
static inline void lv_anim_set_custom_exec_cb(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)[39]
Similar to lv_anim_set_exec_cb but lv_anim_custom_exec_cb_t receives lv_anim_t * as its f[40]irst parameter instead of void *. This function might be used when LVGL is bound to other languages because it's more consistent to have lv_anim_t * as first parameter. The variable to animate can be stored in the animation's user_data
Parameters
  • a -- pointer to an initialized lv_anim_t variable
  • exec_cb -- a function to execute.
static inline void lv_anim_set_path_cb(lv_anim_t *a, lv_anim_path_cb_t path_cb)[41]
Set the path (curve) of the animation.
Parameters
  • a -- pointer to a[42]n initialized lv_anim_t variable
  • path_cb -- a function to set the current value of the animation.
static inline void lv_anim_set_start_cb(lv_anim_t *a, lv_anim_start_cb_t start_cb)[43]
Set a function call when the animation really starts (considering delay)
Pa[44]rameters
  • a -- pointer to an initialized lv_anim_t variable
  • start_cb -- a function call when the animation starts
static inline void lv_anim_set_get_value_cb(lv_anim_t *a, lv_anim_get_value_cb_t get_value_cb)[45]
Set a function to use the current value of the variable and make start and end value relat[46]ive to the returned current value.
Parameters
  • a -- pointer to an initialized lv_anim_t variable
  • get_value_cb -- a function call when the animation starts
static inline void lv_anim_set_ready_cb(lv_anim_t *a, lv_anim_ready_cb_t ready_cb)[47]
Set a function call when the animation is ready
Parameters
  • a -- pointe[48]r to an initialized lv_anim_t variable
  • ready_cb -- a function call when the animation is ready
static inline void lv_anim_set_playback_time(lv_anim_t *a, uint32_t time)[49]
Make the animation to play back to when the forward direction is read[50]y
Parameters
  • a -- pointer to an initialized lv_anim_t variable
  • time -- the duration of the playback animation in milliseconds. 0: disable playback
static inline void lv_anim_set_playback_delay(lv_anim_t *a, uint32_t delay)[51]
Make the animation to play back to when the forward direction is ready [52]
Parameters
  • a -- pointer to an initialized lv_anim_t variable
  • delay -- delay in milliseconds before starting the playback animation.
static inline void lv_anim_set_repeat_count(lv_anim_t *a, uint16_t cnt)[53]
Make the animation repeat itself.
Parameters
  • a -- pointer t[54]o an initialized lv_anim_t variable
  • cnt -- repeat count or LV_ANIM_REPEAT_INFINITE for infinite repetition. 0: to disable repetition.
static inline void lv_anim_set_repeat_delay(lv_anim_t *a, uint32_t delay)[55]
Set a delay before repeating the animation.
Parameters
  • a -- p[56]ointer to an initialized lv_anim_t variable
  • delay -- delay in milliseconds before repeating the animation.
static inline void lv_anim_set_early_apply(lv_anim_t *a, bool en)[57]
Set a whether the animation's should be applied immediately o[58]r only when the delay expired.
Parameters
  • a -- pointer to an initialized lv_anim_t variable
  • en -- true: apply the start value immediately in lv_anim_start; false: apply the start value only when delay ms is elapsed and the animations really starts
static inline void lv_anim_set_user_data(lv_anim_t *a, void *user_data)[59]
Set the custom user data field of the animation.
Parameters
  • [60] a -- pointer to an initialized lv_anim_t variable
  • user_data -- pointer to the new user_data.
lv_anim_t *lv_anim_start(const lv_anim_t *a)[61]
Create an animation
Parameters
a -[62]- an initialized 'anim_t' variable. Not required after call.
Returns
pointer to the created animation (different from the a parameter)
static inline uint32_t lv_anim_get_delay(lv_anim_t *a)[63]
Get a delay before starting the animation
Param[64]eters
a -- pointer to an initialized lv_anim_t variable
Returns
delay before the animation in milliseconds
uint32_t lv_anim_get_playtime(lv_anim_t *a)[65]
Get the time used to play the animation[66].
Parameters
a -- pointer to an animation.
Returns
the play time in milliseconds.
static inline void *lv_anim_get_user_data(lv_anim_t *a)[67]
Get the user_data field of the animation
Paramet[68]ers
a -- pointer to an initialized lv_anim_t variable
Returns
the pointer to the custom user_data of the animation
bool lv_anim_del(void *var, lv_anim_exec_xcb_t exec_cb)[69]
Delete an animation of a variable with a given anim[70]ator function
Parameters
  • var -- pointer to variable
  • exec_cb -- a function pointer which is animating 'var', or NULL to ignore it and delete all the animations of 'var
Returns
true: at least 1 animation is deleted, false: no animation is deleted
void lv_anim_del_all(void)[71]
Delete all the animati[72]ons
lv_anim_t *lv_anim_get(void *var, lv_anim_exec_xcb_t exec_cb)[73]
Get the animation of a variable and its exec_cb.
Param[74]eters
  • var -- pointer to variable
  • exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
Returns
pointer to the animation.
static inline bool lv_anim_custom_del(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)[75]
Delete an animation by getting the animated variable from a. Only animations with[76] exec_cb will be deleted. This function exists because it's logical that all anim. functions receives an lv_anim_t as their first parameter. It's not practical in C but might make the API more consequent and makes easier to generate bindings.
Parameters
  • a -- pointer to an animation.
  • exec_cb -- a function pointer which is animating 'var', or NULL to ignore it and delete all the animations of 'var
Returns
true: at least 1 animation is deleted, false: no animation is deleted
static inline lv_anim_t *lv_anim_custom_get(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)[77]
Get the animation of a variable and its exec_cb. This function exists because it's logi[78]cal that all anim. functions receives an lv_anim_t as their first parameter. It's not practical in C but might make the API more consequent and makes easier to generate bindings.
Parameters
  • a -- pointer to an animation.
  • exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
Returns
pointer to the animation.
uint16_t lv_anim_count_running(void)[79]
Get the number of currently runn[80]ing animations
Returns
the number of running animations
uint32_t lv_anim_speed_to_time(uint32_t speed, int32_t start, int32_t end)[81]
Calculate the time of an animation with a given speed and the start an[82]d end values
Parameters
  • speed -- speed of animation in unit/sec
  • start -- start value of the animation
  • end -- end value of the animation
Returns
the required time [ms] for the animation with the given parameters
void lv_anim_refr_now(void)[83]
Manually refresh the st[84]ate of the animations. Useful to make the animations running in a blocking process where lv_timer_handler can't run for a while. Shouldn't be used directly because it is called in lv_refr_now().
int32_t lv_anim_path_linear(const lv_anim_t *a)[85]
Calculate the current value of an animation[86] applying linear characteristic
Parameters
a -- pointer to an animation
Returns
the current value to set
int32_t lv_anim_path_ease_in(const lv_anim_t *a)[87]
Calculate the current value of an animation [88]slowing down the start phase
Parameters
a -- pointer to an animation
Returns
the current value to set
int32_t lv_anim_path_ease_out(const lv_anim_t *a)[89]
Calculate the current value of an animation s[90]lowing down the end phase
Parameters
a -- pointer to an animation
Returns
the current value to set
int32_t lv_anim_path_ease_in_out(const lv_anim_t *a)[91]
Calculate the current value of an animation appl[92]ying an "S" characteristic (cosine)
Parameters
a -- pointer to an animation
Returns
the current value to set
int32_t lv_anim_path_overshoot(const lv_anim_t *a)[93]
Calculate the current value of an animation wi[94]th overshoot at the end
Parameters
a -- pointer to an animation
Returns
the current value to set
int32_t lv_anim_path_bounce(const lv_anim_t *a)[95]
Calculate the current value of an animation[96] with 3 bounces
Parameters
a -- pointer to an animation
Returns
the current value to set
int32_t lv_anim_path_step(const lv_anim_t *a)[97]
Calculate the current value of an animati[98]on applying step characteristic. (Set end value on the end of the animation)
Parameters
a -- pointer to an animation
Returns
the current value to set
struct _lv_anim_t[99]
#include <lv_[100]anim.h> Describes an animation Public Members
void *var[101]
Varia[102]ble to animate
lv_anim_exec_xcb_t exec_cb[103]
Function to execute to[104] animate
lv_anim_start_cb_t start_cb[105]
Call it when the animat[106]ion is starts (considering delay)
lv_anim_ready_cb_t ready_cb[107]
Call it when the animat[108]ion is ready
lv_anim_get_value_cb_t get_value_cb[109]
Get the current value in relati[110]ve mode
void *user_data[111]
Custom user[112] data
lv_anim_path_cb_t path_cb[113]
Describe the path (cu[114]rve) of animations
int32_t start_value[115]
Start value
[116]
int32_t current_value[117]
Current value
[118]
int32_t end_value[119]
End value
[120]
int32_t time[121]
Animatio[122]n time in ms
int32_t act_time[123]
Current time[124] in animation. Set to negative to make delay.
uint32_t playback_delay[125]
Wait before play ba[126]ck
uint32_t playback_time[127]
Duration of playba[128]ck animation
uint32_t repeat_delay[129]
Wait before repea[130]t
uint16_t repeat_cnt[131]
Repeat count fo[132]r the animation
uint8_t early_apply[133]
1: Apply start [134]value immediately even is there is delay
uint8_t playback_now[135]
Play back is in [136]progress
uint8_t run_round[137]
Indicates the[138] animation has run in this round
uint8_t start_cb_called[139]
Indicates that the [140]start_cb was already called





戻る : Previous