summaryrefslogtreecommitdiffstats
path: root/ksvg/impl
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2014-10-09 21:08:16 +0200
committerSlávek Banko <slavek.banko@axis.cz>2014-10-09 21:08:16 +0200
commitb34c4d8c337aba6d7d44dfd58087ebd6e2d143e3 (patch)
tree1f28011425bdb7a577ad23d91d0007b9f215e17d /ksvg/impl
parente76fc32e0582f8bc801fb2c253dc826fb61873ec (diff)
downloadtdegraphics-b34c4d8c337aba6d7d44dfd58087ebd6e2d143e3.tar.gz
tdegraphics-b34c4d8c337aba6d7d44dfd58087ebd6e2d143e3.zip
Add support for lcms2
Diffstat (limited to 'ksvg/impl')
-rw-r--r--ksvg/impl/SVGColorProfileElementImpl.cc12
-rw-r--r--ksvg/impl/SVGColorProfileElementImpl.h11
2 files changed, 16 insertions, 7 deletions
diff --git a/ksvg/impl/SVGColorProfileElementImpl.cc b/ksvg/impl/SVGColorProfileElementImpl.cc
index 0aa91e52..f59e7c23 100644
--- a/ksvg/impl/SVGColorProfileElementImpl.cc
+++ b/ksvg/impl/SVGColorProfileElementImpl.cc
@@ -205,13 +205,13 @@ bool SVGColorProfileElementImpl::loadColorProfile()
m_hInput = cmsOpenProfileFromFile(open.latin1(), "r");
m_hOutput = cmsCreate_sRGBProfile();
- unsigned int dwIn = BYTES_SH(2) | CHANNELS_SH(_cmsChannelsOf(m_inputColorSpace));
- unsigned int dwOut = BYTES_SH(2) | CHANNELS_SH(_cmsChannelsOf(m_outputColorSpace));
+ unsigned int dwIn = BYTES_SH(2) | CHANNELS_SH(cmsChannelsOf(m_inputColorSpace));
+ unsigned int dwOut = BYTES_SH(2) | CHANNELS_SH(cmsChannelsOf(m_outputColorSpace));
if(m_renderingIntent != RENDERING_INTENT_AUTO)
- m_hTrans = cmsCreateTransform(m_hInput, dwIn, m_hOutput, dwOut, m_renderingIntent - 2, cmsFLAGS_NOTPRECALC);
+ m_hTrans = cmsCreateTransform(m_hInput, dwIn, m_hOutput, dwOut, m_renderingIntent - 2, cmsFLAGS_NOOPTIMIZE);
else
- m_hTrans = cmsCreateTransform(m_hInput, dwIn, m_hOutput, dwOut, cmsTakeRenderingIntent(m_hInput), cmsFLAGS_NOTPRECALC);
+ m_hTrans = cmsCreateTransform(m_hInput, dwIn, m_hOutput, dwOut, cmsGetHeaderRenderingIntent(m_hInput), cmsFLAGS_NOOPTIMIZE);
m_inputColorSpace = cmsGetColorSpace(m_hInput);
m_outputColorSpace = cmsGetColorSpace(m_hOutput);
@@ -237,7 +237,7 @@ TQRgb SVGColorProfileElementImpl::correctPixel(float r, float g, float b)
return tqRgb(0, 0, 0);
}
- unsigned short input[MAXCHANNELS], output[MAXCHANNELS];
+ unsigned short input[cmsMAXCHANNELS], output[cmsMAXCHANNELS];
input[0] = ((unsigned int) r) * 257;
input[1] = ((unsigned int) g) * 257;
@@ -245,7 +245,7 @@ TQRgb SVGColorProfileElementImpl::correctPixel(float r, float g, float b)
cmsDoTransform(m_hTrans, input, output, 1);
- if(m_outputColorSpace == icSigRgbData)
+ if(m_outputColorSpace == cmsSigRgbData)
return tqRgb(output[0] / 257, output[1] / 257, output[2] / 257);
return tqRgb(0, 0, 0);
diff --git a/ksvg/impl/SVGColorProfileElementImpl.h b/ksvg/impl/SVGColorProfileElementImpl.h
index db4f322e..7c4f884f 100644
--- a/ksvg/impl/SVGColorProfileElementImpl.h
+++ b/ksvg/impl/SVGColorProfileElementImpl.h
@@ -28,6 +28,15 @@
#undef QT_VERSION // Needed for 1.08 *grml*
#include LCMS_HEADER
+#if LCMS_VERSION < 2000
+#define cmsColorSpaceSignature icColorSpaceSignature
+#define cmsChannelsOf _cmsChannelsOf
+#define cmsFLAGS_NOOPTIMIZE cmsFLAGS_NOTPRECALC
+#define cmsGetHeaderRenderingIntent cmsTakeRenderingIntent
+#define cmsMAXCHANNELS MAXCHANNELS
+#define cmsSigRgbData icSigRgbData
+#endif
+
#include "SVGElementImpl.h"
#include "SVGURIReferenceImpl.h"
@@ -74,7 +83,7 @@ private:
cmsHTRANSFORM m_hTrans;
int m_intent;
- icColorSpaceSignature m_inputColorSpace, m_outputColorSpace;
+ cmsColorSpaceSignature m_inputColorSpace, m_outputColorSpace;
public:
KSVG_GET