From 7744bd7a4bdfedd8d0d04b647fd6c0e80a603cb7 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Fri, 18 Apr 2014 19:08:21 -0400 Subject: Add image rendering option for outlines. Setup desktop preferences observer. (bzr r13291.1.1) --- src/desktop.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index b61f6867f..35ee22448 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -138,6 +138,8 @@ SPDesktop::SPDesktop() : _w2d(), _d2w(), _doc2dt( Geom::Scale(1, -1) ), + // This doesn't work I don't know why. + // _image_render_observer(*this, "/options/rendering/imageinoutlinemode"), grids_visible( false ) { _d2w.setIdentity(); @@ -499,11 +501,15 @@ SPDesktop::remove_temporary_canvasitem (Inkscape::Display::TemporaryItem * tempi } } +void SPDesktop::redrawDesktop() { + sp_canvas_item_affine_absolute (SP_CANVAS_ITEM (main), _d2w); // redraw +} + void SPDesktop::_setDisplayMode(Inkscape::RenderMode mode) { SP_CANVAS_ARENA (drawing)->drawing.setRenderMode(mode); canvas->rendermode = mode; _display_mode = mode; - sp_canvas_item_affine_absolute (SP_CANVAS_ITEM (main), _d2w); // redraw + redrawDesktop(); _widget->setTitle( sp_desktop_document(this)->getName() ); } void SPDesktop::_setDisplayColorMode(Inkscape::ColorMode mode) { @@ -524,7 +530,7 @@ void SPDesktop::_setDisplayColorMode(Inkscape::ColorMode mode) { SP_CANVAS_ARENA (drawing)->drawing.setColorMode(mode); canvas->colorrendermode = mode; _display_color_mode = mode; - sp_canvas_item_affine_absolute (SP_CANVAS_ITEM (main), _d2w); // redraw + redrawDesktop(); _widget->setTitle( sp_desktop_document(this)->getName() ); } @@ -819,7 +825,7 @@ SPDesktop::set_display_area (double x0, double y0, double x1, double y1, double // zoom changed - set new zoom factors _d2w = Geom::Scale(newscale, -newscale); _w2d = Geom::Scale(1/newscale, 1/-newscale); - sp_canvas_item_affine_absolute(SP_CANVAS_ITEM(main), _d2w); + redrawDesktop(); clear = TRUE; zoomChanged = true; } -- cgit v1.2.3 From 47abc2d2947692786bb402cedc107e40b9cd21e5 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Sat, 19 Apr 2014 00:52:30 -0400 Subject: Fix remaining issue with prefs updating (bzr r13291.1.2) --- src/desktop.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index 35ee22448..3ed6d9ef3 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -139,7 +139,7 @@ SPDesktop::SPDesktop() : _d2w(), _doc2dt( Geom::Scale(1, -1) ), // This doesn't work I don't know why. - // _image_render_observer(*this, "/options/rendering/imageinoutlinemode"), + _image_render_observer(this, "/options/rendering/imageinoutlinemode"), grids_visible( false ) { _d2w.setIdentity(); -- cgit v1.2.3