Lines Matching refs:a

33 static void anim_ready_handler(lv_anim_t * a);
64 void lv_anim_init(lv_anim_t * a) in lv_anim_init() argument
66 lv_memset_00(a, sizeof(lv_anim_t)); in lv_anim_init()
67 a->time = 500; in lv_anim_init()
68 a->start_value = 0; in lv_anim_init()
69 a->end_value = 100; in lv_anim_init()
70 a->repeat_cnt = 1; in lv_anim_init()
71 a->path_cb = lv_anim_path_linear; in lv_anim_init()
72 a->early_apply = 1; in lv_anim_init()
75 lv_anim_t * lv_anim_start(const lv_anim_t * a) in lv_anim_start() argument
80 …if(a->exec_cb != NULL) lv_anim_del(a->var, a->exec_cb); /*exec_cb == NULL would delete all animati… in lv_anim_start()
93 lv_memcpy(new_anim, a, sizeof(lv_anim_t)); in lv_anim_start()
94 if(a->var == a) new_anim->var = new_anim; in lv_anim_start()
116 uint32_t lv_anim_get_playtime(lv_anim_t * a) in lv_anim_get_playtime() argument
120 if(a->repeat_cnt == LV_ANIM_REPEAT_INFINITE) in lv_anim_get_playtime()
123 playtime = a->time - a->act_time; in lv_anim_get_playtime()
124 if(a->playback_now == 0) in lv_anim_get_playtime()
125 playtime += a->playback_delay + a->playback_time; in lv_anim_get_playtime()
127 if(a->repeat_cnt <= 1) in lv_anim_get_playtime()
130 playtime += (a->repeat_delay + a->time + in lv_anim_get_playtime()
131 a->playback_delay + a->playback_time) * in lv_anim_get_playtime()
132 (a->repeat_cnt - 1); in lv_anim_get_playtime()
139 lv_anim_t * a; in lv_anim_del() local
142 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); in lv_anim_del()
143 while(a != NULL) { in lv_anim_del()
145 a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); in lv_anim_del()
147 if((a->var == var || var == NULL) && (a->exec_cb == exec_cb || exec_cb == NULL)) { in lv_anim_del()
148 _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); in lv_anim_del()
149 if(a->deleted_cb != NULL) a->deleted_cb(a); in lv_anim_del()
150 lv_mem_free(a); in lv_anim_del()
156 a = a_next; in lv_anim_del()
170 lv_anim_t * a; in lv_anim_get() local
171 _LV_LL_READ(&LV_GC_ROOT(_lv_anim_ll), a) { in lv_anim_get()
172 if(a->var == var && (a->exec_cb == exec_cb || exec_cb == NULL)) { in lv_anim_get()
173 return a; in lv_anim_get()
188 lv_anim_t * a; in lv_anim_count_running() local
189 _LV_LL_READ(&LV_GC_ROOT(_lv_anim_ll), a) cnt++; in lv_anim_count_running()
211 int32_t lv_anim_path_linear(const lv_anim_t * a) in lv_anim_path_linear() argument
214 int32_t step = lv_map(a->act_time, 0, a->time, 0, LV_ANIM_RESOLUTION); in lv_anim_path_linear()
219 new_value = step * (a->end_value - a->start_value); in lv_anim_path_linear()
221 new_value += a->start_value; in lv_anim_path_linear()
226 int32_t lv_anim_path_ease_in(const lv_anim_t * a) in lv_anim_path_ease_in() argument
229 uint32_t t = lv_map(a->act_time, 0, a->time, 0, LV_BEZIER_VAL_MAX); in lv_anim_path_ease_in()
233 new_value = step * (a->end_value - a->start_value); in lv_anim_path_ease_in()
235 new_value += a->start_value; in lv_anim_path_ease_in()
240 int32_t lv_anim_path_ease_out(const lv_anim_t * a) in lv_anim_path_ease_out() argument
243 uint32_t t = lv_map(a->act_time, 0, a->time, 0, LV_BEZIER_VAL_MAX); in lv_anim_path_ease_out()
247 new_value = step * (a->end_value - a->start_value); in lv_anim_path_ease_out()
249 new_value += a->start_value; in lv_anim_path_ease_out()
254 int32_t lv_anim_path_ease_in_out(const lv_anim_t * a) in lv_anim_path_ease_in_out() argument
257 uint32_t t = lv_map(a->act_time, 0, a->time, 0, LV_BEZIER_VAL_MAX); in lv_anim_path_ease_in_out()
261 new_value = step * (a->end_value - a->start_value); in lv_anim_path_ease_in_out()
263 new_value += a->start_value; in lv_anim_path_ease_in_out()
268 int32_t lv_anim_path_overshoot(const lv_anim_t * a) in lv_anim_path_overshoot() argument
271 uint32_t t = lv_map(a->act_time, 0, a->time, 0, LV_BEZIER_VAL_MAX); in lv_anim_path_overshoot()
275 new_value = step * (a->end_value - a->start_value); in lv_anim_path_overshoot()
277 new_value += a->start_value; in lv_anim_path_overshoot()
282 int32_t lv_anim_path_bounce(const lv_anim_t * a) in lv_anim_path_bounce() argument
285 int32_t t = lv_map(a->act_time, 0, a->time, 0, LV_BEZIER_VAL_MAX); in lv_anim_path_bounce()
286 int32_t diff = (a->end_value - a->start_value); in lv_anim_path_bounce()
328 new_value = a->end_value - new_value; in lv_anim_path_bounce()
333 int32_t lv_anim_path_step(const lv_anim_t * a) in lv_anim_path_step() argument
335 if(a->act_time >= a->time) in lv_anim_path_step()
336 return a->end_value; in lv_anim_path_step()
338 return a->start_value; in lv_anim_path_step()
358 lv_anim_t * a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); in anim_timer() local
360 while(a != NULL) { in anim_timer()
367 if(a->run_round != anim_run_round) { in anim_timer()
368a->run_round = anim_run_round; /*The list readying might be reset so need to know which anim has r… in anim_timer()
371 int32_t new_act_time = a->act_time + elaps; in anim_timer()
372 if(!a->start_cb_called && a->act_time <= 0 && new_act_time >= 0) { in anim_timer()
373 if(a->early_apply == 0 && a->get_value_cb) { in anim_timer()
374 int32_t v_ofs = a->get_value_cb(a); in anim_timer()
375 a->start_value += v_ofs; in anim_timer()
376 a->end_value += v_ofs; in anim_timer()
378 if(a->start_cb) a->start_cb(a); in anim_timer()
379 a->start_cb_called = 1; in anim_timer()
381 a->act_time += elaps; in anim_timer()
382 if(a->act_time >= 0) { in anim_timer()
383 if(a->act_time > a->time) a->act_time = a->time; in anim_timer()
386 new_value = a->path_cb(a); in anim_timer()
388 if(new_value != a->current_value) { in anim_timer()
389 a->current_value = new_value; in anim_timer()
391 if(a->exec_cb) a->exec_cb(a->var, new_value); in anim_timer()
395 if(a->act_time >= a->time) { in anim_timer()
396 anim_ready_handler(a); in anim_timer()
404 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); in anim_timer()
406 a = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); in anim_timer()
417 static void anim_ready_handler(lv_anim_t * a) in anim_ready_handler() argument
420 if(a->playback_now == 0 && a->repeat_cnt > 0 && a->repeat_cnt != LV_ANIM_REPEAT_INFINITE) { in anim_ready_handler()
421 a->repeat_cnt--; in anim_ready_handler()
427 if(a->repeat_cnt == 0 && (a->playback_time == 0 || a->playback_now == 1)) { in anim_ready_handler()
431 _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); in anim_ready_handler()
436 if(a->ready_cb != NULL) a->ready_cb(a); in anim_ready_handler()
437 if(a->deleted_cb != NULL) a->deleted_cb(a); in anim_ready_handler()
438 lv_mem_free(a); in anim_ready_handler()
442 a->act_time = -(int32_t)(a->repeat_delay); /*Restart the animation*/ in anim_ready_handler()
444 if(a->playback_time != 0) { in anim_ready_handler()
446 if(a->playback_now == 0) a->act_time = -(int32_t)(a->playback_delay); in anim_ready_handler()
449 a->playback_now = a->playback_now == 0 ? 1 : 0; in anim_ready_handler()
451 int32_t tmp = a->start_value; in anim_ready_handler()
452 a->start_value = a->end_value; in anim_ready_handler()
453 a->end_value = tmp; in anim_ready_handler()
455 tmp = a->time; in anim_ready_handler()
456 a->time = a->playback_time; in anim_ready_handler()
457 a->playback_time = tmp; in anim_ready_handler()