#include "../lv_examples.h"
#if LV_BUILD_EXAMPLES && LV_USE_SWITCH
static void event_cb(lv_event_t * e)
{
LV_LOG_USER("Clicked");
static uint32_t cnt = 1;
lv_obj_t * btn = lv_event_get_target_obj(e);
lv_obj_t * label = lv_obj_get_child(btn, 0);
lv_label_set_text_fmt(label, "%" LV_PRIu32, cnt);
cnt++;
}
* @title Click event on a button
* @brief Update a button's label with an incrementing counter on each click.
*
* A button with a child label is placed on the active screen. An
* `LV_EVENT_CLICKED` callback retrieves the button, updates its label with
* a static incrementing counter, and logs `Clicked`.
*/
void lv_example_event_click(void)
{
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, event_cb, LV_EVENT_CLICKED, NULL);
lv_obj_t * label = lv_label_create(btn);
lv_label_set_text(label, "Click me!");
lv_obj_center(label);
}
#endif