ector: don't apply transformation on clips in Cairo backend.
authorSubhransu Mohanty <sub.mohanty@samsung.com>
Tue, 7 Apr 2015 04:47:34 +0000 (13:47 +0900)
committerCedric BAIL <cedric@osg.samsung.com>
Fri, 10 Apr 2015 10:05:04 +0000 (12:05 +0200)
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/ector/cairo/ector_renderer_cairo_base.c

index 795b57cce5b61df279d9687169532d5d2526e530..1580b4e597222554db29ac936429bf771c743011 100644 (file)
@@ -154,15 +154,7 @@ _ector_renderer_cairo_base_ector_renderer_generic_base_draw(Eo *obj,
    ector_color_argb_unpremul(a, &r, &g, &b);
 
    cairo_set_operator(pd->parent->cairo, cop);
-   cairo_transform(pd->parent->cairo, &identity);
-   cx = pd->generic->origin.x + pd->parent->current.x;
-   cy = pd->generic->origin.y + pd->parent->current.y;
 
-   cairo_translate(pd->parent->cairo, cx, cy);
-
-   if (pd->m) cairo_transform(pd->parent->cairo, pd->m);
-
-   cairo_set_source_rgba(pd->parent->cairo, r/255.0, g/255.0, b/255.0, a/255.0);
 
    USE(obj, cairo_new_path, EINA_FALSE);
    USE(obj, cairo_rectangle, EINA_FALSE);
@@ -185,6 +177,16 @@ _ector_renderer_cairo_base_ector_renderer_generic_base_draw(Eo *obj,
         cairo_clip(pd->parent->cairo);
      }
 
+   cairo_transform(pd->parent->cairo, &identity);
+   cx = pd->generic->origin.x + pd->parent->current.x;
+   cy = pd->generic->origin.y + pd->parent->current.y;
+
+   cairo_translate(pd->parent->cairo, cx, cy);
+
+   if (pd->m) cairo_transform(pd->parent->cairo, pd->m);
+
+   cairo_set_source_rgba(pd->parent->cairo, r/255.0, g/255.0, b/255.0, a/255.0);
+
    return EINA_TRUE;
 }