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 816049f5e..977551e00 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 59670b22e..17271dede 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 59670b22e..17271dede 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 c9bd18a2f..07695b667 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 c9bd18a2f..07695b667 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 e00168ff8..5aeb017cb 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 e00168ff8..5aeb017cb 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 10ac3c1ec..61e4e3041 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 10ac3c1ec..61e4e3041 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 5f1b1349b..3ad8e7f94 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 5f1b1349b..3ad8e7f94 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