25#include "digikam_config.h"
27#if defined (__MINGW32__) || defined (Q_OS_WIN)
28# define CMS_IS_WINDOWS_ 1
36#if defined(Q_CC_CLANG)
37# pragma clang diagnostic push
38# pragma clang diagnostic ignored "-Wundef"
39# pragma clang diagnostic ignored "-Wdeprecated-register"
44#if defined(Q_CC_CLANG)
45# pragma clang diagnostic pop
48#define LCMS_DESC_MAX 512
54#define LCMS_ERROR_SHOW 1
55#define cmsFLAGS_NOTPRECALC 0x0100
56#define cmsFLAGS_WHITEBLACKCOMPENSATION 0x2000
73typedef cmsCIEXYZTRIPLE
MAT3;
cmsCIEXYZ FAR * LPcmsCIEXYZ
Colorspaces.
Definition digikam-lcms.h:65
DIGIKAM_EXPORT QString dkCmsTakeCopyright(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:460
DIGIKAM_EXPORT QString dkCmsTakeModel(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:444
DIGIKAM_EXPORT int dkCmsTakeRenderingIntent(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:489
DIGIKAM_EXPORT QString dkCmsTakeManufacturer(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:421
unsigned short WORD
Definition digikam-lcms.h:60
icProfileClassSignature
Definition digikam-lcms.h:80
@ icSigAbstractClass
'abst'
Definition digikam-lcms.h:85
@ icSigDisplayClass
'mntr'
Definition digikam-lcms.h:82
@ icSigOutputClass
'prtr'
Definition digikam-lcms.h:83
@ icSigInputClass
'scnr'
Definition digikam-lcms.h:81
@ icSigColorSpaceClass
'spac'
Definition digikam-lcms.h:86
@ icMaxEnumClass
Definition digikam-lcms.h:88
@ icSigNamedColorClass
'nmcl'
Definition digikam-lcms.h:87
@ icSigLinkClass
'link'
Definition digikam-lcms.h:84
cmsCIEXYZTRIPLE FAR * LPMAT3
Definition digikam-lcms.h:74
DIGIKAM_EXPORT void dkCmsDeleteTransform(cmsHTRANSFORM hTransform)
Definition digikam-lcms.cpp:656
DIGIKAM_EXPORT LCMSBOOL dkCmsReadICCMatrixRGB2XYZ(LPMAT3 r, cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:580
DIGIKAM_EXPORT int dkCmsErrorAction(int nAction)
Definition digikam-lcms.cpp:270
unsigned char * LPBYTE
Definition digikam-lcms.h:59
unsigned char BYTE
Definition digikam-lcms.h:59
DIGIKAM_EXPORT QString dkCmsTakeProductDesc(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:344
DIGIKAM_EXPORT DWORD dkCmsGetProfileICCversion(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:279
DIGIKAM_EXPORT LCMSBOOL dkCmsCloseProfile(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:607
DIGIKAM_EXPORT QString dkCmsTakeProductName(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:293
icColorSpaceSignature
Definition digikam-lcms.h:97
@ icSig14colorData
'ECLR'
Definition digikam-lcms.h:121
@ icSigLabData
'Lab '
Definition digikam-lcms.h:99
@ icSig2colorData
'2CLR'
Definition digikam-lcms.h:109
@ icSigLuvData
'Luv '
Definition digikam-lcms.h:100
@ icSig8colorData
'8CLR'
Definition digikam-lcms.h:115
@ icSig10colorData
'ACLR'
Definition digikam-lcms.h:117
@ icMaxEnumData
Definition digikam-lcms.h:123
@ icSig7colorData
'7CLR'
Definition digikam-lcms.h:114
@ icSig9colorData
'9CLR'
Definition digikam-lcms.h:116
@ icSigXYZData
'XYZ '
Definition digikam-lcms.h:98
@ icSig13colorData
'DCLR'
Definition digikam-lcms.h:120
@ icSig6colorData
'6CLR'
Definition digikam-lcms.h:113
@ icSigCmykData
'CMYK'
Definition digikam-lcms.h:107
@ icSigRgbData
'RGB '
Definition digikam-lcms.h:103
@ icSigHlsData
'HLS '
Definition digikam-lcms.h:106
@ icSig4colorData
'4CLR'
Definition digikam-lcms.h:111
@ icSigYCbCrData
'YCbr'
Definition digikam-lcms.h:101
@ icSig12colorData
'CCLR'
Definition digikam-lcms.h:119
@ icSig11colorData
'BCLR'
Definition digikam-lcms.h:118
@ icSigCmyData
'CMY '
Definition digikam-lcms.h:108
@ icSigGrayData
'GRAY'
Definition digikam-lcms.h:104
@ icSig15colorData
'FCLR'
Definition digikam-lcms.h:122
@ icSig3colorData
'3CLR'
Definition digikam-lcms.h:110
@ icSigHsvData
'HSV '
Definition digikam-lcms.h:105
@ icSigYxyData
'Yxy '
Definition digikam-lcms.h:102
@ icSig5colorData
'5CLR'
Definition digikam-lcms.h:112
DIGIKAM_EXPORT void dkCmsFloat2XYZEncoded(WORD XYZ[3], const cmsCIEXYZ *const fXYZ)
Definition digikam-lcms.cpp:677
DIGIKAM_EXPORT cmsHPROFILE dkCmsCreate_sRGBProfile()
Definition digikam-lcms.cpp:651
DIGIKAM_EXPORT double dkCmsDeltaE(LPcmsCIELab Lab1, LPcmsCIELab Lab2)
Definition digikam-lcms.cpp:661
DIGIKAM_EXPORT cmsHPROFILE dkCmsCreateXYZProfile()
Definition digikam-lcms.cpp:646
cmsCIELab FAR * LPcmsCIELab
Definition digikam-lcms.h:67
DIGIKAM_EXPORT void dkCmsDoTransform(cmsHTRANSFORM Transform, LPVOID InputBuffer, LPVOID OutputBuffer, unsigned int Size)
Definition digikam-lcms.cpp:666
DIGIKAM_EXPORT QString dkCmsTakeProductInfo(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:366
DIGIKAM_EXPORT DWORD dkCmsTakeHeaderFlags(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:476
DIGIKAM_EXPORT icProfileClassSignature dkCmsGetDeviceClass(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:602
DIGIKAM_EXPORT void dkCmsXYZ2xyY(LPcmsCIExyY Dest, const cmsCIEXYZ *const Source)
Definition digikam-lcms.cpp:702
void * LPVOID
Definition digikam-lcms.h:62
DIGIKAM_EXPORT LCMSBOOL dkCmsTakeMediaWhitePoint(LPcmsCIEXYZ Dest, cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:430
DIGIKAM_EXPORT void dkCmsSetAlarmCodes(int r, int g, int b)
Definition digikam-lcms.cpp:284
DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromMem(LPVOID MemPtr, DWORD dwSize)
Definition digikam-lcms.cpp:597
void * cmsHPROFILE
Opaque typedefs to hide internals.
Definition digikam-lcms.h:69
unsigned long * LPDWORD
Definition digikam-lcms.h:61
icTagSignature
Definition digikam-lcms.h:133
@ icSigGrayTRCTag
'kTRC'
Definition digikam-lcms.h:149
@ icSigBToA2Tag
'B2A2'
Definition digikam-lcms.h:141
@ icSigDeviceMfgDescTag
'dmnd'
Definition digikam-lcms.h:146
@ icSigViewingConditionsTag
'view'
Definition digikam-lcms.h:176
@ icSigGreenTRCTag
'gTRC'
Definition digikam-lcms.h:151
@ icSigMeasurementTag
'meas'
Definition digikam-lcms.h:153
@ icSigCrdInfoTag
'crdi'
Definition digikam-lcms.h:145
@ icSigPs2CSATag
'ps2s'
Definition digikam-lcms.h:167
@ icSigPreview1Tag
'pre1'
Definition digikam-lcms.h:159
@ icSigPs2CRD0Tag
'psd0'
Definition digikam-lcms.h:163
@ icSigPs2RenderingIntentTag
'ps2i'
Definition digikam-lcms.h:168
@ icSigScreeningDescTag
'scrd'
Definition digikam-lcms.h:171
@ icSigAToB0Tag
'A2B0'
Definition digikam-lcms.h:134
@ icSigDeviceModelDescTag
'dmdd'
Definition digikam-lcms.h:147
@ icSigScreeningTag
'scrn'
Definition digikam-lcms.h:172
@ icSigBToA1Tag
'B2A1'
Definition digikam-lcms.h:140
@ icSigAToB2Tag
'A2B2'
Definition digikam-lcms.h:136
@ icSigProfileSequenceDescTag
'pseq'
Definition digikam-lcms.h:162
@ icSigBToA0Tag
'B2A0'
Definition digikam-lcms.h:139
@ icSigRedTRCTag
'rTRC'
Definition digikam-lcms.h:170
@ icSigPs2CRD1Tag
'psd1'
Definition digikam-lcms.h:164
@ icSigBlueTRCTag
'bTRC'
Definition digikam-lcms.h:138
@ icSigProfileDescriptionTag
'desc'
Definition digikam-lcms.h:161
@ icSigPs2CRD2Tag
'psd2'
Definition digikam-lcms.h:165
@ icSigRedColorantTag
'rXYZ'
Definition digikam-lcms.h:169
@ icSigMediaBlackPointTag
'bkpt'
Definition digikam-lcms.h:154
@ icSigCharTargetTag
'targ'
Definition digikam-lcms.h:143
@ icSigCopyrightTag
'cprt'
Definition digikam-lcms.h:144
@ icSigMediaWhitePointTag
'wtpt'
Definition digikam-lcms.h:155
@ icSigViewingCondDescTag
'vued'
Definition digikam-lcms.h:175
@ icSigAToB1Tag
'A2B1'
Definition digikam-lcms.h:135
@ icSigPs2CRD3Tag
'psd3'
Definition digikam-lcms.h:166
@ icSigCalibrationDateTimeTag
'calt'
Definition digikam-lcms.h:142
@ icSigPreview0Tag
'pre0'
Definition digikam-lcms.h:158
@ icSigUcrBgTag
'bfd '
Definition digikam-lcms.h:174
@ icSigNamedColor2Tag
'ncl2'
Definition digikam-lcms.h:157
@ icSigGreenColorantTag
'gXYZ'
Definition digikam-lcms.h:150
@ icSigNamedColorTag
'ncol' NOTE: OBSOLETE, use ncl2
Definition digikam-lcms.h:156
@ icSigLuminanceTag
'lumi'
Definition digikam-lcms.h:152
@ icSigGamutTag
'gamt'
Definition digikam-lcms.h:148
@ icSigTechnologyTag
'tech'
Definition digikam-lcms.h:173
@ icMaxEnumTag
Definition digikam-lcms.h:177
@ icSigPreview2Tag
'pre2'
Definition digikam-lcms.h:160
@ icSigBlueColorantTag
'bXYZ'
Definition digikam-lcms.h:137
unsigned long DWORD
Definition digikam-lcms.h:61
DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromFile(const char *const ICCProfile, const char *const sAccess)
Definition digikam-lcms.cpp:697
DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetPCS(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:687
DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateProofingTransform(cmsHPROFILE Input, DWORD InputFormat, cmsHPROFILE Output, DWORD OutputFormat, cmsHPROFILE Proofing, int Intent, int ProofingIntent, DWORD dwFlags)
Definition digikam-lcms.cpp:612
DIGIKAM_EXPORT LCMSBOOL dkCmsIsTag(cmsHPROFILE hProfile, icTagSignature sig)
Definition digikam-lcms.cpp:692
DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetColorSpace(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:682
DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateTransform(cmsHPROFILE Input, DWORD InputFormat, cmsHPROFILE Output, DWORD OutputFormat, int Intent, DWORD dwFlags)
Definition digikam-lcms.cpp:631
int LCMSBOOL
Definition digikam-lcms.h:58
#define FAR
Definition digikam-lcms.h:51
cmsCIExyY FAR * LPcmsCIExyY
Definition digikam-lcms.h:66
unsigned short * LPWORD
Definition digikam-lcms.h:60
DIGIKAM_EXPORT const BYTE * dkCmsTakeProfileID(cmsHPROFILE hProfile)
Definition digikam-lcms.cpp:481
cmsCIEXYZTRIPLE MAT3
Definition digikam-lcms.h:73
DIGIKAM_EXPORT LCMSBOOL dkCmsAdaptMatrixFromD50(LPMAT3 r, LPcmsCIExyY DestWhitePt)
Definition digikam-lcms.cpp:500