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
|
Functions
LV_EXPORT_CONST_INT(LV_ANIM_REPEAT_INFINITE)
LV_EXPORT_CONST_INT(LV_ANIM_PLAYTIME_INFINITE)
void _lv_anim_core_init(void)
- アニメーションモジュールの初期化
void lv_anim_init(lv_anim_t *a)
- アニメーション変数を初期化する。例: lv_anim_t a; lv_anim_init(&a); lv_anim_set_...(&a); lv_anim_start(&a);
- Parameters
- a -- 初期化する
lv_anim_t 変数へのポインタを指定します。
static inline void lv_anim_set_var(lv_anim_t *a, void *var)
- アニメーションを行う変数を設定する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- var -- アニメーションを行う変数へのポインタ
static inline void lv_anim_set_exec_cb(lv_anim_t *a, lv_anim_exec_xcb_t exec_cb)
- アニメーション
var を行う関数を設定する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- exec_cb -- アニメーション中に実行する関数 LVGL の組み込み関数を使用することができます.例:lv_obj_set_x
static inline void lv_anim_set_time(lv_anim_t *a, uint32_t duration)
- アニメーションのデュレーションを設定する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- duration -- アニメーションの継続時間(単位:ミリ秒
static inline void lv_anim_set_delay(lv_anim_t *a, uint32_t delay)
- アニメーションを開始するまでの遅延時間を設定する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- delay -- アニメーションの前の遅延時間(ミリ秒単位)
static inline void lv_anim_set_values(lv_anim_t *a, int32_t start, int32_t end)
- アニメーションの開始値と終了値を設定する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- start -- 開始値
- end --終わり値
static inline void lv_anim_set_custom_exec_cb(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)
lv_anim_set_exec_cb と似ていますが、 lv_anim_custom_exec_cb_t は void * の代わりにlv_anim_t * を最初の引数として受け取ります。
- この関数は、LVGLが他の言語にバインドされている場合に使用できます。これは、最初のパラメーターとして
lv_anim_t * を使用する方が一貫性があるためです。
- アニメーションさせる変数は,アニメーションの
user_data に格納することができます.
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ
- exec_cb -- 実行する関数。
static inline void lv_anim_set_path_cb(lv_anim_t *a, lv_anim_path_cb_t path_cb)
- アニメーションのパス (カーブ) を設定します。
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ
- path_cb -- アニメーションの現在の値を設定する関数。
static inline void lv_anim_set_start_cb(lv_anim_t *a, lv_anim_start_cb_t start_cb)
- アニメーションが実際に開始するときに関数呼び出しを設定する (
delay を考慮)
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ
- start_cb -- アニメーション開始時の関数呼び出し
static inline void lv_anim_set_get_value_cb(lv_anim_t *a, lv_anim_get_value_cb_t get_value_cb)
- 変数の現在の値を使用し、戻り値に相対的な開始値と終了値を作成する関数を設定します。
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ
- get_value_cb -- アニメーション開始時の関数呼び出し
static inline void lv_anim_set_ready_cb(lv_anim_t *a, lv_anim_ready_cb_t ready_cb)
- アニメーションの準備ができたときに関数呼び出しを設定する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ
- ready_cb -- アニメーションの準備ができたときの関数呼び出し
static inline void lv_anim_set_playback_time(lv_anim_t *a, uint32_t time)
- 順方向の準備ができたらアニメーションを再生する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ
- time -- 再生アニメーションの継続時間 (ミリ秒単位) 。0:再生を無効にします。
static inline void lv_anim_set_playback_delay(lv_anim_t *a, uint32_t delay)
- 順方向の準備ができたときに再生するアニメーションを作る
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- delay -- 再生アニメーションを開始するまでの遅延時間をミリ秒単位で指定します。
static inline void lv_anim_set_repeat_count(lv_anim_t *a, uint16_t cnt)
- アニメーションを繰り返すようにする。
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- cnt -- 繰り返し回数,または
LV_ANIM_REPEAT_INFINITE で無限回数を指定する。0:繰り返しを無効とする。
static inline void lv_anim_set_repeat_delay(lv_anim_t *a, uint32_t delay)
- アニメーションを繰り返すまでの遅延時間を設定します。
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- delay -- アニメーションを繰り返す前に、ミリ秒単位で遅延させます。
static inline void lv_anim_set_early_apply(lv_anim_t *a, bool en)
- アニメーションを即座に適用するか、遅延時間が終了してから適用するかを設定します。
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- en -- true:
lv_anim_start ですぐに開始値を適用、false: delay ms が経過し、本当にアニメーションが開始されたときにのみ開始値を適用。
static inline void lv_anim_set_user_data(lv_anim_t *a, void *user_data)
- アニメーションのカスタムユーザーデータフィールドを設定します。
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- user_data -- 新しい user_data へのポインタを指定します。
lv_anim_t *lv_anim_start(const lv_anim_t *a)
- アニメーションを作成する
- Parameters
- a -- 初期化された 'anim_t' 変数。呼び出し後は必要ない。
- Returns
- 作成されたアニメーションへのポインタ(a パラメータとは異なります)。
static inline uint32_t lv_anim_get_delay(lv_anim_t *a)
- アニメーションを開始する前にディレイを取得する
- Parameters
- a -- 初期化された
lv_anim_t 変数へのポインタ。
- Returns
- アニメーションの前の遅延時間(ミリ秒単位)
uint32_t lv_anim_get_playtime(lv_anim_t *a)
- アニメーションの再生に使用した時間を取得します。
- Parameters
- a -- アニメーションへのポインタを指定します。
- Returns
- 再生時間をミリ秒単位で指定します。
static inline void *lv_anim_get_user_data(lv_anim_t *a)
- アニメーションのuser_dataフィールドを取得します。
- Parameters
- a -- 初期化された lv_anim_t 変数へのポインタを指定します。
- Returns
- アニメーションのカスタム user_data へのポインタ。
bool lv_anim_del(void *var, lv_anim_exec_xcb_t exec_cb)
- アニメーター関数で指定された変数のアニメーションを削除する
- Parameters
- var -- 変数へのポインタ
- exec_cb -- var' をアニメーション化する関数ポインタを指定するか、 それを無視して 'var' のアニメーションをすべて削除するには NULL を指定します。
- Returns
- true: 少なくとも1つのアニメーションが削除される,
- false: アニメーションが削除されない
void lv_anim_del_all(void)
- アニメーションをすべて削除する
lv_anim_t *lv_anim_get(void *var, lv_anim_exec_xcb_t exec_cb)
- 変数とその
exec_cb のアニメーションを取得します。
- Parameters
- var --変数へのポインタ
- exec_cb -- var' をアニメーション化する関数へのポインタ、 または最初にマッチした 'var' を返す場合は NULL を指定します。
- Returns
- アニメーションへのポインタを指定します。
static inline bool lv_anim_custom_del(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)
a から animated 変数を取得し、アニメーションを削除します。 exec_cb を持つアニメーションだけが削除されます。 この関数が存在するのは、すべての anim. 関数はその最初のパラメータとして lv_anim_t を受け取ります。 C では実用的ではありませんが、API をより合理的にし、バインディングの生成を容易にするためです。
- Parameters
- a -- アニメーションへのポインタを指定します。
- exec_cb -- var' をアニメーション化する関数ポインタを指定するか、 それを無視して 'var' のアニメーションをすべて削除するには NULL を指定します。
- Returns
- true: 少なくとも1つのアニメーションが削除される,
- false: アニメーションが削除されない
static inline lv_anim_t *lv_anim_custom_get(lv_anim_t *a, lv_anim_custom_exec_cb_t exec_cb)
- 変数とその
exec_cb のアニメーションを取得します。この関数が存在するのは、すべての anim 関数がその最初のパラメータとして lv_anim_t を受け取ることが論理的であるからです。C では実用的ではありませんが、API をより効果的にし、バインディングの生成を容易にするためです。
- Parameters
- a -- アニメーションへのポインタを指定します。
- exec_cb -- var' をアニメーション化する関数へのポインタ、 または最初にマッチした 'var' を返す場合は NULL を指定します。
- Returns
- アニメーションへのポインタを指定します。
uint16_t lv_anim_count_running(void)
- 現在実行中のアニメーションの数を取得する
- Returns
- 実行中のアニメーションの数
uint32_t lv_anim_speed_to_time(uint32_t speed, int32_t start, int32_t end)
- 与えられた速度と開始値、終了値でアニメーションの時間を計算する
- Parameters
- speed -- アニメーションの速度(単位:秒
- start -- アニメーションの開始値
- end -- アニメーションの終了値
- Returns
- 与えられたパラメータでアニメーションの所要時間[ms]を指定します。
void lv_anim_refr_now(void)
- アニメーションの状態を手動でリフレッシュします。
lv_timer_handler がしばらく実行できないようなブロッキング処理でアニメーションを動作させる場合に便利。lv_refr_now() の中で呼び出されるので、直接使用するべきではありません。
int32_t lv_anim_path_linear(const lv_anim_t *a)
- 線形特性を適用するアニメーションの現在の値を計算する
- Parameters
- a -- アニメーションへのポインタ
- Returns
- 設定する現在の値
int32_t lv_anim_path_ease_in(const lv_anim_t *a)
- 開始フェーズの速度を低下させるアニメーションの現在の値を計算する
- Parameters
- a -- アニメーションへのポインタ
- Returns
- 設定する現在の値
int32_t lv_anim_path_ease_out(const lv_anim_t *a)
- 終了フェーズを遅くするアニメーションの現在の値を計算する
- Parameters
- a -- アニメーションへのポインタ
- Returns
- 設定する現在の値
int32_t lv_anim_path_ease_in_out(const lv_anim_t *a)
- S特性(コサイン)を応用したアニメーションの現在値を算出する。
- Parameters
- a -- アニメーションのポインタ
- Returns
- 設定する現在の値
int32_t lv_anim_path_overshoot(const lv_anim_t *a)
- 最後にオーバーシュートがあるアニメーションの電流値を計算する
- Parameters
- a -- アニメーションのポインタ
- Returns
- 設定する現在の値
int32_t lv_anim_path_bounce(const lv_anim_t *a)
- 3回バウンドするアニメーションの現在値を計算する
- Parameters
- a -- アニメーションのポインタ
- Returns
- 設定する現在の値
int32_t lv_anim_path_step(const lv_anim_t *a)
- ステップ特性を適用したアニメーションの現在値を算出する。(アニメーションの終了時に終了値を設定する)。
- Parameters
- a -- アニメーションのポインタ
- Returns
- 設定する現在の値
struct _lv_anim_t
- #include <lv_anim.h>
- アニメーションを描写する
- Public Members
- void *var
- アニメーションする変数
- lv_anim_exec_xcb_t exec_cb
- アニメーションさせるために実行する関数
- lv_anim_start_cb_t start_cb
- アニメーション開始時に呼び出す(
delay を考慮)
- lv_anim_ready_cb_t ready_cb
- アニメーションの準備ができたら呼び出す
- lv_anim_get_value_cb_t get_value_cb
- 相対モードで現在値を取得する
- void *user_data
- カスタムユーザーデータ
- lv_anim_path_cb_t path_cb
- アニメーションのパス(曲線)を表現する
- int32_t start_value
- スタート値
- int32_t current_value
- 現在値
- int32_t end_value
- 終了値
- int32_t time
- アニメーションの時間(単位:ms
- int32_t act_time
- アニメーションの現在時刻。 負の値を設定すると、遅延が発生する。
- uint32_t playback_delay
- 再生前に待機
- uint32_t playback_time
- 再生アニメーションの再生時間
- uint32_t repeat_delay
- 繰り返し前に待機
- uint16_t repeat_cnt
- アニメーションの繰り返し再生回数
- uint8_t early_apply
- 1:
delay があってもすぐにスタート値を適用する。
- uint8_t playback_now
- Play back is in progress
- uint8_t run_round
- このラウンドでアニメーションが実行されたことを示す
- uint8_t start_cb_called
start_cb が既に呼び出されていたことを示す。
|