diff options
Diffstat (limited to 'lcms2mt/include/lcms2mt.h')
-rw-r--r-- | lcms2mt/include/lcms2mt.h | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/lcms2mt/include/lcms2mt.h b/lcms2mt/include/lcms2mt.h index 6d5ad1aa..5791a5dc 100644 --- a/lcms2mt/include/lcms2mt.h +++ b/lcms2mt/include/lcms2mt.h @@ -1,7 +1,7 @@ //--------------------------------------------------------------------------------- // // Little Color Management System -// Copyright (c) 1998-2017 Marti Maria Saguer +// Copyright (c) 1998-2020 Marti Maria Saguer // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the "Software"), @@ -23,7 +23,7 @@ // //--------------------------------------------------------------------------------- // -// Version 2.9rc3 +// Version 2.10 // #ifndef _lcms2mt_H @@ -61,6 +61,9 @@ // Uncomment this for special windows mutex initialization (see lcms2_internal.h) // #define CMS_RELY_ON_WINDOWS_STATIC_MUTEX_INIT +// Uncomment this to remove the "register" storage class +// #define CMS_NO_REGISTER_KEYWORD 1 + // ********** End of configuration toggles ****************************** // Needed for streams @@ -78,15 +81,15 @@ extern "C" { #endif // Version/release -// Vanilla LCMS2 uses values from 2000-2090. This is +// Vanilla LCMS2 uses values from 2000-2100. This is // used as an unsigned number. We want any attempt to // use OUR numbers with a mainline LCMS to fail, so -// we have to go under 2000-2090. Let's subtract +// we have to go under 2000-2100. Let's subtract // 2000 from the mainline release. -#define LCMS_VERSION (2090 - 2000) +#define LCMS_VERSION (2100 - 2000) // We expect any LCMS2MT release to fall within the -// following rance. +// following range. #define LCMS2MT_VERSION_MIN (0) #define LCMS2MT_VERSION_MAX (999) @@ -158,6 +161,13 @@ typedef double cmsFloat64Number; #endif #endif +// Handle "register" keyword +#if defined(CMS_NO_REGISTER_KEYWORD) && !defined(CMS_DLL) && !defined(CMS_DLL_BUILD) +# define CMSREGISTER +#else +# define CMSREGISTER register +#endif + // In the case 64 bit numbers are not supported by the compiler #ifdef CMS_DONT_USE_INT64 typedef cmsUInt32Number cmsUInt64Number[2]; @@ -244,10 +254,15 @@ typedef int cmsBool; # 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 @@ -1035,7 +1050,7 @@ 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 void CMSEXPORT cmsDeleteContext(cmsContext ContextID); CMSAPI cmsContext CMSEXPORT cmsDupContext(cmsContext ContextID, void* NewUserData); CMSAPI void* CMSEXPORT cmsGetContextUserData(cmsContext ContextID); @@ -1249,13 +1264,15 @@ CMSAPI cmsStageSignature CMSEXPORT cmsStageType(cmsContext ContextID, const cmsS CMSAPI void* CMSEXPORT cmsStageData(cmsContext ContextID, const cmsStage* mpe); // Sampling -typedef cmsInt32Number (* cmsSAMPLER16) (cmsContext ContextID, register const cmsUInt16Number In[], - register cmsUInt16Number Out[], - register void * Cargo); +typedef cmsInt32Number (* cmsSAMPLER16) (cmsContext ContextID, + CMSREGISTER const cmsUInt16Number In[], + CMSREGISTER cmsUInt16Number Out[], + CMSREGISTER void * Cargo); -typedef cmsInt32Number (* cmsSAMPLERFLOAT)(cmsContext ContextID, register const cmsFloat32Number In[], - register cmsFloat32Number Out[], - register void * Cargo); +typedef cmsInt32Number (* cmsSAMPLERFLOAT)(cmsContext ContextID, + CMSREGISTER const cmsFloat32Number In[], + CMSREGISTER cmsFloat32Number Out[], + CMSREGISTER void * Cargo); // Use this flag to prevent changes being written to destination #define SAMPLER_INSPECT 0x01000000 @@ -1396,7 +1413,6 @@ typedef struct { typedef struct { cmsUInt32Number n; - cmsContext ContextIDContextID; cmsPSEQDESC* seq; } cmsSEQ; @@ -1644,8 +1660,6 @@ CMSAPI cmsUInt32Number CMSEXPORT cmsGetSupportedIntents(cmsContext ContextID, // Copy alpha channels when transforming #define cmsFLAGS_COPY_ALPHA 0x04000000 // Alpha channels are copied on cmsDoTransform() -#define cmsFLAGS_FORCE_LINEARINTERP 0x08000000 // Force slower but more accurate interpolation - // Fine-tune control over number of gridpoints #define cmsFLAGS_GRIDPOINTS(n) (((n) & 0xFF) << 16) |