Skip to content
Snippets Groups Projects
Commit 23d4af59 authored by Pekka Paalanen's avatar Pekka Paalanen
Browse files

pixman-renderer: add view_transformation_is_translation()


A simple refactoring just to help readability.

Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-By: default avatarDerek Foreman <derekf@osg.samsung.com>
Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
parent 6ea523b8
No related branches found
No related tags found
No related merge requests found
......@@ -180,6 +180,18 @@ pixman_renderer_compute_transform(pixman_transform_t *transform_out,
weston_matrix_to_pixman_transform(transform_out, &matrix);
}
static bool
view_transformation_is_translation(struct weston_view *view)
{
if (!view->transform.enabled)
return true;
if (view->transform.matrix.type <= WESTON_MATRIX_TRANSFORM_TRANSLATE)
return true;
return false;
}
static void
repaint_region(struct weston_view *ev, struct weston_output *output,
pixman_region32_t *region, pixman_region32_t *surf_region,
......@@ -305,9 +317,7 @@ draw_view(struct weston_view *ev, struct weston_output *output,
}
/* TODO: Implement repaint_region_complex() using pixman_composite_trapezoids() */
if (ev->alpha != 1.0 ||
(ev->transform.enabled &&
ev->transform.matrix.type != WESTON_MATRIX_TRANSFORM_TRANSLATE)) {
if (ev->alpha != 1.0 || !view_transformation_is_translation(ev)) {
repaint_region(ev, output, &repaint, NULL, PIXMAN_OP_OVER);
} else {
/* blended region is whole surface minus opaque region: */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment