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/display/sp-canvas.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/display/sp-canvas.cpp')
| -rw-r--r-- | src/display/sp-canvas.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index b1ed7d3d2..5e19539f3 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -1565,6 +1565,10 @@ sp_canvas_paint_rect (SPCanvas *canvas, int xx0, int yy0, int xx1, int yy1) buf.rect.y0 = y0; buf.rect.x1 = x1; buf.rect.y1 = y1; + buf.visible_rect.x0 = draw_x1; + buf.visible_rect.y0 = draw_y1; + buf.visible_rect.x1 = draw_x2; + buf.visible_rect.y1 = draw_y2; GdkColor *color = &widget->style->bg[GTK_STATE_NORMAL]; buf.bg_color = (((color->red & 0xff00) << 8) | (color->green & 0xff00) |
