[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra/krita-testing-kazakov] krita/ui/canvas: Fix default blue color appearing when OCIO is acti
From: Dmitry Kazakov <dimula73 () gmail ! com>
Date: 2014-04-25 9:00:18
Message-ID: E1WdbzW-0000BI-7n () scm ! kde ! org
[Download RAW message or body]
Git commit 7e853fa8bceabc57675c33dedb048aa57419ca4c by Dmitry Kazakov.
Committed on 25/04/2014 at 09:00.
Pushed by dkazakov into branch 'krita-testing-kazakov'.
Fix default blue color appearing when OCIO is active
Intermediate FG Color should be initialized properly for not generating
stuff and setting real color to blue value.
M +16 -5 krita/ui/canvas/kis_display_color_converter.cpp
http://commits.kde.org/calligra/7e853fa8bceabc57675c33dedb048aa57419ca4c
diff --git a/krita/ui/canvas/kis_display_color_converter.cpp \
b/krita/ui/canvas/kis_display_color_converter.cpp index 0f7acca..f110065 100644
--- a/krita/ui/canvas/kis_display_color_converter.cpp
+++ b/krita/ui/canvas/kis_display_color_converter.cpp
@@ -76,6 +76,7 @@ struct KisDisplayColorConverter::Private
void slotUpdateCurrentNodeColorSpace();
void selectPaintingColorSpace();
+ void updateIntermediateFgColor(const KoColor &color);
void setCurrentNode(KisNodeSP node);
bool useOcio() const;
@@ -130,16 +131,23 @@ bool KisDisplayColorConverter::Private::useOcio() const
return displayFilter && paintingColorSpace->colorModelId() == RGBAColorModelID;
}
+void KisDisplayColorConverter::Private::updateIntermediateFgColor(const KoColor \
&srcColor) +{
+ KIS_ASSERT_RECOVER_RETURN(displayFilter);
+
+ KoColor color = srcColor;
+ color.convertTo(intermediateColorSpace);
+ displayFilter->approximateForwardTransformation(color.data(), 1);
+ intermediateFgColor = color;
+}
+
void KisDisplayColorConverter::Private::slotCanvasResourceChanged(int key, const \
QVariant &v) {
if (key == KisCanvasResourceProvider::CurrentKritaNode) {
KisNodeSP currentNode = v.value<KisNodeSP>();
setCurrentNode(currentNode);
} else if (useOcio() && key == KoCanvasResourceManager::ForegroundColor) {
- KoColor color = v.value<KoColor>();
- color.convertTo(intermediateColorSpace);
- displayFilter->approximateForwardTransformation(color.data(), 1);
- intermediateFgColor = color;
+ updateIntermediateFgColor(v.value<KoColor>());
}
}
@@ -235,9 +243,12 @@ void \
KisDisplayColorConverter::setDisplayFilter(KisDisplayFilterSP displayFilter \
KoColorSpaceRegistry::instance()->
colorSpace(RGBAColorModelID.id(), Float32BitsColorDepthID.id(), 0);
- KIS_ASSERT_RECOVER(m_d->displayFilter) {
+ KIS_ASSERT_RECOVER(m_d->intermediateColorSpace) {
m_d->intermediateColorSpace = m_d->monitorColorSpace;
}
+
+ m_d->updateIntermediateFgColor(
+ m_d->parentCanvas->resourceManager()->foregroundColor());
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic