I’ve pushed a fix to send events as @embeddedt suggested. I’ve tested with this code:
static void draw_event_cb(lv_event_t * e)
{
lv_obj_draw_part_dsc_t * dsc = lv_event_get_param(e);
if(dsc->part == LV_PART_MAIN) {
dsc->rect_dsc->border_color = lv_color_hex3(0x0f0);
}
}
...
lv_obj_t * led2 = lv_led_create(lv_scr_act());
lv_obj_align(led2, LV_ALIGN_CENTER, 0, 0);
lv_led_set_brightness(led2, 150);
lv_led_set_color(led2, lv_palette_main(LV_PALETTE_RED));
lv_obj_set_style_border_width(led2, 3, 0);
lv_obj_add_event_cb(led2, draw_event_cb, LV_EVENT_DRAW_PART_BEGIN, NULL);