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

提供: robot-jp wiki
ナビゲーションに移動検索に移動
2行目: 2行目:
 
__NOTOC__
 
__NOTOC__
 
= Animations =
 
= Animations =
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
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.
 
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.
  
7行目: 12行目:
 
  void func(void * var, lv_anim_var_t value);
 
  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 <code>lv_obj_set_x(obj, value)</code> or <code>lv_obj_set_width(obj, value)</code>
 
This prototype is compatible with the majority of the property ''set'' functions in LVGL. For example <code>lv_obj_set_x(obj, value)</code> or <code>lv_obj_set_width(obj, value)</code>
 +
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
 +
  
 
== Create an animation ==
 
== Create an animation ==
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
To create an animation an <code>lv_anim_t</code> variable has to be initialized and configured with <code>lv_anim_set_...()</code> functions.
 
To create an animation an <code>lv_anim_t</code> variable has to be initialized and configured with <code>lv_anim_set_...()</code> functions.
 
   
 
   
66行目: 80行目:
 
  lv_anim_start(&a);                            /*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 <code>lv_obj_set_x</code> and <code>lv_obj_set_y</code>. However, only one animation can exist with a given variable and function pair and <code>lv_anim_start()</code> will remove any existing animations for such a pair.
 
You can apply multiple different animations on the same variable at the same time. For example, animate the x and y coordinates with <code>lv_obj_set_x</code> and <code>lv_obj_set_y</code>. However, only one animation can exist with a given variable and function pair and <code>lv_anim_start()</code> will remove any existing animations for such a pair.
 +
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
 +
  
 
== Animation path ==
 
== Animation path ==
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
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:
 
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:
  
77行目: 100行目:
 
* <code>lv_anim_path_overshoot</code> overshoot the end value
 
* <code>lv_anim_path_overshoot</code> overshoot the end value
 
* <code>lv_anim_path_bounce</code> bounce back a little from the end value (like hitting a wall)
 
* <code>lv_anim_path_bounce</code> bounce back a little from the end value (like hitting a wall)
 +
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
 +
  
 
== Speed vs time ==
 
== Speed vs time ==
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
By default, you set the animation time directly. But in some cases, setting the animation speed is more practical.
 
By default, you set the animation time directly. But in some cases, setting the animation speed is more practical.
  
 
The <code>lv_anim_speed_to_time(speed, start, end)</code> 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, <code>lv_anim_speed_to_time(20,0,100)</code> will yield 5000 milliseconds. For example, in the case of <code>lv_obj_set_x</code> ''unit'' is pixels so ''20'' means ''20 px/sec'' speed.
 
The <code>lv_anim_speed_to_time(speed, start, end)</code> 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, <code>lv_anim_speed_to_time(20,0,100)</code> will yield 5000 milliseconds. For example, in the case of <code>lv_obj_set_x</code> ''unit'' is pixels so ''20'' means ''20 px/sec'' speed.
 +
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
 +
  
 
== Delete animations ==
 
== Delete animations ==
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
You can delete an animation with <code>lv_anim_del(var, func)</code> if you provide the animated variable and its animator function.
 
You can delete an animation with <code>lv_anim_del(var, func)</code> if you provide the animated variable and its animator function.
 +
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
 +
  
 
== Timeline ==
 
== Timeline ==
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
A timeline is a collection of multiple animations which makes it easy to create complex composite animations.
 
A timeline is a collection of multiple animations which makes it easy to create complex composite animations.
  
109行目: 159行目:
 
Call <code>lv_anim_timeline_del(at)</code> function to delete the animation timeline.
 
Call <code>lv_anim_timeline_del(at)</code> function to delete the animation timeline.
 
[[file:LVGL docs overview animation 01.png|link=https://docs.lvgl.io/8.2/overview/animation.html#timeline]]
 
[[file:LVGL docs overview animation 01.png|link=https://docs.lvgl.io/8.2/overview/animation.html#timeline]]
 
+
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
  
  
 
== Examples ==
 
== Examples ==
 
+
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
=== Start animation on an event ===
 
=== Start animation on an event ===
 
[[file:LVGL docs example 018.png|link=https://docs.lvgl.io/8.2/overview/animation.html#start-animation-on-an-event]]
 
[[file:LVGL docs example 018.png|link=https://docs.lvgl.io/8.2/overview/animation.html#start-animation-on-an-event]]
 
+
|
----
+
|-
 
+
|
 
=== Playback animation ===
 
=== Playback animation ===
 
[[file:LVGL docs example 019.png|link=https://docs.lvgl.io/8.2/overview/animation.html#playback-animation]]
 
[[file:LVGL docs example 019.png|link=https://docs.lvgl.io/8.2/overview/animation.html#playback-animation]]
 
+
|
----
+
|-
 
+
|
 
=== Animation timeline ===
 
=== Animation timeline ===
 
[[file:LVGL docs example 020.png|link=https://docs.lvgl.io/8.2/overview/animation.html#animation-timeline]]
 
[[file:LVGL docs example 020.png|link=https://docs.lvgl.io/8.2/overview/animation.html#animation-timeline]]
 +
|
 +
|}
 +
:[[App:Library:LVGL:docs:Overview#Animations|戻る : Previous]]
  
----
 
  
 
== API ==
 
== API ==
 +
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 
Typedefs
 
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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef int32_t (*lv_anim_path_cb_t)(const struct _lv_anim_t*) </span>
 
: Get the current value during an animation
 
: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef void (*lv_anim_exec_xcb_t)(void*, int32_t) </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
+
: Generic prototype of "animator" functions. First 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef void (*lv_anim_custom_exec_cb_t)(struct _lv_anim_t*, int32_t) </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.
+
: Same as <code>lv_anim_exec_xcb_t</code> but receives <code>lv_anim_t *</code> as the first 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef void (*lv_anim_ready_cb_t)(struct _lv_anim_t*) </span>
 
: Callback to call when the animation is ready
 
: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef void (*lv_anim_start_cb_t)(struct _lv_anim_t*) </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>)
+
: Callback to call when the animation really stars (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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef int32_t (*lv_anim_get_value_cb_t)(struct _lv_anim_t*) </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
+
: Callback used when the animation values are relative to get 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">typedef struct _lv_anim_t lv_anim_t </span>
 
: Describes an animation
 
: Describes an animation
  
Enums[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv49lv_anim_t]
+
Enums
  
; <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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">enum lv_anim_enable_t </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:''
+
: Can be used to indicate 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 style="background-color: #eeeeee;">enumerator LV_ANIM_OFF </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>
+
: <span style="background-color: #eeeeee;">enumerator LV_ANIM_ON </span>
 
::
 
::
 +
|
 +
|-
 +
|
 +
Functions
  
Functions
 
  
[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N16lv_anim_enable_t10LV_ANIM_ONE]
+
<span style="background-color:#e7f2fa;color:#2980b9;">LV_EXPORT_CONST_INT(LV_ANIM_REPEAT_INFINITE) </span>
; <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 style="background-color:#e7f2fa;color:#2980b9;">LV_EXPORT_CONST_INT(LV_ANIM_PLAYTIME_INFINITE) </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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">void _lv_anim_core_init(void) </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
+
: Init. the animation module
  
; <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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">void lv_anim_init(lv_anim_t *a) </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);
+
: Initialize an animation variable. E.g.: lv_anim_t a; lv_anim_init(&a); lv_anim_set_...(&a); lv_anim_start(&a);
:; Parameters
+
: Parameters
 
:: a -- pointer to an <code>lv_anim_t</code> variable to initialize
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_var(lv_anim_t *a, void *var) </span>
 
: Set a variable to animate
 
: Set a variable to animate
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* var -- pointer to a variable to animate
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_exec_cb(lv_anim_t *a, lv_anim_exec_xcb_t exec_cb) </span>
 
: Set a function to animate <code>var</code>
 
: Set a function to animate <code>var</code>
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <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
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_time(lv_anim_t *a, uint32_t duration) </span>
 
: Set the duration of an animation
 
: Set the duration of an animation
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* duration -- duration of the animation in milliseconds
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_delay(lv_anim_t *a, uint32_t delay) </span>
 
: Set a delay before starting the animation
 
: Set a delay before starting the animation
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* delay -- delay before the animation in milliseconds
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_values(lv_anim_t *a, int32_t start, int32_t end) </span>
 
: Set the start and end values of an animation
 
: Set the start and end values of an animation
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* start -- the start value
 
::* start -- the start value
 
::* end -- the end 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_custom_exec_cb(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb) </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>
+
: 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 first 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
+
: Parameters
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* exec_cb -- a function to execute.
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_path_cb(lv_anim_t *a, lv_anim_path_cb_t path_cb) </span>
 
: Set the path (curve) of the animation.
 
: Set the path (curve) of the animation.
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* path_cb -- a function to set the current value of the animation.
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_start_cb(lv_anim_t *a, lv_anim_start_cb_t start_cb) </span>
 
: Set a function call when the animation really starts (considering <code>delay</code>)
 
: 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
+
: Parameters
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* start_cb -- a function call when the animation starts
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_get_value_cb(lv_anim_t *a, lv_anim_get_value_cb_t get_value_cb) </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.
+
: Set a function to use the current value of the variable and make start and end value relative to the returned current value.
:; Parameters
+
: Parameters
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* get_value_cb -- a function call when the animation starts
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_ready_cb(lv_anim_t *a, lv_anim_ready_cb_t ready_cb) </span>
 
: Set a function call when the animation is ready
 
: Set a function call when the animation is ready
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* ready_cb -- a function call when the animation is ready
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_playback_time(lv_anim_t *a, uint32_t time) </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
+
: Make the animation to play back to when the forward direction is ready
:; Parameters
+
: Parameters
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* time -- the duration of the playback animation in milliseconds. 0: disable playback
 
::* 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>
+
static inline void lv_anim_set_playback_delay(lv_anim_t *a, uint32_t delay)  
: 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]
+
: Make the animation to play back to when the forward direction is ready  
:; Parameters
+
: Parameters
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* delay -- delay in milliseconds before starting the playback animation.
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_repeat_count(lv_anim_t *a, uint16_t cnt) </span>
 
: Make the animation repeat itself.
 
: Make the animation repeat itself.
:; Parameters
+
: 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
+
::* a -- pointer to 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.
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_repeat_delay(lv_anim_t *a, uint32_t delay) </span>
 
: Set a delay before repeating the animation.
 
: Set a delay before repeating the animation.
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* delay -- delay in milliseconds before repeating the animation.
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_early_apply(lv_anim_t *a, bool en) </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.
+
: Set a whether the animation's should be applied immediately or only when the delay expired.
:; Parameters
+
: Parameters
 
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* 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
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void lv_anim_set_user_data(lv_anim_t *a, void *user_data) </span>
 
: Set the custom user data field of the animation.
 
: Set the custom user data field of the animation.
:; Parameters
+
: 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
+
::* a -- pointer to an initialized <code>lv_anim_t</code> variable
 
::* user_data -- pointer to the new user_data.
 
::* 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">lv_anim_t *lv_anim_start(const lv_anim_t *a) </span>
 
: Create an animation
 
: Create an animation
:; Parameters
+
: 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.
+
:: a -- an initialized 'anim_t' variable. Not required after call.
:; Returns
+
: Returns
 
:: pointer to the created animation (different from the <code>a</code> parameter)
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline uint32_t lv_anim_get_delay(lv_anim_t *a) </span>
 
: Get a delay before starting the animation
 
: Get a delay before starting the animation
:; Param[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv417lv_anim_get_delayP9lv_anim_t]eters
+
: Parameters
 
:: a -- pointer to an initialized <code>lv_anim_t</code> variable
 
:: a -- pointer to an initialized <code>lv_anim_t</code> variable
:; Returns
+
: Returns
 
:: delay before the animation in milliseconds
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">uint32_t lv_anim_get_playtime(lv_anim_t *a) </span>
: Get the time used to play the animation[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv420lv_anim_get_playtimeP9lv_anim_t].
+
: Get the time used to play the animation.
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation.
 
:: a -- pointer to an animation.
:; Returns
+
: Returns
 
:: the play time in milliseconds.
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline void *lv_anim_get_user_data(lv_anim_t *a) </span>
 
: Get the user_data field of the animation
 
: 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
+
: Parameters
 
:: a -- pointer to an initialized <code>lv_anim_t</code> variable
 
:: a -- pointer to an initialized <code>lv_anim_t</code> variable
:; Returns
+
: Returns
 
:: the pointer to the custom user_data of the animation
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">bool lv_anim_del(void *var, lv_anim_exec_xcb_t exec_cb) </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
+
: Delete an animation of a variable with a given animator function
:; Parameters
+
: Parameters
 
::* var -- pointer to variable
 
::* 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
 
::* exec_cb -- a function pointer which is animating 'var', or NULL to ignore it and delete all the animations of 'var
:; Returns
+
: Returns
 
:: true: at least 1 animation is deleted, false: no animation is deleted
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">void lv_anim_del_all(void) </span>
: Delete all the animati[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv415lv_anim_del_allv]ons
+
: Delete all the animations
  
; <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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">lv_anim_t *lv_anim_get(void *var, lv_anim_exec_xcb_t exec_cb) </span>
 
: Get the animation of a variable and its <code>exec_cb</code>.
 
: 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
+
: Parameters
 
::* var -- pointer to variable
 
::* var -- pointer to variable
 
::* exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
 
::* exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
:; Returns
+
: Returns
 
:: pointer to the animation.
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline bool lv_anim_custom_del(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb) </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.
+
: Delete an animation by getting the animated variable from <code>a</code>. Only animations with <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
+
: Parameters
 
::* a -- pointer to an animation.
 
::* 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
 
::* exec_cb -- a function pointer which is animating 'var', or NULL to ignore it and delete all the animations of 'var
:; Returns
+
: Returns
 
:: true: at least 1 animation is deleted, false: no animation is deleted
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">static inline lv_anim_t *lv_anim_custom_get(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb) </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.
+
: Get the animation of a variable and its <code>exec_cb</code>. 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
+
: Parameters
 
::* a -- pointer to an animation.
 
::* a -- pointer to an animation.
 
::* exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
 
::* exec_cb -- a function pointer which is animating 'var', or NULL to return first matching 'var'
:; Returns
+
: Returns
 
:: pointer to the animation.
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">uint16_t lv_anim_count_running(void) </span>
: Get the number of currently runn[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv421lv_anim_count_runningv]ing animations
+
: Get the number of currently running animations
:; Returns
+
: Returns
 
:: the number of running animations
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">uint32_t lv_anim_speed_to_time(uint32_t speed, int32_t start, int32_t end) </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
+
: Calculate the time of an animation with a given speed and the start and end values
:; Parameters
+
: Parameters
 
::* speed -- speed of animation in unit/sec
 
::* speed -- speed of animation in unit/sec
 
::* start -- start value of the animation
 
::* start -- start value of the animation
 
::* end -- end value of the animation
 
::* end -- end value of the animation
:; Returns
+
: Returns
 
:: the required time [ms] for the animation with the given parameters
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">void lv_anim_refr_now(void) </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>.
+
: Manually refresh the state 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_linear(const lv_anim_t *a) </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
+
: Calculate the current value of an animation applying linear characteristic
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_ease_in(const lv_anim_t *a) </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
+
: Calculate the current value of an animation slowing down the start phase
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_ease_out(const lv_anim_t *a) </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
+
: Calculate the current value of an animation slowing down the end phase
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_ease_in_out(const lv_anim_t *a) </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)
+
: Calculate the current value of an animation applying an "S" characteristic (cosine)
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_overshoot(const lv_anim_t *a) </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
+
: Calculate the current value of an animation with overshoot at the end
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_bounce(const lv_anim_t *a) </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
+
: Calculate the current value of an animation with 3 bounces
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">int32_t lv_anim_path_step(const lv_anim_t *a) </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)
+
: Calculate the current value of an animation applying step characteristic. (Set end value on the end of the animation)
:; Parameters
+
: Parameters
 
:: a -- pointer to an animation
 
:: a -- pointer to an animation
:; Returns
+
: Returns
 
:: the current value to set
 
:: 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>
+
<span style="background-color:#e7f2fa;color:#2980b9;">struct _lv_anim_t </span>
: ''#include <lv_''[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv410_lv_anim_t]''anim.h>'' Describes an animation  Public Members
+
: ''#include <lv_''''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>
+
: void *var  
:: Varia[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t3varE]ble to animate
+
:: Variable 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>
+
: <span style="background-color: #eeeeee;">lv_anim_exec_xcb_t exec_cb </span>
:: Function to execute to[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t7exec_cbE] animate
+
:: Function to execute to 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>
+
: <span style="background-color: #eeeeee;">lv_anim_start_cb_t start_cb </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>)
+
:: Call it when the animation 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>
+
: <span style="background-color: #eeeeee;">lv_anim_ready_cb_t ready_cb </span>
:: Call it when the animat[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t8ready_cbE]ion is ready
+
:: Call it when the animation 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>
+
: <span style="background-color: #eeeeee;">lv_anim_get_value_cb_t get_value_cb </span>
:: Get the current value in relati[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12get_value_cbE]ve mode
+
:: Get the current value in relative 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>
+
: <span style="background-color: #eeeeee;">void *user_data </span>
:: Custom user[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9user_dataE] data
+
:: Custom user 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>
+
: <span style="background-color: #eeeeee;">lv_anim_path_cb_t path_cb </span>
:: Describe the path (cu[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t7path_cbE]rve) of animations
+
:: Describe the path (curve) 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>
+
: <span style="background-color: #eeeeee;">int32_t start_value </span>
 
:: Start value
 
:: 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>
+
: <span style="background-color: #eeeeee;">int32_t current_value </span>
 
:: Current value
 
:: 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>
+
: <span style="background-color: #eeeeee;">int32_t end_value </span>
 
:: End value
 
:: 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>
+
: <span style="background-color: #eeeeee;">int32_t time </span>
:: Animatio[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t4timeE]n time in ms
+
:: Animation 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>
+
: <span style="background-color: #eeeeee;">int32_t act_time </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.
+
:: Current time 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>
+
: <span style="background-color: #eeeeee;">uint32_t playback_delay </span>
:: Wait before play ba[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t14playback_delayE]ck
+
:: Wait before play back
:; <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>
+
: <span style="background-color: #eeeeee;">uint32_t playback_time </span>
:: Duration of playba[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t13playback_timeE]ck animation
+
:: Duration of playback 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>
+
: <span style="background-color: #eeeeee;">uint32_t repeat_delay </span>
:: Wait before repea[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12repeat_delayE]t
+
:: Wait before repeat
:; <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>
+
: <span style="background-color: #eeeeee;">uint16_t repeat_cnt </span>
:: Repeat count fo[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t10repeat_cntE]r the animation
+
:: Repeat count for 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>
+
: <span style="background-color: #eeeeee;">uint8_t early_apply </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>
+
:: 1: Apply start 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>
+
: <span style="background-color: #eeeeee;">uint8_t playback_now </span>
:: Play back is in [https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t12playback_nowE]progress
+
:: Play back is in 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>
+
: <span style="background-color: #eeeeee;">uint8_t run_round </span>
:: Indicates the[https://docs.lvgl.io/8.2/overview/animation.html#_CPPv4N10_lv_anim_t9run_roundE] animation has run in this round
+
:: Indicates the 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>
+
: <span style="background-color: #eeeeee;">uint8_t start_cb_called </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
+
:: Indicates that the <code>start_cb</code> was already called
 
+
|
 
+
|}
 
 
 
 
 
 
 
 
  
  
  
:[[App:Library:LVGL#Overview|戻る : Previous]]
+
[[App:Library:LVGL#Overview|戻る : Previous]]

2022年7月2日 (土) 10:59時点における版

https://docs.lvgl.io/8.2/overview/animation.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)

戻る : Previous


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.

戻る : Previous


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)
戻る : Previous


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.

戻る : Previous


Delete animations

英文 自動翻訳

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

戻る : Previous


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

戻る : Previous


Examples

英文 自動翻訳

Start animation on an event

LVGL docs example 018.png

Playback animation

LVGL docs example 019.png

Animation timeline

LVGL docs example 020.png

戻る : Previous


API

英文 自動翻訳

Typedefs

typedef int32_t (*lv_anim_path_cb_t)(const struct _lv_anim_t*)

Get the current value during an animation

typedef void (*lv_anim_exec_xcb_t)(void*, int32_t)

Generic prototype of "animator" functions. First 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)

Same as lv_anim_exec_xcb_t but receives lv_anim_t * as the first 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*)

Callback to call when the animation is ready

typedef void (*lv_anim_start_cb_t)(struct _lv_anim_t*)

Callback to call when the animation really stars (considering delay)

typedef int32_t (*lv_anim_get_value_cb_t)(struct _lv_anim_t*)

Callback used when the animation values are relative to get the current value

typedef struct _lv_anim_t lv_anim_t

Describes an animation

Enums

enum lv_anim_enable_t

Can be used to indicate if animations are enabled or disabled in a case Values:
enumerator LV_ANIM_OFF
enumerator LV_ANIM_ON

Functions


LV_EXPORT_CONST_INT(LV_ANIM_REPEAT_INFINITE)

LV_EXPORT_CONST_INT(LV_ANIM_PLAYTIME_INFINITE)

void _lv_anim_core_init(void)

Init. the animation module

void lv_anim_init(lv_anim_t *a)

Initialize an animation variable. 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)

Set a variable to animate
Parameters
  • a -- pointer 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)

Set a function to animate var
Parameters
  • a -- pointer to an initialized 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)

Set the duration of an animation
Parameters
  • a -- pointer 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)

Set a delay before starting the animation
Parameters
  • a -- 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)

Set the start and end values of an animation
Parameters
  • a -- pointer 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)

Similar to lv_anim_set_exec_cb but lv_anim_custom_exec_cb_t receives lv_anim_t * as its first 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)

Set the path (curve) of the animation.
Parameters
  • a -- pointer to an 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)

Set a function call when the animation really starts (considering delay)
Parameters
  • 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)

Set a function to use the current value of the variable and make start and end value relative 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)

Set a function call when the animation is ready
Parameters
  • a -- pointer 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)

Make the animation to play back to when the forward direction is ready
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)

Make the animation to play back to when the forward direction is ready
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)

Make the animation repeat itself.
Parameters
  • a -- pointer to 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)

Set a delay before repeating the animation.
Parameters
  • a -- pointer 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)

Set a whether the animation's should be applied immediately or 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)

Set the custom user data field of the animation.
Parameters
  • 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)

Create an animation
Parameters
a -- 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)

Get a delay before starting the animation
Parameters
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)

Get the time used to play the animation.
Parameters
a -- pointer to an animation.
Returns
the play time in milliseconds.

static inline void *lv_anim_get_user_data(lv_anim_t *a)

Get the user_data field of the animation
Parameters
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)

Delete an animation of a variable with a given animator 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)

Delete all the animations

lv_anim_t *lv_anim_get(void *var, lv_anim_exec_xcb_t exec_cb)

Get the animation of a variable and its exec_cb.
Parameters
  • 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)

Delete an animation by getting the animated variable from a. Only animations with 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)

Get the animation of a variable and its exec_cb. 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 return first matching 'var'
Returns
pointer to the animation.

uint16_t lv_anim_count_running(void)

Get the number of currently running animations
Returns
the number of running animations

uint32_t lv_anim_speed_to_time(uint32_t speed, int32_t start, int32_t end)

Calculate the time of an animation with a given speed and the start and 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)

Manually refresh the state 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)

Calculate the current value of an animation 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)

Calculate the current value of an animation 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)

Calculate the current value of an animation slowing 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)

Calculate the current value of an animation applying 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)

Calculate the current value of an animation with 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)

Calculate the current value of an animation 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)

Calculate the current value of an animation 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

#include <lv_'anim.h> Describes an animation Public Members
void *var
Variable to animate
lv_anim_exec_xcb_t exec_cb
Function to execute to animate
lv_anim_start_cb_t start_cb
Call it when the animation is starts (considering delay)
lv_anim_ready_cb_t ready_cb
Call it when the animation is ready
lv_anim_get_value_cb_t get_value_cb
Get the current value in relative mode
void *user_data
Custom user data
lv_anim_path_cb_t path_cb
Describe the path (curve) of animations
int32_t start_value
Start value
int32_t current_value
Current value
int32_t end_value
End value
int32_t time
Animation time in ms
int32_t act_time
Current time in animation. Set to negative to make delay.
uint32_t playback_delay
Wait before play back
uint32_t playback_time
Duration of playback animation
uint32_t repeat_delay
Wait before repeat
uint16_t repeat_cnt
Repeat count for the animation
uint8_t early_apply
1: Apply start value immediately even is there is delay
uint8_t playback_now
Play back is in progress
uint8_t run_round
Indicates the animation has run in this round
uint8_t start_cb_called
Indicates that the start_cb was already called


戻る : Previous