「App:Library:LVGL:docs:Overview:Animations」の版間の差分
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 animationlv_anim_path_step
change in one step at the endlv_anim_path_ease_in
slow at the beginninglv_anim_path_ease_out
slow at the endlv_anim_path_ease_in_out
slow at the beginning and endlv_anim_path_overshoot
overshoot the end valuelv_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.
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 Thex
in_xcb_t
means it's not a fully generic prototype because it doesn't receivelv_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 receiveslv_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:
Functions
- LV_EXPORT_CONST_INT(LV_ANIM_REPEAT_INFINITE)[21]
- 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
- a -- point[30]er to an initialized
- 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
- a -- pointer to an initiali[32]zed
- 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
- a -- pointer[34] to an initialized
- 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
- a[36] -- pointer to an initialized
- 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
- a -- pointe[38]r to an initialized
- 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
butlv_anim_custom_exec_cb_t
receiveslv_anim_t *
as its f[40]irst parameter instead ofvoid *
. This function might be used when LVGL is bound to other languages because it's more consistent to havelv_anim_t *
as first parameter. The variable to animate can be stored in the animation'suser_data
- Parameters
-
- a -- pointer to an initialized
lv_anim_t
variable - exec_cb -- a function to execute.
- a -- pointer to an initialized
- 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.
- a -- pointer to a[42]n initialized
- 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
- a -- pointer to an initialized
- 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
- a -- pointer to an initialized
- 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
- a -- pointe[48]r to an initialized
- 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
- a -- pointer to an initialized
- 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.
- a -- pointer to an initialized
- 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.
- a -- pointer t[54]o an initialized
- 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.
- a -- p[56]ointer to an initialized
- 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 whendelay
ms is elapsed and the animations really starts
- a -- pointer to an initialized
- 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.
- [60] a -- pointer to an initialized
- 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
- 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 anlv_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 anlv_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 inlv_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