Lines Matching refs:a

37 static bool anim_ready_handler(lv_anim_t * a);
72 void lv_anim_init(lv_anim_t * a) in lv_anim_init() argument
74 memset(a, 0, sizeof(lv_anim_t)); in lv_anim_init()
75 a->time = 500; in lv_anim_init()
76 a->start = 0; in lv_anim_init()
77 a->end = 100; in lv_anim_init()
78 a->path_cb = lv_anim_path_linear; in lv_anim_init()
84 void lv_anim_create(lv_anim_t * a) in lv_anim_create() argument
88 …if(a->exec_cb != NULL) lv_anim_del(a->var, a->exec_cb); /*fp == NULL would delete all animations o… in lv_anim_create()
96 a->playback_now = 0; in lv_anim_create()
97 memcpy(new_anim, a, sizeof(lv_anim_t)); in lv_anim_create()
118 lv_anim_t * a; in lv_anim_del() local
121 a = lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); in lv_anim_del()
122 while(a != NULL) { in lv_anim_del()
124 a_next = lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); in lv_anim_del()
126 if(a->var == var && (a->exec_cb == exec_cb || exec_cb == NULL)) { in lv_anim_del()
127 lv_ll_rem(&LV_GC_ROOT(_lv_anim_ll), a); in lv_anim_del()
128 lv_mem_free(a); in lv_anim_del()
134 a = a_next; in lv_anim_del()
147 lv_anim_t * a; in lv_anim_count_running() local
148 LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) cnt++; in lv_anim_count_running()
179 lv_anim_value_t lv_anim_path_linear(const lv_anim_t * a) in lv_anim_path_linear() argument
183 if(a->time == a->act_time) { in lv_anim_path_linear()
186 step = ((int32_t)a->act_time * LV_ANIM_RESOLUTION) / a->time; in lv_anim_path_linear()
192 new_value = (int32_t)step * (a->end - a->start); in lv_anim_path_linear()
194 new_value += a->start; in lv_anim_path_linear()
204 lv_anim_value_t lv_anim_path_ease_in(const lv_anim_t * a) in lv_anim_path_ease_in() argument
208 if(a->time == a->act_time) in lv_anim_path_ease_in()
211 t = (uint32_t)((uint32_t)a->act_time * 1024) / a->time; in lv_anim_path_ease_in()
216 new_value = (int32_t)step * (a->end - a->start); in lv_anim_path_ease_in()
218 new_value += a->start; in lv_anim_path_ease_in()
228 lv_anim_value_t lv_anim_path_ease_out(const lv_anim_t * a) in lv_anim_path_ease_out() argument
233 if(a->time == a->act_time) in lv_anim_path_ease_out()
236 t = (uint32_t)((uint32_t)a->act_time * 1024) / a->time; in lv_anim_path_ease_out()
241 new_value = (int32_t)step * (a->end - a->start); in lv_anim_path_ease_out()
243 new_value += a->start; in lv_anim_path_ease_out()
253 lv_anim_value_t lv_anim_path_ease_in_out(const lv_anim_t * a) in lv_anim_path_ease_in_out() argument
258 if(a->time == a->act_time) in lv_anim_path_ease_in_out()
261 t = (uint32_t)((uint32_t)a->act_time * 1024) / a->time; in lv_anim_path_ease_in_out()
266 new_value = (int32_t)step * (a->end - a->start); in lv_anim_path_ease_in_out()
268 new_value += a->start; in lv_anim_path_ease_in_out()
278 lv_anim_value_t lv_anim_path_overshoot(const lv_anim_t * a) in lv_anim_path_overshoot() argument
283 if(a->time == a->act_time) in lv_anim_path_overshoot()
286 t = (uint32_t)((uint32_t)a->act_time * 1024) / a->time; in lv_anim_path_overshoot()
291 new_value = (int32_t)step * (a->end - a->start); in lv_anim_path_overshoot()
293 new_value += a->start; in lv_anim_path_overshoot()
303 lv_anim_value_t lv_anim_path_bounce(const lv_anim_t * a) in lv_anim_path_bounce() argument
307 if(a->time == a->act_time) in lv_anim_path_bounce()
310 t = (uint32_t)((uint32_t)a->act_time * 1024) / a->time; in lv_anim_path_bounce()
312 int32_t diff = (a->end - a->start); in lv_anim_path_bounce()
350 new_value = a->end - new_value; in lv_anim_path_bounce()
361 lv_anim_value_t lv_anim_path_step(const lv_anim_t * a) in lv_anim_path_step() argument
363 if(a->act_time >= a->time) in lv_anim_path_step()
364 return a->end; in lv_anim_path_step()
366 return a->start; in lv_anim_path_step()
381 lv_anim_t * a; in anim_task() local
382 LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) in anim_task()
384 a->has_run = 0; in anim_task()
389 a = lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); in anim_task()
391 while(a != NULL) { in anim_task()
398 if(!a->has_run) { in anim_task()
399a->has_run = 1; /*The list readying might be reseted so need to know which anim has run already*/ in anim_task()
400 a->act_time += elaps; in anim_task()
401 if(a->act_time >= 0) { in anim_task()
402 if(a->act_time > a->time) a->act_time = a->time; in anim_task()
405 new_value = a->path_cb(a); in anim_task()
408 if(a->exec_cb) a->exec_cb(a->var, new_value); in anim_task()
411 if(a->act_time >= a->time) { in anim_task()
412 anim_ready_handler(a); in anim_task()
420 a = lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); in anim_task()
422 a = lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); in anim_task()
434 static bool anim_ready_handler(lv_anim_t * a) in anim_ready_handler() argument
440 …if((a->repeat == 0 && a->playback == 0) || (a->repeat == 0 && a->playback == 1 && a->playback_now … in anim_ready_handler()
445 memcpy(&a_tmp, a, sizeof(lv_anim_t)); in anim_ready_handler()
446 lv_ll_rem(&LV_GC_ROOT(_lv_anim_ll), a); in anim_ready_handler()
447 lv_mem_free(a); in anim_ready_handler()
455 a->act_time = -a->repeat_pause; /*Restart the animation*/ in anim_ready_handler()
457 if(a->playback != 0) { in anim_ready_handler()
459 if(a->playback_now == 0) a->act_time = -a->playback_pause; in anim_ready_handler()
462 a->playback_now = a->playback_now == 0 ? 1 : 0; in anim_ready_handler()
465 tmp = a->start; in anim_ready_handler()
466 a->start = a->end; in anim_ready_handler()
467 a->end = tmp; in anim_ready_handler()