summaryrefslogtreecommitdiff
path: root/src/cairo-path.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-09-10 15:09:18 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-09-10 15:09:18 +0100
commitf34b87f6d76cbea93acd4a8c73c8c6a6b412a302 (patch)
tree1bcdb284cc0e7cc21f415e6cc12133635cba993d /src/cairo-path.c
parentdf6780442feba5c0c9404353177f24913b58bd32 (diff)
path: Convert from backend coordinates back into user coordinates
Fixes regression from commit 83bfd85a1378e61b8bdc3f554f5e07900311f61f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Apr 23 19:45:26 2010 +0100 Implement cairo_backend_t As there exists no public API to perform the operation we needed, and we failed to create one, the constructed path failed to correctly remove the device offset. Fixes copy-path under device translation. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54732 Reported-by: Benjamin Berg <benjamin@sipsolutions.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-path.c')
-rw-r--r--src/cairo-path.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/cairo-path.c b/src/cairo-path.c
index 5c4837329..43cd175a3 100644
--- a/src/cairo-path.c
+++ b/src/cairo-path.c
@@ -37,6 +37,7 @@
#include "cairoint.h"
#include "cairo-private.h"
+#include "cairo-backend-private.h"
#include "cairo-error-private.h"
#include "cairo-path-private.h"
#include "cairo-path-fixed-private.h"
@@ -152,7 +153,7 @@ _cpp_move_to (void *closure,
x = _cairo_fixed_to_double (point->x);
y = _cairo_fixed_to_double (point->y);
- cairo_device_to_user (cpp->cr, &x, &y);
+ _cairo_backend_to_user (cpp->cr, &x, &y);
data->header.type = CAIRO_PATH_MOVE_TO;
data->header.length = 2;
@@ -177,7 +178,7 @@ _cpp_line_to (void *closure,
x = _cairo_fixed_to_double (point->x);
y = _cairo_fixed_to_double (point->y);
- cairo_device_to_user (cpp->cr, &x, &y);
+ _cairo_backend_to_user (cpp->cr, &x, &y);
data->header.type = CAIRO_PATH_LINE_TO;
data->header.length = 2;
@@ -205,15 +206,15 @@ _cpp_curve_to (void *closure,
x1 = _cairo_fixed_to_double (p1->x);
y1 = _cairo_fixed_to_double (p1->y);
- cairo_device_to_user (cpp->cr, &x1, &y1);
+ _cairo_backend_to_user (cpp->cr, &x1, &y1);
x2 = _cairo_fixed_to_double (p2->x);
y2 = _cairo_fixed_to_double (p2->y);
- cairo_device_to_user (cpp->cr, &x2, &y2);
+ _cairo_backend_to_user (cpp->cr, &x2, &y2);
x3 = _cairo_fixed_to_double (p3->x);
y3 = _cairo_fixed_to_double (p3->y);
- cairo_device_to_user (cpp->cr, &x3, &y3);
+ _cairo_backend_to_user (cpp->cr, &x3, &y3);
data->header.type = CAIRO_PATH_CURVE_TO;
data->header.length = 4;