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