fix(draw_sw): fix ARGB8888PM case where the color of dest and src is the same but opa is different. (#8454)
Arduino Lint / lint (push) Has been cancelled
Build Examples with C++ Compiler / build-examples (push) Has been cancelled
MicroPython CI / Build esp32 port (push) Has been cancelled
MicroPython CI / Build rp2 port (push) Has been cancelled
MicroPython CI / Build stm32 port (push) Has been cancelled
MicroPython CI / Build unix port (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_NORMAL_8BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_SDL - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_VG_LITE - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_VG_LITE - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_VG_LITE - gcc - Windows (push) Has been cancelled
C/C++ CI / Build ESP IDF ESP32S3 (push) Has been cancelled
Close stale issues and PRs / stale (push) Has been cancelled
C/C++ CI / Run tests with 32bit build (push) Has been cancelled
C/C++ CI / Run tests with 64bit build (push) Has been cancelled
BOM Check / bom-check (push) Has been cancelled
Verify that lv_conf_internal.h matches repository state / verify-conf-internal (push) Has been cancelled
Verify the widget property name / verify-property-name (push) Has been cancelled
Verify code formatting / verify-formatting (push) Has been cancelled
Compare file templates with file names / template-check (push) Has been cancelled
Build docs / build-and-deploy (push) Has been cancelled
Test API JSON generator / Test API JSON (push) Has been cancelled
Check Makefile / Build using Makefile (push) Has been cancelled
Check Makefile for UEFI / Build using Makefile for UEFI (push) Has been cancelled
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_32B - Ubuntu (push) Has been cancelled
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_64B - Ubuntu (push) Has been cancelled
Port repo release update / run-release-branch-updater (push) Has been cancelled
Verify Font License / verify-font-license (push) Has been cancelled
Verify Kconfig / verify-kconfig (push) Has been cancelled

This commit is contained in:
Erik Tagirov
2025-06-24 11:52:47 +02:00
committed by GitHub
parent c34a619f46
commit cd35a9a25c
3 changed files with 14 additions and 7 deletions
-1
View File
@@ -327,7 +327,6 @@ static lv_obj_t * image_obj_create(lv_obj_t * parent, int32_t col, int32_t row,
return obj;
}
#include <stdio.h>
static void image_core_cb(lv_obj_t * parent, bool recolor, uint32_t startAt)
{
@@ -302,7 +302,8 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds
*darker color when blending the same color to the background.*/
if(dest_buf_c32[x].red != color_argb.red ||
dest_buf_c32[x].green != color_argb.green ||
dest_buf_c32[x].blue != color_argb.blue) {
dest_buf_c32[x].blue != color_argb.blue ||
dest_buf_c32[x].alpha != color_argb.alpha) {
color_argb.red = (color_argb.red * color_argb.alpha) >> 8;
color_argb.green = (color_argb.green * color_argb.alpha) >> 8;
@@ -334,7 +335,8 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds
*darker color when blending the same color to the background.*/
if(dest_buf_c32[x].red != color_argb.red ||
dest_buf_c32[x].green != color_argb.green ||
dest_buf_c32[x].blue != color_argb.blue) {
dest_buf_c32[x].blue != color_argb.blue ||
dest_buf_c32[x].alpha != color_argb.alpha) {
color_argb.alpha = alpha;
color_argb.red = (color_argb.red * color_argb.alpha) >> 8;
color_argb.green = (color_argb.green * color_argb.alpha) >> 8;
@@ -366,7 +368,8 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds
*darker color when blending the same color to the background.*/
if(dest_buf_c32[x].red != color_argb.red ||
dest_buf_c32[x].green != color_argb.green ||
dest_buf_c32[x].blue != color_argb.blue) {
dest_buf_c32[x].blue != color_argb.blue ||
dest_buf_c32[x].alpha != color_argb.alpha) {
color_argb.alpha = alpha;
color_argb.red = (color_argb.red * color_argb.alpha) >> 8;
color_argb.green = (color_argb.green * color_argb.alpha) >> 8;
@@ -399,7 +402,8 @@ static void LV_ATTRIBUTE_FAST_MEM argb8888_image_blend(lv_draw_sw_blend_image_ds
*darker color when blending the same color to the background.*/
if(dest_buf_c32[x].red != color_argb.red ||
dest_buf_c32[x].green != color_argb.green ||
dest_buf_c32[x].blue != color_argb.blue) {
dest_buf_c32[x].blue != color_argb.blue ||
dest_buf_c32[x].alpha != color_argb.alpha) {
color_argb.alpha = alpha;
color_argb.red = (color_argb.red * color_argb.alpha) >> 8;
color_argb.green = (color_argb.green * color_argb.alpha) >> 8;
@@ -26,8 +26,12 @@ void test_render_to_argb8888_premultiplied(void)
uint32_t i;
for(i = 0; i < LV_DEMO_RENDER_SCENE_NUM; i++) {
/*Skip test with transformed indexed images if they are not loaded to RAM*/
if(LV_BIN_DECODER_RAM_LOAD == 0 &&
/*
* Skip test with transformed indexed images if they are not loaded to RAM
* also skip normal_3 and recolor_3 on VGLite
* because RGB565A8 and I8 are not supported
*/
if((LV_BIN_DECODER_RAM_LOAD == 0 || LV_USE_DRAW_VGLITE == 0) &&
(i == LV_DEMO_RENDER_SCENE_IMAGE_NORMAL_3 ||
i == LV_DEMO_RENDER_SCENE_IMAGE_RECOLOR_3)) continue;