fix(vg_lite/vector): convert gradient matrix to global matrix (#6577)

Signed-off-by: pengxiaolei <pengxiaolei@xiaomi.com>
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengxiaolei <pengxiaolei@xiaomi.com>
This commit is contained in:
VIFEX
2024-09-03 13:04:13 +08:00
committed by GitHub
parent 189102de67
commit 582cf8b6b9
+9 -1
View File
@@ -251,7 +251,15 @@ 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;
lv_vg_lite_matrix(&grad_matrix, &dsc->fill_dsc.matrix);
vg_lite_identity(&grad_matrix);
#if !LV_USE_VG_LITE_THORVG
/* Workaround inconsistent matrix behavior between device and ThorVG */
lv_vg_lite_matrix_multiply(&grad_matrix, &matrix);
#endif
vg_lite_matrix_t fill_matrix;
lv_vg_lite_matrix(&fill_matrix, &dsc->fill_dsc.matrix);
lv_vg_lite_matrix_multiply(&grad_matrix, &fill_matrix);
lv_vg_lite_draw_grad(
u,