diff --git a/Kconfig b/Kconfig index 2cc7a1121f..ef6066e397 100644 --- a/Kconfig +++ b/Kconfig @@ -471,7 +471,7 @@ menu "LVGL configuration" config LV_VG_LITE_USE_BOX_SHADOW bool "Enable border to simulate shadow" - default n + default y depends on LV_USE_DRAW_VG_LITE help which usually improves performance, diff --git a/env_support/cmsis-pack/lv_conf_cmsis.h b/env_support/cmsis-pack/lv_conf_cmsis.h index 5248641e5b..c31971e46b 100644 --- a/env_support/cmsis-pack/lv_conf_cmsis.h +++ b/env_support/cmsis-pack/lv_conf_cmsis.h @@ -285,7 +285,7 @@ /** Enable border to simulate shadow. * NOTE: which usually improves performance, * but does not guarantee the same rendering quality as the software. */ - #define LV_VG_LITE_USE_BOX_SHADOW 0 + #define LV_VG_LITE_USE_BOX_SHADOW 1 /** VG-Lite gradient maximum cache number. * @note The memory usage of a single gradient image is 4K bytes. */ diff --git a/lv_conf_template.h b/lv_conf_template.h index b16c099ffa..7c1dd3c23a 100644 --- a/lv_conf_template.h +++ b/lv_conf_template.h @@ -328,7 +328,7 @@ /** Enable border to simulate shadow. * NOTE: which usually improves performance, * but does not guarantee the same rendering quality as the software. */ - #define LV_VG_LITE_USE_BOX_SHADOW 0 + #define LV_VG_LITE_USE_BOX_SHADOW 1 /** VG-Lite gradient maximum cache number. * @note The memory usage of a single gradient image is 4K bytes. */ diff --git a/src/draw/vg_lite/lv_draw_vg_lite_box_shadow.c b/src/draw/vg_lite/lv_draw_vg_lite_box_shadow.c index 13f3506d27..5434871382 100644 --- a/src/draw/vg_lite/lv_draw_vg_lite_box_shadow.c +++ b/src/draw/vg_lite/lv_draw_vg_lite_box_shadow.c @@ -77,17 +77,18 @@ void lv_draw_vg_lite_box_shadow(lv_draw_task_t * t, const lv_draw_box_shadow_dsc border_dsc.radius++; lv_area_increase(&draw_area, 1, 1); lv_draw_vg_lite_border(t, &border_dsc, &draw_area); - - /* fill center */ - if(dsc->ofs_x || dsc->ofs_y) { - lv_draw_fill_dsc_t fill_dsc; - lv_draw_fill_dsc_init(&fill_dsc); - fill_dsc.radius = dsc->radius; - fill_dsc.opa = dsc->opa; - fill_dsc.color = dsc->color; - lv_draw_vg_lite_fill(t, &fill_dsc, &core_area); - } } + + /* fill center */ + if(dsc->ofs_x || dsc->ofs_y) { + lv_draw_fill_dsc_t fill_dsc; + lv_draw_fill_dsc_init(&fill_dsc); + fill_dsc.radius = dsc->radius; + fill_dsc.opa = dsc->opa; + fill_dsc.color = dsc->color; + lv_draw_vg_lite_fill(t, &fill_dsc, &core_area); + } + LV_PROFILER_DRAW_END; } diff --git a/src/lv_conf_internal.h b/src/lv_conf_internal.h index bb454e3be8..1af23e40d2 100644 --- a/src/lv_conf_internal.h +++ b/src/lv_conf_internal.h @@ -910,10 +910,14 @@ * NOTE: which usually improves performance, * but does not guarantee the same rendering quality as the software. */ #ifndef LV_VG_LITE_USE_BOX_SHADOW - #ifdef CONFIG_LV_VG_LITE_USE_BOX_SHADOW - #define LV_VG_LITE_USE_BOX_SHADOW CONFIG_LV_VG_LITE_USE_BOX_SHADOW + #ifdef LV_KCONFIG_PRESENT + #ifdef CONFIG_LV_VG_LITE_USE_BOX_SHADOW + #define LV_VG_LITE_USE_BOX_SHADOW CONFIG_LV_VG_LITE_USE_BOX_SHADOW + #else + #define LV_VG_LITE_USE_BOX_SHADOW 0 + #endif #else - #define LV_VG_LITE_USE_BOX_SHADOW 0 + #define LV_VG_LITE_USE_BOX_SHADOW 1 #endif #endif diff --git a/tests/ref_imgs_vg_lite/draw/blend_to_argb8888.png b/tests/ref_imgs_vg_lite/draw/blend_to_argb8888.png index f05cff00cc..185fb650d0 100644 Binary files a/tests/ref_imgs_vg_lite/draw/blend_to_argb8888.png and b/tests/ref_imgs_vg_lite/draw/blend_to_argb8888.png differ diff --git a/tests/ref_imgs_vg_lite/draw/blend_to_rgb565.png b/tests/ref_imgs_vg_lite/draw/blend_to_rgb565.png index 43003db40b..2fcb88cb6a 100644 Binary files a/tests/ref_imgs_vg_lite/draw/blend_to_rgb565.png and b/tests/ref_imgs_vg_lite/draw/blend_to_rgb565.png differ diff --git a/tests/ref_imgs_vg_lite/draw/blend_to_rgb888.png b/tests/ref_imgs_vg_lite/draw/blend_to_rgb888.png index cc144e5d18..4be1052703 100644 Binary files a/tests/ref_imgs_vg_lite/draw/blend_to_rgb888.png and b/tests/ref_imgs_vg_lite/draw/blend_to_rgb888.png differ diff --git a/tests/ref_imgs_vg_lite/draw/blend_to_xrgb8888.png b/tests/ref_imgs_vg_lite/draw/blend_to_xrgb8888.png index 0ab25c4e37..7f4cbcf062 100644 Binary files a/tests/ref_imgs_vg_lite/draw/blend_to_xrgb8888.png and b/tests/ref_imgs_vg_lite/draw/blend_to_xrgb8888.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_128.png index 16b14a1a71..f6b50e7946 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_255.png index 5eb1ed5b03..5d906c8c48 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb1555/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_128.png index 8bb6d88f8a..f10c8a59a0 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_255.png index 7a0ec1d182..6e307accdb 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb2222/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_128.png index 23a616a9e7..51123f712f 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_255.png index 29324ede5b..1501c91146 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb4444/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_128.png index 20d3ab30fc..0d57dfc909 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_255.png index 29a4aea450..f7b44a7611 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/argb8888/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_128.png index 2618530f9c..d7ad1399ca 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_255.png index fde170edca..adcdb56866 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/l8/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png index f31bad32c0..a341089f68 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png index 64793312b2..479c783f31 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb565/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_128.png index 20d3ab30fc..0d57dfc909 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_255.png index 29a4aea450..f7b44a7611 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/rgb888/demo_render_box_shadow_opa_255.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_128.png b/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_128.png index 20d3ab30fc..0d57dfc909 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_128.png and b/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_128.png differ diff --git a/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_255.png b/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_255.png index 29a4aea450..f7b44a7611 100644 Binary files a/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_255.png and b/tests/ref_imgs_vg_lite/draw/render/xrgb8888/demo_render_box_shadow_opa_255.png differ