diff --git a/src/draw/vg_lite/lv_draw_vg_lite_vector.c b/src/draw/vg_lite/lv_draw_vg_lite_vector.c index 816049f5e5..977551e00b 100644 --- a/src/draw/vg_lite/lv_draw_vg_lite_vector.c +++ b/src/draw/vg_lite/lv_draw_vg_lite_vector.c @@ -270,12 +270,14 @@ static void task_draw_cb(void * ctx, const lv_vector_path_t * path, const lv_vec } break; case LV_VECTOR_DRAW_STYLE_GRADIENT: { - vg_lite_matrix_t grad_matrix; - vg_lite_identity(&grad_matrix); + vg_lite_matrix_t grad_matrix = matrix; -#if !LV_USE_VG_LITE_THORVG - /* Workaround inconsistent matrix behavior between device and ThorVG */ - lv_vg_lite_matrix_multiply(&grad_matrix, &matrix); +#if LV_USE_VG_LITE_THORVG + /* Workaround inconsistent radial gradient matrix behavior between device and ThorVG */ + if(dsc->fill_dsc.gradient.style == LV_VECTOR_GRADIENT_STYLE_RADIAL) { + /* Restore matrix to identity */ + vg_lite_identity(&grad_matrix); + } #endif vg_lite_matrix_t fill_matrix; lv_vg_lite_matrix(&fill_matrix, &dsc->fill_dsc.matrix); diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp32.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp32.png index 59670b22e6..17271dede4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp32.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp32.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp64.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp64.png index 59670b22e6..17271dede4 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp64.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_group_4.lp64.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp32.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp32.png index c9bd18a2ff..07695b667d 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp32.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp32.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp64.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp64.png index c9bd18a2ff..07695b667d 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp64.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_3.lp64.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp32.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp32.png index e00168ff83..5aeb017cbe 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp32.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp32.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp64.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp64.png index e00168ff83..5aeb017cbe 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp64.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_7.lp64.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp32.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp32.png index 10ac3c1ec1..61e4e30413 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp32.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp32.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp64.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp64.png index 10ac3c1ec1..61e4e30413 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp64.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_8.lp64.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp32.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp32.png index 5f1b1349b9..3ad8e7f941 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp32.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp32.png differ diff --git a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp64.png b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp64.png index 5f1b1349b9..3ad8e7f941 100644 Binary files a/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp64.png and b/tests/ref_imgs_vg_lite/draw/svg_draw_svg_shapes_9.lp64.png differ