From 213e62141213b0d107db4f34f3da6c5f6f10465d Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Fri, 9 Mar 2018 14:13:51 +0100 Subject: [PATCH] fix text opacity --- lv_draw/lv_draw_vbasic.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lv_draw/lv_draw_vbasic.c b/lv_draw/lv_draw_vbasic.c index 0729ad17d..f6a272243 100644 --- a/lv_draw/lv_draw_vbasic.c +++ b/lv_draw/lv_draw_vbasic.c @@ -276,7 +276,13 @@ void lv_vletter(const lv_point_t * pos_p, const lv_area_t * mask_p, for(col = col_start; col < col_end; col ++) { letter_px = (*map_p & mask) >> (8 - col_bit - bpp); if(letter_px != 0) { - *vdb_buf_tmp = lv_color_mix(color, *vdb_buf_tmp, bpp == 8 ? letter_px : bpp_opa_table[letter_px]); + if(opa == LV_OPA_COVER) { + *vdb_buf_tmp = lv_color_mix(color, *vdb_buf_tmp, bpp == 8 ? letter_px : bpp_opa_table[letter_px]); + } else { + *vdb_buf_tmp = lv_color_mix(color, *vdb_buf_tmp, bpp == 8 ? + (uint16_t)((uint16_t)letter_px * opa) >> 8 : + (uint16_t)((uint16_t)bpp_opa_table[letter_px] * opa) >> 8); + } } vdb_buf_tmp++;