src/share/native/sun/java2d/cmm/lcms/lcms2.h

Print this page

        

*** 50,60 **** // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // //--------------------------------------------------------------------------------- // ! // Version 2.6 // #ifndef _lcms2_H // ********** Configuration toggles **************************************** --- 50,60 ---- // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // //--------------------------------------------------------------------------------- // ! // Version 2.7 // #ifndef _lcms2_H // ********** Configuration toggles ****************************************
*** 102,112 **** extern "C" { # endif #endif // Version/release ! #define LCMS_VERSION 2060 // I will give the chance of redefining basic types for compilers that are not fully C99 compliant #ifndef CMS_BASIC_TYPES_ALREADY_DEFINED // Base types --- 102,112 ---- extern "C" { # endif #endif // Version/release ! #define LCMS_VERSION 2070 // I will give the chance of redefining basic types for compilers that are not fully C99 compliant #ifndef CMS_BASIC_TYPES_ALREADY_DEFINED // Base types
*** 211,239 **** #if defined(__s390__) || defined(__s390x__) # define CMS_USE_BIG_ENDIAN 1 #endif - # ifdef TARGET_CPU_PPC - # if TARGET_CPU_PPC - # define CMS_USE_BIG_ENDIAN 1 - # endif - # endif #if defined(__powerpc__) || defined(__ppc__) || defined(TARGET_CPU_PPC) # define CMS_USE_BIG_ENDIAN 1 ! # if defined (__GNUC__) && defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) ! # if __BYTE_ORDER == __LITTLE_ENDIAN ! // // Don't use big endian for PowerPC little endian mode # undef CMS_USE_BIG_ENDIAN # endif # endif ! #endif ! ! // WORDS_BIGENDIAN takes precedence ! #if defined(_HOST_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || defined(WORDS_BIGENDIAN) ! # define CMS_USE_BIG_ENDIAN 1 #endif #ifdef macintosh # ifdef __BIG_ENDIAN__ # define CMS_USE_BIG_ENDIAN 1 --- 211,231 ---- #if defined(__s390__) || defined(__s390x__) # define CMS_USE_BIG_ENDIAN 1 #endif #if defined(__powerpc__) || defined(__ppc__) || defined(TARGET_CPU_PPC) + # if __powerpc__ || __ppc__ || TARGET_CPU_PPC # define CMS_USE_BIG_ENDIAN 1 ! # if defined (__GNUC__) && defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) ! # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ! // Don't use big endian for PowerPC little endian mode # undef CMS_USE_BIG_ENDIAN # endif # endif ! # endif #endif #ifdef macintosh # ifdef __BIG_ENDIAN__ # define CMS_USE_BIG_ENDIAN 1
*** 241,250 **** --- 233,248 ---- # ifdef __LITTLE_ENDIAN__ # undef CMS_USE_BIG_ENDIAN # endif #endif + // WORDS_BIGENDIAN takes precedence + #if defined(_HOST_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || defined(WORDS_BIGENDIAN) + # define CMS_USE_BIG_ENDIAN 1 + #endif + + // Calling convention -- this is hardly platform and compiler dependent #ifdef CMS_IS_WINDOWS_ # if defined(CMS_DLL) || defined(CMS_DLL_BUILD) # ifdef __BORLANDC__ # define CMSEXPORT __stdcall _export
*** 551,561 **** // Float to floatPCS cmsSigLab2FloatPCS = 0x64326C20, // 'd2l ' cmsSigFloatPCS2Lab = 0x6C326420, // 'l2d ' cmsSigXYZ2FloatPCS = 0x64327820, // 'd2x ' ! cmsSigFloatPCS2XYZ = 0x78326420 // 'x2d ' } cmsStageSignature; // Types of CurveElements typedef enum { --- 549,560 ---- // Float to floatPCS cmsSigLab2FloatPCS = 0x64326C20, // 'd2l ' cmsSigFloatPCS2Lab = 0x6C326420, // 'l2d ' cmsSigXYZ2FloatPCS = 0x64327820, // 'd2x ' ! cmsSigFloatPCS2XYZ = 0x78326420, // 'x2d ' ! cmsSigClipNegativesElemType = 0x636c7020 // 'clp ' } cmsStageSignature; // Types of CurveElements typedef enum {
*** 1029,1038 **** --- 1028,1041 ---- cmsCIEXYZ SurroundXYZ; // This is for storing the tag cmsUInt32Number IlluminantType; // viewing condition } cmsICCViewingConditions; + // Get LittleCMS version (for shared objects) ----------------------------------------------------------------------------- + + CMSAPI int CMSEXPORT cmsGetEncodedCMMversion(void); + // Support of non-standard functions -------------------------------------------------------------------------------------- CMSAPI int CMSEXPORT cmsstrcasecmp(const char* s1, const char* s2); CMSAPI long int CMSEXPORT cmsfilelength(FILE* f);
*** 1507,1517 **** CMSAPI cmsColorSpaceSignature CMSEXPORT _cmsICCcolorSpace(int OurNotation); CMSAPI int CMSEXPORT _cmsLCMScolorSpace(cmsColorSpaceSignature ProfileSpace); CMSAPI cmsUInt32Number CMSEXPORT cmsChannelsOf(cmsColorSpaceSignature ColorSpace); ! // Build a suitable formatter for the colorspace of this profile CMSAPI cmsUInt32Number CMSEXPORT cmsFormatterForColorspaceOfProfile(cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat); CMSAPI cmsUInt32Number CMSEXPORT cmsFormatterForPCSOfProfile(cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat); // Localized info --- 1510,1520 ---- CMSAPI cmsColorSpaceSignature CMSEXPORT _cmsICCcolorSpace(int OurNotation); CMSAPI int CMSEXPORT _cmsLCMScolorSpace(cmsColorSpaceSignature ProfileSpace); CMSAPI cmsUInt32Number CMSEXPORT cmsChannelsOf(cmsColorSpaceSignature ColorSpace); ! // Build a suitable formatter for the colorspace of this profile. nBytes=1 means 8 bits, nBytes=2 means 16 bits. CMSAPI cmsUInt32Number CMSEXPORT cmsFormatterForColorspaceOfProfile(cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat); CMSAPI cmsUInt32Number CMSEXPORT cmsFormatterForPCSOfProfile(cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat); // Localized info
*** 1536,1545 **** --- 1539,1549 ---- 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); // MD5 message digest -------------------------------------------------------------------------------------------------- CMSAPI cmsBool CMSEXPORT cmsMD5computeID(cmsHPROFILE hProfile);
*** 1670,1679 **** --- 1674,1687 ---- // Specific to a particular optimizations #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 + // Specific to unbounded mode + #define cmsFLAGS_NONEGATIVES 0x8000 // Prevent negative numbers in floating point transforms + + // Fine-tune control over number of gridpoints #define cmsFLAGS_GRIDPOINTS(n) (((n) & 0xFF) << 16) // CRD special #define cmsFLAGS_NODEFAULTRESOURCEDEF 0x01000000