#include "../lv_examples.h" #if LV_BUILD_EXAMPLES && LV_USE_LABEL static void short_click_event_cb(lv_event_t * e) { LV_LOG_USER("Short clicked"); lv_obj_t * info_label = lv_event_get_user_data(e); lv_indev_t * indev = lv_event_get_param(e); uint8_t cnt = lv_indev_get_short_click_streak(indev); lv_label_set_text_fmt(info_label, "Short click streak: %u", cnt); } static void streak_event_cb(lv_event_t * e) { lv_obj_t * btn = lv_event_get_target(e); lv_obj_t * label = lv_obj_get_child(btn, 0); const char * text = lv_event_get_user_data(e); lv_label_set_text(label, text); } void lv_example_event_streak(void) { lv_obj_t * info_label = lv_label_create(lv_screen_active()); lv_label_set_text(info_label, "No events yet"); lv_obj_t * btn = lv_button_create(lv_screen_active()); lv_obj_set_size(btn, 100, 50); lv_obj_center(btn); lv_obj_add_event_cb(btn, short_click_event_cb, LV_EVENT_SHORT_CLICKED, info_label); lv_obj_add_event_cb(btn, streak_event_cb, LV_EVENT_SINGLE_CLICKED, "Single clicked"); lv_obj_add_event_cb(btn, streak_event_cb, LV_EVENT_DOUBLE_CLICKED, "Double clicked"); lv_obj_add_event_cb(btn, streak_event_cb, LV_EVENT_TRIPLE_CLICKED, "Triple clicked"); lv_obj_t * label = lv_label_create(btn); lv_label_set_text(label, "Click me!"); lv_obj_center(label); } #endif