fix(vg_lite): always use phy_clip_area as the scissor area (#8669)

Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
This commit is contained in:
VIFEX
2025-08-12 19:32:19 +08:00
committed by GitHub
parent ba26daf2a8
commit 3988c597c9
+4 -6
View File
@@ -133,14 +133,12 @@ static void draw_execute(lv_draw_vg_lite_unit_t * u)
vg_lite_matrix_t layer_matrix;
lv_vg_lite_matrix(&layer_matrix, &t->matrix);
lv_vg_lite_matrix_multiply(&u->global_matrix, &layer_matrix);
/* Crop out extra pixels drawn due to scaling accuracy issues */
lv_area_t scissor_area = layer->phy_clip_area;
#else
lv_area_t scissor_area = layer->_clip_area;
#endif
lv_area_move(&scissor_area, -layer->buf_area.x1, -layer->buf_area.y1);
if(vg_lite_query_feature(gcFEATURE_BIT_VG_SCISSOR)) {
/* Crop out extra pixels drawn due to scaling accuracy issues */
lv_area_t scissor_area = layer->phy_clip_area;
lv_area_move(&scissor_area, -layer->buf_area.x1, -layer->buf_area.y1);
lv_vg_lite_set_scissor_area(&scissor_area);
}