1 #include "../lv_examples.h"
2 #if LV_BUILD_EXAMPLES && LV_USE_LABEL
3
short_click_event_cb(lv_event_t * e)4 static void short_click_event_cb(lv_event_t * e)
5 {
6 LV_LOG_USER("Short clicked");
7
8 lv_obj_t * info_label = lv_event_get_user_data(e);
9 lv_indev_t * indev = lv_event_get_param(e);
10 uint8_t cnt = lv_indev_get_short_click_streak(indev);
11 lv_label_set_text_fmt(info_label, "Short click streak: %u", cnt);
12 }
13
streak_event_cb(lv_event_t * e)14 static void streak_event_cb(lv_event_t * e)
15 {
16 lv_obj_t * btn = lv_event_get_target(e);
17 lv_obj_t * label = lv_obj_get_child(btn, 0);
18 const char * text = lv_event_get_user_data(e);
19 lv_label_set_text(label, text);
20 }
21
lv_example_event_streak(void)22 void lv_example_event_streak(void)
23 {
24 lv_obj_t * info_label = lv_label_create(lv_screen_active());
25 lv_label_set_text(info_label, "No events yet");
26
27 lv_obj_t * btn = lv_button_create(lv_screen_active());
28 lv_obj_set_size(btn, 100, 50);
29 lv_obj_center(btn);
30 lv_obj_add_event_cb(btn, short_click_event_cb, LV_EVENT_SHORT_CLICKED, info_label);
31 lv_obj_add_event_cb(btn, streak_event_cb, LV_EVENT_SINGLE_CLICKED, "Single clicked");
32 lv_obj_add_event_cb(btn, streak_event_cb, LV_EVENT_DOUBLE_CLICKED, "Double clicked");
33 lv_obj_add_event_cb(btn, streak_event_cb, LV_EVENT_TRIPLE_CLICKED, "Triple clicked");
34
35 lv_obj_t * label = lv_label_create(btn);
36 lv_label_set_text(label, "Click me!");
37 lv_obj_center(label);
38 }
39
40 #endif
41