diff --git a/lv_core/lv_group.c b/lv_core/lv_group.c index cfa40c2c7..13595ae86 100644 --- a/lv_core/lv_group.c +++ b/lv_core/lv_group.c @@ -297,6 +297,7 @@ lv_group_focus_cb_t lv_group_get_focus_cb(lv_group_t * group) */ static void style_mod_def(lv_style_t * style) { +#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; @@ -309,6 +310,13 @@ static void style_mod_def(lv_style_t * style) style->body.shadow.color = lv_color_mix(style->body.shadow.color, LV_COLOR_ORANGE, LV_OPA_60); style->text.color = lv_color_mix(style->text.color, LV_COLOR_ORANGE, LV_OPA_70); +#else + style->body.border.opa = LV_OPA_COVER; + style->body.border.color = LV_COLOR_BLACK; + style->body.border.width = 3; + +#endif + } #endif /*USE_LV_GROUP != 0*/ diff --git a/lv_misc/lv_color.h b/lv_misc/lv_color.h index 886c0c34b..d0e0027b5 100644 --- a/lv_misc/lv_color.h +++ b/lv_misc/lv_color.h @@ -245,11 +245,15 @@ static inline uint32_t lv_color_to24(lv_color_t color) static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; +#if LV_COLOR_DEPTH != 1 ret.red = (uint16_t)((uint16_t) c1.red * mix + (c2.red * (255 - mix))) >> 8; ret.green = (uint16_t)((uint16_t) c1.green * mix + (c2.green * (255 - mix))) >> 8; ret.blue = (uint16_t)((uint16_t) c1.blue * mix + (c2.blue * (255 - mix))) >> 8; -#if LV_COLOR_DEPTH == 24 +# if LV_COLOR_DEPTH == 24 ret.alpha = 0xFF; +# endif +#else + ret.full = mix > LV_OPA_50 ? c1.full : c2.full; #endif return ret;