lv_example_event_2.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "../lv_examples.h"
  2. #if LV_BUILD_EXAMPLES && LV_USE_SWITCH
  3. static void event_cb(lv_event_t * e)
  4. {
  5. lv_event_code_t code = lv_event_get_code(e);
  6. lv_obj_t * label = lv_event_get_user_data(e);
  7. switch(code) {
  8. case LV_EVENT_PRESSED:
  9. lv_label_set_text(label, "The last button event:\nLV_EVENT_PRESSED");
  10. break;
  11. case LV_EVENT_CLICKED:
  12. lv_label_set_text(label, "The last button event:\nLV_EVENT_CLICKED");
  13. break;
  14. case LV_EVENT_LONG_PRESSED:
  15. lv_label_set_text(label, "The last button event:\nLV_EVENT_LONG_PRESSED");
  16. break;
  17. case LV_EVENT_LONG_PRESSED_REPEAT:
  18. lv_label_set_text(label, "The last button event:\nLV_EVENT_LONG_PRESSED_REPEAT");
  19. break;
  20. default:
  21. break;
  22. }
  23. }
  24. /**
  25. * Handle multiple events
  26. */
  27. void lv_example_event_2(void)
  28. {
  29. lv_obj_t * btn = lv_btn_create(lv_scr_act());
  30. lv_obj_set_size(btn, 100, 50);
  31. lv_obj_center(btn);
  32. lv_obj_t * btn_label = lv_label_create(btn);
  33. lv_label_set_text(btn_label, "Click me!");
  34. lv_obj_center(btn_label);
  35. lv_obj_t * info_label = lv_label_create(lv_scr_act());
  36. lv_label_set_text(info_label, "The last button event:\nNone");
  37. lv_obj_add_event_cb(btn, event_cb, LV_EVENT_ALL, info_label);
  38. }
  39. #endif