From 332d0abcfc94171c04eb1c03cf9eed67bad94150 Mon Sep 17 00:00:00 2001 From: Gabriel Wang Date: Fri, 20 May 2022 08:32:59 +0100 Subject: [PATCH] fix(draw): fix colour supports for indexed and alpha-only (#3371) --- src/draw/lv_draw_img.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/draw/lv_draw_img.c b/src/draw/lv_draw_img.c index dca3d9786..41dc0f039 100644 --- a/src/draw/lv_draw_img.c +++ b/src/draw/lv_draw_img.c @@ -236,7 +236,12 @@ LV_ATTRIBUTE_FAST_MEM static lv_res_t decode_and_draw(lv_draw_ctx_t * draw_ctx, if(cdsc == NULL) return LV_RES_INV; - lv_img_cf_t cf = cdsc->dec_dsc.header.cf; + lv_img_cf_t cf; + if(lv_img_cf_is_chroma_keyed(cdsc->dec_dsc.header.cf)) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED; + else if(LV_IMG_CF_ALPHA_8BIT == cdsc->dec_dsc.header.cf) cf = LV_IMG_CF_ALPHA_8BIT; + else if(LV_IMG_CF_RGB565A8 == cdsc->dec_dsc.header.cf) cf = LV_IMG_CF_RGB565A8; + else if(lv_img_cf_has_alpha(cdsc->dec_dsc.header.cf)) cf = LV_IMG_CF_TRUE_COLOR_ALPHA; + else cf = LV_IMG_CF_TRUE_COLOR; if(cf == LV_IMG_CF_ALPHA_8BIT) { if(draw_dsc->angle || draw_dsc->zoom != LV_IMG_ZOOM_NONE) {