123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911 |
- #ifndef _lcms2_H
- #include <stdio.h>
- #include <limits.h>
- #include <time.h>
- #include <stddef.h>
- #ifndef CMS_USE_CPP_API
- # ifdef __cplusplus
- extern "C" {
- # endif
- #endif
- #define LCMS_VERSION 2090
- #ifndef CMS_BASIC_TYPES_ALREADY_DEFINED
- typedef unsigned char cmsUInt8Number;
- typedef signed char cmsInt8Number;
- #if CHAR_BIT != 8
- # error "Unable to find 8 bit type, unsupported compiler"
- #endif
- typedef float cmsFloat32Number;
- typedef double cmsFloat64Number;
- #if (USHRT_MAX == 65535U)
- typedef unsigned short cmsUInt16Number;
- #elif (UINT_MAX == 65535U)
- typedef unsigned int cmsUInt16Number;
- #else
- # error "Unable to find 16 bits unsigned type, unsupported compiler"
- #endif
- #if (SHRT_MAX == 32767)
- typedef short cmsInt16Number;
- #elif (INT_MAX == 32767)
- typedef int cmsInt16Number;
- #else
- # error "Unable to find 16 bits signed type, unsupported compiler"
- #endif
- #if (UINT_MAX == 4294967295U)
- typedef unsigned int cmsUInt32Number;
- #elif (ULONG_MAX == 4294967295U)
- typedef unsigned long cmsUInt32Number;
- #else
- # error "Unable to find 32 bit unsigned type, unsupported compiler"
- #endif
- #if (INT_MAX == +2147483647)
- typedef int cmsInt32Number;
- #elif (LONG_MAX == +2147483647)
- typedef long cmsInt32Number;
- #else
- # error "Unable to find 32 bit signed type, unsupported compiler"
- #endif
- #ifndef CMS_DONT_USE_INT64
- # if (ULONG_MAX == 18446744073709551615U)
- typedef unsigned long cmsUInt64Number;
- # elif (ULLONG_MAX == 18446744073709551615U)
- typedef unsigned long long cmsUInt64Number;
- # else
- # define CMS_DONT_USE_INT64 1
- # endif
- # if (LONG_MAX == +9223372036854775807)
- typedef long cmsInt64Number;
- # elif (LLONG_MAX == +9223372036854775807)
- typedef long long cmsInt64Number;
- # else
- # define CMS_DONT_USE_INT64 1
- # endif
- #endif
- #endif
- #ifdef CMS_DONT_USE_INT64
- typedef cmsUInt32Number cmsUInt64Number[2];
- typedef cmsInt32Number cmsInt64Number[2];
- #endif
- typedef cmsUInt32Number cmsSignature;
- typedef cmsUInt16Number cmsU8Fixed8Number;
- typedef cmsInt32Number cmsS15Fixed16Number;
- typedef cmsUInt32Number cmsU16Fixed16Number;
- typedef int cmsBool;
- #if defined (_WIN32) || defined(_WIN64) || defined(WIN32) || defined(_WIN32_)
- # define CMS_IS_WINDOWS_ 1
- #endif
- #ifdef _MSC_VER
- # define CMS_IS_WINDOWS_ 1
- #endif
- #ifdef __BORLANDC__
- # define CMS_IS_WINDOWS_ 1
- #endif
- #ifdef CMS_USE_BIG_ENDIAN // set at compiler command line takes overall precedence
- # if CMS_USE_BIG_ENDIAN == 0
- # undef CMS_USE_BIG_ENDIAN
- # endif
- #else // CMS_USE_BIG_ENDIAN
- # ifdef WORDS_BIGENDIAN // set by configure (or explicitly on compiler command line)
- # define CMS_USE_BIG_ENDIAN 1
- # else // WORDS_BIGENDIAN
- # if defined(__sgi__) || defined(__sgi) || defined(sparc)
- # define CMS_USE_BIG_ENDIAN 1
- # endif
- # if defined(__s390__) || defined(__s390x__)
- # define CMS_USE_BIG_ENDIAN 1
- # endif
- # ifdef macintosh
- # ifdef __BIG_ENDIAN__
- # define CMS_USE_BIG_ENDIAN 1
- # endif
- # ifdef __LITTLE_ENDIAN__
- # undef CMS_USE_BIG_ENDIAN
- # endif
- # endif
- # endif // WORDS_BIGENDIAN
- # if defined(_HOST_BIG_ENDIAN) || defined(__BIG_ENDIAN__)
- # define CMS_USE_BIG_ENDIAN 1
- # endif
- #endif // CMS_USE_BIG_ENDIAN
- #ifdef CMS_IS_WINDOWS_
- # if defined(CMS_DLL) || defined(CMS_DLL_BUILD)
- # ifdef __BORLANDC__
- # define CMSEXPORT __stdcall _export
- # define CMSAPI
- # else
- # define CMSEXPORT __stdcall
- # ifdef CMS_DLL_BUILD
- # define CMSAPI __declspec(dllexport)
- # else
- # define CMSAPI __declspec(dllimport)
- # endif
- # endif
- # else
- # define CMSEXPORT
- # define CMSAPI
- # endif
- #else // not Windows
- # ifdef HAVE_FUNC_ATTRIBUTE_VISIBILITY
- # define CMSEXPORT
- # define CMSAPI __attribute__((visibility("default")))
- # else
- # define CMSEXPORT
- # define CMSAPI
- # endif
- #endif // CMS_IS_WINDOWS_
- #ifdef HasTHREADS
- # if HasTHREADS == 1
- # undef CMS_NO_PTHREADS
- # else
- # define CMS_NO_PTHREADS 1
- # endif
- #endif
- #define cmsMAX_PATH 256
- #ifndef FALSE
- # define FALSE 0
- #endif
- #ifndef TRUE
- # define TRUE 1
- #endif
- #define cmsD50X 0.9642
- #define cmsD50Y 1.0
- #define cmsD50Z 0.8249
- #define cmsPERCEPTUAL_BLACK_X 0.00336
- #define cmsPERCEPTUAL_BLACK_Y 0.0034731
- #define cmsPERCEPTUAL_BLACK_Z 0.00287
- #define cmsMagicNumber 0x61637370 // 'acsp'
- #define lcmsSignature 0x6c636d73 // 'lcms'
- typedef enum {
- cmsSigChromaticityType = 0x6368726D,
- cmsSigColorantOrderType = 0x636C726F,
- cmsSigColorantTableType = 0x636C7274,
- cmsSigCrdInfoType = 0x63726469,
- cmsSigCurveType = 0x63757276,
- cmsSigDataType = 0x64617461,
- cmsSigDictType = 0x64696374,
- cmsSigDateTimeType = 0x6474696D,
- cmsSigDeviceSettingsType = 0x64657673,
- cmsSigLut16Type = 0x6d667432,
- cmsSigLut8Type = 0x6d667431,
- cmsSigLutAtoBType = 0x6d414220,
- cmsSigLutBtoAType = 0x6d424120,
- cmsSigMeasurementType = 0x6D656173,
- cmsSigMultiLocalizedUnicodeType = 0x6D6C7563,
- cmsSigMultiProcessElementType = 0x6D706574,
- cmsSigNamedColorType = 0x6E636f6C,
- cmsSigNamedColor2Type = 0x6E636C32,
- cmsSigParametricCurveType = 0x70617261,
- cmsSigProfileSequenceDescType = 0x70736571,
- cmsSigProfileSequenceIdType = 0x70736964,
- cmsSigResponseCurveSet16Type = 0x72637332,
- cmsSigS15Fixed16ArrayType = 0x73663332,
- cmsSigScreeningType = 0x7363726E,
- cmsSigSignatureType = 0x73696720,
- cmsSigTextType = 0x74657874,
- cmsSigTextDescriptionType = 0x64657363,
- cmsSigU16Fixed16ArrayType = 0x75663332,
- cmsSigUcrBgType = 0x62666420,
- cmsSigUInt16ArrayType = 0x75693136,
- cmsSigUInt32ArrayType = 0x75693332,
- cmsSigUInt64ArrayType = 0x75693634,
- cmsSigUInt8ArrayType = 0x75693038,
- cmsSigVcgtType = 0x76636774,
- cmsSigViewingConditionsType = 0x76696577,
- cmsSigXYZType = 0x58595A20
- } cmsTagTypeSignature;
- typedef enum {
- cmsSigAToB0Tag = 0x41324230,
- cmsSigAToB1Tag = 0x41324231,
- cmsSigAToB2Tag = 0x41324232,
- cmsSigBlueColorantTag = 0x6258595A,
- cmsSigBlueMatrixColumnTag = 0x6258595A,
- cmsSigBlueTRCTag = 0x62545243,
- cmsSigBToA0Tag = 0x42324130,
- cmsSigBToA1Tag = 0x42324131,
- cmsSigBToA2Tag = 0x42324132,
- cmsSigCalibrationDateTimeTag = 0x63616C74,
- cmsSigCharTargetTag = 0x74617267,
- cmsSigChromaticAdaptationTag = 0x63686164,
- cmsSigChromaticityTag = 0x6368726D,
- cmsSigColorantOrderTag = 0x636C726F,
- cmsSigColorantTableTag = 0x636C7274,
- cmsSigColorantTableOutTag = 0x636C6F74,
- cmsSigColorimetricIntentImageStateTag = 0x63696973,
- cmsSigCopyrightTag = 0x63707274,
- cmsSigCrdInfoTag = 0x63726469,
- cmsSigDataTag = 0x64617461,
- cmsSigDateTimeTag = 0x6474696D,
- cmsSigDeviceMfgDescTag = 0x646D6E64,
- cmsSigDeviceModelDescTag = 0x646D6464,
- cmsSigDeviceSettingsTag = 0x64657673,
- cmsSigDToB0Tag = 0x44324230,
- cmsSigDToB1Tag = 0x44324231,
- cmsSigDToB2Tag = 0x44324232,
- cmsSigDToB3Tag = 0x44324233,
- cmsSigBToD0Tag = 0x42324430,
- cmsSigBToD1Tag = 0x42324431,
- cmsSigBToD2Tag = 0x42324432,
- cmsSigBToD3Tag = 0x42324433,
- cmsSigGamutTag = 0x67616D74,
- cmsSigGrayTRCTag = 0x6b545243,
- cmsSigGreenColorantTag = 0x6758595A,
- cmsSigGreenMatrixColumnTag = 0x6758595A,
- cmsSigGreenTRCTag = 0x67545243,
- cmsSigLuminanceTag = 0x6C756d69,
- cmsSigMeasurementTag = 0x6D656173,
- cmsSigMediaBlackPointTag = 0x626B7074,
- cmsSigMediaWhitePointTag = 0x77747074,
- cmsSigNamedColorTag = 0x6E636f6C,
- cmsSigNamedColor2Tag = 0x6E636C32,
- cmsSigOutputResponseTag = 0x72657370,
- cmsSigPerceptualRenderingIntentGamutTag = 0x72696730,
- cmsSigPreview0Tag = 0x70726530,
- cmsSigPreview1Tag = 0x70726531,
- cmsSigPreview2Tag = 0x70726532,
- cmsSigProfileDescriptionTag = 0x64657363,
- cmsSigProfileDescriptionMLTag = 0x6473636d,
- cmsSigProfileSequenceDescTag = 0x70736571,
- cmsSigProfileSequenceIdTag = 0x70736964,
- cmsSigPs2CRD0Tag = 0x70736430,
- cmsSigPs2CRD1Tag = 0x70736431,
- cmsSigPs2CRD2Tag = 0x70736432,
- cmsSigPs2CRD3Tag = 0x70736433,
- cmsSigPs2CSATag = 0x70733273,
- cmsSigPs2RenderingIntentTag = 0x70733269,
- cmsSigRedColorantTag = 0x7258595A,
- cmsSigRedMatrixColumnTag = 0x7258595A,
- cmsSigRedTRCTag = 0x72545243,
- cmsSigSaturationRenderingIntentGamutTag = 0x72696732,
- cmsSigScreeningDescTag = 0x73637264,
- cmsSigScreeningTag = 0x7363726E,
- cmsSigTechnologyTag = 0x74656368,
- cmsSigUcrBgTag = 0x62666420,
- cmsSigViewingCondDescTag = 0x76756564,
- cmsSigViewingConditionsTag = 0x76696577,
- cmsSigVcgtTag = 0x76636774,
- cmsSigMetaTag = 0x6D657461,
- cmsSigArgyllArtsTag = 0x61727473
- } cmsTagSignature;
- typedef enum {
- cmsSigDigitalCamera = 0x6463616D,
- cmsSigFilmScanner = 0x6673636E,
- cmsSigReflectiveScanner = 0x7273636E,
- cmsSigInkJetPrinter = 0x696A6574,
- cmsSigThermalWaxPrinter = 0x74776178,
- cmsSigElectrophotographicPrinter = 0x6570686F,
- cmsSigElectrostaticPrinter = 0x65737461,
- cmsSigDyeSublimationPrinter = 0x64737562,
- cmsSigPhotographicPaperPrinter = 0x7270686F,
- cmsSigFilmWriter = 0x6670726E,
- cmsSigVideoMonitor = 0x7669646D,
- cmsSigVideoCamera = 0x76696463,
- cmsSigProjectionTelevision = 0x706A7476,
- cmsSigCRTDisplay = 0x43525420,
- cmsSigPMDisplay = 0x504D4420,
- cmsSigAMDisplay = 0x414D4420,
- cmsSigPhotoCD = 0x4B504344,
- cmsSigPhotoImageSetter = 0x696D6773,
- cmsSigGravure = 0x67726176,
- cmsSigOffsetLithography = 0x6F666673,
- cmsSigSilkscreen = 0x73696C6B,
- cmsSigFlexography = 0x666C6578,
- cmsSigMotionPictureFilmScanner = 0x6D706673,
- cmsSigMotionPictureFilmRecorder = 0x6D706672,
- cmsSigDigitalMotionPictureCamera = 0x646D7063,
- cmsSigDigitalCinemaProjector = 0x64636A70
- } cmsTechnologySignature;
- typedef enum {
- cmsSigXYZData = 0x58595A20,
- cmsSigLabData = 0x4C616220,
- cmsSigLuvData = 0x4C757620,
- cmsSigYCbCrData = 0x59436272,
- cmsSigYxyData = 0x59787920,
- cmsSigRgbData = 0x52474220,
- cmsSigGrayData = 0x47524159,
- cmsSigHsvData = 0x48535620,
- cmsSigHlsData = 0x484C5320,
- cmsSigCmykData = 0x434D594B,
- cmsSigCmyData = 0x434D5920,
- cmsSigMCH1Data = 0x4D434831,
- cmsSigMCH2Data = 0x4D434832,
- cmsSigMCH3Data = 0x4D434833,
- cmsSigMCH4Data = 0x4D434834,
- cmsSigMCH5Data = 0x4D434835,
- cmsSigMCH6Data = 0x4D434836,
- cmsSigMCH7Data = 0x4D434837,
- cmsSigMCH8Data = 0x4D434838,
- cmsSigMCH9Data = 0x4D434839,
- cmsSigMCHAData = 0x4D434841,
- cmsSigMCHBData = 0x4D434842,
- cmsSigMCHCData = 0x4D434843,
- cmsSigMCHDData = 0x4D434844,
- cmsSigMCHEData = 0x4D434845,
- cmsSigMCHFData = 0x4D434846,
- cmsSigNamedData = 0x6e6d636c,
- cmsSig1colorData = 0x31434C52,
- cmsSig2colorData = 0x32434C52,
- cmsSig3colorData = 0x33434C52,
- cmsSig4colorData = 0x34434C52,
- cmsSig5colorData = 0x35434C52,
- cmsSig6colorData = 0x36434C52,
- cmsSig7colorData = 0x37434C52,
- cmsSig8colorData = 0x38434C52,
- cmsSig9colorData = 0x39434C52,
- cmsSig10colorData = 0x41434C52,
- cmsSig11colorData = 0x42434C52,
- cmsSig12colorData = 0x43434C52,
- cmsSig13colorData = 0x44434C52,
- cmsSig14colorData = 0x45434C52,
- cmsSig15colorData = 0x46434C52,
- cmsSigLuvKData = 0x4C75764B
- } cmsColorSpaceSignature;
- typedef enum {
- cmsSigInputClass = 0x73636E72,
- cmsSigDisplayClass = 0x6D6E7472,
- cmsSigOutputClass = 0x70727472,
- cmsSigLinkClass = 0x6C696E6B,
- cmsSigAbstractClass = 0x61627374,
- cmsSigColorSpaceClass = 0x73706163,
- cmsSigNamedColorClass = 0x6e6d636c
- } cmsProfileClassSignature;
- typedef enum {
- cmsSigMacintosh = 0x4150504C,
- cmsSigMicrosoft = 0x4D534654,
- cmsSigSolaris = 0x53554E57,
- cmsSigSGI = 0x53474920,
- cmsSigTaligent = 0x54474E54,
- cmsSigUnices = 0x2A6E6978
- } cmsPlatformSignature;
- #define cmsSigPerceptualReferenceMediumGamut 0x70726d67 //'prmg'
- #define cmsSigSceneColorimetryEstimates 0x73636F65 //'scoe'
- #define cmsSigSceneAppearanceEstimates 0x73617065 //'sape'
- #define cmsSigFocalPlaneColorimetryEstimates 0x66706365 //'fpce'
- #define cmsSigReflectionHardcopyOriginalColorimetry 0x72686F63 //'rhoc'
- #define cmsSigReflectionPrintOutputColorimetry 0x72706F63 //'rpoc'
- typedef enum {
- cmsSigCurveSetElemType = 0x63767374,
- cmsSigMatrixElemType = 0x6D617466,
- cmsSigCLutElemType = 0x636C7574,
- cmsSigBAcsElemType = 0x62414353,
- cmsSigEAcsElemType = 0x65414353,
-
- cmsSigXYZ2LabElemType = 0x6C327820,
- cmsSigLab2XYZElemType = 0x78326C20,
- cmsSigNamedColorElemType = 0x6E636C20,
- cmsSigLabV2toV4 = 0x32203420,
- cmsSigLabV4toV2 = 0x34203220,
-
-
- cmsSigIdentityElemType = 0x69646E20,
-
- cmsSigLab2FloatPCS = 0x64326C20,
- cmsSigFloatPCS2Lab = 0x6C326420,
- cmsSigXYZ2FloatPCS = 0x64327820,
- cmsSigFloatPCS2XYZ = 0x78326420,
- cmsSigClipNegativesElemType = 0x636c7020
- } cmsStageSignature;
- typedef enum {
- cmsSigFormulaCurveSeg = 0x70617266,
- cmsSigSampledCurveSeg = 0x73616D66,
- cmsSigSegmentedCurve = 0x63757266
- } cmsCurveSegSignature;
- #define cmsSigStatusA 0x53746141 //'StaA'
- #define cmsSigStatusE 0x53746145 //'StaE'
- #define cmsSigStatusI 0x53746149 //'StaI'
- #define cmsSigStatusT 0x53746154 //'StaT'
- #define cmsSigStatusM 0x5374614D //'StaM'
- #define cmsSigDN 0x444E2020 //'DN '
- #define cmsSigDNP 0x444E2050 //'DN P'
- #define cmsSigDNN 0x444E4E20 //'DNN '
- #define cmsSigDNNP 0x444E4E50 //'DNNP'
- #define cmsReflective 0
- #define cmsTransparency 1
- #define cmsGlossy 0
- #define cmsMatte 2
- typedef struct {
- cmsUInt32Number len;
- cmsUInt32Number flag;
- cmsUInt8Number data[1];
- } cmsICCData;
- typedef struct {
- cmsUInt16Number year;
- cmsUInt16Number month;
- cmsUInt16Number day;
- cmsUInt16Number hours;
- cmsUInt16Number minutes;
- cmsUInt16Number seconds;
- } cmsDateTimeNumber;
- typedef struct {
- cmsS15Fixed16Number X;
- cmsS15Fixed16Number Y;
- cmsS15Fixed16Number Z;
- } cmsEncodedXYZNumber;
- typedef union {
- cmsUInt8Number ID8[16];
- cmsUInt16Number ID16[8];
- cmsUInt32Number ID32[4];
- } cmsProfileID;
- typedef struct {
- cmsUInt32Number size;
- cmsSignature cmmId;
- cmsUInt32Number version;
- cmsProfileClassSignature deviceClass;
- cmsColorSpaceSignature colorSpace;
- cmsColorSpaceSignature pcs;
- cmsDateTimeNumber date;
- cmsSignature magic;
- cmsPlatformSignature platform;
- cmsUInt32Number flags;
- cmsSignature manufacturer;
- cmsUInt32Number model;
- cmsUInt64Number attributes;
- cmsUInt32Number renderingIntent;
- cmsEncodedXYZNumber illuminant;
- cmsSignature creator;
- cmsProfileID profileID;
- cmsInt8Number reserved[28];
- } cmsICCHeader;
- typedef struct {
- cmsTagTypeSignature sig;
- cmsInt8Number reserved[4];
- } cmsTagBase;
- typedef struct {
- cmsTagSignature sig;
- cmsUInt32Number offset;
- cmsUInt32Number size;
- } cmsTagEntry;
- typedef void* cmsHANDLE ;
- typedef void* cmsHPROFILE;
- typedef void* cmsHTRANSFORM;
- #define cmsMAXCHANNELS 16 // Maximum number of channels in ICC profiles
- #define FLOAT_SH(a) ((a) << 22)
- #define OPTIMIZED_SH(s) ((s) << 21)
- #define COLORSPACE_SH(s) ((s) << 16)
- #define SWAPFIRST_SH(s) ((s) << 14)
- #define FLAVOR_SH(s) ((s) << 13)
- #define PLANAR_SH(p) ((p) << 12)
- #define ENDIAN16_SH(e) ((e) << 11)
- #define DOSWAP_SH(e) ((e) << 10)
- #define EXTRA_SH(e) ((e) << 7)
- #define CHANNELS_SH(c) ((c) << 3)
- #define BYTES_SH(b) (b)
- #define T_FLOAT(a) (((a)>>22)&1)
- #define T_OPTIMIZED(o) (((o)>>21)&1)
- #define T_COLORSPACE(s) (((s)>>16)&31)
- #define T_SWAPFIRST(s) (((s)>>14)&1)
- #define T_FLAVOR(s) (((s)>>13)&1)
- #define T_PLANAR(p) (((p)>>12)&1)
- #define T_ENDIAN16(e) (((e)>>11)&1)
- #define T_DOSWAP(e) (((e)>>10)&1)
- #define T_EXTRA(e) (((e)>>7)&7)
- #define T_CHANNELS(c) (((c)>>3)&15)
- #define T_BYTES(b) ((b)&7)
- #define PT_ANY 0 // Don't check colorspace
-
- #define PT_GRAY 3
- #define PT_RGB 4
- #define PT_CMY 5
- #define PT_CMYK 6
- #define PT_YCbCr 7
- #define PT_YUV 8 // Lu'v'
- #define PT_XYZ 9
- #define PT_Lab 10
- #define PT_YUVK 11 // Lu'v'K
- #define PT_HSV 12
- #define PT_HLS 13
- #define PT_Yxy 14
- #define PT_MCH1 15
- #define PT_MCH2 16
- #define PT_MCH3 17
- #define PT_MCH4 18
- #define PT_MCH5 19
- #define PT_MCH6 20
- #define PT_MCH7 21
- #define PT_MCH8 22
- #define PT_MCH9 23
- #define PT_MCH10 24
- #define PT_MCH11 25
- #define PT_MCH12 26
- #define PT_MCH13 27
- #define PT_MCH14 28
- #define PT_MCH15 29
- #define PT_LabV2 30 // Identical to PT_Lab, but using the V2 old encoding
- #ifndef TYPE_RGB_8 // TYPE_RGB_8 is a very common identifier, so don't include ours
-
- #define TYPE_GRAY_8 (COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(1))
- #define TYPE_GRAY_8_REV (COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(1)|FLAVOR_SH(1))
- #define TYPE_GRAY_16 (COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(2))
- #define TYPE_GRAY_16_REV (COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(2)|FLAVOR_SH(1))
- #define TYPE_GRAY_16_SE (COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_GRAYA_8 (COLORSPACE_SH(PT_GRAY)|EXTRA_SH(1)|CHANNELS_SH(1)|BYTES_SH(1))
- #define TYPE_GRAYA_16 (COLORSPACE_SH(PT_GRAY)|EXTRA_SH(1)|CHANNELS_SH(1)|BYTES_SH(2))
- #define TYPE_GRAYA_16_SE (COLORSPACE_SH(PT_GRAY)|EXTRA_SH(1)|CHANNELS_SH(1)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_GRAYA_8_PLANAR (COLORSPACE_SH(PT_GRAY)|EXTRA_SH(1)|CHANNELS_SH(1)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_GRAYA_16_PLANAR (COLORSPACE_SH(PT_GRAY)|EXTRA_SH(1)|CHANNELS_SH(1)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_RGB_8 (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_RGB_8_PLANAR (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_BGR_8 (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_BGR_8_PLANAR (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(1)|DOSWAP_SH(1)|PLANAR_SH(1))
- #define TYPE_RGB_16 (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_RGB_16_PLANAR (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_RGB_16_SE (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_BGR_16 (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_BGR_16_PLANAR (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1)|PLANAR_SH(1))
- #define TYPE_BGR_16_SE (COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_RGBA_8 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_RGBA_8_PLANAR (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_RGBA_16 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_RGBA_16_PLANAR (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_RGBA_16_SE (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_ARGB_8 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_ARGB_8_PLANAR (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|SWAPFIRST_SH(1)|PLANAR_SH(1))
- #define TYPE_ARGB_16 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|SWAPFIRST_SH(1))
- #define TYPE_ABGR_8 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_ABGR_8_PLANAR (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|DOSWAP_SH(1)|PLANAR_SH(1))
- #define TYPE_ABGR_16 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_ABGR_16_PLANAR (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1)|PLANAR_SH(1))
- #define TYPE_ABGR_16_SE (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_BGRA_8 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|DOSWAP_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_BGRA_8_PLANAR (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(1)|DOSWAP_SH(1)|SWAPFIRST_SH(1)|PLANAR_SH(1))
- #define TYPE_BGRA_16 (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_BGRA_16_SE (COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1)|DOSWAP_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_CMY_8 (COLORSPACE_SH(PT_CMY)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_CMY_8_PLANAR (COLORSPACE_SH(PT_CMY)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_CMY_16 (COLORSPACE_SH(PT_CMY)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_CMY_16_PLANAR (COLORSPACE_SH(PT_CMY)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_CMY_16_SE (COLORSPACE_SH(PT_CMY)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_CMYK_8 (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(1))
- #define TYPE_CMYKA_8 (COLORSPACE_SH(PT_CMYK)|EXTRA_SH(1)|CHANNELS_SH(4)|BYTES_SH(1))
- #define TYPE_CMYK_8_REV (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(1)|FLAVOR_SH(1))
- #define TYPE_YUVK_8 TYPE_CMYK_8_REV
- #define TYPE_CMYK_8_PLANAR (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_CMYK_16 (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2))
- #define TYPE_CMYK_16_REV (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|FLAVOR_SH(1))
- #define TYPE_YUVK_16 TYPE_CMYK_16_REV
- #define TYPE_CMYK_16_PLANAR (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_CMYK_16_SE (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC_8 (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC_16 (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC_16_SE (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_KCMY_8 (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_KCMY_8_REV (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(1)|FLAVOR_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_KCMY_16 (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|SWAPFIRST_SH(1))
- #define TYPE_KCMY_16_REV (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|FLAVOR_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_KCMY_16_SE (COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2)|ENDIAN16_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_CMYK5_8 (COLORSPACE_SH(PT_MCH5)|CHANNELS_SH(5)|BYTES_SH(1))
- #define TYPE_CMYK5_16 (COLORSPACE_SH(PT_MCH5)|CHANNELS_SH(5)|BYTES_SH(2))
- #define TYPE_CMYK5_16_SE (COLORSPACE_SH(PT_MCH5)|CHANNELS_SH(5)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC5_8 (COLORSPACE_SH(PT_MCH5)|CHANNELS_SH(5)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC5_16 (COLORSPACE_SH(PT_MCH5)|CHANNELS_SH(5)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC5_16_SE (COLORSPACE_SH(PT_MCH5)|CHANNELS_SH(5)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_CMYK6_8 (COLORSPACE_SH(PT_MCH6)|CHANNELS_SH(6)|BYTES_SH(1))
- #define TYPE_CMYK6_8_PLANAR (COLORSPACE_SH(PT_MCH6)|CHANNELS_SH(6)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_CMYK6_16 (COLORSPACE_SH(PT_MCH6)|CHANNELS_SH(6)|BYTES_SH(2))
- #define TYPE_CMYK6_16_PLANAR (COLORSPACE_SH(PT_MCH6)|CHANNELS_SH(6)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_CMYK6_16_SE (COLORSPACE_SH(PT_MCH6)|CHANNELS_SH(6)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_CMYK7_8 (COLORSPACE_SH(PT_MCH7)|CHANNELS_SH(7)|BYTES_SH(1))
- #define TYPE_CMYK7_16 (COLORSPACE_SH(PT_MCH7)|CHANNELS_SH(7)|BYTES_SH(2))
- #define TYPE_CMYK7_16_SE (COLORSPACE_SH(PT_MCH7)|CHANNELS_SH(7)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC7_8 (COLORSPACE_SH(PT_MCH7)|CHANNELS_SH(7)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC7_16 (COLORSPACE_SH(PT_MCH7)|CHANNELS_SH(7)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC7_16_SE (COLORSPACE_SH(PT_MCH7)|CHANNELS_SH(7)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_CMYK8_8 (COLORSPACE_SH(PT_MCH8)|CHANNELS_SH(8)|BYTES_SH(1))
- #define TYPE_CMYK8_16 (COLORSPACE_SH(PT_MCH8)|CHANNELS_SH(8)|BYTES_SH(2))
- #define TYPE_CMYK8_16_SE (COLORSPACE_SH(PT_MCH8)|CHANNELS_SH(8)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC8_8 (COLORSPACE_SH(PT_MCH8)|CHANNELS_SH(8)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC8_16 (COLORSPACE_SH(PT_MCH8)|CHANNELS_SH(8)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC8_16_SE (COLORSPACE_SH(PT_MCH8)|CHANNELS_SH(8)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_CMYK9_8 (COLORSPACE_SH(PT_MCH9)|CHANNELS_SH(9)|BYTES_SH(1))
- #define TYPE_CMYK9_16 (COLORSPACE_SH(PT_MCH9)|CHANNELS_SH(9)|BYTES_SH(2))
- #define TYPE_CMYK9_16_SE (COLORSPACE_SH(PT_MCH9)|CHANNELS_SH(9)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC9_8 (COLORSPACE_SH(PT_MCH9)|CHANNELS_SH(9)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC9_16 (COLORSPACE_SH(PT_MCH9)|CHANNELS_SH(9)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC9_16_SE (COLORSPACE_SH(PT_MCH9)|CHANNELS_SH(9)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_CMYK10_8 (COLORSPACE_SH(PT_MCH10)|CHANNELS_SH(10)|BYTES_SH(1))
- #define TYPE_CMYK10_16 (COLORSPACE_SH(PT_MCH10)|CHANNELS_SH(10)|BYTES_SH(2))
- #define TYPE_CMYK10_16_SE (COLORSPACE_SH(PT_MCH10)|CHANNELS_SH(10)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC10_8 (COLORSPACE_SH(PT_MCH10)|CHANNELS_SH(10)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC10_16 (COLORSPACE_SH(PT_MCH10)|CHANNELS_SH(10)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC10_16_SE (COLORSPACE_SH(PT_MCH10)|CHANNELS_SH(10)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_CMYK11_8 (COLORSPACE_SH(PT_MCH11)|CHANNELS_SH(11)|BYTES_SH(1))
- #define TYPE_CMYK11_16 (COLORSPACE_SH(PT_MCH11)|CHANNELS_SH(11)|BYTES_SH(2))
- #define TYPE_CMYK11_16_SE (COLORSPACE_SH(PT_MCH11)|CHANNELS_SH(11)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC11_8 (COLORSPACE_SH(PT_MCH11)|CHANNELS_SH(11)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC11_16 (COLORSPACE_SH(PT_MCH11)|CHANNELS_SH(11)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC11_16_SE (COLORSPACE_SH(PT_MCH11)|CHANNELS_SH(11)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_CMYK12_8 (COLORSPACE_SH(PT_MCH12)|CHANNELS_SH(12)|BYTES_SH(1))
- #define TYPE_CMYK12_16 (COLORSPACE_SH(PT_MCH12)|CHANNELS_SH(12)|BYTES_SH(2))
- #define TYPE_CMYK12_16_SE (COLORSPACE_SH(PT_MCH12)|CHANNELS_SH(12)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_KYMC12_8 (COLORSPACE_SH(PT_MCH12)|CHANNELS_SH(12)|BYTES_SH(1)|DOSWAP_SH(1))
- #define TYPE_KYMC12_16 (COLORSPACE_SH(PT_MCH12)|CHANNELS_SH(12)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_KYMC12_16_SE (COLORSPACE_SH(PT_MCH12)|CHANNELS_SH(12)|BYTES_SH(2)|DOSWAP_SH(1)|ENDIAN16_SH(1))
- #define TYPE_XYZ_16 (COLORSPACE_SH(PT_XYZ)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_Lab_8 (COLORSPACE_SH(PT_Lab)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_LabV2_8 (COLORSPACE_SH(PT_LabV2)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_ALab_8 (COLORSPACE_SH(PT_Lab)|CHANNELS_SH(3)|BYTES_SH(1)|EXTRA_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_ALabV2_8 (COLORSPACE_SH(PT_LabV2)|CHANNELS_SH(3)|BYTES_SH(1)|EXTRA_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_Lab_16 (COLORSPACE_SH(PT_Lab)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_LabV2_16 (COLORSPACE_SH(PT_LabV2)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_Yxy_16 (COLORSPACE_SH(PT_Yxy)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_YCbCr_8 (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_YCbCr_8_PLANAR (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_YCbCr_16 (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_YCbCr_16_PLANAR (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_YCbCr_16_SE (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_YUV_8 (COLORSPACE_SH(PT_YUV)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_YUV_8_PLANAR (COLORSPACE_SH(PT_YUV)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_YUV_16 (COLORSPACE_SH(PT_YUV)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_YUV_16_PLANAR (COLORSPACE_SH(PT_YUV)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_YUV_16_SE (COLORSPACE_SH(PT_YUV)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_HLS_8 (COLORSPACE_SH(PT_HLS)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_HLS_8_PLANAR (COLORSPACE_SH(PT_HLS)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_HLS_16 (COLORSPACE_SH(PT_HLS)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_HLS_16_PLANAR (COLORSPACE_SH(PT_HLS)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_HLS_16_SE (COLORSPACE_SH(PT_HLS)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_HSV_8 (COLORSPACE_SH(PT_HSV)|CHANNELS_SH(3)|BYTES_SH(1))
- #define TYPE_HSV_8_PLANAR (COLORSPACE_SH(PT_HSV)|CHANNELS_SH(3)|BYTES_SH(1)|PLANAR_SH(1))
- #define TYPE_HSV_16 (COLORSPACE_SH(PT_HSV)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_HSV_16_PLANAR (COLORSPACE_SH(PT_HSV)|CHANNELS_SH(3)|BYTES_SH(2)|PLANAR_SH(1))
- #define TYPE_HSV_16_SE (COLORSPACE_SH(PT_HSV)|CHANNELS_SH(3)|BYTES_SH(2)|ENDIAN16_SH(1))
- #define TYPE_NAMED_COLOR_INDEX (CHANNELS_SH(1)|BYTES_SH(2))
- #define TYPE_XYZ_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_XYZ)|CHANNELS_SH(3)|BYTES_SH(4))
- #define TYPE_Lab_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_Lab)|CHANNELS_SH(3)|BYTES_SH(4))
- #define TYPE_LabA_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_Lab)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(4))
- #define TYPE_GRAY_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(4))
- #define TYPE_RGB_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(4))
- #define TYPE_RGBA_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(4))
- #define TYPE_ARGB_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(4)|SWAPFIRST_SH(1))
- #define TYPE_BGR_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(4)|DOSWAP_SH(1))
- #define TYPE_BGRA_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(4)|DOSWAP_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_ABGR_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(4)|DOSWAP_SH(1))
- #define TYPE_CMYK_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(4))
- #define TYPE_XYZ_DBL (FLOAT_SH(1)|COLORSPACE_SH(PT_XYZ)|CHANNELS_SH(3)|BYTES_SH(0))
- #define TYPE_Lab_DBL (FLOAT_SH(1)|COLORSPACE_SH(PT_Lab)|CHANNELS_SH(3)|BYTES_SH(0))
- #define TYPE_GRAY_DBL (FLOAT_SH(1)|COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(0))
- #define TYPE_RGB_DBL (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(0))
- #define TYPE_BGR_DBL (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(0)|DOSWAP_SH(1))
- #define TYPE_CMYK_DBL (FLOAT_SH(1)|COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(0))
- #define TYPE_GRAY_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_GRAY)|CHANNELS_SH(1)|BYTES_SH(2))
- #define TYPE_RGB_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_RGBA_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_CMYK_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_CMYK)|CHANNELS_SH(4)|BYTES_SH(2))
- #define TYPE_RGBA_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2))
- #define TYPE_ARGB_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|SWAPFIRST_SH(1))
- #define TYPE_BGR_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1))
- #define TYPE_BGRA_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1)|SWAPFIRST_SH(1))
- #define TYPE_ABGR_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_RGB)|CHANNELS_SH(3)|BYTES_SH(2)|DOSWAP_SH(1))
- #endif
- typedef struct {
- cmsFloat64Number X;
- cmsFloat64Number Y;
- cmsFloat64Number Z;
- } cmsCIEXYZ;
- typedef struct {
- cmsFloat64Number x;
- cmsFloat64Number y;
- cmsFloat64Number Y;
- } cmsCIExyY;
- typedef struct {
- cmsFloat64Number L;
- cmsFloat64Number a;
- cmsFloat64Number b;
- } cmsCIELab;
- typedef struct {
- cmsFloat64Number L;
- cmsFloat64Number C;
- cmsFloat64Number h;
- } cmsCIELCh;
- typedef struct {
- cmsFloat64Number J;
- cmsFloat64Number C;
- cmsFloat64Number h;
- } cmsJCh;
- typedef struct {
- cmsCIEXYZ Red;
- cmsCIEXYZ Green;
- cmsCIEXYZ Blue;
- } cmsCIEXYZTRIPLE;
- typedef struct {
- cmsCIExyY Red;
- cmsCIExyY Green;
- cmsCIExyY Blue;
- } cmsCIExyYTRIPLE;
- #define cmsILLUMINANT_TYPE_UNKNOWN 0x0000000
- #define cmsILLUMINANT_TYPE_D50 0x0000001
- #define cmsILLUMINANT_TYPE_D65 0x0000002
- #define cmsILLUMINANT_TYPE_D93 0x0000003
- #define cmsILLUMINANT_TYPE_F2 0x0000004
- #define cmsILLUMINANT_TYPE_D55 0x0000005
- #define cmsILLUMINANT_TYPE_A 0x0000006
- #define cmsILLUMINANT_TYPE_E 0x0000007
- #define cmsILLUMINANT_TYPE_F8 0x0000008
- typedef struct {
- cmsUInt32Number Observer;
- cmsCIEXYZ Backing;
- cmsUInt32Number Geometry;
- cmsFloat64Number Flare;
- cmsUInt32Number IlluminantType;
- } cmsICCMeasurementConditions;
- typedef struct {
- cmsCIEXYZ IlluminantXYZ;
- cmsCIEXYZ SurroundXYZ;
- cmsUInt32Number IlluminantType;
- } cmsICCViewingConditions;
- CMSAPI int CMSEXPORT cmsGetEncodedCMMversion(void);
- CMSAPI int CMSEXPORT cmsstrcasecmp(const char* s1, const char* s2);
- CMSAPI long int CMSEXPORT cmsfilelength(FILE* f);
- typedef struct _cmsContext_struct* cmsContext;
- CMSAPI cmsContext CMSEXPORT cmsCreateContext(void* Plugin, void* UserData);
- CMSAPI void CMSEXPORT cmsDeleteContext(cmsContext ContexID);
- CMSAPI cmsContext CMSEXPORT cmsDupContext(cmsContext ContextID, void* NewUserData);
- CMSAPI void* CMSEXPORT cmsGetContextUserData(cmsContext ContextID);
- CMSAPI cmsBool CMSEXPORT cmsPlugin(void* Plugin);
- CMSAPI cmsBool CMSEXPORT cmsPluginTHR(cmsContext ContextID, void* Plugin);
- CMSAPI void CMSEXPORT cmsUnregisterPlugins(void);
- CMSAPI void CMSEXPORT cmsUnregisterPluginsTHR(cmsContext ContextID);
- #define cmsERROR_UNDEFINED 0
- #define cmsERROR_FILE 1
- #define cmsERROR_RANGE 2
- #define cmsERROR_INTERNAL 3
- #define cmsERROR_NULL 4
- #define cmsERROR_READ 5
- #define cmsERROR_SEEK 6
- #define cmsERROR_WRITE 7
- #define cmsERROR_UNKNOWN_EXTENSION 8
- #define cmsERROR_COLORSPACE_CHECK 9
- #define cmsERROR_ALREADY_DEFINED 10
- #define cmsERROR_BAD_SIGNATURE 11
- #define cmsERROR_CORRUPTION_DETECTED 12
- #define cmsERROR_NOT_SUITABLE 13
- typedef void (* cmsLogErrorHandlerFunction)(cmsContext ContextID, cmsUInt32Number ErrorCode, const char *Text);
- CMSAPI void CMSEXPORT cmsSetLogErrorHandler(cmsLogErrorHandlerFunction Fn);
- CMSAPI void CMSEXPORT cmsSetLogErrorHandlerTHR(cmsContext ContextID, cmsLogErrorHandlerFunction Fn);
- CMSAPI const cmsCIEXYZ* CMSEXPORT cmsD50_XYZ(void);
- CMSAPI const cmsCIExyY* CMSEXPORT cmsD50_xyY(void);
- CMSAPI void CMSEXPORT cmsXYZ2xyY(cmsCIExyY* Dest, const cmsCIEXYZ* Source);
- CMSAPI void CMSEXPORT cmsxyY2XYZ(cmsCIEXYZ* Dest, const cmsCIExyY* Source);
- CMSAPI void CMSEXPORT cmsXYZ2Lab(const cmsCIEXYZ* WhitePoint, cmsCIELab* Lab, const cmsCIEXYZ* xyz);
- CMSAPI void CMSEXPORT cmsLab2XYZ(const cmsCIEXYZ* WhitePoint, cmsCIEXYZ* xyz, const cmsCIELab* Lab);
- CMSAPI void CMSEXPORT cmsLab2LCh(cmsCIELCh*LCh, const cmsCIELab* Lab);
- CMSAPI void CMSEXPORT cmsLCh2Lab(cmsCIELab* Lab, const cmsCIELCh* LCh);
- CMSAPI void CMSEXPORT cmsLabEncoded2Float(cmsCIELab* Lab, const cmsUInt16Number wLab[3]);
- CMSAPI void CMSEXPORT cmsLabEncoded2FloatV2(cmsCIELab* Lab, const cmsUInt16Number wLab[3]);
- CMSAPI void CMSEXPORT cmsFloat2LabEncoded(cmsUInt16Number wLab[3], const cmsCIELab* Lab);
- CMSAPI void CMSEXPORT cmsFloat2LabEncodedV2(cmsUInt16Number wLab[3], const cmsCIELab* Lab);
- CMSAPI void CMSEXPORT cmsXYZEncoded2Float(cmsCIEXYZ* fxyz, const cmsUInt16Number XYZ[3]);
- CMSAPI void CMSEXPORT cmsFloat2XYZEncoded(cmsUInt16Number XYZ[3], const cmsCIEXYZ* fXYZ);
- CMSAPI cmsFloat64Number CMSEXPORT cmsDeltaE(const cmsCIELab* Lab1, const cmsCIELab* Lab2);
- CMSAPI cmsFloat64Number CMSEXPORT cmsCIE94DeltaE(const cmsCIELab* Lab1, const cmsCIELab* Lab2);
- CMSAPI cmsFloat64Number CMSEXPORT cmsBFDdeltaE(const cmsCIELab* Lab1, const cmsCIELab* Lab2);
- CMSAPI cmsFloat64Number CMSEXPORT cmsCMCdeltaE(const cmsCIELab* Lab1, const cmsCIELab* Lab2, cmsFloat64Number l, cmsFloat64Number c);
- CMSAPI cmsFloat64Number CMSEXPORT cmsCIE2000DeltaE(const cmsCIELab* Lab1, const cmsCIELab* Lab2, cmsFloat64Number Kl, cmsFloat64Number Kc, cmsFloat64Number Kh);
- CMSAPI cmsBool CMSEXPORT cmsWhitePointFromTemp(cmsCIExyY* WhitePoint, cmsFloat64Number TempK);
- CMSAPI cmsBool CMSEXPORT cmsTempFromWhitePoint(cmsFloat64Number* TempK, const cmsCIExyY* WhitePoint);
- CMSAPI cmsBool CMSEXPORT cmsAdaptToIlluminant(cmsCIEXYZ* Result, const cmsCIEXYZ* SourceWhitePt,
- const cmsCIEXYZ* Illuminant,
- const cmsCIEXYZ* Value);
- #define AVG_SURROUND 1
- #define DIM_SURROUND 2
- #define DARK_SURROUND 3
- #define CUTSHEET_SURROUND 4
- #define D_CALCULATE (-1)
- typedef struct {
- cmsCIEXYZ whitePoint;
- cmsFloat64Number Yb;
- cmsFloat64Number La;
- cmsUInt32Number surround;
- cmsFloat64Number D_value;
- } cmsViewingConditions;
- CMSAPI cmsHANDLE CMSEXPORT cmsCIECAM02Init(cmsContext ContextID, const cmsViewingConditions* pVC);
- CMSAPI void CMSEXPORT cmsCIECAM02Done(cmsHANDLE hModel);
- CMSAPI void CMSEXPORT cmsCIECAM02Forward(cmsHANDLE hModel, const cmsCIEXYZ* pIn, cmsJCh* pOut);
- CMSAPI void CMSEXPORT cmsCIECAM02Reverse(cmsHANDLE hModel, const cmsJCh* pIn, cmsCIEXYZ* pOut);
- typedef struct {
- cmsFloat32Number x0, x1;
- cmsInt32Number Type;
- cmsFloat64Number Params[10];
- cmsUInt32Number nGridPoints;
- cmsFloat32Number* SampledPoints;
- } cmsCurveSegment;
- typedef struct _cms_curve_struct cmsToneCurve;
- CMSAPI cmsToneCurve* CMSEXPORT cmsBuildSegmentedToneCurve(cmsContext ContextID, cmsUInt32Number nSegments, const cmsCurveSegment Segments[]);
- CMSAPI cmsToneCurve* CMSEXPORT cmsBuildParametricToneCurve(cmsContext ContextID, cmsInt32Number Type, const cmsFloat64Number Params[]);
- CMSAPI cmsToneCurve* CMSEXPORT cmsBuildGamma(cmsContext ContextID, cmsFloat64Number Gamma);
- CMSAPI cmsToneCurve* CMSEXPORT cmsBuildTabulatedToneCurve16(cmsContext ContextID, cmsUInt32Number nEntries, const cmsUInt16Number values[]);
- CMSAPI cmsToneCurve* CMSEXPORT cmsBuildTabulatedToneCurveFloat(cmsContext ContextID, cmsUInt32Number nEntries, const cmsFloat32Number values[]);
- CMSAPI void CMSEXPORT cmsFreeToneCurve(cmsToneCurve* Curve);
- CMSAPI void CMSEXPORT cmsFreeToneCurveTriple(cmsToneCurve* Curve[3]);
- CMSAPI cmsToneCurve* CMSEXPORT cmsDupToneCurve(const cmsToneCurve* Src);
- CMSAPI cmsToneCurve* CMSEXPORT cmsReverseToneCurve(const cmsToneCurve* InGamma);
- CMSAPI cmsToneCurve* CMSEXPORT cmsReverseToneCurveEx(cmsUInt32Number nResultSamples, const cmsToneCurve* InGamma);
- CMSAPI cmsToneCurve* CMSEXPORT cmsJoinToneCurve(cmsContext ContextID, const cmsToneCurve* X, const cmsToneCurve* Y, cmsUInt32Number nPoints);
- CMSAPI cmsBool CMSEXPORT cmsSmoothToneCurve(cmsToneCurve* Tab, cmsFloat64Number lambda);
- CMSAPI cmsFloat32Number CMSEXPORT cmsEvalToneCurveFloat(const cmsToneCurve* Curve, cmsFloat32Number v);
- CMSAPI cmsUInt16Number CMSEXPORT cmsEvalToneCurve16(const cmsToneCurve* Curve, cmsUInt16Number v);
- CMSAPI cmsBool CMSEXPORT cmsIsToneCurveMultisegment(const cmsToneCurve* InGamma);
- CMSAPI cmsBool CMSEXPORT cmsIsToneCurveLinear(const cmsToneCurve* Curve);
- CMSAPI cmsBool CMSEXPORT cmsIsToneCurveMonotonic(const cmsToneCurve* t);
- CMSAPI cmsBool CMSEXPORT cmsIsToneCurveDescending(const cmsToneCurve* t);
- CMSAPI cmsInt32Number CMSEXPORT cmsGetToneCurveParametricType(const cmsToneCurve* t);
- CMSAPI cmsFloat64Number CMSEXPORT cmsEstimateGamma(const cmsToneCurve* t, cmsFloat64Number Precision);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetToneCurveEstimatedTableEntries(const cmsToneCurve* t);
- CMSAPI const cmsUInt16Number* CMSEXPORT cmsGetToneCurveEstimatedTable(const cmsToneCurve* t);
- typedef struct _cmsPipeline_struct cmsPipeline;
- typedef struct _cmsStage_struct cmsStage;
- CMSAPI cmsPipeline* CMSEXPORT cmsPipelineAlloc(cmsContext ContextID, cmsUInt32Number InputChannels, cmsUInt32Number OutputChannels);
- CMSAPI void CMSEXPORT cmsPipelineFree(cmsPipeline* lut);
- CMSAPI cmsPipeline* CMSEXPORT cmsPipelineDup(const cmsPipeline* Orig);
- CMSAPI cmsContext CMSEXPORT cmsGetPipelineContextID(const cmsPipeline* lut);
- CMSAPI cmsUInt32Number CMSEXPORT cmsPipelineInputChannels(const cmsPipeline* lut);
- CMSAPI cmsUInt32Number CMSEXPORT cmsPipelineOutputChannels(const cmsPipeline* lut);
- CMSAPI cmsUInt32Number CMSEXPORT cmsPipelineStageCount(const cmsPipeline* lut);
- CMSAPI cmsStage* CMSEXPORT cmsPipelineGetPtrToFirstStage(const cmsPipeline* lut);
- CMSAPI cmsStage* CMSEXPORT cmsPipelineGetPtrToLastStage(const cmsPipeline* lut);
- CMSAPI void CMSEXPORT cmsPipelineEval16(const cmsUInt16Number In[], cmsUInt16Number Out[], const cmsPipeline* lut);
- CMSAPI void CMSEXPORT cmsPipelineEvalFloat(const cmsFloat32Number In[], cmsFloat32Number Out[], const cmsPipeline* lut);
- CMSAPI cmsBool CMSEXPORT cmsPipelineEvalReverseFloat(cmsFloat32Number Target[], cmsFloat32Number Result[], cmsFloat32Number Hint[], const cmsPipeline* lut);
- CMSAPI cmsBool CMSEXPORT cmsPipelineCat(cmsPipeline* l1, const cmsPipeline* l2);
- CMSAPI cmsBool CMSEXPORT cmsPipelineSetSaveAs8bitsFlag(cmsPipeline* lut, cmsBool On);
- typedef enum { cmsAT_BEGIN, cmsAT_END } cmsStageLoc;
- CMSAPI cmsBool CMSEXPORT cmsPipelineInsertStage(cmsPipeline* lut, cmsStageLoc loc, cmsStage* mpe);
- CMSAPI void CMSEXPORT cmsPipelineUnlinkStage(cmsPipeline* lut, cmsStageLoc loc, cmsStage** mpe);
- CMSAPI cmsBool CMSEXPORT cmsPipelineCheckAndRetreiveStages(const cmsPipeline* Lut, cmsUInt32Number n, ...);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocIdentity(cmsContext ContextID, cmsUInt32Number nChannels);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocToneCurves(cmsContext ContextID, cmsUInt32Number nChannels, cmsToneCurve* const Curves[]);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocMatrix(cmsContext ContextID, cmsUInt32Number Rows, cmsUInt32Number Cols, const cmsFloat64Number* Matrix, const cmsFloat64Number* Offset);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLut16bit(cmsContext ContextID, cmsUInt32Number nGridPoints, cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsUInt16Number* Table);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLutFloat(cmsContext ContextID, cmsUInt32Number nGridPoints, cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsFloat32Number* Table);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLut16bitGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[], cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsUInt16Number* Table);
- CMSAPI cmsStage* CMSEXPORT cmsStageAllocCLutFloatGranular(cmsContext ContextID, const cmsUInt32Number clutPoints[], cmsUInt32Number inputChan, cmsUInt32Number outputChan, const cmsFloat32Number* Table);
- CMSAPI cmsStage* CMSEXPORT cmsStageDup(cmsStage* mpe);
- CMSAPI void CMSEXPORT cmsStageFree(cmsStage* mpe);
- CMSAPI cmsStage* CMSEXPORT cmsStageNext(const cmsStage* mpe);
- CMSAPI cmsUInt32Number CMSEXPORT cmsStageInputChannels(const cmsStage* mpe);
- CMSAPI cmsUInt32Number CMSEXPORT cmsStageOutputChannels(const cmsStage* mpe);
- CMSAPI cmsStageSignature CMSEXPORT cmsStageType(const cmsStage* mpe);
- CMSAPI void* CMSEXPORT cmsStageData(const cmsStage* mpe);
- typedef cmsInt32Number (* cmsSAMPLER16) (register const cmsUInt16Number In[],
- register cmsUInt16Number Out[],
- register void * Cargo);
- typedef cmsInt32Number (* cmsSAMPLERFLOAT)(register const cmsFloat32Number In[],
- register cmsFloat32Number Out[],
- register void * Cargo);
- #define SAMPLER_INSPECT 0x01000000
- CMSAPI cmsBool CMSEXPORT cmsStageSampleCLut16bit(cmsStage* mpe, cmsSAMPLER16 Sampler, void* Cargo, cmsUInt32Number dwFlags);
- CMSAPI cmsBool CMSEXPORT cmsStageSampleCLutFloat(cmsStage* mpe, cmsSAMPLERFLOAT Sampler, void* Cargo, cmsUInt32Number dwFlags);
- CMSAPI cmsBool CMSEXPORT cmsSliceSpace16(cmsUInt32Number nInputs, const cmsUInt32Number clutPoints[],
- cmsSAMPLER16 Sampler, void * Cargo);
- CMSAPI cmsBool CMSEXPORT cmsSliceSpaceFloat(cmsUInt32Number nInputs, const cmsUInt32Number clutPoints[],
- cmsSAMPLERFLOAT Sampler, void * Cargo);
- typedef struct _cms_MLU_struct cmsMLU;
- #define cmsNoLanguage "\0\0"
- #define cmsNoCountry "\0\0"
- CMSAPI cmsMLU* CMSEXPORT cmsMLUalloc(cmsContext ContextID, cmsUInt32Number nItems);
- CMSAPI void CMSEXPORT cmsMLUfree(cmsMLU* mlu);
- CMSAPI cmsMLU* CMSEXPORT cmsMLUdup(const cmsMLU* mlu);
- CMSAPI cmsBool CMSEXPORT cmsMLUsetASCII(cmsMLU* mlu,
- const char LanguageCode[3], const char CountryCode[3],
- const char* ASCIIString);
- CMSAPI cmsBool CMSEXPORT cmsMLUsetWide(cmsMLU* mlu,
- const char LanguageCode[3], const char CountryCode[3],
- const wchar_t* WideString);
- CMSAPI cmsUInt32Number CMSEXPORT cmsMLUgetASCII(const cmsMLU* mlu,
- const char LanguageCode[3], const char CountryCode[3],
- char* Buffer, cmsUInt32Number BufferSize);
- CMSAPI cmsUInt32Number CMSEXPORT cmsMLUgetWide(const cmsMLU* mlu,
- const char LanguageCode[3], const char CountryCode[3],
- wchar_t* Buffer, cmsUInt32Number BufferSize);
- CMSAPI cmsBool CMSEXPORT cmsMLUgetTranslation(const cmsMLU* mlu,
- const char LanguageCode[3], const char CountryCode[3],
- char ObtainedLanguage[3], char ObtainedCountry[3]);
- CMSAPI cmsUInt32Number CMSEXPORT cmsMLUtranslationsCount(const cmsMLU* mlu);
- CMSAPI cmsBool CMSEXPORT cmsMLUtranslationsCodes(const cmsMLU* mlu,
- cmsUInt32Number idx,
- char LanguageCode[3],
- char CountryCode[3]);
-
- typedef struct {
- cmsToneCurve* Ucr;
- cmsToneCurve* Bg;
- cmsMLU* Desc;
- } cmsUcrBg;
- #define cmsPRINTER_DEFAULT_SCREENS 0x0001
- #define cmsFREQUENCE_UNITS_LINES_CM 0x0000
- #define cmsFREQUENCE_UNITS_LINES_INCH 0x0002
- #define cmsSPOT_UNKNOWN 0
- #define cmsSPOT_PRINTER_DEFAULT 1
- #define cmsSPOT_ROUND 2
- #define cmsSPOT_DIAMOND 3
- #define cmsSPOT_ELLIPSE 4
- #define cmsSPOT_LINE 5
- #define cmsSPOT_SQUARE 6
- #define cmsSPOT_CROSS 7
- typedef struct {
- cmsFloat64Number Frequency;
- cmsFloat64Number ScreenAngle;
- cmsUInt32Number SpotShape;
- } cmsScreeningChannel;
- typedef struct {
- cmsUInt32Number Flag;
- cmsUInt32Number nChannels;
- cmsScreeningChannel Channels[cmsMAXCHANNELS];
- } cmsScreening;
- typedef struct _cms_NAMEDCOLORLIST_struct cmsNAMEDCOLORLIST;
- CMSAPI cmsNAMEDCOLORLIST* CMSEXPORT cmsAllocNamedColorList(cmsContext ContextID,
- cmsUInt32Number n,
- cmsUInt32Number ColorantCount,
- const char* Prefix, const char* Suffix);
- CMSAPI void CMSEXPORT cmsFreeNamedColorList(cmsNAMEDCOLORLIST* v);
- CMSAPI cmsNAMEDCOLORLIST* CMSEXPORT cmsDupNamedColorList(const cmsNAMEDCOLORLIST* v);
- CMSAPI cmsBool CMSEXPORT cmsAppendNamedColor(cmsNAMEDCOLORLIST* v, const char* Name,
- cmsUInt16Number PCS[3],
- cmsUInt16Number Colorant[cmsMAXCHANNELS]);
- CMSAPI cmsUInt32Number CMSEXPORT cmsNamedColorCount(const cmsNAMEDCOLORLIST* v);
- CMSAPI cmsInt32Number CMSEXPORT cmsNamedColorIndex(const cmsNAMEDCOLORLIST* v, const char* Name);
- CMSAPI cmsBool CMSEXPORT cmsNamedColorInfo(const cmsNAMEDCOLORLIST* NamedColorList, cmsUInt32Number nColor,
- char* Name,
- char* Prefix,
- char* Suffix,
- cmsUInt16Number* PCS,
- cmsUInt16Number* Colorant);
- CMSAPI cmsNAMEDCOLORLIST* CMSEXPORT cmsGetNamedColorList(cmsHTRANSFORM xform);
- typedef struct {
- cmsSignature deviceMfg;
- cmsSignature deviceModel;
- cmsUInt64Number attributes;
- cmsTechnologySignature technology;
- cmsProfileID ProfileID;
- cmsMLU* Manufacturer;
- cmsMLU* Model;
- cmsMLU* Description;
- } cmsPSEQDESC;
- typedef struct {
- cmsUInt32Number n;
- cmsContext ContextID;
- cmsPSEQDESC* seq;
- } cmsSEQ;
- CMSAPI cmsSEQ* CMSEXPORT cmsAllocProfileSequenceDescription(cmsContext ContextID, cmsUInt32Number n);
- CMSAPI cmsSEQ* CMSEXPORT cmsDupProfileSequenceDescription(const cmsSEQ* pseq);
- CMSAPI void CMSEXPORT cmsFreeProfileSequenceDescription(cmsSEQ* pseq);
- typedef struct _cmsDICTentry_struct {
- struct _cmsDICTentry_struct* Next;
- cmsMLU *DisplayName;
- cmsMLU *DisplayValue;
- wchar_t* Name;
- wchar_t* Value;
- } cmsDICTentry;
- CMSAPI cmsHANDLE CMSEXPORT cmsDictAlloc(cmsContext ContextID);
- CMSAPI void CMSEXPORT cmsDictFree(cmsHANDLE hDict);
- CMSAPI cmsHANDLE CMSEXPORT cmsDictDup(cmsHANDLE hDict);
- CMSAPI cmsBool CMSEXPORT cmsDictAddEntry(cmsHANDLE hDict, const wchar_t* Name, const wchar_t* Value, const cmsMLU *DisplayName, const cmsMLU *DisplayValue);
- CMSAPI const cmsDICTentry* CMSEXPORT cmsDictGetEntryList(cmsHANDLE hDict);
- CMSAPI const cmsDICTentry* CMSEXPORT cmsDictNextEntry(const cmsDICTentry* e);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateProfilePlaceholder(cmsContext ContextID);
- CMSAPI cmsContext CMSEXPORT cmsGetProfileContextID(cmsHPROFILE hProfile);
- CMSAPI cmsInt32Number CMSEXPORT cmsGetTagCount(cmsHPROFILE hProfile);
- CMSAPI cmsTagSignature CMSEXPORT cmsGetTagSignature(cmsHPROFILE hProfile, cmsUInt32Number n);
- CMSAPI cmsBool CMSEXPORT cmsIsTag(cmsHPROFILE hProfile, cmsTagSignature sig);
- CMSAPI void* CMSEXPORT cmsReadTag(cmsHPROFILE hProfile, cmsTagSignature sig);
- CMSAPI cmsBool CMSEXPORT cmsWriteTag(cmsHPROFILE hProfile, cmsTagSignature sig, const void* data);
- CMSAPI cmsBool CMSEXPORT cmsLinkTag(cmsHPROFILE hProfile, cmsTagSignature sig, cmsTagSignature dest);
- CMSAPI cmsTagSignature CMSEXPORT cmsTagLinkedTo(cmsHPROFILE hProfile, cmsTagSignature sig);
- CMSAPI cmsUInt32Number CMSEXPORT cmsReadRawTag(cmsHPROFILE hProfile, cmsTagSignature sig, void* Buffer, cmsUInt32Number BufferSize);
- CMSAPI cmsBool CMSEXPORT cmsWriteRawTag(cmsHPROFILE hProfile, cmsTagSignature sig, const void* data, cmsUInt32Number Size);
- #define cmsEmbeddedProfileFalse 0x00000000
- #define cmsEmbeddedProfileTrue 0x00000001
- #define cmsUseAnywhere 0x00000000
- #define cmsUseWithEmbeddedDataOnly 0x00000002
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetHeaderFlags(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsGetHeaderAttributes(cmsHPROFILE hProfile, cmsUInt64Number* Flags);
- CMSAPI void CMSEXPORT cmsGetHeaderProfileID(cmsHPROFILE hProfile, cmsUInt8Number* ProfileID);
- CMSAPI cmsBool CMSEXPORT cmsGetHeaderCreationDateTime(cmsHPROFILE hProfile, struct tm *Dest);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetHeaderRenderingIntent(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetHeaderFlags(cmsHPROFILE hProfile, cmsUInt32Number Flags);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetHeaderManufacturer(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetHeaderManufacturer(cmsHPROFILE hProfile, cmsUInt32Number manufacturer);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetHeaderCreator(cmsHPROFILE hProfile);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetHeaderModel(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetHeaderModel(cmsHPROFILE hProfile, cmsUInt32Number model);
- CMSAPI void CMSEXPORT cmsSetHeaderAttributes(cmsHPROFILE hProfile, cmsUInt64Number Flags);
- CMSAPI void CMSEXPORT cmsSetHeaderProfileID(cmsHPROFILE hProfile, cmsUInt8Number* ProfileID);
- CMSAPI void CMSEXPORT cmsSetHeaderRenderingIntent(cmsHPROFILE hProfile, cmsUInt32Number RenderingIntent);
- CMSAPI cmsColorSpaceSignature
- CMSEXPORT cmsGetPCS(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetPCS(cmsHPROFILE hProfile, cmsColorSpaceSignature pcs);
- CMSAPI cmsColorSpaceSignature
- CMSEXPORT cmsGetColorSpace(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetColorSpace(cmsHPROFILE hProfile, cmsColorSpaceSignature sig);
- CMSAPI cmsProfileClassSignature
- CMSEXPORT cmsGetDeviceClass(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetDeviceClass(cmsHPROFILE hProfile, cmsProfileClassSignature sig);
- CMSAPI void CMSEXPORT cmsSetProfileVersion(cmsHPROFILE hProfile, cmsFloat64Number Version);
- CMSAPI cmsFloat64Number CMSEXPORT cmsGetProfileVersion(cmsHPROFILE hProfile);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetEncodedICCversion(cmsHPROFILE hProfile);
- CMSAPI void CMSEXPORT cmsSetEncodedICCversion(cmsHPROFILE hProfile, cmsUInt32Number Version);
- #define LCMS_USED_AS_INPUT 0
- #define LCMS_USED_AS_OUTPUT 1
- #define LCMS_USED_AS_PROOF 2
- CMSAPI cmsBool CMSEXPORT cmsIsIntentSupported(cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number UsedDirection);
- CMSAPI cmsBool CMSEXPORT cmsIsMatrixShaper(cmsHPROFILE hProfile);
- CMSAPI cmsBool CMSEXPORT cmsIsCLUT(cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number UsedDirection);
- CMSAPI cmsColorSpaceSignature CMSEXPORT _cmsICCcolorSpace(int OurNotation);
- CMSAPI int CMSEXPORT _cmsLCMScolorSpace(cmsColorSpaceSignature ProfileSpace);
- CMSAPI cmsUInt32Number CMSEXPORT cmsChannelsOf(cmsColorSpaceSignature ColorSpace);
- CMSAPI cmsUInt32Number CMSEXPORT cmsFormatterForColorspaceOfProfile(cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat);
- CMSAPI cmsUInt32Number CMSEXPORT cmsFormatterForPCSOfProfile(cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat);
- typedef enum {
- cmsInfoDescription = 0,
- cmsInfoManufacturer = 1,
- cmsInfoModel = 2,
- cmsInfoCopyright = 3
- } cmsInfoType;
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetProfileInfo(cmsHPROFILE hProfile, cmsInfoType Info,
- const char LanguageCode[3], const char CountryCode[3],
- wchar_t* Buffer, cmsUInt32Number BufferSize);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetProfileInfoASCII(cmsHPROFILE hProfile, cmsInfoType Info,
- const char LanguageCode[3], const char CountryCode[3],
- char* Buffer, cmsUInt32Number BufferSize);
- typedef struct _cms_io_handler cmsIOHANDLER;
- CMSAPI cmsIOHANDLER* CMSEXPORT cmsOpenIOhandlerFromFile(cmsContext ContextID, const char* FileName, const char* AccessMode);
- CMSAPI cmsIOHANDLER* CMSEXPORT cmsOpenIOhandlerFromStream(cmsContext ContextID, FILE* Stream);
- CMSAPI cmsIOHANDLER* CMSEXPORT cmsOpenIOhandlerFromMem(cmsContext ContextID, void *Buffer, cmsUInt32Number size, const char* AccessMode);
- CMSAPI cmsIOHANDLER* CMSEXPORT cmsOpenIOhandlerFromNULL(cmsContext ContextID);
- CMSAPI cmsIOHANDLER* CMSEXPORT cmsGetProfileIOhandler(cmsHPROFILE hProfile);
- CMSAPI cmsBool CMSEXPORT cmsCloseIOhandler(cmsIOHANDLER* io);
- CMSAPI cmsBool CMSEXPORT cmsMD5computeID(cmsHPROFILE hProfile);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromFile(const char *ICCProfile, const char *sAccess);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromFileTHR(cmsContext ContextID, const char *ICCProfile, const char *sAccess);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromStream(FILE* ICCProfile, const char* sAccess);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromStreamTHR(cmsContext ContextID, FILE* ICCProfile, const char* sAccess);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromMem(const void * MemPtr, cmsUInt32Number dwSize);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromMemTHR(cmsContext ContextID, const void * MemPtr, cmsUInt32Number dwSize);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromIOhandlerTHR(cmsContext ContextID, cmsIOHANDLER* io);
- CMSAPI cmsHPROFILE CMSEXPORT cmsOpenProfileFromIOhandler2THR(cmsContext ContextID, cmsIOHANDLER* io, cmsBool write);
- CMSAPI cmsBool CMSEXPORT cmsCloseProfile(cmsHPROFILE hProfile);
- CMSAPI cmsBool CMSEXPORT cmsSaveProfileToFile(cmsHPROFILE hProfile, const char* FileName);
- CMSAPI cmsBool CMSEXPORT cmsSaveProfileToStream(cmsHPROFILE hProfile, FILE* Stream);
- CMSAPI cmsBool CMSEXPORT cmsSaveProfileToMem(cmsHPROFILE hProfile, void *MemPtr, cmsUInt32Number* BytesNeeded);
- CMSAPI cmsUInt32Number CMSEXPORT cmsSaveProfileToIOhandler(cmsHPROFILE hProfile, cmsIOHANDLER* io);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateRGBProfileTHR(cmsContext ContextID,
- const cmsCIExyY* WhitePoint,
- const cmsCIExyYTRIPLE* Primaries,
- cmsToneCurve* const TransferFunction[3]);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateRGBProfile(const cmsCIExyY* WhitePoint,
- const cmsCIExyYTRIPLE* Primaries,
- cmsToneCurve* const TransferFunction[3]);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateGrayProfileTHR(cmsContext ContextID,
- const cmsCIExyY* WhitePoint,
- const cmsToneCurve* TransferFunction);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateGrayProfile(const cmsCIExyY* WhitePoint,
- const cmsToneCurve* TransferFunction);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateLinearizationDeviceLinkTHR(cmsContext ContextID,
- cmsColorSpaceSignature ColorSpace,
- cmsToneCurve* const TransferFunctions[]);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateLinearizationDeviceLink(cmsColorSpaceSignature ColorSpace,
- cmsToneCurve* const TransferFunctions[]);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateInkLimitingDeviceLinkTHR(cmsContext ContextID,
- cmsColorSpaceSignature ColorSpace, cmsFloat64Number Limit);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateInkLimitingDeviceLink(cmsColorSpaceSignature ColorSpace, cmsFloat64Number Limit);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateLab2ProfileTHR(cmsContext ContextID, const cmsCIExyY* WhitePoint);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateLab2Profile(const cmsCIExyY* WhitePoint);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateLab4ProfileTHR(cmsContext ContextID, const cmsCIExyY* WhitePoint);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateLab4Profile(const cmsCIExyY* WhitePoint);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateXYZProfileTHR(cmsContext ContextID);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateXYZProfile(void);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreate_sRGBProfileTHR(cmsContext ContextID);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreate_sRGBProfile(void);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateBCHSWabstractProfileTHR(cmsContext ContextID,
- cmsUInt32Number nLUTPoints,
- cmsFloat64Number Bright,
- cmsFloat64Number Contrast,
- cmsFloat64Number Hue,
- cmsFloat64Number Saturation,
- cmsUInt32Number TempSrc,
- cmsUInt32Number TempDest);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateBCHSWabstractProfile(cmsUInt32Number nLUTPoints,
- cmsFloat64Number Bright,
- cmsFloat64Number Contrast,
- cmsFloat64Number Hue,
- cmsFloat64Number Saturation,
- cmsUInt32Number TempSrc,
- cmsUInt32Number TempDest);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateNULLProfileTHR(cmsContext ContextID);
- CMSAPI cmsHPROFILE CMSEXPORT cmsCreateNULLProfile(void);
- CMSAPI cmsHPROFILE CMSEXPORT cmsTransform2DeviceLink(cmsHTRANSFORM hTransform, cmsFloat64Number Version, cmsUInt32Number dwFlags);
- #define INTENT_PERCEPTUAL 0
- #define INTENT_RELATIVE_COLORIMETRIC 1
- #define INTENT_SATURATION 2
- #define INTENT_ABSOLUTE_COLORIMETRIC 3
- #define INTENT_PRESERVE_K_ONLY_PERCEPTUAL 10
- #define INTENT_PRESERVE_K_ONLY_RELATIVE_COLORIMETRIC 11
- #define INTENT_PRESERVE_K_ONLY_SATURATION 12
- #define INTENT_PRESERVE_K_PLANE_PERCEPTUAL 13
- #define INTENT_PRESERVE_K_PLANE_RELATIVE_COLORIMETRIC 14
- #define INTENT_PRESERVE_K_PLANE_SATURATION 15
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetSupportedIntents(cmsUInt32Number nMax, cmsUInt32Number* Codes, char** Descriptions);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetSupportedIntentsTHR(cmsContext ContextID, cmsUInt32Number nMax, cmsUInt32Number* Codes, char** Descriptions);
- #define cmsFLAGS_NOCACHE 0x0040 // Inhibit 1-pixel cache
- #define cmsFLAGS_NOOPTIMIZE 0x0100 // Inhibit optimizations
- #define cmsFLAGS_NULLTRANSFORM 0x0200 // Don't transform anyway
- #define cmsFLAGS_GAMUTCHECK 0x1000 // Out of Gamut alarm
- #define cmsFLAGS_SOFTPROOFING 0x4000 // Do softproofing
- #define cmsFLAGS_BLACKPOINTCOMPENSATION 0x2000
- #define cmsFLAGS_NOWHITEONWHITEFIXUP 0x0004 // Don't fix scum dot
- #define cmsFLAGS_HIGHRESPRECALC 0x0400 // Use more memory to give better accurancy
- #define cmsFLAGS_LOWRESPRECALC 0x0800 // Use less memory to minimize resources
- #define cmsFLAGS_8BITS_DEVICELINK 0x0008 // Create 8 bits devicelinks
- #define cmsFLAGS_GUESSDEVICECLASS 0x0020 // Guess device class (for transform2devicelink)
- #define cmsFLAGS_KEEP_SEQUENCE 0x0080 // Keep profile sequence for devicelink creation
- #define cmsFLAGS_FORCE_CLUT 0x0002 // Force CLUT optimization
- #define cmsFLAGS_CLUT_POST_LINEARIZATION 0x0001 // create postlinearization tables if possible
- #define cmsFLAGS_CLUT_PRE_LINEARIZATION 0x0010 // create prelinearization tables if possible
- #define cmsFLAGS_NONEGATIVES 0x8000 // Prevent negative numbers in floating point transforms
- #define cmsFLAGS_COPY_ALPHA 0x04000000 // Alpha channels are copied on cmsDoTransform()
- #define cmsFLAGS_GRIDPOINTS(n) (((n) & 0xFF) << 16)
- #define cmsFLAGS_NODEFAULTRESOURCEDEF 0x01000000
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateTransformTHR(cmsContext ContextID,
- cmsHPROFILE Input,
- cmsUInt32Number InputFormat,
- cmsHPROFILE Output,
- cmsUInt32Number OutputFormat,
- cmsUInt32Number Intent,
- cmsUInt32Number dwFlags);
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateTransform(cmsHPROFILE Input,
- cmsUInt32Number InputFormat,
- cmsHPROFILE Output,
- cmsUInt32Number OutputFormat,
- cmsUInt32Number Intent,
- cmsUInt32Number dwFlags);
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateProofingTransformTHR(cmsContext ContextID,
- cmsHPROFILE Input,
- cmsUInt32Number InputFormat,
- cmsHPROFILE Output,
- cmsUInt32Number OutputFormat,
- cmsHPROFILE Proofing,
- cmsUInt32Number Intent,
- cmsUInt32Number ProofingIntent,
- cmsUInt32Number dwFlags);
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateProofingTransform(cmsHPROFILE Input,
- cmsUInt32Number InputFormat,
- cmsHPROFILE Output,
- cmsUInt32Number OutputFormat,
- cmsHPROFILE Proofing,
- cmsUInt32Number Intent,
- cmsUInt32Number ProofingIntent,
- cmsUInt32Number dwFlags);
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateMultiprofileTransformTHR(cmsContext ContextID,
- cmsHPROFILE hProfiles[],
- cmsUInt32Number nProfiles,
- cmsUInt32Number InputFormat,
- cmsUInt32Number OutputFormat,
- cmsUInt32Number Intent,
- cmsUInt32Number dwFlags);
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateMultiprofileTransform(cmsHPROFILE hProfiles[],
- cmsUInt32Number nProfiles,
- cmsUInt32Number InputFormat,
- cmsUInt32Number OutputFormat,
- cmsUInt32Number Intent,
- cmsUInt32Number dwFlags);
- CMSAPI cmsHTRANSFORM CMSEXPORT cmsCreateExtendedTransform(cmsContext ContextID,
- cmsUInt32Number nProfiles, cmsHPROFILE hProfiles[],
- cmsBool BPC[],
- cmsUInt32Number Intents[],
- cmsFloat64Number AdaptationStates[],
- cmsHPROFILE hGamutProfile,
- cmsUInt32Number nGamutPCSposition,
- cmsUInt32Number InputFormat,
- cmsUInt32Number OutputFormat,
- cmsUInt32Number dwFlags);
- CMSAPI void CMSEXPORT cmsDeleteTransform(cmsHTRANSFORM hTransform);
- CMSAPI void CMSEXPORT cmsDoTransform(cmsHTRANSFORM Transform,
- const void * InputBuffer,
- void * OutputBuffer,
- cmsUInt32Number Size);
- CMSAPI void CMSEXPORT cmsDoTransformStride(cmsHTRANSFORM Transform, // Deprecated
- const void * InputBuffer,
- void * OutputBuffer,
- cmsUInt32Number Size,
- cmsUInt32Number Stride);
- CMSAPI void CMSEXPORT cmsDoTransformLineStride(cmsHTRANSFORM Transform,
- const void* InputBuffer,
- void* OutputBuffer,
- cmsUInt32Number PixelsPerLine,
- cmsUInt32Number LineCount,
- cmsUInt32Number BytesPerLineIn,
- cmsUInt32Number BytesPerLineOut,
- cmsUInt32Number BytesPerPlaneIn,
- cmsUInt32Number BytesPerPlaneOut);
- CMSAPI void CMSEXPORT cmsSetAlarmCodes(const cmsUInt16Number NewAlarm[cmsMAXCHANNELS]);
- CMSAPI void CMSEXPORT cmsGetAlarmCodes(cmsUInt16Number NewAlarm[cmsMAXCHANNELS]);
- CMSAPI void CMSEXPORT cmsSetAlarmCodesTHR(cmsContext ContextID,
- const cmsUInt16Number AlarmCodes[cmsMAXCHANNELS]);
- CMSAPI void CMSEXPORT cmsGetAlarmCodesTHR(cmsContext ContextID,
- cmsUInt16Number AlarmCodes[cmsMAXCHANNELS]);
- CMSAPI cmsFloat64Number CMSEXPORT cmsSetAdaptationState(cmsFloat64Number d);
- CMSAPI cmsFloat64Number CMSEXPORT cmsSetAdaptationStateTHR(cmsContext ContextID, cmsFloat64Number d);
- CMSAPI cmsContext CMSEXPORT cmsGetTransformContextID(cmsHTRANSFORM hTransform);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetTransformInputFormat(cmsHTRANSFORM hTransform);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetTransformOutputFormat(cmsHTRANSFORM hTransform);
- CMSAPI cmsBool CMSEXPORT cmsChangeBuffersFormat(cmsHTRANSFORM hTransform,
- cmsUInt32Number InputFormat,
- cmsUInt32Number OutputFormat);
- typedef enum { cmsPS_RESOURCE_CSA, cmsPS_RESOURCE_CRD } cmsPSResourceType;
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetPostScriptColorResource(cmsContext ContextID,
- cmsPSResourceType Type,
- cmsHPROFILE hProfile,
- cmsUInt32Number Intent,
- cmsUInt32Number dwFlags,
- cmsIOHANDLER* io);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetPostScriptCSA(cmsContext ContextID, cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags, void* Buffer, cmsUInt32Number dwBufferLen);
- CMSAPI cmsUInt32Number CMSEXPORT cmsGetPostScriptCRD(cmsContext ContextID, cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags, void* Buffer, cmsUInt32Number dwBufferLen);
- CMSAPI cmsHANDLE CMSEXPORT cmsIT8Alloc(cmsContext ContextID);
- CMSAPI void CMSEXPORT cmsIT8Free(cmsHANDLE hIT8);
- CMSAPI cmsUInt32Number CMSEXPORT cmsIT8TableCount(cmsHANDLE hIT8);
- CMSAPI cmsInt32Number CMSEXPORT cmsIT8SetTable(cmsHANDLE hIT8, cmsUInt32Number nTable);
- CMSAPI cmsHANDLE CMSEXPORT cmsIT8LoadFromFile(cmsContext ContextID, const char* cFileName);
- CMSAPI cmsHANDLE CMSEXPORT cmsIT8LoadFromMem(cmsContext ContextID, const void *Ptr, cmsUInt32Number len);
- CMSAPI cmsBool CMSEXPORT cmsIT8SaveToFile(cmsHANDLE hIT8, const char* cFileName);
- CMSAPI cmsBool CMSEXPORT cmsIT8SaveToMem(cmsHANDLE hIT8, void *MemPtr, cmsUInt32Number* BytesNeeded);
- CMSAPI const char* CMSEXPORT cmsIT8GetSheetType(cmsHANDLE hIT8);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetSheetType(cmsHANDLE hIT8, const char* Type);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetComment(cmsHANDLE hIT8, const char* cComment);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetPropertyStr(cmsHANDLE hIT8, const char* cProp, const char *Str);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetPropertyDbl(cmsHANDLE hIT8, const char* cProp, cmsFloat64Number Val);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetPropertyHex(cmsHANDLE hIT8, const char* cProp, cmsUInt32Number Val);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetPropertyMulti(cmsHANDLE hIT8, const char* Key, const char* SubKey, const char *Buffer);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetPropertyUncooked(cmsHANDLE hIT8, const char* Key, const char* Buffer);
- CMSAPI const char* CMSEXPORT cmsIT8GetProperty(cmsHANDLE hIT8, const char* cProp);
- CMSAPI cmsFloat64Number CMSEXPORT cmsIT8GetPropertyDbl(cmsHANDLE hIT8, const char* cProp);
- CMSAPI const char* CMSEXPORT cmsIT8GetPropertyMulti(cmsHANDLE hIT8, const char* Key, const char *SubKey);
- CMSAPI cmsUInt32Number CMSEXPORT cmsIT8EnumProperties(cmsHANDLE hIT8, char ***PropertyNames);
- CMSAPI cmsUInt32Number CMSEXPORT cmsIT8EnumPropertyMulti(cmsHANDLE hIT8, const char* cProp, const char ***SubpropertyNames);
- CMSAPI const char* CMSEXPORT cmsIT8GetDataRowCol(cmsHANDLE hIT8, int row, int col);
- CMSAPI cmsFloat64Number CMSEXPORT cmsIT8GetDataRowColDbl(cmsHANDLE hIT8, int row, int col);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetDataRowCol(cmsHANDLE hIT8, int row, int col,
- const char* Val);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetDataRowColDbl(cmsHANDLE hIT8, int row, int col,
- cmsFloat64Number Val);
- CMSAPI const char* CMSEXPORT cmsIT8GetData(cmsHANDLE hIT8, const char* cPatch, const char* cSample);
- CMSAPI cmsFloat64Number CMSEXPORT cmsIT8GetDataDbl(cmsHANDLE hIT8, const char* cPatch, const char* cSample);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetData(cmsHANDLE hIT8, const char* cPatch,
- const char* cSample,
- const char *Val);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetDataDbl(cmsHANDLE hIT8, const char* cPatch,
- const char* cSample,
- cmsFloat64Number Val);
- CMSAPI int CMSEXPORT cmsIT8FindDataFormat(cmsHANDLE hIT8, const char* cSample);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetDataFormat(cmsHANDLE hIT8, int n, const char *Sample);
- CMSAPI int CMSEXPORT cmsIT8EnumDataFormat(cmsHANDLE hIT8, char ***SampleNames);
- CMSAPI const char* CMSEXPORT cmsIT8GetPatchName(cmsHANDLE hIT8, int nPatch, char* buffer);
- CMSAPI int CMSEXPORT cmsIT8GetPatchByName(cmsHANDLE hIT8, const char *cPatch);
- CMSAPI int CMSEXPORT cmsIT8SetTableByLabel(cmsHANDLE hIT8, const char* cSet, const char* cField, const char* ExpectedType);
- CMSAPI cmsBool CMSEXPORT cmsIT8SetIndexColumn(cmsHANDLE hIT8, const char* cSample);
- CMSAPI void CMSEXPORT cmsIT8DefineDblFormat(cmsHANDLE hIT8, const char* Formatter);
- CMSAPI cmsHANDLE CMSEXPORT cmsGBDAlloc(cmsContext ContextID);
- CMSAPI void CMSEXPORT cmsGBDFree(cmsHANDLE hGBD);
- CMSAPI cmsBool CMSEXPORT cmsGDBAddPoint(cmsHANDLE hGBD, const cmsCIELab* Lab);
- CMSAPI cmsBool CMSEXPORT cmsGDBCompute(cmsHANDLE hGDB, cmsUInt32Number dwFlags);
- CMSAPI cmsBool CMSEXPORT cmsGDBCheckPoint(cmsHANDLE hGBD, const cmsCIELab* Lab);
- CMSAPI cmsBool CMSEXPORT cmsDetectBlackPoint(cmsCIEXYZ* BlackPoint, cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags);
- CMSAPI cmsBool CMSEXPORT cmsDetectDestinationBlackPoint(cmsCIEXYZ* BlackPoint, cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags);
- CMSAPI cmsFloat64Number CMSEXPORT cmsDetectTAC(cmsHPROFILE hProfile);
- CMSAPI cmsBool CMSEXPORT cmsDesaturateLab(cmsCIELab* Lab,
- double amax, double amin,
- double bmax, double bmin);
- #ifndef CMS_USE_CPP_API
- # ifdef __cplusplus
- }
- # endif
- #endif
- #define _lcms2_H
- #endif
|