From 92149e11a6397b02f54d4327437ec20ac3cdbdf7 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Fri, 15 Mar 2019 22:19:21 +0100 Subject: [PATCH] update tehemes with new padding --- lv_core/lv_group.c | 1 + lv_core/lv_obj.c | 17 ++++-- lv_hal/lv_hal_disp.c | 3 +- lv_objx/lv_tabview.c | 5 ++ lv_themes/lv_theme_default.c | 16 ++++-- lv_themes/lv_theme_material.c | 97 ++++++++++++++++++++++----------- lv_themes/lv_theme_nemo.c | 100 ++++++++++++++++++++++------------ lv_themes/lv_theme_templ.c | 13 +++-- lv_themes/lv_theme_zen.c | 80 +++++++++++++++++---------- 9 files changed, 220 insertions(+), 112 deletions(-) diff --git a/lv_core/lv_group.c b/lv_core/lv_group.c index ed670229c..49e065c69 100644 --- a/lv_core/lv_group.c +++ b/lv_core/lv_group.c @@ -196,6 +196,7 @@ void lv_group_remove_obj(lv_obj_t * obj) */ void lv_group_focus_obj(lv_obj_t * obj) { + if(obj == NULL) return; lv_group_t * g = obj->group_p; if(g == NULL) return; diff --git a/lv_core/lv_obj.c b/lv_core/lv_obj.c index c24563d24..15f4db5e4 100644 --- a/lv_core/lv_obj.c +++ b/lv_core/lv_obj.c @@ -187,8 +187,8 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) new_obj->drag_parent = 0; new_obj->hidden = 0; new_obj->top = 0; - new_obj->opa_scale_en = 0; new_obj->protect = LV_PROTECT_NONE; + new_obj->opa_scale_en = 0; new_obj->opa_scale = LV_OPA_COVER; new_obj->parent_event = 0; @@ -262,6 +262,7 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy) new_obj->protect = LV_PROTECT_NONE; new_obj->opa_scale = LV_OPA_COVER; new_obj->opa_scale_en = 0; + new_obj->parent_event = 0; new_obj->ext_attr = NULL; } @@ -1179,16 +1180,22 @@ lv_res_t lv_obj_send_event(lv_obj_t * obj, lv_event_t event) { if(obj == NULL) return LV_RES_OK; - /*If the event was send from an other event save the previous object to restore it at the end*/ + /*If the event was send from an other event save the current states to restore it at the end*/ lv_obj_t * prev_obj_act_event = obj_act_event; - obj_act_event = obj; + bool prev_obj_act_event_deleted = obj_act_event_deleted; + obj_act_event = obj; obj_act_event_deleted = false; + if(obj->event_cb) obj->event_cb(obj, event); - obj_act_event = prev_obj_act_event; /*Restore the previous "event object"*/ + bool deleted = obj_act_event_deleted; - if(obj_act_event_deleted) return LV_RES_INV; + /*Restore the previous states*/ + obj_act_event = prev_obj_act_event; + obj_act_event_deleted = prev_obj_act_event_deleted; + + if(deleted) return LV_RES_INV; if(obj->parent_event && obj->par) { lv_res_t res = lv_obj_send_event(obj->par, event); diff --git a/lv_hal/lv_hal_disp.c b/lv_hal/lv_hal_disp.c index a7dcf228a..39e6853ae 100644 --- a/lv_hal/lv_hal_disp.c +++ b/lv_hal/lv_hal_disp.c @@ -111,7 +111,8 @@ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) } memcpy(&disp->driver, driver, sizeof(lv_disp_drv_t)); - + memset(&disp->inv_area_joined, 0, sizeof(disp->inv_area_joined)); + memset(&disp->inv_areas, 0, sizeof(disp->inv_areas)); lv_ll_init(&disp->scr_ll, sizeof(lv_obj_t)); if(disp_def == NULL) disp_def = disp; diff --git a/lv_objx/lv_tabview.c b/lv_objx/lv_tabview.c index df69fe6cc..f3f906bf4 100644 --- a/lv_objx/lv_tabview.c +++ b/lv_objx/lv_tabview.c @@ -228,6 +228,11 @@ lv_obj_t * lv_tabview_add_tab(lv_obj_t * tabview, const char * name) ext->tab_name_ptr[ext->tab_cnt - 1] = name_dm; ext->tab_name_ptr[ext->tab_cnt] = ""; + /* The button matrix's map still points to the old `tab_name_ptr` which might be freed by `lv_mem_realloc`. + * So make its current map invalid*/ + lv_btnm_ext_t * btnm_ext = lv_obj_get_ext_attr(ext->btns); + btnm_ext->map_p = NULL; + lv_btnm_set_map(ext->btns, ext->tab_name_ptr); lv_btnm_set_btn_no_repeat(ext->btns, ext->tab_cnt - 1, true); diff --git a/lv_themes/lv_theme_default.c b/lv_themes/lv_theme_default.c index 6bdd32c3e..ecf291558 100644 --- a/lv_themes/lv_theme_default.c +++ b/lv_themes/lv_theme_default.c @@ -56,8 +56,8 @@ static void basic_init(void) lv_style_copy(&sb, &lv_style_pretty_color); sb.body.grad_color = sb.body.main_color; - sb.body.padding.hor = sb.body.padding.hor / 2; /*Make closer to the edges*/ - sb.body.padding.ver = sb.body.padding.ver / 2; + sb.body.padding.right = sb.body.padding.right/ 2; /*Make closer to the edges*/ + sb.body.padding.bottom = sb.body.padding.bottom / 2; lv_style_copy(&plain_bordered, &lv_style_plain); plain_bordered.body.border.width = 2; @@ -147,8 +147,10 @@ static void slider_init(void) { #if LV_USE_SLIDER != 0 lv_style_copy(&slider_bg, &lv_style_pretty); - slider_bg.body.padding.hor = LV_DPI / 20; - slider_bg.body.padding.ver = LV_DPI / 20; + slider_bg.body.padding.left = LV_DPI / 20; + slider_bg.body.padding.right = LV_DPI / 20; + slider_bg.body.padding.top = LV_DPI / 20; + slider_bg.body.padding.bottom = LV_DPI / 20; theme.style.slider.bg = &slider_bg; theme.style.slider.indic = &lv_style_pretty_color; @@ -160,8 +162,10 @@ static void sw_init(void) { #if LV_USE_SW != 0 lv_style_copy(&sw_bg, &lv_style_pretty); - sw_bg.body.padding.hor = 3; - sw_bg.body.padding.ver = 3; + sw_bg.body.padding.left = 3; + sw_bg.body.padding.right = 3; + sw_bg.body.padding.top = 3; + sw_bg.body.padding.bottom = 3; theme.style.sw.bg = &sw_bg; theme.style.sw.indic = &lv_style_pretty_color; diff --git a/lv_themes/lv_theme_material.c b/lv_themes/lv_theme_material.c index 7ee8e0b40..b5108209e 100644 --- a/lv_themes/lv_theme_material.c +++ b/lv_themes/lv_theme_material.c @@ -68,8 +68,10 @@ static void basic_init(void) panel.body.shadow.color = DEF_SHADOW_COLOR; panel.body.shadow.type = LV_SHADOW_BOTTOM; panel.body.shadow.width = 4; - panel.body.padding.hor = LV_DPI / 8; - panel.body.padding.ver = LV_DPI / 8; + panel.body.padding.left = LV_DPI / 8; + panel.body.padding.right = LV_DPI / 8; + panel.body.padding.top = LV_DPI / 8; + panel.body.padding.bottom = LV_DPI / 8; panel.body.padding.inner = LV_DPI / 12; panel.text.color = LV_COLOR_HEX3(0x333); panel.image.color = LV_COLOR_HEX3(0x333); @@ -78,7 +80,8 @@ static void basic_init(void) sb.body.main_color = LV_COLOR_BLACK; sb.body.grad_color = LV_COLOR_BLACK; sb.body.opa = LV_OPA_40; - sb.body.padding.hor = LV_DPI / 25; + sb.body.padding.right = LV_DPI / 25; + sb.body.padding.bottom = LV_DPI / 25; theme.style.bg = &bg; theme.style.panel = &panel; @@ -103,8 +106,10 @@ static void btn_init(void) rel.body.main_color = lv_color_hsv_to_rgb(_hue, 90, 70); rel.body.grad_color = rel.body.main_color; rel.body.radius = DEF_RADIUS; - rel.body.padding.hor = LV_DPI / 6; - rel.body.padding.ver = LV_DPI / 8; + rel.body.padding.left = LV_DPI / 6; + rel.body.padding.right = LV_DPI / 6; + rel.body.padding.top = LV_DPI / 8; + rel.body.padding.bottom = LV_DPI / 8; rel.body.padding.inner = LV_DPI / 10; rel.body.shadow.color = DEF_SHADOW_COLOR; rel.body.shadow.type = LV_SHADOW_BOTTOM; @@ -221,14 +226,18 @@ static void bar_init(void) bar_bg.body.grad_color = bar_bg.body.main_color; bar_bg.body.radius = 3; bar_bg.body.border.width = 0; - bar_bg.body.padding.hor = LV_DPI / 12; - bar_bg.body.padding.ver = LV_DPI / 12; + bar_bg.body.padding.left = LV_DPI / 12; + bar_bg.body.padding.right = LV_DPI / 12; + bar_bg.body.padding.top = LV_DPI / 12; + bar_bg.body.padding.bottom = LV_DPI / 12; lv_style_copy(&bar_indic, &bar_bg); bar_indic.body.main_color = lv_color_hsv_to_rgb(_hue, 85, 70); bar_indic.body.grad_color = bar_indic.body.main_color; - bar_indic.body.padding.hor = 0; - bar_indic.body.padding.ver = 0; + bar_indic.body.padding.left = 0; + bar_indic.body.padding.right = 0; + bar_indic.body.padding.top = 0; + bar_indic.body.padding.bottom = 0; theme.style.bar.bg = &bar_bg; theme.style.bar.indic = &bar_indic; @@ -290,7 +299,7 @@ static void lmeter_init(void) lv_style_copy(&lmeter, &def); lmeter.body.main_color = lv_color_hsv_to_rgb(_hue, 75, 90); lmeter.body.grad_color = lmeter.body.main_color; - lmeter.body.padding.hor = LV_DPI / 10; /*Scale line length*/ + lmeter.body.padding.left = LV_DPI / 10; /*Scale line length*/ lmeter.line.color = LV_COLOR_HEX3(0x999); lmeter.line.width = 2; @@ -306,7 +315,7 @@ static void gauge_init(void) lv_style_copy(&gauge, &def); gauge.body.main_color = lv_color_hsv_to_rgb(_hue, 10, 60); gauge.body.grad_color = gauge.body.main_color; - gauge.body.padding.hor = LV_DPI / 16; /*Scale line length*/ + gauge.body.padding.left = LV_DPI / 16; /*Scale line length*/ gauge.body.padding.inner = LV_DPI / 8; gauge.body.border.color = LV_COLOR_HEX3(0x999); gauge.text.color = LV_COLOR_HEX3(0x333); @@ -329,8 +338,10 @@ static void arc_init(void) /*For prelaoder*/ arc.body.border.width = 10; arc.body.border.color = lv_color_hsv_to_rgb(_hue, 30, 90); - arc.body.padding.hor = 0; - arc.body.padding.ver = 0; + arc.body.padding.left = 0; + arc.body.padding.right = 0; + arc.body.padding.top = 0; + arc.body.padding.bottom = 0; theme.style.arc = &arc; #endif @@ -366,8 +377,10 @@ static void calendar_init(void) lv_style_copy(&week_box, &def); week_box.body.main_color = lv_color_hsv_to_rgb(_hue, 40, 100); week_box.body.grad_color = lv_color_hsv_to_rgb(_hue, 40, 100); - week_box.body.padding.ver = LV_DPI / 20; - week_box.body.padding.hor = theme.style.panel->body.padding.hor; + week_box.body.padding.top = LV_DPI / 20; + week_box.body.padding.bottom = LV_DPI / 20; + week_box.body.padding.left = theme.style.panel->body.padding.left; + week_box.body.padding.right = theme.style.panel->body.padding.right; week_box.body.border.color = theme.style.panel->body.border.color; week_box.body.border.width = theme.style.panel->body.border.width; week_box.body.border.part = LV_BORDER_LEFT | LV_BORDER_RIGHT; @@ -377,7 +390,8 @@ static void calendar_init(void) lv_style_copy(&today_box, &def); today_box.body.main_color = LV_COLOR_WHITE; today_box.body.grad_color = LV_COLOR_WHITE; - today_box.body.padding.ver = LV_DPI / 20; + today_box.body.padding.top = LV_DPI / 20; + today_box.body.padding.bottom = LV_DPI / 20; today_box.body.radius = 0; theme.style.calendar.bg = theme.style.panel; @@ -431,8 +445,10 @@ static void btnm_init(void) static lv_style_t bg, rel, pr, tgl_rel, tgl_pr, ina; lv_style_copy(&bg, theme.style.panel); - bg.body.padding.hor = 0; - bg.body.padding.ver = 0; + bg.body.padding.left = 0; + bg.body.padding.right = 0; + bg.body.padding.top = 0; + bg.body.padding.bottom = 0; bg.body.padding.inner = 0; bg.text.color = LV_COLOR_HEX3(0x555); @@ -560,13 +576,17 @@ static void list_init(void) static lv_style_t list_bg, rel, pr, tgl_rel, tgl_pr, ina; lv_style_copy(&list_bg, theme.style.panel); - list_bg.body.padding.hor = 0; - list_bg.body.padding.ver = 0; + list_bg.body.padding.left = 0; + list_bg.body.padding.right = 0; + list_bg.body.padding.top = 0; + list_bg.body.padding.bottom = 0; list_bg.body.padding.inner = 0; lv_style_copy(&rel, &lv_style_transp); - rel.body.padding.hor = LV_DPI / 8; - rel.body.padding.ver = LV_DPI / 6; + rel.body.padding.left = LV_DPI / 8; + rel.body.padding.right = LV_DPI / 8; + rel.body.padding.top = LV_DPI / 6; + rel.body.padding.bottom = LV_DPI / 6; rel.body.radius = 10; rel.body.border.color = LV_COLOR_HEX3(0xbbb); rel.body.border.width = 1; @@ -613,8 +633,10 @@ static void ddlist_init(void) #if LV_USE_DDLIST != 0 static lv_style_t bg, sel; lv_style_copy(&bg, theme.style.panel); - bg.body.padding.hor = LV_DPI / 6; - bg.body.padding.ver = LV_DPI / 6; + bg.body.padding.left = LV_DPI / 6; + bg.body.padding.right = LV_DPI / 6; + bg.body.padding.top = LV_DPI / 6; + bg.body.padding.bottom = LV_DPI / 6; bg.text.line_space = LV_DPI / 8; lv_style_copy(&sel, &bg); @@ -637,8 +659,10 @@ static void roller_init(void) static lv_style_t roller_bg, roller_sel; lv_style_copy(&roller_bg, &lv_style_transp); - roller_bg.body.padding.hor = LV_DPI / 6; - roller_bg.body.padding.ver = LV_DPI / 6; + roller_bg.body.padding.left = LV_DPI / 6; + roller_bg.body.padding.right = LV_DPI / 6; + roller_bg.body.padding.top = LV_DPI / 6; + roller_bg.body.padding.bottom = LV_DPI / 6; roller_bg.text.line_space = LV_DPI / 8; roller_bg.text.font = _font; roller_bg.glass = 0; @@ -676,13 +700,16 @@ static void tabview_init(void) btn_bg.body.shadow.color = DEF_SHADOW_COLOR; btn_bg.body.shadow.type = LV_SHADOW_BOTTOM; btn_bg.body.padding.inner = 0; - btn_bg.body.padding.hor = 0; - btn_bg.body.padding.ver = 0; + btn_bg.body.padding.left = 0; + btn_bg.body.padding.right = 0; + btn_bg.body.padding.top = 0; + btn_bg.body.padding.bottom = 0; btn_bg.text.color = LV_COLOR_HEX3(0x333); lv_style_copy(&rel, &lv_style_transp); - rel.body.padding.ver = LV_DPI / 8; + rel.body.padding.top = LV_DPI / 8; + rel.body.padding.bottom = LV_DPI / 8; rel.text.font = _font; lv_style_copy(&pr, &def); @@ -736,8 +763,10 @@ static void table_init(void) lv_style_copy(&cell, theme.style.panel); cell.body.radius = 0; cell.body.border.width = 1; - cell.body.padding.hor = LV_DPI / 12; - cell.body.padding.ver = LV_DPI / 12; + cell.body.padding.left = LV_DPI / 12; + cell.body.padding.right = LV_DPI / 12; + cell.body.padding.top = LV_DPI / 12; + cell.body.padding.bottom = LV_DPI / 12; theme.style.table.bg = &lv_style_transp_tight; @@ -759,8 +788,10 @@ static void win_init(void) header.body.border.part = LV_BORDER_BOTTOM; header.body.border.opa = LV_OPA_COVER; header.body.padding.inner = 0; - header.body.padding.hor = 0; - header.body.padding.ver = 0; + header.body.padding.left = 0; + header.body.padding.right = 0; + header.body.padding.top = 0; + header.body.padding.bottom = 0; header.text.color = LV_COLOR_HEX3(0x333); header.image.color = LV_COLOR_HEX3(0x333); diff --git a/lv_themes/lv_theme_nemo.c b/lv_themes/lv_theme_nemo.c index 4bae8bf17..090e1677a 100644 --- a/lv_themes/lv_theme_nemo.c +++ b/lv_themes/lv_theme_nemo.c @@ -78,8 +78,10 @@ static void basic_init(void) def.body.main_color = LV_COLOR_HEX3(0x222); def.body.grad_color = LV_COLOR_HEX3(0x222); def.body.radius = 0; - def.body.padding.hor = LV_DPI / 8; - def.body.padding.ver = LV_DPI / 8; + def.body.padding.left = LV_DPI / 8; + def.body.padding.right = LV_DPI / 8; + def.body.padding.top = LV_DPI / 8; + def.body.padding.bottom = LV_DPI / 8; def.body.padding.inner = LV_DPI / 8; def.body.border.color = LV_COLOR_SILVER; def.body.border.width = 1; @@ -127,8 +129,10 @@ static void basic_init(void) sb.body.border.width = 1; sb.body.main_color = lv_color_hsv_to_rgb(_hue, 33, 92); sb.body.grad_color = lv_color_hsv_to_rgb(_hue, 33, 92); - sb.body.padding.hor = 1; - sb.body.padding.ver = 1; + sb.body.padding.left = 1; + sb.body.padding.right = 1; + sb.body.padding.top = 1; + sb.body.padding.bottom = 1; sb.body.padding.inner = LV_DPI / 15; /*Scrollbar width*/ theme.style.bg = &bg; @@ -146,8 +150,10 @@ static void btn_init(void) btn_rel.body.border.width = 2; btn_rel.body.border.color = lv_color_hsv_to_rgb(_hue, 70, 90); btn_rel.body.border.opa = LV_OPA_80; - btn_rel.body.padding.hor = LV_DPI / 4; - btn_rel.body.padding.ver = LV_DPI / 6; + btn_rel.body.padding.left = LV_DPI / 4; + btn_rel.body.padding.right = LV_DPI / 4; + btn_rel.body.padding.top = LV_DPI / 6; + btn_rel.body.padding.bottom = LV_DPI / 6; btn_rel.body.padding.inner = LV_DPI / 10; btn_rel.text.color = lv_color_hsv_to_rgb(_hue, 8, 96); btn_rel.text.font = _font; @@ -226,8 +232,10 @@ static void bar_init(void) bar_bg.body.border.width = 2; bar_bg.body.border.color = LV_COLOR_SILVER; bar_bg.body.border.opa = LV_OPA_20; - bar_bg.body.padding.hor = 0; - bar_bg.body.padding.ver = LV_DPI / 10; + bar_bg.body.padding.left = 0; + bar_bg.body.padding.right = 0; + bar_bg.body.padding.top = LV_DPI / 10; + bar_bg.body.padding.bottom = LV_DPI / 10; bar_bg.body.padding.inner = 0; lv_style_copy(&bar_indic, &def); @@ -235,8 +243,10 @@ static void bar_init(void) bar_indic.body.border.width = 2; bar_indic.body.border.color = LV_COLOR_SILVER; bar_indic.body.border.opa = LV_OPA_70; - bar_indic.body.padding.hor = 0; - bar_indic.body.padding.ver = 0; + bar_indic.body.padding.left = 0; + bar_indic.body.padding.right = 0; + bar_indic.body.padding.top = 0; + bar_indic.body.padding.bottom = 0; bar_indic.body.shadow.width = LV_DPI / 20; bar_indic.body.shadow.color = lv_color_hsv_to_rgb(_hue, 20, 90); bar_indic.body.main_color = lv_color_hsv_to_rgb(_hue, 40, 80); @@ -318,8 +328,10 @@ static void sw_init(void) static lv_style_t sw_bg, sw_indic, sw_knob; lv_style_copy(&sw_bg, &bar_bg); sw_bg.body.opa = LV_OPA_COVER; - sw_bg.body.padding.ver = -2 ; - sw_bg.body.padding.hor = -2 ; + sw_bg.body.padding.left = -2 ; + sw_bg.body.padding.right = -2 ; + sw_bg.body.padding.top = -2 ; + sw_bg.body.padding.bottom = -2 ; sw_bg.body.main_color = LV_COLOR_HEX3(0x666); sw_bg.body.grad_color = LV_COLOR_HEX3(0x999); sw_bg.body.border.width = 2; @@ -327,8 +339,10 @@ static void sw_init(void) lv_style_copy(&sw_indic, &bar_indic); sw_indic.body.shadow .width = LV_DPI / 20; - sw_indic.body.padding.ver = 0; - sw_indic.body.padding.hor = 0; + sw_indic.body.padding.left = 0; + sw_indic.body.padding.right = 0; + sw_indic.body.padding.top = 0; + sw_indic.body.padding.bottom = 0; lv_style_copy(&sw_knob, &slider_knob); sw_knob.body.opa = LV_OPA_80; @@ -347,7 +361,7 @@ static void lmeter_init(void) lv_style_copy(&lmeter_bg, &def); lmeter_bg.body.main_color = lv_color_hsv_to_rgb(_hue, 10, 70); lmeter_bg.body.grad_color = lv_color_hsv_to_rgb(_hue, 80, 80); - lmeter_bg.body.padding.hor = LV_DPI / 8; /*Scale line length*/ + lmeter_bg.body.padding.left = LV_DPI / 8; /*Scale line length*/ lmeter_bg.line.color = LV_COLOR_HEX3(0x500); lmeter_bg.line.width = 2; @@ -363,8 +377,10 @@ static void gauge_init(void) lv_style_copy(&gauge_bg, &def); gauge_bg.body.main_color = lv_color_hsv_to_rgb(_hue, 20, 100); gauge_bg.body.grad_color = gauge_bg.body.main_color; - gauge_bg.body.padding.hor = LV_DPI / 16; /*Scale line length*/ - gauge_bg.body.padding.ver = LV_DPI / 20; /*Needle center size*/ + gauge_bg.body.padding.left = LV_DPI / 16; /*Scale line length*/ + gauge_bg.body.padding.right = LV_DPI / 16; /*Scale line length*/ + gauge_bg.body.padding.top = LV_DPI / 20; /*Needle center size*/ + gauge_bg.body.padding.bottom = LV_DPI / 20; /*Needle center size*/ gauge_bg.body.padding.inner = LV_DPI / 12; /*Label - scale distance*/ gauge_bg.body.border.color = LV_COLOR_HEX3(0x500); gauge_bg.line.color = lv_color_hsv_to_rgb(_hue, 80, 75); @@ -423,13 +439,15 @@ static void calendar_init(void) lv_style_copy(&week_box, &def); week_box.body.opa = LV_OPA_TRANSP; week_box.body.border.color = theme.style.panel->body.border.color; - week_box.body.padding.ver = LV_DPI / 20; + week_box.body.padding.top = LV_DPI / 20; + week_box.body.padding.bottom = LV_DPI / 20; static lv_style_t today_box; lv_style_copy(&today_box, &def); today_box.body.main_color = LV_COLOR_WHITE; today_box.body.grad_color = LV_COLOR_WHITE; - today_box.body.padding.ver = LV_DPI / 20; + today_box.body.padding.top = LV_DPI / 20; + today_box.body.padding.bottom = LV_DPI / 20; today_box.body.radius = 0; theme.style.calendar.bg = theme.style.panel; @@ -457,8 +475,10 @@ static void cb_init(void) cb_bg.body.opa = LV_OPA_TRANSP; cb_bg.body.border.width = 0; cb_bg.body.padding.inner = LV_DPI / 8; - cb_bg.body.padding.hor = 0; - cb_bg.body.padding.ver = 0; + cb_bg.body.padding.left = 0; + cb_bg.body.padding.right = 0; + cb_bg.body.padding.top = 0; + cb_bg.body.padding.bottom = 0; cb_bg.text.font = _font; lv_style_copy(&cb_pr, &cb_rel); @@ -611,8 +631,10 @@ static void list_init(void) lv_style_copy(&list_ina, &def); lv_style_copy(&list_bg, &list_rel); - list_bg.body.padding.hor = 0; - list_bg.body.padding.ver = 0; + list_bg.body.padding.left = 0; + list_bg.body.padding.right = 0; + list_bg.body.padding.top = 0; + list_bg.body.padding.bottom = 0; theme.style.list.sb = &sb; theme.style.list.bg = &list_bg; @@ -630,8 +652,10 @@ static void ddlist_init(void) #if LV_USE_DDLIST != 0 lv_style_copy(&ddlist_bg, &panel); ddlist_bg.text.line_space = LV_DPI / 8; - ddlist_bg.body.padding.hor = LV_DPI / 6; - ddlist_bg.body.padding.ver = LV_DPI / 6; + ddlist_bg.body.padding.left = LV_DPI / 6; + ddlist_bg.body.padding.right = LV_DPI / 6; + ddlist_bg.body.padding.top = LV_DPI / 6; + ddlist_bg.body.padding.bottom = LV_DPI / 6; lv_style_copy(&ddlist_sel, &panel); ddlist_sel.body.main_color = lv_color_hsv_to_rgb(_hue, 45, 70); @@ -677,8 +701,10 @@ static void tabview_init(void) lv_style_copy(&tab_rel, &def); tab_rel.body.main_color = LV_COLOR_HEX3(0x500); tab_rel.body.grad_color = LV_COLOR_HEX3(0x005); - tab_rel.body.padding.hor = 0; - tab_rel.body.padding.ver = LV_DPI / 6; + tab_rel.body.padding.left = 0; + tab_rel.body.padding.right = 0; + tab_rel.body.padding.top = LV_DPI / 6; + tab_rel.body.padding.bottom = LV_DPI / 6; tab_rel.body.padding.inner = 0; tab_rel.body.border.width = 1; tab_rel.body.border.color = LV_COLOR_SILVER; @@ -692,8 +718,10 @@ static void tabview_init(void) lv_style_copy(&tab_trel, &def); tab_trel.body.opa = LV_OPA_TRANSP; - tab_trel.body.padding.hor = 0; - tab_trel.body.padding.ver = LV_DPI / 6; + tab_trel.body.padding.left = 0; + tab_trel.body.padding.right = 0; + tab_trel.body.padding.top = LV_DPI / 6; + tab_trel.body.padding.bottom = LV_DPI / 6; tab_trel.body.padding.inner = 0; tab_trel.body.border.width = 1; tab_trel.body.border.color = LV_COLOR_SILVER; @@ -704,8 +732,10 @@ static void tabview_init(void) lv_style_copy(&tab_tpr, &def); tab_tpr.body.main_color = LV_COLOR_GRAY; tab_tpr.body.grad_color = LV_COLOR_GRAY; - tab_tpr.body.padding.hor = 0; - tab_tpr.body.padding.ver = LV_DPI / 6; + tab_tpr.body.padding.left = 0; + tab_tpr.body.padding.right = 0; + tab_tpr.body.padding.top = LV_DPI / 6; + tab_tpr.body.padding.bottom = LV_DPI / 6; tab_tpr.body.padding.inner = 0; tab_tpr.body.border.width = 1; tab_tpr.body.border.color = LV_COLOR_SILVER; @@ -758,8 +788,10 @@ static void win_init(void) lv_style_copy(&win_header, &panel); win_header.body.radius = 0; - win_header.body.padding.hor = LV_DPI / 12; - win_header.body.padding.ver = LV_DPI / 20; + win_header.body.padding.left = LV_DPI / 12; + win_header.body.padding.right = LV_DPI / 12; + win_header.body.padding.top = LV_DPI / 20; + win_header.body.padding.bottom = LV_DPI / 20; win_header.body.border.opa = panel.body.border.opa; win_header.body.border.width = panel.body.border.width; win_header.body.border.color = lv_color_hsv_to_rgb(_hue, 20, 80); @@ -784,8 +816,6 @@ static void style_mod(lv_group_t * group, lv_style_t * style) style->body.border.width = 2; style->body.border.color = LV_COLOR_SILVER; style->body.border.opa = LV_OPA_70; - style->body.padding.hor = 0; - style->body.padding.ver = 0; style->body.shadow.width = LV_DPI / 20; style->body.shadow.color = lv_color_hsv_to_rgb(_hue, 20, 90); style->body.main_color = lv_color_hsv_to_rgb(_hue, 40, 80); diff --git a/lv_themes/lv_theme_templ.c b/lv_themes/lv_theme_templ.c index 9c1404f29..12e9d23ae 100644 --- a/lv_themes/lv_theme_templ.c +++ b/lv_themes/lv_theme_templ.c @@ -366,15 +366,17 @@ static void win_init(void) #if LV_USE_GROUP -static void style_mod(lv_style_t * style) +static void style_mod(lv_group_t * group, lv_style_t * style) { + (void) group; /*Unused*/ + #if LV_COLOR_DEPTH != 1 /*Make the style to be a little bit orange*/ style->body.border.opa = LV_OPA_COVER; style->body.border.color = LV_COLOR_ORANGE; /*If not empty or has border then emphasis the border*/ - if (style->body.empty == 0 || style->body.border.width != 0) style->body.border.width = LV_DPI / 20; + if (style->body.border.width != 0) style->body.border.width = LV_DPI / 20; style->body.main_color = lv_color_mix(style->body.main_color, LV_COLOR_ORANGE, LV_OPA_70); style->body.grad_color = lv_color_mix(style->body.grad_color, LV_COLOR_ORANGE, LV_OPA_70); @@ -388,15 +390,17 @@ static void style_mod(lv_style_t * style) #endif } -static void style_mod_edit(lv_style_t * style) +static void style_mod_edit(lv_group_t * group, lv_style_t * style) { + (void) group; /*Unused*/ + #if LV_COLOR_DEPTH != 1 /*Make the style to be a little bit orange*/ style->body.border.opa = LV_OPA_COVER; style->body.border.color = LV_COLOR_GREEN; /*If not empty or has border then emphasis the border*/ - if (style->body.empty == 0 || style->body.border.width != 0) style->body.border.width = LV_DPI / 20; + if (style->body.border.width != 0) style->body.border.width = LV_DPI / 20; style->body.main_color = lv_color_mix(style->body.main_color, LV_COLOR_GREEN, LV_OPA_70); style->body.grad_color = lv_color_mix(style->body.grad_color, LV_COLOR_GREEN, LV_OPA_70); @@ -455,6 +459,7 @@ lv_theme_t * lv_theme_templ_init(uint16_t hue, lv_font_t * font) arc_init(); preload_init(); chart_init(); + calendar_init(); cb_init(); btnm_init(); kb_init(); diff --git a/lv_themes/lv_theme_zen.c b/lv_themes/lv_theme_zen.c index a7181ba51..f6a13479f 100644 --- a/lv_themes/lv_theme_zen.c +++ b/lv_themes/lv_theme_zen.c @@ -68,8 +68,10 @@ static void basic_init(void) panel.body.border.opa = LV_OPA_COVER; panel.body.shadow.width = 4; panel.body.shadow.color = LV_COLOR_HEX3(0xddd); - panel.body.padding.hor = LV_DPI / 6; - panel.body.padding.ver = LV_DPI / 8; + panel.body.padding.left = LV_DPI / 6; + panel.body.padding.right = LV_DPI / 6; + panel.body.padding.top = LV_DPI / 8; + panel.body.padding.bottom = LV_DPI / 8; panel.body.padding.inner = LV_DPI / 10; lv_style_copy(&sb, &def); @@ -104,8 +106,10 @@ static void btn_init(void) rel.body.border.opa = LV_OPA_COVER; rel.body.shadow.width = 4; rel.body.shadow.color = LV_COLOR_HEX3(0xddd); - rel.body.padding.hor = LV_DPI / 4; - rel.body.padding.ver = LV_DPI / 8; + rel.body.padding.left = LV_DPI / 4; + rel.body.padding.right = LV_DPI / 4; + rel.body.padding.top = LV_DPI / 8; + rel.body.padding.bottom = LV_DPI / 8; rel.text.color = lv_color_hsv_to_rgb(_hue, 40, 90); rel.image.color = lv_color_hsv_to_rgb(_hue, 40, 90); @@ -213,8 +217,10 @@ static void bar_init(void) indic.body.main_color = lv_color_hsv_to_rgb(_hue, 40, 90); indic.body.grad_color = indic.body.main_color; indic.body.border.width = 0; - indic.body.padding.hor = LV_DPI / 20; - indic.body.padding.ver = LV_DPI / 20; + indic.body.padding.left = LV_DPI / 20; + indic.body.padding.right = LV_DPI / 20; + indic.body.padding.top = LV_DPI / 20; + indic.body.padding.bottom = LV_DPI / 20; theme.style.bar.bg = &bg; @@ -251,10 +257,10 @@ static void sw_init(void) indic.body.border.width = theme.style.slider.bg->body.border.width; indic.body.border.color = theme.style.slider.bg->body.border.color; indic.body.border.opa = theme.style.slider.bg->body.border.opa; - indic.body.padding.hor = 0; - indic.body.padding.ver = 0; - - + indic.body.padding.left = 0; + indic.body.padding.right = 0; + indic.body.padding.top = 0; + indic.body.padding.bottom = 0; theme.style.sw.bg = theme.style.slider.bg; theme.style.sw.indic = &indic; @@ -274,7 +280,8 @@ static void lmeter_init(void) lmeter.line.width = 2; lmeter.body.main_color = lv_color_hsv_to_rgb(_hue, 80, 70); lmeter.body.grad_color = lmeter.body.main_color; - lmeter.body.padding.hor = LV_DPI / 8; + lmeter.body.padding.left = LV_DPI / 8; + lmeter.body.padding.right = LV_DPI / 8; theme.style.lmeter = &lmeter; #endif @@ -290,7 +297,8 @@ static void gauge_init(void) gauge.line.width = 1; gauge.body.main_color = LV_COLOR_HEX3(0x999); gauge.body.grad_color = gauge.body.main_color; - gauge.body.padding.hor = LV_DPI / 16; + gauge.body.padding.left = LV_DPI / 16; + gauge.body.padding.right = LV_DPI / 16; gauge.body.border.color = LV_COLOR_HEX3(0x666); /*Needle middle color*/ theme.style.gauge = &gauge; @@ -344,7 +352,8 @@ static void calendar_init(void) lv_style_copy(&today_box, &def); today_box.body.opa = LV_OPA_TRANSP; today_box.body.border.color = theme.style.panel->body.border.color; - today_box.body.padding.ver = LV_DPI / 20; + today_box.body.padding.top = LV_DPI / 20; + today_box.body.padding.bottom = LV_DPI / 20; today_box.body.radius = LV_RADIUS_CIRCLE; theme.style.calendar.bg = theme.style.panel; @@ -406,8 +415,10 @@ static void btnm_init(void) lv_style_copy(&bg, &lv_style_transp); bg.glass = 0; - bg.body.padding.hor = 0; - bg.body.padding.ver = 0; + bg.body.padding.left = 0; + bg.body.padding.right = 0; + bg.body.padding.top = 0; + bg.body.padding.bottom = 0; bg.body.padding.inner = LV_DPI / 15; bg.text.font = _font; @@ -455,8 +466,10 @@ static void kb_init(void) lv_style_copy(&bg, &def); bg.body.main_color = LV_COLOR_HEX3(0x666); bg.body.grad_color = bg.body.main_color; - bg.body.padding.hor = 0; - bg.body.padding.ver = 0; + bg.body.padding.left = 0; + bg.body.padding.right = 0; + bg.body.padding.top = 0; + bg.body.padding.bottom = 0; bg.body.padding.inner = 0; bg.body.radius = 0; bg.body.border.width = 0; @@ -519,8 +532,10 @@ static void mbox_init(void) rel.body.radius = LV_RADIUS_CIRCLE; rel.body.border.width = 2; rel.body.border.color = lv_color_hsv_to_rgb(_hue, 30, 70); - rel.body.padding.hor = LV_DPI / 4; - rel.body.padding.ver = LV_DPI / 8; + rel.body.padding.left = LV_DPI / 4; + rel.body.padding.right = LV_DPI / 4; + rel.body.padding.top = LV_DPI / 8; + rel.body.padding.bottom = LV_DPI / 8; rel.text.color = bg.text.color; lv_style_copy(&pr, &rel); @@ -554,7 +569,8 @@ static void ta_init(void) static lv_style_t oneline; lv_style_copy(&oneline, theme.style.panel); oneline.body.radius = LV_RADIUS_CIRCLE; - oneline.body.padding.ver = LV_DPI / 10; + oneline.body.padding.top = LV_DPI / 10; + oneline.body.padding.bottom = LV_DPI / 10; oneline.body.shadow.width = 0; @@ -580,14 +596,18 @@ static void list_init(void) static lv_style_t bg, rel, pr, tgl_rel, tgl_pr, ina; lv_style_copy(&bg, theme.style.panel); - bg.body.padding.hor = 0; - bg.body.padding.ver = 0; + bg.body.padding.left = 0; + bg.body.padding.right = 0; + bg.body.padding.top = 0; + bg.body.padding.bottom = 0; lv_style_copy(&rel, &def); rel.body.opa = LV_OPA_TRANSP; rel.body.border.width = 0; - rel.body.padding.hor = LV_DPI / 8; - rel.body.padding.ver = LV_DPI / 8; + rel.body.padding.left = LV_DPI / 8; + rel.body.padding.right = LV_DPI / 8; + rel.body.padding.top = LV_DPI / 8; + rel.body.padding.bottom = LV_DPI / 8; rel.text.color = LV_COLOR_HEX3(0x666); rel.image.color = LV_COLOR_HEX3(0x666); @@ -623,8 +643,10 @@ static void ddlist_init(void) static lv_style_t bg, sel; lv_style_copy(&bg, theme.style.panel); bg.text.line_space = LV_DPI / 8; - bg.body.padding.hor = LV_DPI / 6; - bg.body.padding.ver = LV_DPI / 8; + bg.body.padding.left = LV_DPI / 6; + bg.body.padding.right = LV_DPI / 6; + bg.body.padding.top = LV_DPI / 8; + bg.body.padding.bottom = LV_DPI / 8; bg.text.color = LV_COLOR_HEX3(0x666); lv_style_copy(&sel, &def); @@ -717,8 +739,10 @@ static void table_init(void) cell.body.radius = 0; cell.body.border.width = 1; cell.body.shadow.width = 0; - cell.body.padding.hor = LV_DPI / 12; - cell.body.padding.ver = LV_DPI / 12; + cell.body.padding.left = LV_DPI / 12; + cell.body.padding.right = LV_DPI / 12; + cell.body.padding.top = LV_DPI / 12; + cell.body.padding.bottom = LV_DPI / 12; theme.style.table.bg = &lv_style_transp_tight; theme.style.table.cell = &cell;