diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-08-15 01:19:33 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-08-15 01:19:33 +0000 |
| commit | 2f3d79db2fad212c8aa1bff7bb13132a34541aff (patch) | |
| tree | ec16b5e4cdd3d69dd6a0ee35b48e0379b679d4f2 /src/display/canvas-arena.cpp | |
| parent | Completely remove NRPixBlock (diff) | |
| download | inkscape-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.cpp | 5 |
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); } |
