| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | #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 |
| |
|