Author: jghali
Date: Mon Apr 23 11:25:46 2018
New Revision: 22473
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22473
Log:
#15267: Colour model switch in the "Colours & Fills" dialogue doesn't work as
expected
Modified:
trunk/Scribus/scribus/sccolorengine.cpp
trunk/Scribus/scribus/scribuscore.cpp
trunk/Scribus/scribus/scribuscore.h
trunk/Scribus/scribus/scribusdoc.cpp
trunk/Scribus/scribus/scribusdoc.h
Modified: trunk/Scribus/scribus/sccolorengine.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22473&path=/trunk/Scribus/scribus/sccolorengine.cpp
==============================================================================
--- trunk/Scribus/scribus/sccolorengine.cpp (original)
+++ trunk/Scribus/scribus/sccolorengine.cpp Mon Apr 23 11:25:46 2018
@@ -632,7 +632,7 @@
else if (color.getColorModel() == colorModelLab)
{
bool cmsUse = doc ? doc->HasCMS : false;
- ScColorTransform trans = doc ? doc->stdLabToRGBTrans :
ScCore->defaultLabToRGBTrans;
+ ScColorTransform trans = doc ? doc->stdLabToScreenTrans :
ScCore->defaultLabToRGBTrans;
if (cmsUse && trans)
{
double inC[3];
@@ -715,7 +715,7 @@
}
else if (color.getColorModel() == colorModelLab)
{
- ScColorTransform trans = doc ? doc->stdLabToRGBTrans :
ScCore->defaultLabToRGBTrans;
+ ScColorTransform trans = doc ? doc->stdLabToScreenTrans :
ScCore->defaultLabToRGBTrans;
double inC[3];
inC[0] = 100 - (100 - color.m_L_val) * (level / 100.0);
inC[1] = color.m_a_val * (level / 100.0);
@@ -826,7 +826,7 @@
inC[1] = color.m_a_val * (level / 100.0);
inC[2] = color.m_b_val * (level / 100.0);
quint16 outC[3];
- ScColorTransform trans = doc ? doc->stdLabToRGBTrans :
ScCore->defaultLabToRGBTrans;
+ ScColorTransform trans = doc ? doc->stdLabToScreenTrans :
ScCore->defaultLabToRGBTrans;
ScColorTransform transProof = doc ? doc->stdProofLab :
ScCore->defaultLabToRGBTrans;
ScColorTransform transProofGC = doc ? doc->stdProofLabGC :
ScCore->defaultLabToRGBTrans;
if (cmsUse && doc && doc->SoftProofing)
Modified: trunk/Scribus/scribus/scribuscore.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22473&path=/trunk/Scribus/scribus/scribuscore.cpp
==============================================================================
--- trunk/Scribus/scribus/scribuscore.cpp (original)
+++ trunk/Scribus/scribus/scribuscore.cpp Mon Apr 23 11:25:46 2018
@@ -468,8 +468,9 @@
defaultCMYKToScreenImageTrans =
defaultEngine.createTransform(defaultCMYKProfile, Format_CMYK_8,
defaultRGBProfile, Format_RGBA_8, intent, dcmsFlags);
defaultRGBToCMYKTrans =
defaultEngine.createTransform(defaultRGBProfile, Format_RGB_16,
defaultCMYKProfile, Format_CMYK_16, intent, dcmsFlags);
defaultCMYKToRGBTrans =
defaultEngine.createTransform(defaultCMYKProfile, Format_CMYK_16,
defaultRGBProfile, Format_RGB_16, intent, dcmsFlags);
- defaultLabToRGBTrans =
defaultEngine.createTransform(defaultLabProfile, Format_Lab_Dbl,
defaultRGBProfile, Format_RGB_16, Intent_Absolute_Colorimetric, dcmsFlags);
+ defaultLabToRGBTrans =
defaultEngine.createTransform(defaultLabProfile, Format_Lab_Dbl,
defaultRGBProfile, Format_RGB_16, Intent_Absolute_Colorimetric, dcmsFlags);
defaultLabToCMYKTrans =
defaultEngine.createTransform(defaultLabProfile, Format_Lab_Dbl,
defaultCMYKProfile, Format_CMYK_16, Intent_Absolute_Colorimetric, dcmsFlags);
+ defaultLabToScreenTrans = defaultLabToRGBTrans;
if (!defaultRGBToScreenSolidTrans || !defaultRGBToScreenImageTrans ||
!defaultCMYKToScreenImageTrans || !defaultRGBToCMYKTrans ||
!defaultCMYKToRGBTrans || !defaultLabToRGBTrans||
!defaultLabToCMYKTrans)
@@ -489,6 +490,7 @@
defaultCMYKToRGBTrans = ScColorTransform();
defaultLabToRGBTrans = ScColorTransform();
defaultLabToCMYKTrans = ScColorTransform();
+ defaultLabToScreenTrans = ScColorTransform();
}
void ScribusCore::initCMS()
Modified: trunk/Scribus/scribus/scribuscore.h
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22473&path=/trunk/Scribus/scribus/scribuscore.h
==============================================================================
--- trunk/Scribus/scribus/scribuscore.h (original)
+++ trunk/Scribus/scribus/scribuscore.h Mon Apr 23 11:25:46 2018
@@ -123,6 +123,7 @@
ScColorTransform defaultCMYKToRGBTrans;
ScColorTransform defaultLabToRGBTrans;
ScColorTransform defaultLabToCMYKTrans;
+ ScColorTransform defaultLabToScreenTrans;
protected:
void initCMS();
Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22473&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp (original)
+++ trunk/Scribus/scribus/scribusdoc.cpp Mon Apr 23 11:25:46 2018
@@ -983,6 +983,7 @@
stdProofImgCMYK = ScCore->defaultCMYKToScreenImageTrans;
stdLabToRGBTrans = ScCore->defaultLabToRGBTrans;
stdLabToCMYKTrans = ScCore->defaultLabToCMYKTrans;
+ stdLabToScreenTrans = ScCore->defaultLabToScreenTrans;
stdProofLab = ScCore->defaultLabToRGBTrans;
stdProofLabGC = ScCore->defaultLabToRGBTrans;
}
@@ -1090,13 +1091,15 @@
m_docPrefsData.colorPrefs.DCMSset.ComponentsInput2 = 4;
if (DocInputRGBProf.colorSpace() == ColorSpace_Cmy)
m_docPrefsData.colorPrefs.DCMSset.ComponentsInput2 = 3;
- stdLabToRGBTrans =
colorEngine.createTransform(ScCore->defaultLabProfile, Format_Lab_Dbl,
DocDisplayProf, Format_RGB_16, Intent_Absolute_Colorimetric, dcmsFlags);
- stdLabToCMYKTrans =
colorEngine.createTransform(ScCore->defaultLabProfile, Format_Lab_Dbl,
DocPrinterProf, Format_CMYK_16, Intent_Absolute_Colorimetric, dcmsFlags);
+
+ stdLabToRGBTrans =
colorEngine.createTransform(ScCore->defaultLabProfile, Format_Lab_Dbl,
DocInputRGBProf, Format_RGB_16, Intent_Absolute_Colorimetric, dcmsFlags);
+ stdLabToCMYKTrans =
colorEngine.createTransform(ScCore->defaultLabProfile, Format_Lab_Dbl,
DocInputCMYKProf, Format_CMYK_16, Intent_Absolute_Colorimetric, dcmsFlags);
+ stdLabToScreenTrans =
colorEngine.createTransform(ScCore->defaultLabProfile, Format_Lab_Dbl,
DocDisplayProf, Format_RGB_16, Intent_Absolute_Colorimetric, dcmsFlags);
bool success = (stdTransRGBMon && stdTransCMYKMon && stdProofImg
&& stdProofImgCMYK &&
stdTransImg && stdTransRGB
&& stdTransCMYK && stdProof &&
stdProofGC && stdProofCMYK
&& stdProofCMYKGC &&
- stdLabToRGBTrans && stdLabToCMYKTrans
&& stdProofLab && stdProofLabGC);
+ stdLabToRGBTrans && stdLabToCMYKTrans
&& stdLabToScreenTrans && stdProofLab && stdProofLabGC);
if (!success)
{
CloseCMSProfiles();
Modified: trunk/Scribus/scribus/scribusdoc.h
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22473&path=/trunk/Scribus/scribus/scribusdoc.h
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.h (original)
+++ trunk/Scribus/scribus/scribusdoc.h Mon Apr 23 11:25:46 2018
@@ -1324,6 +1324,7 @@
ScColorTransform stdProofCMYKGC;
ScColorTransform stdLabToRGBTrans;
ScColorTransform stdLabToCMYKTrans;
+ ScColorTransform stdLabToScreenTrans;
ScColorTransform stdProofLab;
ScColorTransform stdProofLabGC;
bool BlackPoint;
_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit