feat(draw_sw): add image clip_radius and mask before transformation (#7244)

Co-authored-by: Liam <30486941+liamHowatt@users.noreply.github.com>
This commit is contained in:
Gabor Kiss-Vamosi
2024-11-28 00:29:08 +01:00
committed by GitHub
parent a4d70c9217
commit 8881868792
96 changed files with 2062 additions and 1587 deletions
@@ -0,0 +1,85 @@
#ifdef __has_include
#if __has_include("lvgl.h")
#ifndef LV_LVGL_H_INCLUDE_SIMPLE
#define LV_LVGL_H_INCLUDE_SIMPLE
#endif
#endif
#endif
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
#include "lvgl.h"
#else
#include "lvgl/lvgl.h"
#endif
#ifndef LV_ATTRIBUTE_MEM_ALIGN
#define LV_ATTRIBUTE_MEM_ALIGN
#endif
#ifndef LV_ATTRIBUTE_IMG_RENDER_LVGL_LOGO_RGB565A8
#define LV_ATTRIBUTE_IMG_RENDER_LVGL_LOGO_RGB565A8
#endif
static const
LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_RENDER_LVGL_LOGO_RGB565A8
uint8_t img_render_lvgl_logo_rgb565a8_map[] = {
0xff, 0xff, 0xff, 0xff, 0x55, 0xad, 0x2c, 0x63, 0xeb, 0x5a, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0x0c, 0x5b, 0xeb, 0x5a, 0xef, 0x7b, 0xfb, 0xde, 0xff, 0xff,
0xdf, 0xff, 0x30, 0x84, 0x86, 0x29, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0xa6, 0x31, 0x65, 0x29, 0x65, 0x29, 0x86, 0x29, 0x49, 0x42, 0x9a, 0xce,
0x55, 0xad, 0x86, 0x29, 0xa7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0x86, 0x29, 0x0c, 0x5b, 0x6d, 0x6b, 0xa7, 0x31, 0x65, 0x29, 0xeb, 0x5a,
0x2c, 0x63, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0x66, 0x29, 0xef, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x9c, 0x65, 0x29, 0xe7, 0x39,
0xeb, 0x5a, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0x45, 0x21, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x86, 0x29, 0xe7, 0x39,
0x0c, 0x5b, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0x86, 0x29, 0x0c, 0x63, 0x5d, 0xef, 0x9e, 0xf7, 0x10, 0x7c, 0x66, 0x29, 0xe7, 0x39,
0x0c, 0x5b, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0x86, 0x29, 0x28, 0x42, 0x69, 0x4a, 0x86, 0x29, 0xa7, 0x31, 0xe7, 0x39,
0xeb, 0x5a, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa6, 0x31, 0x86, 0x29, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0x4d, 0x63, 0x45, 0x21, 0x65, 0x21, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x29, 0x65, 0x21, 0x86, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0x3c, 0xe7, 0x35, 0x9d, 0xf4, 0x94, 0xf4, 0x94, 0xf4, 0x94, 0xf4, 0x94, 0xf4, 0x94, 0x14, 0x95, 0xf3, 0x94, 0xeb, 0x5a, 0x86, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xde, 0xff, 0xd8, 0xfe, 0xb7, 0xfe, 0xb8, 0xfe, 0xb8, 0xfe, 0xb8, 0xfe, 0xb8, 0xfe, 0xb7, 0xfe, 0xd8, 0xfe, 0xbe, 0xf7, 0x4d, 0x63, 0x86, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xad, 0xfc, 0xa2, 0xf2, 0xa2, 0xf2, 0xa2, 0xf2, 0xa2, 0xf2, 0xa2, 0xf2, 0xa2, 0xf2, 0xa2, 0xf2, 0x81, 0xf2, 0x55, 0xfe, 0x18, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xc9, 0xf3, 0xe3, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xa2, 0xf2, 0xb2, 0xfd, 0x59, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xe9, 0xf3, 0xe3, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xa2, 0xf2, 0xb2, 0xfd, 0x39, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xe9, 0xf3, 0xe3, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xa2, 0xf2, 0xb2, 0xfd, 0x39, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xe9, 0xf3, 0xe3, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xa2, 0xf2, 0xb2, 0xfd, 0x39, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xe9, 0xf3, 0xe3, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xa2, 0xf2, 0xb2, 0xfd, 0x39, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xe9, 0xf3, 0xe3, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xe4, 0xf2, 0xa2, 0xf2, 0xb2, 0xfd, 0x39, 0xbe, 0x65, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xe9, 0xf3, 0xa2, 0xf2, 0xc3, 0xf2, 0xc3, 0xf2, 0xc3, 0xf2, 0xc3, 0xf2, 0xc3, 0xf2, 0xc3, 0xf2, 0x61, 0xf2, 0xb2, 0xfd, 0x39, 0xbe, 0x24, 0x21, 0x86, 0x29, 0x86, 0x29, 0x86, 0x29, 0x86, 0x29, 0x86, 0x29, 0x86, 0x29, 0x86, 0x29, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0x56, 0xfe, 0x0a, 0xfc, 0xe9, 0xfb, 0xe9, 0xfb, 0xe9, 0xfb, 0xe9, 0xfb, 0xe9, 0xfb, 0xe9, 0xfb, 0x09, 0xfc, 0x1a, 0xff, 0x7d, 0xef, 0x6d, 0x6b, 0xeb, 0x5a, 0x0b, 0x5b, 0x0b, 0x5b, 0x0b, 0x5b, 0x0b, 0x5b, 0x0b, 0x5b, 0x0b, 0x5b, 0x49, 0x42, 0x86, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xff, 0xff, 0xfe, 0xf7, 0xde, 0xef, 0xde, 0xf7, 0xde, 0xf7, 0xde, 0xf7, 0xde, 0xf7, 0xde, 0xef, 0xfe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xef, 0x9f, 0xef, 0x9f, 0xef, 0x9f, 0xef, 0x9f, 0xef, 0x9f, 0xef, 0x9f, 0xef, 0x9d, 0xf7, 0x8e, 0x6b, 0x86, 0x29, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0x56, 0xb7, 0xae, 0x6e, 0xae, 0x6e, 0xae, 0x6e, 0xae, 0x6e, 0xae, 0x6e, 0xae, 0x6e, 0xae, 0x6e, 0xae, 0x6e, 0xba, 0xd7, 0x3f, 0xe7, 0xbf, 0x53, 0x7f, 0x43, 0x9f, 0x4b, 0x9f, 0x4b, 0x9f, 0x4b, 0x9f, 0x4b, 0x9f, 0x4b, 0x5f, 0x43, 0x9f, 0x9d, 0x3c, 0xe7, 0xc7, 0x31, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xd0, 0x7e, 0x8c, 0x5e, 0x8c, 0x5e, 0x8c, 0x5e, 0x8c, 0x5e, 0x8c, 0x5e, 0x8c, 0x5e, 0x8c, 0x5e, 0x6b, 0x56, 0x95, 0xb7, 0x7f, 0xc6, 0xdf, 0x2a, 0x1f, 0x3b, 0x1f, 0x3b, 0x1f, 0x3b, 0x1f, 0x3b, 0x1f, 0x3b, 0x1f, 0x3b, 0xff, 0x32, 0x1f, 0x5c, 0x7d, 0xef, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xf0, 0x86, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8b, 0x5e, 0x96, 0xb7, 0x7f, 0xc6, 0xff, 0x32, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0xff, 0x32, 0x3f, 0x64, 0x7d, 0xef, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xf0, 0x86, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8b, 0x5e, 0x96, 0xb7, 0x7f, 0xc6, 0xff, 0x32, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0xff, 0x32, 0x3f, 0x64, 0x7d, 0xef, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xf0, 0x86, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8b, 0x5e, 0x96, 0xb7, 0x7f, 0xc6, 0xff, 0x32, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0xff, 0x32, 0x3f, 0x64, 0x7d, 0xef, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0xf0, 0x7e, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8b, 0x5e, 0x96, 0xb7, 0x7f, 0xc6, 0xff, 0x32, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0xff, 0x32, 0x3f, 0x64, 0x7d, 0xef, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa7, 0x31, 0xe7, 0x39,
0x13, 0x9f, 0x8c, 0x5e, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8b, 0x5e, 0x96, 0xb7, 0x7f, 0xc6, 0xff, 0x32, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0xff, 0x32, 0x3f, 0x64, 0x7d, 0xef, 0x28, 0x42, 0xa6, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xa6, 0x31, 0x28, 0x42,
0xbc, 0xe7, 0xae, 0x6e, 0x8c, 0x5e, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8c, 0x66, 0x8b, 0x56, 0x95, 0xb7, 0x7f, 0xc6, 0xdf, 0x2a, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0x3f, 0x3b, 0xff, 0x32, 0x1f, 0x64, 0x5d, 0xef, 0x08, 0x3a, 0x86, 0x29, 0xa7, 0x31, 0xa7, 0x31, 0xa7, 0x31, 0xa7, 0x31, 0xa6, 0x31, 0x45, 0x21, 0x92, 0x8c,
0xff, 0xff, 0xbb, 0xdf, 0xd0, 0x7e, 0xad, 0x66, 0xad, 0x66, 0xad, 0x66, 0xad, 0x66, 0xad, 0x66, 0x8d, 0x66, 0xb9, 0xd7, 0x1f, 0xe7, 0x7f, 0x4b, 0x5f, 0x43, 0x5f, 0x43, 0x5f, 0x43, 0x5f, 0x43, 0x5f, 0x43, 0x5f, 0x43, 0x1f, 0x3b, 0x1f, 0x8d, 0xdf, 0xff, 0x2c, 0x63, 0xa7, 0x31, 0xe7, 0x39, 0xe7, 0x39, 0xe7, 0x39, 0xe7, 0x39, 0x28, 0x42, 0x92, 0x8c, 0xdf, 0xff,
0x00, 0x00, 0x62, 0xb7, 0xc3, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc2, 0xc4, 0x94, 0x26, 0x00, 0x03, 0x90, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0x34,
0x61, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x1c, 0x68, 0x73, 0x72, 0x72, 0x72, 0x72, 0x70, 0x76, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0x07, 0x3e, 0x47, 0x46, 0x46, 0x46, 0x46, 0x48, 0x3c, 0x08, 0xb2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xa2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0x43, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0x42, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x50, 0xbe, 0xc7, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xbe, 0x2e, 0x11, 0xac, 0xc3, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0x00, 0x09, 0x12, 0x11, 0x11, 0x11, 0x11, 0x12, 0x08, 0x00, 0x00, 0x03, 0x15, 0x13, 0x13, 0x13, 0x13, 0x13, 0x11, 0x0d, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x61, 0xd9, 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xd8, 0x33, 0x1e, 0xd3, 0xe8, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe5, 0x78, 0x19, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6e, 0x42, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x10, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x13, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x13, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x13, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x13, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6a, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x13, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7,
0x1e, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0x42, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x13, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x00, 0x2a, 0xb7, 0xec, 0xf2, 0xf1, 0xf1, 0xf3, 0xe8, 0x3b, 0x21, 0xe0, 0xf4, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf2, 0x8c, 0x05, 0xb8, 0xf4, 0xf3, 0xf3, 0xf3, 0xf4, 0xe3, 0x83, 0x04,
};
const lv_image_dsc_t img_render_lvgl_logo_rgb565a8 = {
.header.magic = LV_IMAGE_HEADER_MAGIC,
.header.cf = LV_COLOR_FORMAT_RGB565A8,
.header.flags = 0,
.header.w = 30,
.header.h = 30,
.header.stride = 60,
.data_size = sizeof(img_render_lvgl_logo_rgb565a8_map),
.data = img_render_lvgl_logo_rgb565a8_map,
};
+3
View File
@@ -333,6 +333,7 @@ static void image_core_cb(lv_obj_t * parent, bool recolor, uint32_t startAt)
LV_IMAGE_DECLARE(img_render_lvgl_logo_xrgb8888); LV_IMAGE_DECLARE(img_render_lvgl_logo_xrgb8888);
LV_IMAGE_DECLARE(img_render_lvgl_logo_rgb888); LV_IMAGE_DECLARE(img_render_lvgl_logo_rgb888);
LV_IMAGE_DECLARE(img_render_lvgl_logo_rgb565); LV_IMAGE_DECLARE(img_render_lvgl_logo_rgb565);
LV_IMAGE_DECLARE(img_render_lvgl_logo_rgb565a8);
LV_IMAGE_DECLARE(img_render_lvgl_logo_argb8888); LV_IMAGE_DECLARE(img_render_lvgl_logo_argb8888);
LV_IMAGE_DECLARE(img_render_lvgl_logo_l8); LV_IMAGE_DECLARE(img_render_lvgl_logo_l8);
LV_IMAGE_DECLARE(img_render_lvgl_logo_i1); LV_IMAGE_DECLARE(img_render_lvgl_logo_i1);
@@ -342,6 +343,7 @@ static void image_core_cb(lv_obj_t * parent, bool recolor, uint32_t startAt)
&img_render_lvgl_logo_xrgb8888, &img_render_lvgl_logo_xrgb8888,
&img_render_lvgl_logo_rgb888, &img_render_lvgl_logo_rgb888,
&img_render_lvgl_logo_rgb565, &img_render_lvgl_logo_rgb565,
&img_render_lvgl_logo_rgb565a8,
&img_render_lvgl_logo_l8, &img_render_lvgl_logo_l8,
&img_render_lvgl_logo_i1, &img_render_lvgl_logo_i1,
}; };
@@ -351,6 +353,7 @@ static void image_core_cb(lv_obj_t * parent, bool recolor, uint32_t startAt)
"XRGB\n8888", "XRGB\n8888",
"RGB\n888", "RGB\n888",
"RGB\n565", "RGB\n565",
"RGB\n565A8",
"L8", "L8",
"I1", "I1",
}; };
+5 -2
View File
@@ -1133,7 +1133,10 @@ static void refr_obj(lv_layer_t * layer, lv_obj_t * obj)
* If it really doesn't need alpha use it. Else switch to the ARGB size*/ * If it really doesn't need alpha use it. Else switch to the ARGB size*/
layer_area_act.y2 = layer_area_act.y1 + max_rgb_row_height - 1; layer_area_act.y2 = layer_area_act.y1 + max_rgb_row_height - 1;
if(layer_area_act.y2 > layer_area_full.y2) layer_area_act.y2 = layer_area_full.y2; if(layer_area_act.y2 > layer_area_full.y2) layer_area_act.y2 = layer_area_full.y2;
bool area_need_alpha = alpha_test_area_on_obj(obj, &layer_area_act);
const void * bitmap_mask_src = lv_obj_get_style_bitmap_mask_src(obj, 0);
bool area_need_alpha = bitmap_mask_src || alpha_test_area_on_obj(obj, &layer_area_act);
if(area_need_alpha) { if(area_need_alpha) {
layer_area_act.y2 = layer_area_act.y1 + max_argb_row_height - 1; layer_area_act.y2 = layer_area_act.y1 + max_argb_row_height - 1;
if(layer_area_act.y2 > layer_area_full.y2) layer_area_act.y2 = layer_area_full.y2; if(layer_area_act.y2 > layer_area_full.y2) layer_area_act.y2 = layer_area_full.y2;
@@ -1170,7 +1173,7 @@ static void refr_obj(lv_layer_t * layer, lv_obj_t * obj)
layer_draw_dsc.skew_y = lv_obj_get_style_transform_skew_y(obj, 0); layer_draw_dsc.skew_y = lv_obj_get_style_transform_skew_y(obj, 0);
layer_draw_dsc.blend_mode = lv_obj_get_style_blend_mode(obj, 0); layer_draw_dsc.blend_mode = lv_obj_get_style_blend_mode(obj, 0);
layer_draw_dsc.antialias = disp_refr->antialiasing; layer_draw_dsc.antialias = disp_refr->antialiasing;
layer_draw_dsc.bitmap_mask_src = lv_obj_get_style_bitmap_mask_src(obj, 0); layer_draw_dsc.bitmap_mask_src = bitmap_mask_src;
layer_draw_dsc.image_area = obj_draw_size; layer_draw_dsc.image_area = obj_draw_size;
layer_draw_dsc.src = new_layer; layer_draw_dsc.src = new_layer;
+1
View File
@@ -233,6 +233,7 @@ void lv_draw_rect(lv_layer_t * layer, const lv_draw_rect_dsc_t * dsc, const lv_a
bg_image_dsc->tile = dsc->bg_image_tiled; bg_image_dsc->tile = dsc->bg_image_tiled;
bg_image_dsc->header = header; bg_image_dsc->header = header;
bg_image_dsc->clip_radius = dsc->radius; bg_image_dsc->clip_radius = dsc->radius;
bg_image_dsc->image_area = *coords;
t->type = LV_DRAW_TASK_TYPE_IMAGE; t->type = LV_DRAW_TASK_TYPE_IMAGE;
lv_draw_finalize_task_creation(layer, t); lv_draw_finalize_task_creation(layer, t);
} }
-4
View File
@@ -152,11 +152,7 @@ static int32_t evaluate(lv_draw_unit_t * draw_unit, lv_draw_task_t * task)
return 0; return 0;
} }
bool transformed = draw_dsc->rotation != 0 || draw_dsc->scale_x != LV_SCALE_NONE ||
draw_dsc->scale_y != LV_SCALE_NONE ? true : false;
bool masked = draw_dsc->bitmap_mask_src != NULL; bool masked = draw_dsc->bitmap_mask_src != NULL;
if(masked && transformed) return 0;
lv_color_format_t cf = draw_dsc->header.cf; lv_color_format_t cf = draw_dsc->header.cf;
if(masked && (cf == LV_COLOR_FORMAT_A8 || cf == LV_COLOR_FORMAT_RGB565A8)) { if(masked && (cf == LV_COLOR_FORMAT_A8 || cf == LV_COLOR_FORMAT_RGB565A8)) {
File diff suppressed because it is too large Load Diff
+4 -108
View File
@@ -81,11 +81,6 @@ static void transform_l8_to_al88(const uint8_t * src, int32_t src_w, int32_t src
int32_t xs_ups, int32_t ys_ups, int32_t xs_step, int32_t ys_step, int32_t xs_ups, int32_t ys_ups, int32_t xs_step, int32_t ys_step,
int32_t x_end, uint8_t * abuf, bool aa); int32_t x_end, uint8_t * abuf, bool aa);
#endif #endif
#if LV_DRAW_SW_SUPPORT_ARGB8888
static void transform_l8_to_argb8888(const uint8_t * src, int32_t src_w, int32_t src_h, int32_t src_stride,
int32_t xs_ups, int32_t ys_ups, int32_t xs_step, int32_t ys_step,
int32_t x_end, uint8_t * abuf, bool aa);
#endif
#endif /*LV_DRAW_SW_SUPPORT_L8*/ #endif /*LV_DRAW_SW_SUPPORT_L8*/
/********************** /**********************
@@ -135,10 +130,7 @@ void lv_draw_sw_transform(lv_draw_unit_t * draw_unit, const lv_area_t * dest_are
int32_t dest_stride_a8 = dest_w; int32_t dest_stride_a8 = dest_w;
int32_t dest_stride; int32_t dest_stride;
if(src_cf == LV_COLOR_FORMAT_L8) { if(src_cf == LV_COLOR_FORMAT_RGB888) {
dest_stride = dest_w * ((draw_dsc->recolor_opa >= LV_OPA_MIN) ? 4 : 2);
}
else if(src_cf == LV_COLOR_FORMAT_RGB888) {
dest_stride = dest_w * lv_color_format_get_size(LV_COLOR_FORMAT_ARGB8888); dest_stride = dest_w * lv_color_format_get_size(LV_COLOR_FORMAT_ARGB8888);
} }
else if((src_cf == LV_COLOR_FORMAT_RGB565A8) || (src_cf == LV_COLOR_FORMAT_L8)) { else if((src_cf == LV_COLOR_FORMAT_RGB565A8) || (src_cf == LV_COLOR_FORMAT_L8)) {
@@ -272,21 +264,10 @@ void lv_draw_sw_transform(lv_draw_unit_t * draw_unit, const lv_area_t * dest_are
break; break;
#endif #endif
#if LV_DRAW_SW_SUPPORT_L8 && (LV_DRAW_SW_SUPPORT_ARGB8888 || LV_DRAW_SW_SUPPORT_AL88) #if LV_DRAW_SW_SUPPORT_L8 && LV_DRAW_SW_SUPPORT_AL88
case LV_COLOR_FORMAT_L8: case LV_COLOR_FORMAT_L8:
#if LV_DRAW_SW_SUPPORT_ARGB8888 && !LV_DRAW_SW_SUPPORT_AL88
transform_l8_to_argb8888(src_buf, src_w, src_h, src_stride, xs_ups, ys_ups, xs_step_256, ys_step_256, dest_w, dest_buf,
aa);
#elif LV_DRAW_SW_SUPPORT_AL88 && !LV_DRAW_SW_SUPPORT_ARGB8888
transform_l8_to_al88(src_buf, src_w, src_h, src_stride, xs_ups, ys_ups, xs_step_256, ys_step_256, dest_w, dest_buf, aa); transform_l8_to_al88(src_buf, src_w, src_h, src_stride, xs_ups, ys_ups, xs_step_256, ys_step_256, dest_w, dest_buf, aa);
#else
if(draw_dsc->recolor_opa >= LV_OPA_MIN)
transform_l8_to_argb8888(src_buf, src_w, src_h, src_stride, xs_ups, ys_ups, xs_step_256, ys_step_256, dest_w, dest_buf,
aa);
else
transform_l8_to_al88(src_buf, src_w, src_h, src_stride, xs_ups, ys_ups, xs_step_256, ys_step_256, dest_w, dest_buf, aa);
break; break;
#endif
#endif /*LV_DRAW_SW_SUPPORT_L8 && (LV_DRAW_SW_SUPPORT_ARGB8888 || LV_DRAW_SW_SUPPORT_AL88)*/ #endif /*LV_DRAW_SW_SUPPORT_L8 && (LV_DRAW_SW_SUPPORT_ARGB8888 || LV_DRAW_SW_SUPPORT_AL88)*/
default: default:
break; break;
@@ -687,11 +668,8 @@ static void transform_a8(const uint8_t * src, int32_t src_w, int32_t src_h, int3
#endif #endif
#if LV_DRAW_SW_SUPPORT_L8 #if LV_DRAW_SW_SUPPORT_L8 && LV_DRAW_SW_SUPPORT_AL88
#if LV_DRAW_SW_SUPPORT_AL88
/* L8 will be transformed into an AL88 buffer, because it will not be recolored */
static void transform_l8_to_al88(const uint8_t * src, int32_t src_w, int32_t src_h, int32_t src_stride, static void transform_l8_to_al88(const uint8_t * src, int32_t src_w, int32_t src_h, int32_t src_stride,
int32_t xs_ups, int32_t ys_ups, int32_t xs_step, int32_t ys_step, int32_t xs_ups, int32_t ys_ups, int32_t xs_step, int32_t ys_step,
int32_t x_end, uint8_t * dest_buf, bool aa) int32_t x_end, uint8_t * dest_buf, bool aa)
@@ -768,89 +746,7 @@ static void transform_l8_to_al88(const uint8_t * src, int32_t src_w, int32_t src
} }
} }
#endif /*LV_DRAW_SW_SUPPORT_AL88*/ #endif /*LV_DRAW_SW_SUPPORT_L8 && LV_DRAW_SW_SUPPORT_AL88*/
#if LV_DRAW_SW_SUPPORT_ARGB8888
/* L8 has to be transformed into an ARGB8888 buffer, because it will be recolored as well */
static void transform_l8_to_argb8888(const uint8_t * src, int32_t src_w, int32_t src_h, int32_t src_stride,
int32_t xs_ups, int32_t ys_ups, int32_t xs_step, int32_t ys_step,
int32_t x_end, uint8_t * dest_buf, bool aa)
{
int32_t xs_ups_start = xs_ups;
int32_t ys_ups_start = ys_ups;
lv_color32_t * dest_c32 = (lv_color32_t *)dest_buf;
int32_t x;
for(x = 0; x < x_end; x++) {
xs_ups = xs_ups_start + ((xs_step * x) >> 8);
ys_ups = ys_ups_start + ((ys_step * x) >> 8);
int32_t xs_int = xs_ups >> 8;
int32_t ys_int = ys_ups >> 8;
/*Fully out of the image*/
if(xs_int < 0 || xs_int >= src_w || ys_int < 0 || ys_int >= src_h) {
*((uint32_t *)&dest_c32[x]) = 0L;
continue;
}
/*Get the direction the hor and ver neighbor
*`fract` will be in range of 0x00..0xFF and `next` (+/-1) indicates the direction*/
int32_t xs_fract = xs_ups & 0xFF;
int32_t ys_fract = ys_ups & 0xFF;
int32_t x_next;
int32_t y_next;
if(xs_fract < 0x80) {
x_next = -1;
xs_fract = (0x7F - xs_fract) * 2;
}
else {
x_next = 1;
xs_fract = (xs_fract - 0x80) * 2;
}
if(ys_fract < 0x80) {
y_next = -1;
ys_fract = (0x7F - ys_fract) * 2;
}
else {
y_next = 1;
ys_fract = (ys_fract - 0x80) * 2;
}
const uint8_t * src_tmp = src;
src_tmp += ys_int * src_stride + xs_int;
dest_c32[x].red = dest_c32[x].green = dest_c32[x].blue = src_tmp[0];
dest_c32[x].alpha = 255;
if(aa &&
xs_int + x_next >= 0 &&
xs_int + x_next <= src_w - 1 &&
ys_int + y_next >= 0 &&
ys_int + y_next <= src_h - 1) {
lv_opa_t a_ver = src_tmp[x_next];
lv_opa_t a_hor = src_tmp[y_next * src_stride];
if(a_ver != src_tmp[0]) a_ver = ((a_ver * ys_fract) + (src_tmp[0] * (0x100 - ys_fract))) >> 8;
if(a_hor != src_tmp[0]) a_hor = ((a_hor * xs_fract) + (src_tmp[0] * (0x100 - xs_fract))) >> 8;
dest_c32[x].red = dest_c32[x].green = dest_c32[x].blue = (a_ver + a_hor) >> 1;
}
else {
/*Partially out of the image*/
if((xs_int == 0 && x_next < 0) || (xs_int == src_w - 1 && x_next > 0)) {
dest_c32[x].alpha = (src_tmp[0] * (0xFF - xs_fract)) >> 8;
}
else if((ys_int == 0 && y_next < 0) || (ys_int == src_h - 1 && y_next > 0)) {
dest_c32[x].alpha = (src_tmp[0] * (0xFF - ys_fract)) >> 8;
}
}
}
}
#endif /*LV_DRAW_SW_SUPPORT_ARGB8888*/
#endif /*LV_DRAW_SW_SUPPORT_L8*/
static void transform_point_upscaled(point_transform_dsc_t * t, int32_t xin, int32_t yin, int32_t * xout, static void transform_point_upscaled(point_transform_dsc_t * t, int32_t xin, int32_t yin, int32_t * xout,
int32_t * yout) int32_t * yout)
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Some files were not shown because too many files have changed in this diff Show More