pixman-renderer: add view_transformation_is_translation()
authorPekka Paalanen <pekka.paalanen@collabora.co.uk>
Wed, 4 Mar 2015 14:18:26 +0000 (16:18 +0200)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Wed, 11 Mar 2015 10:27:37 +0000 (12:27 +0200)
A simple refactoring just to help readability.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/pixman-renderer.c

index 8fd50e3d13fab4f3ed7ca190d05868febe374f31..0b33a2b7f1e743d76d16f3085db86802ed04094c 100644 (file)
@@ -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: */