r14236 by fschmid - Fixed wrong rendering of gradients containing spot colors.

scribus-commit scribus-commit at lists.scribus.net
Tue Oct 27 09:50:23 CET 2009


Revision: 14236
Author: fschmid
Date: 2009-10-27T04:54:44.456271Z
Commit message: Fixed wrong rendering of gradients containing spot colors.

Changeset: 
M  /trunk/Scribus/scribus/pdflib_core.cpp
M  /trunk/Scribus/scribus/pslib.cpp

Diffs:
Index: scribus/pdflib_core.cpp
===================================================================
--- scribus/pdflib_core.cpp	(revision 14235)
+++ scribus/pdflib_core.cpp	(revision 14236)
@@ -5952,6 +5952,7 @@
 		}
 		PutDoc("]\n");
 		colorDesc = "{\n";
+		int maxSp = spotColorSet.count() - 1;
 		for (int sc = 0; sc < spotColorSet.count(); sc++)
 		{
 			int cc = 0;
@@ -5959,7 +5960,7 @@
 			int yc = 0;
 			int kc = 0;
 			CMYKColor cmykValues;
-			ScColorEngine::getCMYKValues(doc.PageColors[spotColorSet.at(sc)], &doc, cmykValues);
+			ScColorEngine::getCMYKValues(doc.PageColors[spotColorSet.at(maxSp + sc)], &doc, cmykValues);
 			cmykValues.getValues(cc, mc, yc, kc);
 			if (sc == 0)
 				colorDesc += "dup "+FToStr(static_cast<double>(cc) / 255.0)+" mul ";
Index: scribus/pslib.cpp
===================================================================
--- scribus/pslib.cpp	(revision 14235)
+++ scribus/pslib.cpp	(revision 14236)
@@ -3540,6 +3540,7 @@
 		PutStream("]\n");
 		PutStream("/DeviceCMYK\n");
 		PutStream("{\n");
+		int maxSp = spotColorSet.count() - 1;
 		for (int sc = 0; sc < spotColorSet.count(); sc++)
 		{
 			int cc = 0;
@@ -3547,7 +3548,7 @@
 			int yc = 0;
 			int kc = 0;
 			CMYKColor cmykValues;
-			ScColorEngine::getCMYKValues(m_Doc->PageColors[spotColorSet.at(sc)], m_Doc, cmykValues);
+			ScColorEngine::getCMYKValues(m_Doc->PageColors[spotColorSet.at(maxSp - sc)], m_Doc, cmykValues);
 			cmykValues.getValues(cc, mc, yc, kc);
 			if (sc == 0)
 				PutStream("dup "+ToStr(static_cast<double>(cc) / 255.0)+" mul ");




More information about the scribus-commit mailing list