lv_example_anim_2.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include "../lv_examples.h"
  2. #if LV_BUILD_EXAMPLES && LV_USE_SWITCH
  3. static void anim_x_cb(void * var, int32_t v)
  4. {
  5. lv_obj_set_x(var, v);
  6. }
  7. static void anim_size_cb(void * var, int32_t v)
  8. {
  9. lv_obj_set_size(var, v, v);
  10. }
  11. /**
  12. * Create a playback animation
  13. */
  14. void lv_example_anim_2(void)
  15. {
  16. lv_obj_t * obj = lv_obj_create(lv_scr_act());
  17. lv_obj_set_style_bg_color(obj, lv_palette_main(LV_PALETTE_RED), 0);
  18. lv_obj_set_style_radius(obj, LV_RADIUS_CIRCLE, 0);
  19. lv_obj_align(obj, LV_ALIGN_LEFT_MID, 10, 0);
  20. lv_anim_t a;
  21. lv_anim_init(&a);
  22. lv_anim_set_var(&a, obj);
  23. lv_anim_set_values(&a, 10, 50);
  24. lv_anim_set_time(&a, 1000);
  25. lv_anim_set_playback_delay(&a, 100);
  26. lv_anim_set_playback_time(&a, 300);
  27. lv_anim_set_repeat_delay(&a, 500);
  28. lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
  29. lv_anim_set_path_cb(&a, lv_anim_path_ease_in_out);
  30. lv_anim_set_exec_cb(&a, anim_size_cb);
  31. lv_anim_start(&a);
  32. lv_anim_set_exec_cb(&a, anim_x_cb);
  33. lv_anim_set_values(&a, 10, 240);
  34. lv_anim_start(&a);
  35. }
  36. #endif