chore(cmsis-pack): update cmsis-pack for v9.3.0 release (#8113)
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
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
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
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

Co-authored-by: André <andre_miguel_costa@hotmail.com>
This commit is contained in:
Gabriel Wang
2025-06-03 11:46:55 +01:00
committed by GitHub
parent cbebc4bc3e
commit 1f5bb602a6
14 changed files with 540 additions and 324 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# Kconfig file for LVGL v9.3.0-dev
# Kconfig file for LVGL v9.3.0
menu "LVGL configuration"
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -2,8 +2,8 @@
<index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<vendor>LVGL</vendor>
<url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url>
<timestamp>2024-10-31</timestamp>
<timestamp>2025-06-02</timestamp>
<pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.3.0-dev2"/>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.3.0"/>
</pindex>
</index>
+15 -9
View File
@@ -34,7 +34,9 @@ remove the misleading guide above this code segment.
#ifndef LV_CONF_H
#define LV_CONF_H
#if defined(_RTE_)
#include "RTE_Components.h"
#endif
...
```
4. Remove macro definitions for
@@ -56,6 +58,8 @@ remove the misleading guide above this code segment.
- LV_USE_DEMO_SCROLL
- LV_USE_DEMO_VECTOR_GRAPHIC
- LV_USE_DEMO_EBIKE
- LV_USE_DEMO_HIGH_RES
- LV_USE_DEMO_SMARTWATCH
- LV_USE_DRAW_VGLITE
- LV_USE_DRAW_VG_LITE
- LV_USE_PXP
@@ -78,6 +82,7 @@ remove the misleading guide above this code segment.
- LV_USE_ST7789
- LV_USE_ST7796
- LV_USE_ST_LTDC
- LV_USE_FT81X
- LV_USE_ILI9341
- LV_USE_RENESAS_GLCDC
- LV_USE_NEMA_GFX
@@ -85,7 +90,7 @@ remove the misleading guide above this code segment.
5. Update `LV_LOG_PRINTF` to `1` and `LV_LOG_LEVEL` to `LV_LOG_LEVEL_USER`
6. Set `LV_FONT_MONTSERRAT_12`, ``LV_FONT_MONTSERRAT_20`, `LV_FONT_MONTSERRAT_24`, `LV_FONT_MONTSERRAT_26` and `LV_FONT_MONTSERRAT_16` to `1` (So Widgets and Benchmark can be compiled correctly, this is for improving the out of box experience.)
6. Set `LV_FONT_MONTSERRAT_12`, `LV_FONT_MONTSERRAT_20`, `LV_FONT_MONTSERRAT_24`, `LV_FONT_MONTSERRAT_26` and `LV_FONT_MONTSERRAT_16` to `1` (So Widgets and Benchmark can be compiled correctly, this is for improving the out of box experience.)
7. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment.
@@ -102,16 +107,16 @@ Make sure `LV_MEM_SIZE` is no less than `(128*1024U)`.
- \#define LV_USE_FS_POSIX 0
- \#define LV_USE_FS_WIN32 0
- \#define LV_USE_FS_FATFS 0
- #define LV_USE_FS_LITTLEFS 0
- #define LV_USE_FS_ARDUINO_ESP_LITTLEFS 0
- #define LV_USE_FS_ARDUINO_SD 0
- #define LV_USE_FS_MEMFS 0
- \#define LV_USE_FS_LITTLEFS 0
- \#define LV_USE_FS_ARDUINO_ESP_LITTLEFS 0
- \#define LV_USE_FS_ARDUINO_SD 0
- \#define LV_USE_FS_MEMFS 0
- \#define LV_USE_LODEPNG 0
- #define LV_USE_LIBPNG 0
- \#define LV_USE_LIBPNG 0
- \#define LV_USE_BMP 0
- \#define LV_USE_RLE 0
- #define LV_USE_TJPGD 0
- #define LV_USE_LIBJPEG_TURBO 0
- \#define LV_USE_TJPGD 0
- \#define LV_USE_LIBJPEG_TURBO 0
- \#define LV_USE_GIF 0
- \#define LV_USE_BARCODE 0
- \#define LV_USE_QRCODE 0
@@ -119,7 +124,8 @@ Make sure `LV_MEM_SIZE` is no less than `(128*1024U)`.
- \#define LV_USE_TINY_TTF 0
- \#define LV_USE_RLOTTIE 0
- \#define LV_USE_FFMPEG 0
- #define LV_USE_FONT_MANAGER 0
- \#define LV_USE_FONT_MANAGER 0
- \#define LV_USE_XML 0
9. update the definition of following macros: `LV_USE_VECTOR_GRAPHIC`, `LV_USE_THORVE_INTERNAL` and `LV_USE_THORVE_EXTERNAL` as
+2
View File
@@ -46,6 +46,7 @@ PACK_DIRS="
../../src
../../libs
../../demos
../../xmls
../../env_support/pikascript
"
@@ -56,6 +57,7 @@ PACK_BASE_FILES="
../../README.md
../../lvgl.h
../../lv_version.h
../../lvgl_private.h
lv_conf_cmsis.h
lv_cmsis_pack.txt
"
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "lvgl",
"version": "9.3.0-dev",
"version": "9.3.0",
"keywords": "graphics, gui, embedded, tft, lvgl",
"description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.",
"repository": {
+1 -1
View File
@@ -1,5 +1,5 @@
name=lvgl
version=9.3.0-dev
version=9.3.0
author=kisvegabor
maintainer=kisvegabor,embeddedt,pete-pjb
sentence=Full-featured Graphics Library for Embedded Systems
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* @file lv_conf.h
* Configuration file for v9.3.0-dev
* Configuration file for v9.3.0
*/
/*
+1 -1
View File
@@ -9,6 +9,6 @@
#define LVGL_VERSION_MAJOR 9
#define LVGL_VERSION_MINOR 3
#define LVGL_VERSION_PATCH 0
#define LVGL_VERSION_INFO "dev"
#define LVGL_VERSION_INFO ""
#endif /* LVGL_VERSION_H */
+146 -56
View File
@@ -18,6 +18,8 @@ extern "C" {
#include "../../../lv_conf_internal.h"
#include "../../../misc/lv_area_private.h"
#include "../../../draw/lv_draw_private.h"
#include "../../../draw/lv_draw_image_private.h"
#if LV_USE_DRAW_ARM2D_SYNC
@@ -175,11 +177,11 @@ static inline lv_result_t lv_draw_sw_image_helium(
const lv_area_t * coords,
int32_t src_stride,
const lv_area_t * des_area,
lv_draw_task_t * draw_task,
lv_draw_task_t * t,
const lv_draw_image_dsc_t * draw_dsc)
{
lv_result_t result = LV_RESULT_INVALID;
lv_layer_t * layer = draw_task->target_layer;
lv_layer_t * layer = t->target_layer;
lv_color_format_t des_cf = layer->color_format;
static bool arm_2d_initialized = false;
@@ -192,19 +194,27 @@ static inline lv_result_t lv_draw_sw_image_helium(
if (!is_transform) {
break;
}
#if ARM_2D_VERSION < 10202ul
if(draw_dsc->scale_x != draw_dsc->scale_y) {
break;
}
#endif
/* filter the unsupported colour format combination */
if((LV_COLOR_FORMAT_RGB565 == des_cf)
&& !( (LV_COLOR_FORMAT_RGB565 == src_cf)
|| (LV_COLOR_FORMAT_RGB565A8 == src_cf))) {
|| (LV_COLOR_FORMAT_RGB565A8 == src_cf)
#if __ARM_2D_CFG_SUPPORT_CCCA8888_IMPLICIT_CONVERSION__ && ARM_2D_VERSION > 10201ul
|| (LV_COLOR_FORMAT_ARGB8888 == src_cf)
|| (LV_COLOR_FORMAT_XRGB8888 == src_cf)
#endif
|| (LV_COLOR_FORMAT_A8 == src_cf))) {
break;
}
#if 0 /* a temporary patch */
#if ARM_2D_VERSION > 10201ul
if((LV_COLOR_FORMAT_XRGB8888 == des_cf)
&& !( (LV_COLOR_FORMAT_ARGB8888 == src_cf)
|| (LV_COLOR_FORMAT_XRGB8888 == src_cf))) {
|| (LV_COLOR_FORMAT_XRGB8888 == src_cf)
|| (LV_COLOR_FORMAT_A8 == src_cf))) {
break;
}
#else
@@ -218,7 +228,7 @@ static inline lv_result_t lv_draw_sw_image_helium(
/* ------------- prepare parameters for arm-2d APIs - BEGIN --------- */
lv_area_t blend_area;
if(!lv_area_intersect(&blend_area, des_area, draw_task->clip_area)) {
if(!lv_area_intersect(&blend_area, des_area, &t->clip_area)) {
break;
}
@@ -268,8 +278,8 @@ static inline lv_result_t lv_draw_sw_image_helium(
target_region = (arm_2d_region_t) {
.tLocation = {
.iX = (int16_t)(coords->x1 - draw_task->clip_area->x1),
.iY = (int16_t)(coords->y1 - draw_task->clip_area->y1),
.iX = (int16_t)(coords->x1 - t->clip_area.x1),
.iY = (int16_t)(coords->y1 - t->clip_area.y1),
},
.tSize = src_size,
};
@@ -289,12 +299,12 @@ static inline lv_result_t lv_draw_sw_image_helium(
clip_region = (arm_2d_region_t) {
.tLocation = {
.iX = (int16_t)(draw_task->clip_area->x1 - layer->buf_area.x1),
.iY = (int16_t)(draw_task->clip_area->y1 - layer->buf_area.y1),
.iX = (int16_t)(t->clip_area.x1 - layer->buf_area.x1),
.iY = (int16_t)(t->clip_area.y1 - layer->buf_area.y1),
},
.tSize = {
.iWidth = (int16_t)lv_area_get_width(draw_task->clip_area),
.iHeight = (int16_t)lv_area_get_height(draw_task->clip_area),
.iWidth = (int16_t)lv_area_get_width(&t->clip_area),
.iHeight = (int16_t)lv_area_get_height(&t->clip_area),
},
};
@@ -318,13 +328,21 @@ static inline lv_result_t lv_draw_sw_image_helium(
.pchBuffer = (uint8_t *)src_buf,
};
#if ARM_2D_VERSION > 10201ul
static const bool bIsNewFrame = true;
arm_2d_point_float_t source_center, target_center;
source_center.fX = draw_dsc->pivot.x;
source_center.fY = draw_dsc->pivot.y;
target_center.fX = target_region.tLocation.iX + draw_dsc->pivot.x;
target_center.fY = target_region.tLocation.iY + draw_dsc->pivot.y;
#else
static arm_2d_location_t source_center, target_center;
source_center.iX = draw_dsc->pivot.x;
source_center.iY = draw_dsc->pivot.y;
target_center = target_region.tLocation;
target_center.iX += draw_dsc->pivot.x;
target_center.iY += draw_dsc->pivot.y;
#endif
if(LV_COLOR_FORMAT_A8 == src_cf) {
source_tile.tInfo.bHasEnforcedColour = true;
@@ -332,6 +350,21 @@ static inline lv_result_t lv_draw_sw_image_helium(
if(LV_COLOR_FORMAT_RGB565 == des_cf) {
#if ARM_2D_VERSION > 10201ul
arm_2dp_rgb565_fill_colour_with_mask_opacity_and_transform_xy(
NULL,
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
lv_color_to_u16(draw_dsc->recolor),
opa,
&target_center
);
#else
arm_2d_rgb565_fill_colour_with_mask_opacity_and_transform(
&source_tile,
&target_tile,
@@ -343,9 +376,26 @@ static inline lv_result_t lv_draw_sw_image_helium(
opa,
&target_center
);
#endif
}
else if(LV_COLOR_FORMAT_XRGB8888 == des_cf) {
#if ARM_2D_VERSION > 10201ul
arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_xy(
NULL,
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
lv_color_to_int(draw_dsc->recolor),
opa,
&target_center
);
#else
arm_2d_cccn888_fill_colour_with_mask_opacity_and_transform(
&source_tile,
&target_tile,
@@ -357,6 +407,7 @@ static inline lv_result_t lv_draw_sw_image_helium(
opa,
&target_center
);
#endif
}
else {
break;
@@ -377,6 +428,23 @@ static inline lv_result_t lv_draw_sw_image_helium(
mask_tile.tInfo.tColourInfo.chScheme = ARM_2D_COLOUR_GRAY8;
mask_tile.pchBuffer = (uint8_t *)mask_buf;
#if ARM_2D_VERSION > 10201ul
arm_2dp_rgb565_tile_transform_xy_with_src_mask_and_opacity(
NULL,
&source_tile,
&mask_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
opa,
&target_center
);
#else
if(opa >= LV_OPA_MAX) {
arm_2d_rgb565_tile_transform_with_src_mask(
&source_tile,
@@ -402,11 +470,27 @@ static inline lv_result_t lv_draw_sw_image_helium(
&target_center
);
}
#endif
}
else if(LV_COLOR_FORMAT_RGB565 == src_cf) {
LV_ASSERT(LV_COLOR_FORMAT_RGB565 == des_cf);
#if ARM_2D_VERSION > 10201ul
arm_2dp_rgb565_tile_transform_xy_only_with_opacity(
NULL,
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
opa,
&target_center
);
#else
if(opa >= LV_OPA_MAX) {
#if ARM_2D_VERSION >= 10106
arm_2d_rgb565_tile_transform_only(
@@ -444,75 +528,81 @@ static inline lv_result_t lv_draw_sw_image_helium(
&target_center
);
}
#endif
}
#if 0 /* a temporary patch */
#if ARM_2D_VERSION > 10201ul
else if(LV_COLOR_FORMAT_ARGB8888 == src_cf) {
LV_ASSERT(LV_COLOR_FORMAT_XRGB8888 == des_cf);
if (LV_COLOR_FORMAT_XRGB8888 == des_cf) {
source_tile.tInfo.bHasEnforcedColour = true;
source_tile.tInfo.tColourInfo.chScheme = ARM_2D_COLOUR_CCCA8888;
static arm_2d_tile_t mask_tile;
mask_tile = source_tile;
mask_tile.tInfo.bHasEnforcedColour = true;
mask_tile.tInfo.tColourInfo.chScheme = ARM_2D_CHANNEL_8in32;
mask_tile.pchBuffer = (uint8_t *)src_buf + 3;
if(opa >= LV_OPA_MAX) {
arm_2d_cccn888_tile_transform_with_src_mask(
arm_2dp_cccn888_tile_transform_xy_only_with_opacity(
NULL,
&source_tile,
&mask_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
&target_center
);
}
else {
arm_2d_cccn888_tile_transform_with_src_mask_and_opacity(
&source_tile,
&mask_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
opa,
&target_center
);
}
else if(LV_COLOR_FORMAT_RGB565 == des_cf) {
source_tile.tInfo.bHasEnforcedColour = true;
source_tile.tInfo.tColourInfo.chScheme = ARM_2D_COLOUR_CCCA8888;
arm_2dp_rgb565_tile_transform_xy_only_with_opacity(
NULL,
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
opa,
&target_center
);
}
}
else if(LV_COLOR_FORMAT_XRGB8888 == src_cf) {
LV_ASSERT(LV_COLOR_FORMAT_XRGB8888 == des_cf);
if(opa >= LV_OPA_MAX) {
arm_2d_cccn888_tile_transform_only(
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
&target_center
);
}
else {
arm_2d_cccn888_tile_transform_only_with_opacity(
if(LV_COLOR_FORMAT_XRGB8888 == des_cf) {
arm_2dp_cccn888_tile_transform_xy_only_with_opacity(
NULL,
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
opa,
&target_center
);
}
else if(LV_COLOR_FORMAT_RGB565 == des_cf) {
}
source_tile.tInfo.bHasEnforcedColour = true;
source_tile.tInfo.tColourInfo.chScheme = ARM_2D_COLOUR_CCCA8888;
arm_2dp_rgb565_tile_transform_xy_only_with_opacity(
NULL,
&source_tile,
&target_tile,
NULL,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
draw_dsc->scale_y / 256.0f,
opa,
&target_center
);
}
#endif
}
else {
break;
}
+4
View File
@@ -83,7 +83,11 @@ void lv_draw_sw_init(void)
draw_sw_unit->base_unit.dispatch_cb = dispatch;
draw_sw_unit->base_unit.evaluate_cb = evaluate;
draw_sw_unit->base_unit.delete_cb = LV_USE_OS ? lv_draw_sw_delete : NULL;
#if LV_USE_DRAW_ARM2D_SYNC
draw_sw_unit->base_unit.name = "SW_ARM2D";
#else
draw_sw_unit->base_unit.name = "SW";
#endif
#if LV_USE_OS
uint32_t i;
+5 -5
View File
@@ -298,7 +298,7 @@ static void img_draw_core(lv_draw_task_t * t, const lv_draw_image_dsc_t * draw_d
img_coords, /* src_h, src_w, src_x1, src_y1 */
img_stride, /* image stride */
clipped_img_area, /* blend area */
t, /* draw task*/
t, /* target buffer, buffer width, buffer height, buffer stride */
draw_dsc)) { /* opa, recolour_opa and colour */
/*In the other cases every pixel need to be checked one-by-one*/
transform_and_recolor(t, draw_dsc, decoder_dsc, sup, img_coords, clipped_img_area);
@@ -569,7 +569,7 @@ static void recolor(lv_area_t relative_area, uint8_t * src_buf, uint8_t * dest_b
lv_opa_t mix_inv = 255 - mix;
if(cf == LV_COLOR_FORMAT_RGB565A8 || cf == LV_COLOR_FORMAT_RGB565) {
if(LV_RESULT_INVALID == LV_DRAW_SW_RGB565_RECOLOR(dest_buf, blend_area, color, mix)) {
if(LV_RESULT_INVALID == LV_DRAW_SW_RGB565_RECOLOR(dest_buf, relative_area, color, mix)) {
const uint8_t * src_buf_tmp = src_buf + src_stride * relative_area.y1 + relative_area.x1 * 2;
int32_t img_stride_px = src_stride / 2;
@@ -608,7 +608,7 @@ static void recolor(lv_area_t relative_area, uint8_t * src_buf, uint8_t * dest_b
}
}
else if(cf == LV_COLOR_FORMAT_RGB565_SWAPPED) {
if(LV_RESULT_INVALID == LV_DRAW_SW_RGB565_SWAPPED_RECOLOR(dest_buf, blend_area, color, mix)) {
if(LV_RESULT_INVALID == LV_DRAW_SW_RGB565_SWAPPED_RECOLOR(dest_buf, relative_area, color, mix)) {
const uint8_t * src_buf_tmp = src_buf + src_stride * relative_area.y1 + relative_area.x1 * 2;
int32_t img_stride_px = src_stride / 2;
@@ -648,7 +648,7 @@ static void recolor(lv_area_t relative_area, uint8_t * src_buf, uint8_t * dest_b
}
}
else if(cf == LV_COLOR_FORMAT_RGB888 || cf == LV_COLOR_FORMAT_XRGB8888 || cf == LV_COLOR_FORMAT_ARGB8888) {
if(LV_RESULT_INVALID == LV_DRAW_SW_RGB888_RECOLOR(dest_buf, blend_area, color, mix, cf_final)) {
if(LV_RESULT_INVALID == LV_DRAW_SW_RGB888_RECOLOR(dest_buf, relative_area, color, mix, cf)) {
uint32_t px_size = lv_color_format_get_size(cf);
src_buf += src_stride * relative_area.y1 + relative_area.x1 * px_size;
if(mix >= LV_OPA_MAX) {
@@ -688,7 +688,7 @@ static void recolor(lv_area_t relative_area, uint8_t * src_buf, uint8_t * dest_b
}
}
else if(cf == LV_COLOR_FORMAT_ARGB8888_PREMULTIPLIED) {
if(LV_RESULT_INVALID == LV_DRAW_SW_ARGB8888_PREMULTIPLIED_RECOLOR(dest_buf, blend_area, color, mix, cf_final)) {
if(LV_RESULT_INVALID == LV_DRAW_SW_ARGB8888_PREMULTIPLIED_RECOLOR(dest_buf, relative_area, color, mix, cf)) {
uint32_t px_size = lv_color_format_get_size(cf);
src_buf += src_stride * relative_area.y1 + relative_area.x1 * px_size;