25 #ifndef DIGIKAM_LCMS_H
26 #define DIGIKAM_LCMS_H
35 #include "digikam_config.h"
37 #if defined (__MINGW32__) || defined (Q_OS_WIN)
38 # define CMS_IS_WINDOWS_ 1
46 #if defined(Q_CC_CLANG)
47 # pragma clang diagnostic push
48 # pragma clang diagnostic ignored "-Wundef"
49 # pragma clang diagnostic ignored "-Wdeprecated-register"
52 #define CMS_NO_REGISTER_KEYWORD 1
56 #if defined(Q_CC_CLANG)
57 # pragma clang diagnostic pop
60 #define LCMS_DESC_MAX 512
66 #define LCMS_ERROR_SHOW 1
67 #define cmsFLAGS_NOTPRECALC 0x0100
68 #define cmsFLAGS_WHITEBLACKCOMPENSATION 0x2000
85 typedef cmsCIEXYZTRIPLE
MAT3;
cmsCIEXYZ FAR * LPcmsCIEXYZ
Colorspaces.
Definition: digikam-lcms.h:77
DIGIKAM_EXPORT QString dkCmsTakeCopyright(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:469
DIGIKAM_EXPORT QString dkCmsTakeModel(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:453
DIGIKAM_EXPORT int dkCmsTakeRenderingIntent(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:498
DIGIKAM_EXPORT QString dkCmsTakeManufacturer(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:430
unsigned short WORD
Definition: digikam-lcms.h:72
icProfileClassSignature
Definition: digikam-lcms.h:92
@ icSigAbstractClass
'abst'
Definition: digikam-lcms.h:97
@ icSigDisplayClass
'mntr'
Definition: digikam-lcms.h:94
@ icSigOutputClass
'prtr'
Definition: digikam-lcms.h:95
@ icSigInputClass
'scnr'
Definition: digikam-lcms.h:93
@ icSigColorSpaceClass
'spac'
Definition: digikam-lcms.h:98
@ icMaxEnumClass
Definition: digikam-lcms.h:100
@ icSigNamedColorClass
'nmcl'
Definition: digikam-lcms.h:99
@ icSigLinkClass
'link'
Definition: digikam-lcms.h:96
cmsCIEXYZTRIPLE FAR * LPMAT3
Definition: digikam-lcms.h:86
DIGIKAM_EXPORT void dkCmsDeleteTransform(cmsHTRANSFORM hTransform)
Definition: digikam-lcms.cpp:665
DIGIKAM_EXPORT LCMSBOOL dkCmsReadICCMatrixRGB2XYZ(LPMAT3 r, cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:589
DIGIKAM_EXPORT int dkCmsErrorAction(int nAction)
Definition: digikam-lcms.cpp:279
unsigned char * LPBYTE
Definition: digikam-lcms.h:71
unsigned char BYTE
Definition: digikam-lcms.h:71
DIGIKAM_EXPORT QString dkCmsTakeProductDesc(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:353
DIGIKAM_EXPORT DWORD dkCmsGetProfileICCversion(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:288
DIGIKAM_EXPORT LCMSBOOL dkCmsCloseProfile(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:616
DIGIKAM_EXPORT QString dkCmsTakeProductName(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:302
icColorSpaceSignature
Definition: digikam-lcms.h:109
@ icSig14colorData
'ECLR'
Definition: digikam-lcms.h:133
@ icSigLabData
'Lab '
Definition: digikam-lcms.h:111
@ icSig2colorData
'2CLR'
Definition: digikam-lcms.h:121
@ icSigLuvData
'Luv '
Definition: digikam-lcms.h:112
@ icSig8colorData
'8CLR'
Definition: digikam-lcms.h:127
@ icSig10colorData
'ACLR'
Definition: digikam-lcms.h:129
@ icMaxEnumData
Definition: digikam-lcms.h:135
@ icSig7colorData
'7CLR'
Definition: digikam-lcms.h:126
@ icSig9colorData
'9CLR'
Definition: digikam-lcms.h:128
@ icSigXYZData
'XYZ '
Definition: digikam-lcms.h:110
@ icSig13colorData
'DCLR'
Definition: digikam-lcms.h:132
@ icSig6colorData
'6CLR'
Definition: digikam-lcms.h:125
@ icSigCmykData
'CMYK'
Definition: digikam-lcms.h:119
@ icSigRgbData
'RGB '
Definition: digikam-lcms.h:115
@ icSigHlsData
'HLS '
Definition: digikam-lcms.h:118
@ icSig4colorData
'4CLR'
Definition: digikam-lcms.h:123
@ icSigYCbCrData
'YCbr'
Definition: digikam-lcms.h:113
@ icSig12colorData
'CCLR'
Definition: digikam-lcms.h:131
@ icSig11colorData
'BCLR'
Definition: digikam-lcms.h:130
@ icSigCmyData
'CMY '
Definition: digikam-lcms.h:120
@ icSigGrayData
'GRAY'
Definition: digikam-lcms.h:116
@ icSig15colorData
'FCLR'
Definition: digikam-lcms.h:134
@ icSig3colorData
'3CLR'
Definition: digikam-lcms.h:122
@ icSigHsvData
'HSV '
Definition: digikam-lcms.h:117
@ icSigYxyData
'Yxy '
Definition: digikam-lcms.h:114
@ icSig5colorData
'5CLR'
Definition: digikam-lcms.h:124
DIGIKAM_EXPORT void dkCmsFloat2XYZEncoded(WORD XYZ[3], const cmsCIEXYZ *const fXYZ)
Definition: digikam-lcms.cpp:686
DIGIKAM_EXPORT cmsHPROFILE dkCmsCreate_sRGBProfile()
Definition: digikam-lcms.cpp:660
DIGIKAM_EXPORT double dkCmsDeltaE(LPcmsCIELab Lab1, LPcmsCIELab Lab2)
Definition: digikam-lcms.cpp:670
DIGIKAM_EXPORT cmsHPROFILE dkCmsCreateXYZProfile()
Definition: digikam-lcms.cpp:655
cmsCIELab FAR * LPcmsCIELab
Definition: digikam-lcms.h:79
DIGIKAM_EXPORT void dkCmsDoTransform(cmsHTRANSFORM Transform, LPVOID InputBuffer, LPVOID OutputBuffer, unsigned int Size)
Definition: digikam-lcms.cpp:675
DIGIKAM_EXPORT QString dkCmsTakeProductInfo(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:375
DIGIKAM_EXPORT DWORD dkCmsTakeHeaderFlags(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:485
DIGIKAM_EXPORT icProfileClassSignature dkCmsGetDeviceClass(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:611
DIGIKAM_EXPORT void dkCmsXYZ2xyY(LPcmsCIExyY Dest, const cmsCIEXYZ *const Source)
Definition: digikam-lcms.cpp:711
void * LPVOID
Definition: digikam-lcms.h:74
DIGIKAM_EXPORT LCMSBOOL dkCmsTakeMediaWhitePoint(LPcmsCIEXYZ Dest, cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:439
DIGIKAM_EXPORT void dkCmsSetAlarmCodes(int r, int g, int b)
Definition: digikam-lcms.cpp:293
DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromMem(LPVOID MemPtr, DWORD dwSize)
Definition: digikam-lcms.cpp:606
void * cmsHPROFILE
Opaque typedefs to hide internals.
Definition: digikam-lcms.h:81
DIGIKAM_EXPORT const BYTE * dkCmsTakeProfileID(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:490
unsigned long * LPDWORD
Definition: digikam-lcms.h:73
icTagSignature
Definition: digikam-lcms.h:145
@ icSigGrayTRCTag
'kTRC'
Definition: digikam-lcms.h:161
@ icSigBToA2Tag
'B2A2'
Definition: digikam-lcms.h:153
@ icSigDeviceMfgDescTag
'dmnd'
Definition: digikam-lcms.h:158
@ icSigViewingConditionsTag
'view'
Definition: digikam-lcms.h:188
@ icSigGreenTRCTag
'gTRC'
Definition: digikam-lcms.h:163
@ icSigMeasurementTag
'meas'
Definition: digikam-lcms.h:165
@ icSigCrdInfoTag
'crdi'
Definition: digikam-lcms.h:157
@ icSigPs2CSATag
'ps2s'
Definition: digikam-lcms.h:179
@ icSigPreview1Tag
'pre1'
Definition: digikam-lcms.h:171
@ icSigPs2CRD0Tag
'psd0'
Definition: digikam-lcms.h:175
@ icSigPs2RenderingIntentTag
'ps2i'
Definition: digikam-lcms.h:180
@ icSigScreeningDescTag
'scrd'
Definition: digikam-lcms.h:183
@ icSigAToB0Tag
'A2B0'
Definition: digikam-lcms.h:146
@ icSigDeviceModelDescTag
'dmdd'
Definition: digikam-lcms.h:159
@ icSigScreeningTag
'scrn'
Definition: digikam-lcms.h:184
@ icSigBToA1Tag
'B2A1'
Definition: digikam-lcms.h:152
@ icSigAToB2Tag
'A2B2'
Definition: digikam-lcms.h:148
@ icSigProfileSequenceDescTag
'pseq'
Definition: digikam-lcms.h:174
@ icSigBToA0Tag
'B2A0'
Definition: digikam-lcms.h:151
@ icSigRedTRCTag
'rTRC'
Definition: digikam-lcms.h:182
@ icSigPs2CRD1Tag
'psd1'
Definition: digikam-lcms.h:176
@ icSigBlueTRCTag
'bTRC'
Definition: digikam-lcms.h:150
@ icSigProfileDescriptionTag
'desc'
Definition: digikam-lcms.h:173
@ icSigPs2CRD2Tag
'psd2'
Definition: digikam-lcms.h:177
@ icSigRedColorantTag
'rXYZ'
Definition: digikam-lcms.h:181
@ icSigMediaBlackPointTag
'bkpt'
Definition: digikam-lcms.h:166
@ icSigCharTargetTag
'targ'
Definition: digikam-lcms.h:155
@ icSigCopyrightTag
'cprt'
Definition: digikam-lcms.h:156
@ icSigMediaWhitePointTag
'wtpt'
Definition: digikam-lcms.h:167
@ icSigViewingCondDescTag
'vued'
Definition: digikam-lcms.h:187
@ icSigAToB1Tag
'A2B1'
Definition: digikam-lcms.h:147
@ icSigPs2CRD3Tag
'psd3'
Definition: digikam-lcms.h:178
@ icSigCalibrationDateTimeTag
'calt'
Definition: digikam-lcms.h:154
@ icSigPreview0Tag
'pre0'
Definition: digikam-lcms.h:170
@ icSigUcrBgTag
'bfd '
Definition: digikam-lcms.h:186
@ icSigNamedColor2Tag
'ncl2'
Definition: digikam-lcms.h:169
@ icSigGreenColorantTag
'gXYZ'
Definition: digikam-lcms.h:162
@ icSigNamedColorTag
'ncol' NOTE: OBSOLETE, use ncl2
Definition: digikam-lcms.h:168
@ icSigLuminanceTag
'lumi'
Definition: digikam-lcms.h:164
@ icSigGamutTag
'gamt'
Definition: digikam-lcms.h:160
@ icSigTechnologyTag
'tech'
Definition: digikam-lcms.h:185
@ icMaxEnumTag
Definition: digikam-lcms.h:189
@ icSigPreview2Tag
'pre2'
Definition: digikam-lcms.h:172
@ icSigBlueColorantTag
'bXYZ'
Definition: digikam-lcms.h:149
unsigned long DWORD
Definition: digikam-lcms.h:73
DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromFile(const char *const ICCProfile, const char *const sAccess)
Definition: digikam-lcms.cpp:706
DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetPCS(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:696
DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateProofingTransform(cmsHPROFILE Input, DWORD InputFormat, cmsHPROFILE Output, DWORD OutputFormat, cmsHPROFILE Proofing, int Intent, int ProofingIntent, DWORD dwFlags)
Definition: digikam-lcms.cpp:621
DIGIKAM_EXPORT LCMSBOOL dkCmsIsTag(cmsHPROFILE hProfile, icTagSignature sig)
Definition: digikam-lcms.cpp:701
DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetColorSpace(cmsHPROFILE hProfile)
Definition: digikam-lcms.cpp:691
DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateTransform(cmsHPROFILE Input, DWORD InputFormat, cmsHPROFILE Output, DWORD OutputFormat, int Intent, DWORD dwFlags)
Definition: digikam-lcms.cpp:640
int LCMSBOOL
Definition: digikam-lcms.h:70
#define FAR
Definition: digikam-lcms.h:63
cmsCIExyY FAR * LPcmsCIExyY
Definition: digikam-lcms.h:78
unsigned short * LPWORD
Definition: digikam-lcms.h:72
cmsCIEXYZTRIPLE MAT3
Definition: digikam-lcms.h:85
DIGIKAM_EXPORT LCMSBOOL dkCmsAdaptMatrixFromD50(LPMAT3 r, LPcmsCIExyY DestWhitePt)
Definition: digikam-lcms.cpp:509