digiKam
digikam-lcms.h File Reference

Go to the source code of this file.

Macros

#define CMS_NO_REGISTER_KEYWORD   1
 
#define cmsFLAGS_NOTPRECALC   0x0100
 
#define cmsFLAGS_WHITEBLACKCOMPENSATION   0x2000
 
#define FAR
 
#define LCMS_DESC_MAX   512
 
#define LCMS_ERROR_SHOW   1
 

Typedefs

typedef unsigned char BYTE
 
typedef void * cmsHPROFILE
 Opaque typedefs to hide internals. More...
 
typedef unsigned long DWORD
 
typedef int LCMSBOOL
 
typedef unsigned char * LPBYTE
 
typedef cmsCIELab FARLPcmsCIELab
 
typedef cmsCIExyY FARLPcmsCIExyY
 
typedef cmsCIEXYZ FARLPcmsCIEXYZ
 Colorspaces. More...
 
typedef unsigned long * LPDWORD
 
typedef cmsCIEXYZTRIPLE FARLPMAT3
 
typedef void * LPVOID
 
typedef unsigned short * LPWORD
 
typedef cmsCIEXYZTRIPLE MAT3
 
typedef unsigned short WORD
 

Enumerations

enum  icColorSpaceSignature {
  icSigXYZData = 0x58595A20L , icSigLabData = 0x4C616220L , icSigLuvData = 0x4C757620L , icSigYCbCrData = 0x59436272L ,
  icSigYxyData = 0x59787920L , icSigRgbData = 0x52474220L , icSigGrayData = 0x47524159L , icSigHsvData = 0x48535620L ,
  icSigHlsData = 0x484C5320L , icSigCmykData = 0x434D594BL , icSigCmyData = 0x434D5920L , icSig2colorData = 0x32434C52L ,
  icSig3colorData = 0x33434C52L , icSig4colorData = 0x34434C52L , icSig5colorData = 0x35434C52L , icSig6colorData = 0x36434C52L ,
  icSig7colorData = 0x37434C52L , icSig8colorData = 0x38434C52L , icSig9colorData = 0x39434C52L , icSig10colorData = 0x41434C52L ,
  icSig11colorData = 0x42434C52L , icSig12colorData = 0x43434C52L , icSig13colorData = 0x44434C52L , icSig14colorData = 0x45434C52L ,
  icSig15colorData = 0x46434C52L , icMaxEnumData = 0xFFFFFFFFL
}
 
enum  icProfileClassSignature {
  icSigInputClass = 0x73636E72L , icSigDisplayClass = 0x6D6E7472L , icSigOutputClass = 0x70727472L , icSigLinkClass = 0x6C696E6BL ,
  icSigAbstractClass = 0x61627374L , icSigColorSpaceClass = 0x73706163L , icSigNamedColorClass = 0x6e6d636cL , icMaxEnumClass = 0xFFFFFFFFL
}
 
enum  icTagSignature {
  icSigAToB0Tag = 0x41324230L , icSigAToB1Tag = 0x41324231L , icSigAToB2Tag = 0x41324232L , icSigBlueColorantTag = 0x6258595AL ,
  icSigBlueTRCTag = 0x62545243L , icSigBToA0Tag = 0x42324130L , icSigBToA1Tag = 0x42324131L , icSigBToA2Tag = 0x42324132L ,
  icSigCalibrationDateTimeTag = 0x63616C74L , icSigCharTargetTag = 0x74617267L , icSigCopyrightTag = 0x63707274L , icSigCrdInfoTag = 0x63726469L ,
  icSigDeviceMfgDescTag = 0x646D6E64L , icSigDeviceModelDescTag = 0x646D6464L , icSigGamutTag = 0x67616D74L , icSigGrayTRCTag = 0x6b545243L ,
  icSigGreenColorantTag = 0x6758595AL , icSigGreenTRCTag = 0x67545243L , icSigLuminanceTag = 0x6C756d69L , icSigMeasurementTag = 0x6D656173L ,
  icSigMediaBlackPointTag = 0x626B7074L , icSigMediaWhitePointTag = 0x77747074L , icSigNamedColorTag = 0x6E636f6CL , icSigNamedColor2Tag = 0x6E636C32L ,
  icSigPreview0Tag = 0x70726530L , icSigPreview1Tag = 0x70726531L , icSigPreview2Tag = 0x70726532L , icSigProfileDescriptionTag = 0x64657363L ,
  icSigProfileSequenceDescTag = 0x70736571L , icSigPs2CRD0Tag = 0x70736430L , icSigPs2CRD1Tag = 0x70736431L , icSigPs2CRD2Tag = 0x70736432L ,
  icSigPs2CRD3Tag = 0x70736433L , icSigPs2CSATag = 0x70733273L , icSigPs2RenderingIntentTag = 0x70733269L , icSigRedColorantTag = 0x7258595AL ,
  icSigRedTRCTag = 0x72545243L , icSigScreeningDescTag = 0x73637264L , icSigScreeningTag = 0x7363726EL , icSigTechnologyTag = 0x74656368L ,
  icSigUcrBgTag = 0x62666420L , icSigViewingCondDescTag = 0x76756564L , icSigViewingConditionsTag = 0x76696577L , icMaxEnumTag = 0xFFFFFFFFL
}
 

Functions

DIGIKAM_EXPORT LCMSBOOL dkCmsAdaptMatrixFromD50 (LPMAT3 r, LPcmsCIExyY DestWhitePt)
 
DIGIKAM_EXPORT LCMSBOOL dkCmsCloseProfile (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT cmsHPROFILE dkCmsCreate_sRGBProfile ()
 
DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateProofingTransform (cmsHPROFILE Input, DWORD InputFormat, cmsHPROFILE Output, DWORD OutputFormat, cmsHPROFILE Proofing, int Intent, int ProofingIntent, DWORD dwFlags)
 
DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateTransform (cmsHPROFILE Input, DWORD InputFormat, cmsHPROFILE Output, DWORD OutputFormat, int Intent, DWORD dwFlags)
 
DIGIKAM_EXPORT cmsHPROFILE dkCmsCreateXYZProfile ()
 
DIGIKAM_EXPORT void dkCmsDeleteTransform (cmsHTRANSFORM hTransform)
 
DIGIKAM_EXPORT double dkCmsDeltaE (LPcmsCIELab Lab1, LPcmsCIELab Lab2)
 
DIGIKAM_EXPORT void dkCmsDoTransform (cmsHTRANSFORM Transform, LPVOID InputBuffer, LPVOID OutputBuffer, unsigned int Size)
 
DIGIKAM_EXPORT int dkCmsErrorAction (int nAction)
 
DIGIKAM_EXPORT void dkCmsFloat2XYZEncoded (WORD XYZ[3], const cmsCIEXYZ *const fXYZ)
 
DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetColorSpace (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT icProfileClassSignature dkCmsGetDeviceClass (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetPCS (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT DWORD dkCmsGetProfileICCversion (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT LCMSBOOL dkCmsIsTag (cmsHPROFILE hProfile, icTagSignature sig)
 
DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromFile (const char *const ICCProfile, const char *const sAccess)
 
DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromMem (LPVOID MemPtr, DWORD dwSize)
 
DIGIKAM_EXPORT LCMSBOOL dkCmsReadICCMatrixRGB2XYZ (LPMAT3 r, cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT void dkCmsSetAlarmCodes (int r, int g, int b)
 
DIGIKAM_EXPORT QString dkCmsTakeCopyright (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT DWORD dkCmsTakeHeaderFlags (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT QString dkCmsTakeManufacturer (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT LCMSBOOL dkCmsTakeMediaWhitePoint (LPcmsCIEXYZ Dest, cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT QString dkCmsTakeModel (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT QString dkCmsTakeProductDesc (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT QString dkCmsTakeProductInfo (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT QString dkCmsTakeProductName (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT const BYTEdkCmsTakeProfileID (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT int dkCmsTakeRenderingIntent (cmsHPROFILE hProfile)
 
DIGIKAM_EXPORT void dkCmsXYZ2xyY (LPcmsCIExyY Dest, const cmsCIEXYZ *const Source)
 

Macro Definition Documentation

◆ CMS_NO_REGISTER_KEYWORD

#define CMS_NO_REGISTER_KEYWORD   1

◆ cmsFLAGS_NOTPRECALC

#define cmsFLAGS_NOTPRECALC   0x0100

◆ cmsFLAGS_WHITEBLACKCOMPENSATION

#define cmsFLAGS_WHITEBLACKCOMPENSATION   0x2000

◆ FAR

#define FAR

◆ LCMS_DESC_MAX

#define LCMS_DESC_MAX   512

◆ LCMS_ERROR_SHOW

#define LCMS_ERROR_SHOW   1

Typedef Documentation

◆ BYTE

typedef unsigned char BYTE

◆ cmsHPROFILE

typedef void* cmsHPROFILE

Opaque typedefs to hide internals.

◆ DWORD

typedef unsigned long DWORD

◆ LCMSBOOL

typedef int LCMSBOOL

◆ LPBYTE

typedef unsigned char * LPBYTE

◆ LPcmsCIELab

typedef cmsCIELab FAR* LPcmsCIELab

◆ LPcmsCIExyY

typedef cmsCIExyY FAR* LPcmsCIExyY

◆ LPcmsCIEXYZ

typedef cmsCIEXYZ FAR* LPcmsCIEXYZ

Colorspaces.

◆ LPDWORD

typedef unsigned long * LPDWORD

◆ LPMAT3

typedef cmsCIEXYZTRIPLE FAR* LPMAT3

◆ LPVOID

typedef void* LPVOID

◆ LPWORD

typedef unsigned short * LPWORD

◆ MAT3

typedef cmsCIEXYZTRIPLE MAT3

◆ WORD

typedef unsigned short WORD

Enumeration Type Documentation

◆ icColorSpaceSignature

Enumerator
icSigXYZData 

'XYZ '

icSigLabData 

'Lab '

icSigLuvData 

'Luv '

icSigYCbCrData 

'YCbr'

icSigYxyData 

'Yxy '

icSigRgbData 

'RGB '

icSigGrayData 

'GRAY'

icSigHsvData 

'HSV '

icSigHlsData 

'HLS '

icSigCmykData 

'CMYK'

icSigCmyData 

'CMY '

icSig2colorData 

'2CLR'

icSig3colorData 

'3CLR'

icSig4colorData 

'4CLR'

icSig5colorData 

'5CLR'

icSig6colorData 

'6CLR'

icSig7colorData 

'7CLR'

icSig8colorData 

'8CLR'

icSig9colorData 

'9CLR'

icSig10colorData 

'ACLR'

icSig11colorData 

'BCLR'

icSig12colorData 

'CCLR'

icSig13colorData 

'DCLR'

icSig14colorData 

'ECLR'

icSig15colorData 

'FCLR'

icMaxEnumData 

◆ icProfileClassSignature

Profile Class Enumerations

Enumerator
icSigInputClass 

'scnr'

icSigDisplayClass 

'mntr'

icSigOutputClass 

'prtr'

icSigLinkClass 

'link'

icSigAbstractClass 

'abst'

icSigColorSpaceClass 

'spac'

icSigNamedColorClass 

'nmcl'

icMaxEnumClass 

◆ icTagSignature

public tags and sizes

Enumerator
icSigAToB0Tag 

'A2B0'

icSigAToB1Tag 

'A2B1'

icSigAToB2Tag 

'A2B2'

icSigBlueColorantTag 

'bXYZ'

icSigBlueTRCTag 

'bTRC'

icSigBToA0Tag 

'B2A0'

icSigBToA1Tag 

'B2A1'

icSigBToA2Tag 

'B2A2'

icSigCalibrationDateTimeTag 

'calt'

icSigCharTargetTag 

'targ'

icSigCopyrightTag 

'cprt'

icSigCrdInfoTag 

'crdi'

icSigDeviceMfgDescTag 

'dmnd'

icSigDeviceModelDescTag 

'dmdd'

icSigGamutTag 

'gamt'

icSigGrayTRCTag 

'kTRC'

icSigGreenColorantTag 

'gXYZ'

icSigGreenTRCTag 

'gTRC'

icSigLuminanceTag 

'lumi'

icSigMeasurementTag 

'meas'

icSigMediaBlackPointTag 

'bkpt'

icSigMediaWhitePointTag 

'wtpt'

icSigNamedColorTag 

'ncol' NOTE: OBSOLETE, use ncl2

icSigNamedColor2Tag 

'ncl2'

icSigPreview0Tag 

'pre0'

icSigPreview1Tag 

'pre1'

icSigPreview2Tag 

'pre2'

icSigProfileDescriptionTag 

'desc'

icSigProfileSequenceDescTag 

'pseq'

icSigPs2CRD0Tag 

'psd0'

icSigPs2CRD1Tag 

'psd1'

icSigPs2CRD2Tag 

'psd2'

icSigPs2CRD3Tag 

'psd3'

icSigPs2CSATag 

'ps2s'

icSigPs2RenderingIntentTag 

'ps2i'

icSigRedColorantTag 

'rXYZ'

icSigRedTRCTag 

'rTRC'

icSigScreeningDescTag 

'scrd'

icSigScreeningTag 

'scrn'

icSigTechnologyTag 

'tech'

icSigUcrBgTag 

'bfd '

icSigViewingCondDescTag 

'vued'

icSigViewingConditionsTag 

'view'

icMaxEnumTag 

Function Documentation

◆ dkCmsAdaptMatrixFromD50()

DIGIKAM_EXPORT LCMSBOOL dkCmsAdaptMatrixFromD50 ( LPMAT3  r,
LPcmsCIExyY  DestWhitePt 
)

White Point & Primary chromas handling Returns the final chromatic adaptation from illuminant FromIll to Illuminant ToIll The cone matrix can be specified in ConeMatrix. If NULL, assuming D50 source. White point is given in xyY

References _l1LPMAT3tol2cmsMAT3().

◆ dkCmsCloseProfile()

◆ dkCmsCreate_sRGBProfile()

DIGIKAM_EXPORT cmsHPROFILE dkCmsCreate_sRGBProfile ( )

◆ dkCmsCreateProofingTransform()

DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateProofingTransform ( cmsHPROFILE  Input,
DWORD  InputFormat,
cmsHPROFILE  Output,
DWORD  OutputFormat,
cmsHPROFILE  Proofing,
int  Intent,
int  ProofingIntent,
DWORD  dwFlags 
)

◆ dkCmsCreateTransform()

DIGIKAM_EXPORT cmsHTRANSFORM dkCmsCreateTransform ( cmsHPROFILE  Input,
DWORD  InputFormat,
cmsHPROFILE  Output,
DWORD  OutputFormat,
int  Intent,
DWORD  dwFlags 
)

◆ dkCmsCreateXYZProfile()

DIGIKAM_EXPORT cmsHPROFILE dkCmsCreateXYZProfile ( )

◆ dkCmsDeleteTransform()

DIGIKAM_EXPORT void dkCmsDeleteTransform ( cmsHTRANSFORM  hTransform)

◆ dkCmsDeltaE()

DIGIKAM_EXPORT double dkCmsDeltaE ( LPcmsCIELab  Lab1,
LPcmsCIELab  Lab2 
)

◆ dkCmsDoTransform()

DIGIKAM_EXPORT void dkCmsDoTransform ( cmsHTRANSFORM  Transform,
LPVOID  InputBuffer,
LPVOID  OutputBuffer,
unsigned int  Size 
)

◆ dkCmsErrorAction()

DIGIKAM_EXPORT int dkCmsErrorAction ( int  nAction)

◆ dkCmsFloat2XYZEncoded()

DIGIKAM_EXPORT void dkCmsFloat2XYZEncoded ( WORD  XYZ[3],
const cmsCIEXYZ *const  fXYZ 
)

◆ dkCmsGetColorSpace()

DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetColorSpace ( cmsHPROFILE  hProfile)

◆ dkCmsGetDeviceClass()

DIGIKAM_EXPORT icProfileClassSignature dkCmsGetDeviceClass ( cmsHPROFILE  hProfile)

◆ dkCmsGetPCS()

DIGIKAM_EXPORT icColorSpaceSignature dkCmsGetPCS ( cmsHPROFILE  hProfile)

◆ dkCmsGetProfileICCversion()

DIGIKAM_EXPORT DWORD dkCmsGetProfileICCversion ( cmsHPROFILE  hProfile)

◆ dkCmsIsTag()

DIGIKAM_EXPORT LCMSBOOL dkCmsIsTag ( cmsHPROFILE  hProfile,
icTagSignature  sig 
)

◆ dkCmsOpenProfileFromFile()

DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromFile ( const char *const  ICCProfile,
const char *const  sAccess 
)

◆ dkCmsOpenProfileFromMem()

DIGIKAM_EXPORT cmsHPROFILE dkCmsOpenProfileFromMem ( LPVOID  MemPtr,
DWORD  dwSize 
)

◆ dkCmsReadICCMatrixRGB2XYZ()

DIGIKAM_EXPORT LCMSBOOL dkCmsReadICCMatrixRGB2XYZ ( LPMAT3  r,
cmsHPROFILE  hProfile 
)

◆ dkCmsSetAlarmCodes()

DIGIKAM_EXPORT void dkCmsSetAlarmCodes ( int  r,
int  g,
int  b 
)

◆ dkCmsTakeCopyright()

DIGIKAM_EXPORT QString dkCmsTakeCopyright ( cmsHPROFILE  hProfile)

◆ dkCmsTakeHeaderFlags()

DIGIKAM_EXPORT DWORD dkCmsTakeHeaderFlags ( cmsHPROFILE  hProfile)

◆ dkCmsTakeManufacturer()

DIGIKAM_EXPORT QString dkCmsTakeManufacturer ( cmsHPROFILE  hProfile)

◆ dkCmsTakeMediaWhitePoint()

DIGIKAM_EXPORT LCMSBOOL dkCmsTakeMediaWhitePoint ( LPcmsCIEXYZ  Dest,
cmsHPROFILE  hProfile 
)

References FALSE, and TRUE.

◆ dkCmsTakeModel()

DIGIKAM_EXPORT QString dkCmsTakeModel ( cmsHPROFILE  hProfile)

◆ dkCmsTakeProductDesc()

DIGIKAM_EXPORT QString dkCmsTakeProductDesc ( cmsHPROFILE  hProfile)

◆ dkCmsTakeProductInfo()

DIGIKAM_EXPORT QString dkCmsTakeProductInfo ( cmsHPROFILE  hProfile)

References K007.

◆ dkCmsTakeProductName()

DIGIKAM_EXPORT QString dkCmsTakeProductName ( cmsHPROFILE  hProfile)

◆ dkCmsTakeProfileID()

DIGIKAM_EXPORT const BYTE* dkCmsTakeProfileID ( cmsHPROFILE  hProfile)

◆ dkCmsTakeRenderingIntent()

DIGIKAM_EXPORT int dkCmsTakeRenderingIntent ( cmsHPROFILE  hProfile)

◆ dkCmsXYZ2xyY()

DIGIKAM_EXPORT void dkCmsXYZ2xyY ( LPcmsCIExyY  Dest,
const cmsCIEXYZ *const  Source 
)