summaryrefslogtreecommitdiffstats
path: root/src/display/canvas-arena.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-08-15 01:19:33 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-08-15 01:19:33 +0000
commit2f3d79db2fad212c8aa1bff7bb13132a34541aff (patch)
treeec16b5e4cdd3d69dd6a0ee35b48e0379b679d4f2 /src/display/canvas-arena.cpp
parentCompletely remove NRPixBlock (diff)
downloadinkscape-2f3d79db2fad212c8aa1bff7bb13132a34541aff.tar.gz
inkscape-2f3d79db2fad212c8aa1bff7bb13132a34541aff.zip
Make nr_arena_invoke_render expect an already transformed context,
to remove a limitation to integer translations imposed by NRRectL (bzr r9508.1.68)
Diffstat (limited to 'src/display/canvas-arena.cpp')
-rw-r--r--src/display/canvas-arena.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/display/canvas-arena.cpp b/src/display/canvas-arena.cpp
index f1355b9c4..ac5e68379 100644
--- a/src/display/canvas-arena.cpp
+++ b/src/display/canvas-arena.cpp
@@ -209,8 +209,10 @@ sp_canvas_arena_render (SPCanvasItem *item, SPCanvasBuf *buf)
area.y1 = buf->rect.y1;
sp_canvas_prepare_buffer(buf);
-
+ cairo_save(buf->ct);
+ cairo_translate(buf->ct, -area.x0, -area.y0);
nr_arena_item_invoke_render (buf->ct, arena->root, &area, NULL, 0);
+ cairo_restore(buf->ct);
}
static double
@@ -363,6 +365,7 @@ sp_canvas_arena_render_surface (SPCanvasArena *ca, cairo_surface_t *surface, NRR
g_return_if_fail (SP_IS_CANVAS_ARENA (ca));
cairo_t *ct = cairo_create(surface);
+ cairo_translate(ct, -r.x0, -r.y0);
nr_arena_item_invoke_render (ct, ca->root, &r, NULL, 0);
cairo_destroy(ct);
}