acid-drop- Hacking the planet from a LilyGo T-Deck using custom firmware |
git clone git://git.acid.vegas/acid-drop.git |
Log | Files | Refs | Archive | README | LICENSE |
lv_example_anim_1.c (1399B)
1 #include "../lv_examples.h" 2 #if LV_BUILD_EXAMPLES && LV_USE_SWITCH 3 4 static void anim_x_cb(void * var, int32_t v) 5 { 6 lv_obj_set_x(var, v); 7 } 8 9 static void sw_event_cb(lv_event_t * e) 10 { 11 lv_obj_t * sw = lv_event_get_target(e); 12 lv_obj_t * label = lv_event_get_user_data(e); 13 14 if(lv_obj_has_state(sw, LV_STATE_CHECKED)) { 15 lv_anim_t a; 16 lv_anim_init(&a); 17 lv_anim_set_var(&a, label); 18 lv_anim_set_values(&a, lv_obj_get_x(label), 100); 19 lv_anim_set_time(&a, 500); 20 lv_anim_set_exec_cb(&a, anim_x_cb); 21 lv_anim_set_path_cb(&a, lv_anim_path_overshoot); 22 lv_anim_start(&a); 23 } 24 else { 25 lv_anim_t a; 26 lv_anim_init(&a); 27 lv_anim_set_var(&a, label); 28 lv_anim_set_values(&a, lv_obj_get_x(label), -lv_obj_get_width(label)); 29 lv_anim_set_time(&a, 500); 30 lv_anim_set_exec_cb(&a, anim_x_cb); 31 lv_anim_set_path_cb(&a, lv_anim_path_ease_in); 32 lv_anim_start(&a); 33 } 34 35 } 36 37 /** 38 * Start animation on an event 39 */ 40 void lv_example_anim_1(void) 41 { 42 lv_obj_t * label = lv_label_create(lv_scr_act()); 43 lv_label_set_text(label, "Hello animations!"); 44 lv_obj_set_pos(label, 100, 10); 45 46 47 lv_obj_t * sw = lv_switch_create(lv_scr_act()); 48 lv_obj_center(sw); 49 lv_obj_add_state(sw, LV_STATE_CHECKED); 50 lv_obj_add_event_cb(sw, sw_event_cb, LV_EVENT_VALUE_CHANGED, label); 51 } 52 53 #endif