summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2013-01-13 22:10:30 +0000
committerJohan B. C. Engelen <j.b.c.engelen@alumnus.utwente.nl>2013-01-13 22:10:30 +0000
commitf591cdba110df5277fd1fee83b4b2d53efa03e3b (patch)
tree01e7435c5f6c5966ad8b613daa3c052a9f4ab48c /src/desktop.cpp
parentFix deprecated pointer grabbing in gimpcolorwheel (diff)
downloadinkscape-f591cdba110df5277fd1fee83b4b2d53efa03e3b.tar.gz
inkscape-f591cdba110df5277fd1fee83b4b2d53efa03e3b.zip
make grayscale viewmode color factors configurable.
(bzr r12022)
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index a3f607913..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;