XcmsColor, XcmsRGB, XcmsRGBi, XcmsCIEXYZ, XcmsCIEuvY, XcmsCIExyY, XcmsCIELab,
XcmsCIELuv, XcmsTekHVC, XcmsPad - Xcms color structure
The structure for XcmsColor contains:
typedef unsigned long XcmsColorFormat; /* Color Specification Format */
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; /* Xcms Color Structure */
typedef double XcmsFloat;
typedef struct {
unsigned short red; /* 0x0000 to 0xffff */
unsigned short green; /* 0x0000 to 0xffff */
unsigned short blue; /* 0x0000 to 0xffff */
} XcmsRGB; /* RGB Device */
typedef struct {
XcmsFloat red; /* 0.0 to 1.0 */
XcmsFloat green; /* 0.0 to 1.0 */
XcmsFloat blue; /* 0.0 to 1.0 */
} XcmsRGBi; /* RGB Intensity */
typedef struct {
XcmsFloat X;
XcmsFloat Y; /* 0.0 to 1.0 */
XcmsFloat Z;
} XcmsCIEXYZ; /* CIE XYZ */
typedef struct {
XcmsFloat u_prime; /* 0.0 to ~0.6 */
XcmsFloat v_prime; /* 0.0 to ~0.6 */
XcmsFloat Y; /* 0.0 to 1.0 */
} XcmsCIEuvY; /* CIE u'v'Y */
typedef struct {
XcmsFloat x; /* 0.0 to ~.75 */
XcmsFloat y; /* 0.0 to ~.85 */
XcmsFloat Y; /* 0.0 to 1.0 */
} XcmsCIExyY; /* CIE xyY */
typedef struct {
XcmsFloat L_star; /* 0.0 to 100.0 */
XcmsFloat a_star;
XcmsFloat b_star;
} XcmsCIELab; /* CIE L*a*b* */
typedef struct {
XcmsFloat L_star; /* 0.0 to 100.0 */
XcmsFloat u_star;
XcmsFloat v_star;
} XcmsCIELuv; /* CIE L*u*v* */
typedef struct {
XcmsFloat H; /* 0.0 to 360.0 */
XcmsFloat V; /* 0.0 to 100.0 */
XcmsFloat C; /* 0.0 to 100.0 */
} XcmsTekHVC; /* TekHVC */
typedef struct {
XcmsFloat pad0;
XcmsFloat pad1;
XcmsFloat pad2;
XcmsFloat pad3;
} XcmsPad; /* four doubles */
The XcmsColor structure contains a union of substructures, each
supporting color specification encoding for a particular color space.
XcmsAllocColor(3), XcmsStoreColor(3), XcmsConvertColors(3),
Xlib - C Language X Interface