diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2013-01-22 14:40:50 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2013-01-22 14:40:50 +0000 |
| commit | 34baadb48632ee5c2f39cba0411b7810265bdc6a (patch) | |
| tree | c7a76b25fd57605c40082d32644ff9a0da22d20e /src/desktop.cpp | |
| parent | merge from trunk (r12005) (diff) | |
| parent | Filters. Add missing inkscape namespace declaration for 'Channel Painting' (diff) | |
| download | inkscape-34baadb48632ee5c2f39cba0411b7810265bdc6a.tar.gz inkscape-34baadb48632ee5c2f39cba0411b7810265bdc6a.zip | |
merge from trunk (r12051)
(bzr r11668.1.48)
Diffstat (limited to 'src/desktop.cpp')
| -rw-r--r-- | src/desktop.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp index 2f8f3e4b6..ea23ebb9c 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -433,6 +433,20 @@ void SPDesktop::_setDisplayMode(Inkscape::RenderMode mode) { _widget->setTitle( sp_desktop_document(this)->getName() ); } void SPDesktop::_setDisplayColorMode(Inkscape::ColorMode mode) { + // reload grayscale matrix from prefs + if (mode == Inkscape::COLORMODE_GRAYSCALE) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + gdouble r = prefs->getDoubleLimited("/options/rendering/grayscale/red-factor",0.21,0.,1.); + gdouble g = prefs->getDoubleLimited("/options/rendering/grayscale/green-factor",0.72,0.,1.); + gdouble b = prefs->getDoubleLimited("/options/rendering/grayscale/blue-factor",0.072,0.,1.); + gdouble grayscale_value_matrix[20] = { r, g, b, 0, 0, + r, g, b, 0, 0, + r, g, b, 0, 0, + 0, 0, 0, 1, 0 }; + g_message("%g",grayscale_value_matrix[0]); + SP_CANVAS_ARENA (drawing)->drawing.setGrayscaleMatrix(grayscale_value_matrix); + } + SP_CANVAS_ARENA (drawing)->drawing.setColorMode(mode); canvas->colorrendermode = mode; _display_color_mode = mode; @@ -1139,6 +1153,7 @@ SPDesktop::zoom_drawing() SPItem *docitem = doc()->getRoot(); g_return_if_fail (docitem != NULL); + docitem->bbox_valid = FALSE; Geom::OptRect d = docitem->desktopVisualBounds(); /* Note that the second condition here indicates that |
