< prev index next >

src/java.desktop/share/native/liblcms/lcms2.h

Print this page

        

*** 28,38 **** // file: // //--------------------------------------------------------------------------------- // // Little Color Management System ! // Copyright (c) 1998-2014 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"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, --- 28,38 ---- // file: // //--------------------------------------------------------------------------------- // // Little Color Management System ! // Copyright (c) 1998-2016 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"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense,
*** 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 **************************************** --- 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.8 // #ifndef _lcms2_H // ********** Configuration toggles ****************************************
*** 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 --- 102,112 ---- extern "C" { # endif #endif // Version/release ! #define LCMS_VERSION 2080 // 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
*** 200,256 **** #ifdef __BORLANDC__ # define CMS_IS_WINDOWS_ 1 #endif ! // Try to detect big endian platforms. This list can be endless, so only some checks are performed over here. ! // you can pass this toggle to the compiler by using -DCMS_USE_BIG_ENDIAN or something similar ! #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 ! #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 # endif # 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 # define CMSAPI # else ! # define CMSEXPORT _stdcall # ifdef CMS_DLL_BUILD # define CMSAPI __declspec(dllexport) # else # define CMSAPI __declspec(dllimport) # endif --- 200,257 ---- #ifdef __BORLANDC__ # define CMS_IS_WINDOWS_ 1 #endif ! // Try to detect big endian platforms. This list can be endless, so primarily rely on the configure script ! // on Unix-like systems, and allow it to be set on the compiler command line using ! // -DCMS_USE_BIG_ENDIAN or something similar ! #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 ! // Fall back to platform/compiler specific tests ! # 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 // 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 # define CMSAPI # else ! # define CMSEXPORT __stdcall # ifdef CMS_DLL_BUILD # define CMSAPI __declspec(dllexport) # else # define CMSAPI __declspec(dllimport) # endif
*** 408,418 **** cmsSigTechnologyTag = 0x74656368, // 'tech' cmsSigUcrBgTag = 0x62666420, // 'bfd ' cmsSigViewingCondDescTag = 0x76756564, // 'vued' cmsSigViewingConditionsTag = 0x76696577, // 'view' cmsSigVcgtTag = 0x76636774, // 'vcgt' ! cmsSigMetaTag = 0x6D657461 // 'meta' } cmsTagSignature; // ICC Technology tag --- 409,420 ---- cmsSigTechnologyTag = 0x74656368, // 'tech' cmsSigUcrBgTag = 0x62666420, // 'bfd ' cmsSigViewingCondDescTag = 0x76756564, // 'vued' cmsSigViewingConditionsTag = 0x76696577, // 'view' cmsSigVcgtTag = 0x76636774, // 'vcgt' ! cmsSigMetaTag = 0x6D657461, // 'meta' ! cmsSigArgyllArtsTag = 0x61727473 // 'arts' } cmsTagSignature; // ICC Technology tag
*** 681,691 **** // A: Floating point -- With this flag we can differentiate 16 bits as float and as int // O: Optimized -- previous optimization already returns the final 8-bit value // T: Pixeltype // F: Flavor 0=MinIsBlack(Chocolate) 1=MinIsWhite(Vanilla) // P: Planar? 0=Chunky, 1=Planar ! // X: swap 16 bps endianess? // S: Do swap? ie, BGR, KYMC // E: Extra samples // C: Channels (Samples per pixel) // B: bytes per sample // Y: Swap first - changes ABGR to BGRA and KCMY to CMYK --- 683,693 ---- // A: Floating point -- With this flag we can differentiate 16 bits as float and as int // O: Optimized -- previous optimization already returns the final 8-bit value // T: Pixeltype // F: Flavor 0=MinIsBlack(Chocolate) 1=MinIsWhite(Vanilla) // P: Planar? 0=Chunky, 1=Planar ! // X: swap 16 bps endianness? // S: Do swap? ie, BGR, KYMC // E: Extra samples // C: Channels (Samples per pixel) // B: bytes per sample // Y: Swap first - changes ABGR to BGRA and KCMY to CMYK
*** 924,934 **** #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)|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)) // Floating point formatters. // NOTE THAT 'BYTES' FIELD IS SET TO ZERO ON DLB because 8 bytes overflows the bitfield --- 926,936 ---- #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)) // Floating point formatters. // NOTE THAT 'BYTES' FIELD IS SET TO ZERO ON DLB because 8 bytes overflows the bitfield
*** 1041,1051 **** // Context handling -------------------------------------------------------------------------------------------------------- // Each context holds its owns globals and its own plug-ins. There is a global context with the id = 0 for lecacy compatibility ! // though using the global context is not recomended. Proper context handling makes lcms more thread-safe. typedef struct _cmsContext_struct* cmsContext; CMSAPI cmsContext CMSEXPORT cmsCreateContext(void* Plugin, void* UserData); CMSAPI void CMSEXPORT cmsDeleteContext(cmsContext ContexID); --- 1043,1053 ---- // Context handling -------------------------------------------------------------------------------------------------------- // Each context holds its owns globals and its own plug-ins. There is a global context with the id = 0 for lecacy compatibility ! // though using the global context is not recommended. Proper context handling makes lcms more thread-safe. typedef struct _cmsContext_struct* cmsContext; CMSAPI cmsContext CMSEXPORT cmsCreateContext(void* Plugin, void* UserData); CMSAPI void CMSEXPORT cmsDeleteContext(cmsContext ContexID);
*** 1677,1686 **** --- 1679,1690 ---- #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 + // Copy alpha channels when transforming + #define cmsFLAGS_COPY_ALPHA 0x04000000 // Alpha channels are copied on cmsDoTransform() // Fine-tune control over number of gridpoints #define cmsFLAGS_GRIDPOINTS(n) (((n) & 0xFF) << 16) // CRD special
*** 1755,1770 **** CMSAPI void CMSEXPORT cmsDoTransform(cmsHTRANSFORM Transform, const void * InputBuffer, void * OutputBuffer, cmsUInt32Number Size); ! CMSAPI void CMSEXPORT cmsDoTransformStride(cmsHTRANSFORM Transform, const void * InputBuffer, void * OutputBuffer, cmsUInt32Number Size, cmsUInt32Number Stride); CMSAPI void CMSEXPORT cmsSetAlarmCodes(const cmsUInt16Number NewAlarm[cmsMAXCHANNELS]); CMSAPI void CMSEXPORT cmsGetAlarmCodes(cmsUInt16Number NewAlarm[cmsMAXCHANNELS]); --- 1759,1784 ---- 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]);
< prev index next >