summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lcms2mt/include/lcms2mt.h')
-rw-r--r--lcms2mt/include/lcms2mt.h46
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)