diff options
| author | Andrius Ramanauskas <knutux@gmail.com> | 2006-04-19 05:14:26 +0000 |
|---|---|---|
| committer | knutux <knutux@users.sourceforge.net> | 2006-04-19 05:14:26 +0000 |
| commit | cd3043cf07c274cd641b8483b55177e9a5cb1e10 (patch) | |
| tree | f860995235a5dc981868ab4f3482e861322ffe01 /src/libnr/nr-pixblock.cpp | |
| parent | fix name and size (diff) | |
| download | inkscape-cd3043cf07c274cd641b8483b55177e9a5cb1e10.tar.gz inkscape-cd3043cf07c274cd641b8483b55177e9a5cb1e10.zip | |
Rendering optimisation, which gives best results for zoomed in drawings with complex (multi-node) paths. Optimisation focus - eliminating cubicTo and LineTo nodes outside of visible area, so no unneeded calculations is needed and less memory is consumed (this avoids crashes which were occurring previously if zooming into a complex drawing)
(bzr r541)
Diffstat (limited to 'src/libnr/nr-pixblock.cpp')
| -rw-r--r-- | src/libnr/nr-pixblock.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/libnr/nr-pixblock.cpp b/src/libnr/nr-pixblock.cpp index 9b1ff2752..59e64b558 100644 --- a/src/libnr/nr-pixblock.cpp +++ b/src/libnr/nr-pixblock.cpp @@ -64,10 +64,10 @@ nr_pixblock_setup_fast (NRPixBlock *pb, NR_PIXBLOCK_MODE mode, int x0, int y0, i pb->mode = mode; pb->empty = 1; - pb->area.x0 = x0; - pb->area.y0 = y0; - pb->area.x1 = x1; - pb->area.y1 = y1; + pb->visible_area.x0 = pb->area.x0 = x0; + pb->visible_area.y0 = pb->area.y0 = y0; + pb->visible_area.x1 = pb->area.x1 = x1; + pb->visible_area.y1 = pb->area.y1 = y1; pb->rs = bpp * w; } @@ -103,10 +103,10 @@ nr_pixblock_setup (NRPixBlock *pb, NR_PIXBLOCK_MODE mode, int x0, int y0, int x1 pb->mode = mode; pb->empty = 1; - pb->area.x0 = x0; - pb->area.y0 = y0; - pb->area.x1 = x1; - pb->area.y1 = y1; + pb->visible_area.x0 = pb->area.x0 = x0; + pb->visible_area.y0 = pb->area.y0 = y0; + pb->visible_area.x1 = pb->area.x1 = x1; + pb->visible_area.y1 = pb->area.y1 = y1; pb->rs = bpp * w; } @@ -130,10 +130,10 @@ nr_pixblock_setup_extern (NRPixBlock *pb, NR_PIXBLOCK_MODE mode, int x0, int y0, pb->size = NR_PIXBLOCK_SIZE_STATIC; pb->mode = mode; pb->empty = empty; - pb->area.x0 = x0; - pb->area.y0 = y0; - pb->area.x1 = x1; - pb->area.y1 = y1; + pb->visible_area.x0 = pb->area.x0 = x0; + pb->visible_area.y0 = pb->area.y0 = y0; + pb->visible_area.x1 = pb->area.x1 = x1; + pb->visible_area.y1 = pb->area.y1 = y1; pb->data.px = px; pb->rs = rs; |
