mirror of
https://github.com/lvgl/lvgl.git
synced 2026-06-02 09:37:42 +08:00
fix(Widgets): Optimise widget event callbacks to remove unnecessary calls to the event handler. (#7954)
This commit is contained in:
@@ -277,7 +277,8 @@ static void lv_tabview_constructor(const lv_obj_class_t * class_p, lv_obj_t * ob
|
|||||||
cont = lv_obj_create(obj);
|
cont = lv_obj_create(obj);
|
||||||
lv_obj_set_flex_flow(cont, LV_FLEX_FLOW_ROW);
|
lv_obj_set_flex_flow(cont, LV_FLEX_FLOW_ROW);
|
||||||
|
|
||||||
lv_obj_add_event_cb(cont, cont_scroll_end_event_cb, LV_EVENT_ALL, NULL);
|
lv_obj_add_event_cb(cont, cont_scroll_end_event_cb, LV_EVENT_LAYOUT_CHANGED, NULL);
|
||||||
|
lv_obj_add_event_cb(cont, cont_scroll_end_event_cb, LV_EVENT_SCROLL_END, NULL);
|
||||||
lv_obj_set_scrollbar_mode(cont, LV_SCROLLBAR_MODE_OFF);
|
lv_obj_set_scrollbar_mode(cont, LV_SCROLLBAR_MODE_OFF);
|
||||||
lv_tabview_set_tab_bar_position(obj, LV_DIR_TOP);
|
lv_tabview_set_tab_bar_position(obj, LV_DIR_TOP);
|
||||||
|
|
||||||
|
|||||||
@@ -948,7 +948,8 @@ static void lv_textarea_constructor(const lv_obj_class_t * class_p, lv_obj_t * o
|
|||||||
ta->label = lv_label_create(obj);
|
ta->label = lv_label_create(obj);
|
||||||
lv_obj_set_width(ta->label, lv_pct(100));
|
lv_obj_set_width(ta->label, lv_pct(100));
|
||||||
lv_label_set_text(ta->label, "");
|
lv_label_set_text(ta->label, "");
|
||||||
lv_obj_add_event_cb(ta->label, label_event_cb, LV_EVENT_ALL, NULL);
|
lv_obj_add_event_cb(ta->label, label_event_cb, LV_EVENT_STYLE_CHANGED, NULL);
|
||||||
|
lv_obj_add_event_cb(ta->label, label_event_cb, LV_EVENT_SIZE_CHANGED, NULL);
|
||||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS);
|
||||||
lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_WITH_ARROW);
|
lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_WITH_ARROW);
|
||||||
|
|
||||||
|
|||||||
@@ -133,11 +133,10 @@ static void lv_tileview_constructor(const lv_obj_class_t * class_p, lv_obj_t * o
|
|||||||
{
|
{
|
||||||
LV_UNUSED(class_p);
|
LV_UNUSED(class_p);
|
||||||
lv_obj_set_size(obj, LV_PCT(100), LV_PCT(100));
|
lv_obj_set_size(obj, LV_PCT(100), LV_PCT(100));
|
||||||
lv_obj_add_event_cb(obj, tileview_event_cb, LV_EVENT_ALL, NULL);
|
lv_obj_add_event_cb(obj, tileview_event_cb, LV_EVENT_SCROLL_END, NULL);
|
||||||
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ONE);
|
lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ONE);
|
||||||
lv_obj_set_scroll_snap_x(obj, LV_SCROLL_SNAP_CENTER);
|
lv_obj_set_scroll_snap_x(obj, LV_SCROLL_SNAP_CENTER);
|
||||||
lv_obj_set_scroll_snap_y(obj, LV_SCROLL_SNAP_CENTER);
|
lv_obj_set_scroll_snap_y(obj, LV_SCROLL_SNAP_CENTER);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lv_tileview_tile_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
static void lv_tileview_tile_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
|
||||||
|
|||||||
Reference in New Issue
Block a user