Commit 4faa8b57 authored by Wolthera van Hövell's avatar Wolthera van Hövell 🛍

Disable softproofing in floating point spaces.

There's a bunch of little niggling bugs that crop up when soft proofing
in floating point spaces, amongst which the inability of the proofing
mechanism to see floating point values higher than 1.0 fall outside of
the gamut of the color space, let alone recognising whether it can go
inside the gamut of the proofing space.

See also http://ninedegreesbelow.com/bug-reports/soft-proofing-problems.html

For now, it's best to disable softproofing on floating point spaces.
Might need a more official check, though.

Ref 2337
parent 91d7da8c
......@@ -812,6 +812,12 @@ void KisView::slotSoftProofing(bool softProofing)
{
d->softProofing = softProofing;
QString message;
if (canvasBase()->image()->colorSpace()->colorDepthId().id().contains("F"))
{
message = i18n("Softproofing doesn't work in floating point.");
viewManager()->showFloatingMessage(message,QIcon());
return;
}
if (softProofing){
message = i18n("Softproofing turned on.");
} else {
......@@ -825,6 +831,13 @@ void KisView::slotGamutCheck(bool gamutCheck)
{
d->gamutCheck = gamutCheck;
QString message;
if (canvasBase()->image()->colorSpace()->colorDepthId().id().contains("F"))
{
message = i18n("Gamutwarnings don't work in floating point.");
viewManager()->showFloatingMessage(message,QIcon());
return;
}
if (gamutCheck){
message = i18n("Gamut alarms turned on.");
if (!d->softProofing){
......
......@@ -560,12 +560,12 @@ void KisCanvas2::setProofingOptions(bool softProof, bool gamutCheck)
}
KoColorConversionTransformation::ConversionFlags conversionFlags = m_d->proofingConfig->conversionFlags;
if (softProof) {
if (softProof && this->image()->colorSpace()->colorDepthId().id().contains("U")) {
conversionFlags |= KoColorConversionTransformation::SoftProofing;
} else {
conversionFlags = conversionFlags & ~KoColorConversionTransformation::SoftProofing;
}
if (gamutCheck) {
if (gamutCheck && this->image()->colorSpace()->colorDepthId().id().contains("U")) {
conversionFlags |= KoColorConversionTransformation::GamutCheck;
} else {
conversionFlags = conversionFlags & ~KoColorConversionTransformation::GamutCheck;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment