summaryrefslogtreecommitdiffstats
path: root/src/display/sp-canvas.cpp
diff options
context:
space:
mode:
authorMaximilian Albert <maximilian.albert@gmail.com>2007-08-17 16:22:23 +0000
committercilix42 <cilix42@users.sourceforge.net>2007-08-17 16:22:23 +0000
commit187526a28b0756452e8701e015c30b6ffc9e6e28 (patch)
treedc8570104562a4843cc8a539877ae1719129a163 /src/display/sp-canvas.cpp
parentMake sure style is invalidated when setting fill/stroke color in text objects (diff)
downloadinkscape-187526a28b0756452e8701e015c30b6ffc9e6e28.tar.gz
inkscape-187526a28b0756452e8701e015c30b6ffc9e6e28.zip
Draw perspective lines for infinite VPs, too (they are updated during scrolling or zooming); don't create knots for infinite VPs on the canvas
(bzr r3495)
Diffstat (limited to 'src/display/sp-canvas.cpp')
-rw-r--r--src/display/sp-canvas.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp
index fef2fcc0c..c53b1e61b 100644
--- a/src/display/sp-canvas.cpp
+++ b/src/display/sp-canvas.cpp
@@ -34,6 +34,8 @@
#include <libnr/nr-matrix-ops.h>
#include <libnr/nr-convex-hull.h>
#include "prefs-utils.h"
+#include "box3d-context.h"
+#include "inkscape.h"
// Tiles are a way to minimize the number of redraws, eliminating too small redraws.
// The canvas stores a 2D array of ints, each representing a TILE_SIZExTILE_SIZE pixels tile.
@@ -2193,6 +2195,15 @@ sp_canvas_scroll_to (SPCanvas *canvas, double cx, double cy, unsigned int clear,
} else {
// scrolling as part of zoom; do nothing here - the next do_update will perform full redraw
}
+
+ /* update perspective lines if we are in the 3D box tool (so that infinite ones are shown correctly) */
+ SPEventContext *ec = inkscape_active_event_context();
+ if (SP_IS_3DBOX_CONTEXT (ec)) {
+ // We could avoid redraw during panning by checking the status of is_scrolling, but this is
+ // neither faster nor does it get rid of artefacts, so we update PLs unconditionally
+ SP3DBoxContext *bc = SP_3DBOX_CONTEXT (ec);
+ bc->_vpdrag->updateLines();
+ }
}
/**