|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifndef _X11_XCMS_H_ |
| #define _X11_XCMS_H_ |
|
|
| #include <X11/Xlib.h> |
|
|
| |
| |
| |
| #ifdef __clang__ |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wpadded" |
| #endif |
|
|
| |
| |
| |
| #define XcmsFailure 0 |
| #define XcmsSuccess 1 |
| #define XcmsSuccessWithCompression 2 |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #define XcmsUndefinedFormat (XcmsColorFormat)0x00000000 |
| #define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001 |
| #define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002 |
| #define XcmsCIExyYFormat (XcmsColorFormat)0x00000003 |
| #define XcmsCIELabFormat (XcmsColorFormat)0x00000004 |
| #define XcmsCIELuvFormat (XcmsColorFormat)0x00000005 |
| #define XcmsTekHVCFormat (XcmsColorFormat)0x00000006 |
| #define XcmsRGBFormat (XcmsColorFormat)0x80000000 |
| #define XcmsRGBiFormat (XcmsColorFormat)0x80000001 |
|
|
| |
| |
| |
| #define XcmsInitNone 0x00 |
| #define XcmsInitSuccess 0x01 |
| #define XcmsInitFailure 0xff |
|
|
| #define DisplayOfCCC(ccc) ((ccc)->dpy) |
| #define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber) |
| #define VisualOfCCC(ccc) ((ccc)->visual) |
| #define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt) |
| #define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt) |
| #define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet) |
|
|
| typedef unsigned long XcmsColorFormat; |
|
|
| typedef double XcmsFloat; |
|
|
| |
| |
| |
| typedef struct { |
| unsigned short red; |
| unsigned short green; |
| unsigned short blue; |
| } XcmsRGB; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat red; |
| XcmsFloat green; |
| XcmsFloat blue; |
| } XcmsRGBi; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat X; |
| XcmsFloat Y; |
| XcmsFloat Z; |
| } XcmsCIEXYZ; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat u_prime; |
| XcmsFloat v_prime; |
| XcmsFloat Y; |
| } XcmsCIEuvY; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat x; |
| XcmsFloat y; |
| XcmsFloat Y; |
| } XcmsCIExyY; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat L_star; |
| XcmsFloat a_star; |
| XcmsFloat b_star; |
| } XcmsCIELab; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat L_star; |
| XcmsFloat u_star; |
| XcmsFloat v_star; |
| } XcmsCIELuv; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat H; |
| XcmsFloat V; |
| XcmsFloat C; |
| } XcmsTekHVC; |
|
|
| |
| |
| |
| typedef struct { |
| XcmsFloat pad0; |
| XcmsFloat pad1; |
| XcmsFloat pad2; |
| XcmsFloat pad3; |
| } XcmsPad; |
|
|
|
|
| |
| |
| |
| typedef struct { |
| union { |
| XcmsRGB RGB; |
| XcmsRGBi RGBi; |
| XcmsCIEXYZ CIEXYZ; |
| XcmsCIEuvY CIEuvY; |
| XcmsCIExyY CIExyY; |
| XcmsCIELab CIELab; |
| XcmsCIELuv CIELuv; |
| XcmsTekHVC TekHVC; |
| XcmsPad Pad; |
| } spec; |
| unsigned long pixel; |
| XcmsColorFormat format; |
| } XcmsColor; |
|
|
|
|
| |
| |
| |
|
|
| typedef struct _XcmsPerScrnInfo { |
| XcmsColor screenWhitePt; |
| XPointer functionSet; |
| |
| XPointer screenData; |
| |
| unsigned char state; |
| char pad[3]; |
| } XcmsPerScrnInfo; |
|
|
| typedef struct _XcmsCCC *XcmsCCC; |
|
|
| typedef Status (*XcmsCompressionProc)( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| typedef Status (*XcmsWhiteAdjustProc)( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| XcmsColorFormat , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| |
| |
| |
| typedef struct _XcmsCCC { |
| Display *dpy; |
| int screenNumber; |
| Visual *visual; |
| XcmsColor clientWhitePt; |
| XcmsCompressionProc gamutCompProc; |
| XPointer gamutCompClientData; |
| XcmsWhiteAdjustProc whitePtAdjProc; |
| XPointer whitePtAdjClientData; |
| XcmsPerScrnInfo *pPerScrnInfo; |
| |
| |
| } XcmsCCCRec; |
|
|
| typedef Status (*XcmsScreenInitProc)( |
| Display* , |
| int , |
| XcmsPerScrnInfo* |
| ); |
|
|
| typedef void (*XcmsScreenFreeProc)( |
| XPointer |
| ); |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| typedef Status (*XcmsDDConversionProc)( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| typedef Status (*XcmsDIConversionProc)( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| typedef XcmsDIConversionProc XcmsConversionProc; |
| typedef XcmsConversionProc *XcmsFuncListPtr; |
|
|
| typedef int (*XcmsParseStringProc)( |
| char* , |
| XcmsColor* |
| ); |
|
|
| |
| |
| |
| |
| typedef struct _XcmsColorSpace { |
| const char *prefix; |
| XcmsColorFormat id; |
| XcmsParseStringProc parseString; |
| |
| XcmsFuncListPtr to_CIEXYZ; |
| |
| |
| |
| |
| |
| XcmsFuncListPtr from_CIEXYZ; |
| |
| |
| |
| |
| |
| int inverse_flag; |
| |
| |
| |
| |
| |
|
|
| } XcmsColorSpace; |
|
|
| |
| |
| |
| |
| typedef struct _XcmsFunctionSet { |
| XcmsColorSpace **DDColorSpaces; |
| |
| |
| |
| XcmsScreenInitProc screenInitProc; |
| |
| |
| |
| |
| XcmsScreenFreeProc screenFreeProc; |
| |
| |
| } XcmsFunctionSet; |
|
|
| _XFUNCPROTOBEGIN |
|
|
| extern Status XcmsAddColorSpace ( |
| XcmsColorSpace* |
| ); |
|
|
| extern Status XcmsAddFunctionSet ( |
| XcmsFunctionSet* |
| ); |
|
|
| extern Status XcmsAllocColor ( |
| Display* , |
| Colormap , |
| XcmsColor* , |
| XcmsColorFormat |
| ); |
|
|
| extern Status XcmsAllocNamedColor ( |
| Display* , |
| Colormap , |
| _Xconst char* , |
| XcmsColor* , |
| XcmsColor* , |
| XcmsColorFormat |
| ); |
|
|
| extern XcmsCCC XcmsCCCOfColormap ( |
| Display* , |
| Colormap |
| ); |
|
|
| extern Status XcmsCIELabClipab( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELabClipL( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELabClipLab( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELabQueryMaxC ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELabQueryMaxL ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELabQueryMaxLC ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELabQueryMinL ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELabToCIEXYZ ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIELabWhiteShiftColors( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| XcmsColorFormat , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELuvClipL( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELuvClipLuv( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELuvClipuv( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIELuvQueryMaxC ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELuvQueryMaxL ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELuvQueryMaxLC ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELuvQueryMinL ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsCIELuvToCIEuvY ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIELuvWhiteShiftColors( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| XcmsColorFormat , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIEXYZToCIELab ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIEXYZToCIEuvY ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIEXYZToCIExyY ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIEXYZToRGBi ( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsCIEuvYToCIELuv ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIEuvYToCIEXYZ ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIEuvYToTekHVC ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsCIExyYToCIEXYZ ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern XcmsColor *XcmsClientWhitePointOfCCC ( |
| XcmsCCC |
| ); |
|
|
| extern Status XcmsConvertColors ( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| XcmsColorFormat , |
| Bool* |
| ); |
|
|
| extern XcmsCCC XcmsCreateCCC ( |
| Display* , |
| int , |
| Visual* , |
| XcmsColor* , |
| XcmsCompressionProc , |
| XPointer , |
| XcmsWhiteAdjustProc , |
| XPointer |
| ); |
|
|
| extern XcmsCCC XcmsDefaultCCC ( |
| Display* , |
| int |
| ); |
|
|
| extern Display *XcmsDisplayOfCCC ( |
| XcmsCCC |
| ); |
|
|
| extern XcmsColorFormat XcmsFormatOfPrefix ( |
| char* |
| ); |
|
|
| extern void XcmsFreeCCC ( |
| XcmsCCC |
| ); |
|
|
| extern Status XcmsLookupColor ( |
| Display* , |
| Colormap , |
| _Xconst char* , |
| XcmsColor* , |
| XcmsColor* , |
| XcmsColorFormat |
| ); |
|
|
| extern char *XcmsPrefixOfFormat ( |
| XcmsColorFormat |
| ); |
|
|
| extern Status XcmsQueryBlack ( |
| XcmsCCC , |
| XcmsColorFormat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsQueryBlue ( |
| XcmsCCC , |
| XcmsColorFormat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsQueryColor ( |
| Display* , |
| Colormap , |
| XcmsColor* , |
| XcmsColorFormat |
| ); |
|
|
| extern Status XcmsQueryColors ( |
| Display* , |
| Colormap , |
| XcmsColor* , |
| unsigned int , |
| XcmsColorFormat |
| ); |
|
|
| extern Status XcmsQueryGreen ( |
| XcmsCCC , |
| XcmsColorFormat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsQueryRed ( |
| XcmsCCC , |
| XcmsColorFormat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsQueryWhite ( |
| XcmsCCC , |
| XcmsColorFormat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsRGBiToCIEXYZ ( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsRGBiToRGB ( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsRGBToRGBi ( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern int XcmsScreenNumberOfCCC ( |
| XcmsCCC |
| ); |
|
|
| extern XcmsColor *XcmsScreenWhitePointOfCCC ( |
| XcmsCCC |
| ); |
|
|
| extern XcmsCCC XcmsSetCCCOfColormap( |
| Display* , |
| Colormap , |
| XcmsCCC |
| ); |
|
|
| extern XcmsCompressionProc XcmsSetCompressionProc ( |
| XcmsCCC , |
| XcmsCompressionProc , |
| XPointer |
| ); |
|
|
| extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc ( |
| XcmsCCC , |
| XcmsWhiteAdjustProc , |
| XPointer |
| ); |
|
|
| extern Status XcmsSetWhitePoint ( |
| XcmsCCC , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsStoreColor ( |
| Display* , |
| Colormap , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsStoreColors ( |
| Display* , |
| Colormap , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsTekHVCClipC( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsTekHVCClipV( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsTekHVCClipVC( |
| XcmsCCC , |
| XcmsColor* , |
| unsigned int , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Status XcmsTekHVCQueryMaxC ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsTekHVCQueryMaxV ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsTekHVCQueryMaxVC ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsTekHVCQueryMaxVSamples ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsTekHVCQueryMinV ( |
| XcmsCCC , |
| XcmsFloat , |
| XcmsFloat , |
| XcmsColor* |
| ); |
|
|
| extern Status XcmsTekHVCToCIEuvY ( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| unsigned int |
| ); |
|
|
| extern Status XcmsTekHVCWhiteShiftColors( |
| XcmsCCC , |
| XcmsColor* , |
| XcmsColor* , |
| XcmsColorFormat , |
| XcmsColor* , |
| unsigned int , |
| Bool* |
| ); |
|
|
| extern Visual *XcmsVisualOfCCC ( |
| XcmsCCC |
| ); |
|
|
| #ifdef __clang__ |
| #pragma clang diagnostic pop |
| #endif |
|
|
| _XFUNCPROTOEND |
|
|
| #endif |
|
|