diff options
| author | John Bintz <me@johnbintz.com> | 2006-09-04 15:46:12 +0000 |
|---|---|---|
| committer | johncoswell <johncoswell@users.sourceforge.net> | 2006-09-04 15:46:12 +0000 |
| commit | e7f783b5e2bed01e633cfffd15f3da3e4d5b874d (patch) | |
| tree | 209972688677279a6ad7adfcb4ab575bf696f051 /src/pen-context.cpp | |
| parent | Add ability to force canvas to perform a full, non-interruptible redraw (diff) | |
| download | inkscape-e7f783b5e2bed01e633cfffd15f3da3e4d5b874d.tar.gz inkscape-e7f783b5e2bed01e633cfffd15f3da3e4d5b874d.zip | |
Force non-interruptible canvas redraws to ensure accurate display while creating objects
(bzr r1679)
Diffstat (limited to 'src/pen-context.cpp')
| -rw-r--r-- | src/pen-context.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pen-context.cpp b/src/pen-context.cpp index c050c888b..adfc5eb7a 100644 --- a/src/pen-context.cpp +++ b/src/pen-context.cpp @@ -226,6 +226,8 @@ pen_cancel (SPPenContext *const pc) sp_canvas_item_hide(pc->cl1); pc->_message_context->clear(); pc->_message_context->flash(Inkscape::NORMAL_MESSAGE, _("Drawing cancelled")); + + sp_canvas_clear_forced_full_redraws(pc->desktop->canvas); } /** @@ -1034,6 +1036,8 @@ spdc_pen_set_subsequent_point(SPPenContext *const pc, NR::Point const p, bool st g_assert( pc->npoints != 0 ); /* todo: Check callers to see whether 2 <= npoints is guaranteed. */ + sp_canvas_force_full_redraws(pc->desktop->canvas, 4); + pc->p[2] = p; pc->p[3] = p; pc->p[4] = p; @@ -1050,6 +1054,7 @@ spdc_pen_set_subsequent_point(SPPenContext *const pc, NR::Point const p, bool st sp_curve_lineto(pc->red_curve, p); is_curve = false; } + sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(pc->red_bpath), pc->red_curve); if (statusbar) { @@ -1170,6 +1175,8 @@ spdc_pen_finish(SPPenContext *const pc, gboolean const closed) pc->green_anchor = sp_draw_anchor_destroy(pc->green_anchor); } + sp_canvas_clear_forced_full_redraws(desktop->canvas); + pen_enable_events(pc); } |
