diff --git a/CHANGELOG.md b/CHANGELOG.md index 93d518ec9..cd015f1b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ Available in the `dev` branch - `linemeter` fix conversation of current value to "level" - Fix drawing on right border - Set the cursor image non clickable by default +- Improve mono theme when used with keyboard or encoder ## v7.1.0 (07.07.2020) diff --git a/src/lv_themes/lv_theme_mono.c b/src/lv_themes/lv_theme_mono.c index 466f84064..ba5357088 100644 --- a/src/lv_themes/lv_theme_mono.c +++ b/src/lv_themes/lv_theme_mono.c @@ -38,6 +38,7 @@ typedef struct { lv_style_t pad_normal; lv_style_t pad_small; lv_style_t pad_inner; + lv_style_t txt_underline; #if LV_USE_ARC lv_style_t arc_bg, arc_indic; @@ -122,6 +123,8 @@ static void basic_init(void) lv_style_set_bg_opa(&styles->bg, LV_STATE_DEFAULT, LV_OPA_COVER); lv_style_set_bg_color(&styles->bg, LV_STATE_DEFAULT, BG_COLOR); lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); + lv_style_set_border_width(&styles->bg, LV_STATE_FOCUSED, BORDER_WIDTH * 2); + lv_style_set_border_width(&styles->bg, LV_STATE_FOCUSED | LV_STATE_EDITED, BORDER_WIDTH * 3); lv_style_set_border_color(&styles->bg, LV_STATE_DEFAULT, FG_COLOR); lv_style_set_line_width(&styles->bg, LV_STATE_DEFAULT, LV_MATH_MAX(LV_DPI / 100, 1)); lv_style_set_scale_end_line_width(&styles->bg, LV_STATE_DEFAULT, LV_MATH_MAX(LV_DPI / 100, 1)); @@ -139,10 +142,11 @@ static void basic_init(void) style_init_reset(&styles->clip_corner); lv_style_set_clip_corner(&styles->clip_corner, LV_STATE_DEFAULT, true); - style_init_reset(&styles->btn); lv_style_set_radius(&styles->btn, LV_STATE_DEFAULT, RADIUS); lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); + lv_style_set_border_width(&styles->btn, LV_STATE_FOCUSED, BORDER_WIDTH + 1); + lv_style_set_border_width(&styles->btn, LV_STATE_FOCUSED | LV_STATE_EDITED, BORDER_WIDTH + 2); lv_style_set_border_color(&styles->btn, LV_STATE_DEFAULT, FG_COLOR); lv_style_set_bg_color(&styles->btn, LV_STATE_DEFAULT, BG_COLOR); lv_style_set_bg_color(&styles->btn, LV_STATE_PRESSED, FG_COLOR); @@ -204,6 +208,9 @@ static void basic_init(void) style_init_reset(&styles->pad_inner); lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, LV_DPI / 15); + + style_init_reset(&styles->txt_underline); + lv_style_set_text_decor(&styles->txt_underline, LV_STATE_FOCUSED, LV_TEXT_DECOR_UNDERLINE); } static void arc_init(void) @@ -589,6 +596,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); + _lv_style_list_add_style(list, &styles->txt_underline); break; #endif @@ -600,6 +608,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN); _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); + _lv_style_list_add_style(list, &styles->txt_underline); break; #endif @@ -714,6 +723,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->round); _lv_style_list_add_style(list, &styles->pad_small); + _lv_style_list_add_style(list, &styles->fg_color); break; #endif @@ -725,6 +735,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET); _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); + _lv_style_list_add_style(list, &styles->pad_small); break; #endif @@ -741,6 +752,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN); _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); + _lv_style_list_add_style(list, &styles->txt_underline); break; #endif @@ -775,6 +787,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BTN); _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); + _lv_style_list_add_style(list, &styles->txt_underline); break; case LV_THEME_TABVIEW_PAGE: @@ -834,6 +847,7 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); _lv_style_list_add_style(list, &styles->list_btn); + _lv_style_list_add_style(list, &styles->txt_underline); break; #endif @@ -940,12 +954,14 @@ static void theme_apply(lv_theme_t * th, lv_obj_t * obj, lv_theme_style_t name) _lv_style_list_add_style(list, &styles->fg_color); _lv_style_list_add_style(list, &styles->pad_none); _lv_style_list_add_style(list, &styles->no_radius); + _lv_style_list_add_style(list, &styles->txt_underline); break; case LV_THEME_SPINBOX_BTN: list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); _lv_style_list_add_style(list, &styles->bg); _lv_style_list_add_style(list, &styles->btn); + _lv_style_list_add_style(list, &styles->txt_underline); break; #endif