Cv.h revision 1ab64890
11ab64890Smrg/* $XFree86: xc/lib/X11/Cv.h,v 1.1 2003/04/13 19:22:15 dawes Exp $ */
21ab64890Smrg
31ab64890Smrg#ifndef _CV_H_
41ab64890Smrg#define _CV_H_
51ab64890Smrg
61ab64890Smrg/* variables */
71ab64890Smrgextern const char      _XcmsCIEXYZ_prefix[];
81ab64890Smrgextern const char      _XcmsCIEuvY_prefix[];
91ab64890Smrgextern const char      _XcmsCIExyY_prefix[];
101ab64890Smrgextern const char      _XcmsCIELab_prefix[];
111ab64890Smrgextern const char      _XcmsCIELuv_prefix[];
121ab64890Smrgextern const char      _XcmsTekHVC_prefix[];
131ab64890Smrgextern const char      _XcmsRGBi_prefix[];
141ab64890Smrgextern const char      _XcmsRGB_prefix[];
151ab64890Smrg
161ab64890Smrgextern XcmsColorSpace  XcmsUNDEFINEDColorSpace;
171ab64890Smrgextern XcmsColorSpace  XcmsTekHVCColorSpace;
181ab64890Smrgextern XcmsColorSpace  XcmsCIEXYZColorSpace;
191ab64890Smrgextern XcmsColorSpace  XcmsCIEuvYColorSpace;
201ab64890Smrgextern XcmsColorSpace  XcmsCIExyYColorSpace;
211ab64890Smrgextern XcmsColorSpace  XcmsCIELabColorSpace;
221ab64890Smrgextern XcmsColorSpace  XcmsCIELuvColorSpace;
231ab64890Smrgextern XcmsColorSpace  XcmsRGBColorSpace;
241ab64890Smrgextern XcmsColorSpace  XcmsRGBiColorSpace;
251ab64890Smrg
261ab64890Smrgextern XcmsColorSpace  *_XcmsDIColorSpacesInit[];
271ab64890Smrgextern XcmsColorSpace  **_XcmsDIColorSpaces;
281ab64890Smrg
291ab64890Smrgextern XcmsColorSpace  *_XcmsDDColorSpacesInit[];
301ab64890Smrgextern XcmsColorSpace  **_XcmsDDColorSpaces;
311ab64890Smrg
321ab64890Smrgextern XcmsFunctionSet XcmsLinearRGBFunctionSet;
331ab64890Smrg
341ab64890Smrgextern XcmsFunctionSet *_XcmsSCCFuncSetsInit[];
351ab64890Smrgextern XcmsFunctionSet **_XcmsSCCFuncSets;
361ab64890Smrg
371ab64890Smrgextern XcmsRegColorSpaceEntry _XcmsRegColorSpaces[];
381ab64890Smrg
391ab64890Smrg/* functions */
401ab64890Smrgextern XPointer *
411ab64890Smrg_XcmsCopyPointerArray(
421ab64890Smrg    XPointer *pap);
431ab64890Smrgextern void
441ab64890Smrg_XcmsFreePointerArray(
451ab64890Smrg    XPointer *pap);
461ab64890Smrgextern XPointer *
471ab64890Smrg_XcmsPushPointerArray(
481ab64890Smrg    XPointer *pap,
491ab64890Smrg    XPointer p,
501ab64890Smrg    XPointer *papNoFree);
511ab64890Smrgextern Status
521ab64890Smrg_XcmsCIEXYZ_ValidSpec(
531ab64890Smrg    XcmsColor *pColor);
541ab64890Smrgextern Status
551ab64890Smrg_XcmsCIEuvY_ValidSpec(
561ab64890Smrg    XcmsColor *pColor);
571ab64890Smrgextern int
581ab64890Smrg_XcmsTekHVC_CheckModify(
591ab64890Smrg    XcmsColor *pColor);
601ab64890Smrg
611ab64890Smrgextern Status
621ab64890Smrg_XcmsTekHVCQueryMaxVCRGB(
631ab64890Smrg    XcmsCCC     ccc,
641ab64890Smrg    XcmsFloat   hue,
651ab64890Smrg    XcmsColor   *pColor_return,
661ab64890Smrg    XcmsRGBi    *pRGB_return);
671ab64890Smrgextern Status
681ab64890Smrg_XcmsCIELabQueryMaxLCRGB(
691ab64890Smrg    XcmsCCC     ccc,
701ab64890Smrg    XcmsFloat   hue,                /* hue in radians */
711ab64890Smrg    XcmsColor   *pColor_return,
721ab64890Smrg    XcmsRGBi    *pRGB_return);
731ab64890Smrgextern Status
741ab64890Smrg_XcmsConvertColorsWithWhitePt(
751ab64890Smrg    XcmsCCC ccc,
761ab64890Smrg    XcmsColor *pColors_in_out,
771ab64890Smrg    XcmsColor *pWhitePt,
781ab64890Smrg    unsigned int nColors,
791ab64890Smrg    XcmsColorFormat newFormat,
801ab64890Smrg    Bool *pCompressed);
811ab64890Smrg
821ab64890Smrgextern Status
831ab64890Smrg_XcmsDIConvertColors(
841ab64890Smrg    XcmsCCC ccc,
851ab64890Smrg    XcmsColor *pColors_in_out,
861ab64890Smrg    XcmsColor *pWhitePt,
871ab64890Smrg    unsigned int nColors,
881ab64890Smrg    XcmsColorFormat newFormat);
891ab64890Smrgextern Status
901ab64890Smrg_XcmsDDConvertColors(
911ab64890Smrg    XcmsCCC ccc,
921ab64890Smrg    XcmsColor *pColors_in_out,
931ab64890Smrg    unsigned int nColors,
941ab64890Smrg    XcmsColorFormat newFormat,
951ab64890Smrg    Bool *pCompressed);
961ab64890Smrgextern XcmsColorFormat
971ab64890Smrg_XcmsRegFormatOfPrefix(
981ab64890Smrg    _Xconst char *prefix);
991ab64890Smrgextern void
1001ab64890Smrg_XColor_to_XcmsRGB(
1011ab64890Smrg    XcmsCCC ccc,
1021ab64890Smrg    XColor *pXColors,
1031ab64890Smrg    XcmsColor *pColors,
1041ab64890Smrg    unsigned int nColors);
1051ab64890Smrgextern Status
1061ab64890Smrg_XcmsSetGetColor(
1071ab64890Smrg    Status (*xColorProc)(
1081ab64890Smrg        Display*            /* display */,
1091ab64890Smrg        Colormap            /* colormap */,
1101ab64890Smrg        XColor*             /* screen_in_out */),
1111ab64890Smrg    Display *dpy,
1121ab64890Smrg    Colormap cmap,
1131ab64890Smrg    XcmsColor *pColors_in_out,
1141ab64890Smrg    XcmsColorFormat result_format,
1151ab64890Smrg    Bool *pCompressed);
1161ab64890Smrgextern Status
1171ab64890Smrg_XcmsSetGetColors(
1181ab64890Smrg    Status (*xColorProc)(
1191ab64890Smrg        Display*            /* display */,
1201ab64890Smrg        Colormap            /* colormap */,
1211ab64890Smrg        XColor*             /* screen_in_out */,
1221ab64890Smrg        int                 /* nColors */),
1231ab64890Smrg    Display *dpy,
1241ab64890Smrg    Colormap cmap,
1251ab64890Smrg    XcmsColor *pColors_in_out,
1261ab64890Smrg    int nColors,
1271ab64890Smrg    XcmsColorFormat result_format,
1281ab64890Smrg    Bool *pCompressed);
1291ab64890Smrgextern Status
1301ab64890Smrg_XcmsCIELuvQueryMaxLCRGB(
1311ab64890Smrg    XcmsCCC     ccc,
1321ab64890Smrg    XcmsFloat   hue,            /* hue in radians */
1331ab64890Smrg    XcmsColor   *pColor_return,
1341ab64890Smrg    XcmsRGBi    *pRGB_return);
1351ab64890Smrg
1361ab64890Smrgextern XcmsIntensityMap *
1371ab64890Smrg_XcmsGetIntensityMap(
1381ab64890Smrg    Display *dpy,
1391ab64890Smrg    Visual *visual);
1401ab64890Smrgextern int
1411ab64890Smrg_XcmsInitDefaultCCCs(
1421ab64890Smrg    Display *dpy);
1431ab64890Smrgextern int
1441ab64890Smrg_XcmsInitScrnInfo(
1451ab64890Smrg    register Display *dpy,
1461ab64890Smrg    int screenNumber);
1471ab64890Smrgextern XcmsCmapRec *
1481ab64890Smrg_XcmsCopyCmapRecAndFree(
1491ab64890Smrg    Display *dpy,
1501ab64890Smrg    Colormap src_cmap,
1511ab64890Smrg    Colormap copy_cmap);
1521ab64890Smrgextern void
1531ab64890Smrg_XcmsCopyISOLatin1Lowered(
1541ab64890Smrg    char *dst,
1551ab64890Smrg    const char *src);
1561ab64890Smrgextern int
1571ab64890Smrg_XcmsEqualWhitePts(
1581ab64890Smrg    XcmsCCC ccc, XcmsColor *pWhitePt1, XcmsColor *pWhitePt2);
1591ab64890Smrgextern int
1601ab64890Smrg_XcmsLRGB_InitScrnDefault(
1611ab64890Smrg    Display *dpy,
1621ab64890Smrg    int screenNumber,
1631ab64890Smrg    XcmsPerScrnInfo *pPerScrnInfo);
1641ab64890Smrgextern void
1651ab64890Smrg_XcmsFreeIntensityMaps(
1661ab64890Smrg    Display *dpy);
1671ab64890Smrgextern int
1681ab64890Smrg_XcmsGetProperty(
1691ab64890Smrg    Display *pDpy,
1701ab64890Smrg    Window  w,
1711ab64890Smrg    Atom property,
1721ab64890Smrg    int             *pFormat,
1731ab64890Smrg    unsigned long   *pNItems,
1741ab64890Smrg    unsigned long   *pNBytes,
1751ab64890Smrg    char            **pValue);
1761ab64890Smrgextern unsigned long
1771ab64890Smrg_XcmsGetElement(
1781ab64890Smrg    int             format,
1791ab64890Smrg    char            **pValue,
1801ab64890Smrg    unsigned long   *pCount);
1811ab64890Smrgextern void
1821ab64890Smrg_XcmsUnresolveColor(
1831ab64890Smrg    XcmsCCC ccc,
1841ab64890Smrg    XcmsColor *pColor);
1851ab64890Smrgextern void
1861ab64890Smrg_XcmsResolveColor(
1871ab64890Smrg    XcmsCCC ccc,
1881ab64890Smrg    XcmsColor *pXcmsColor);
1891ab64890Smrg
1901ab64890Smrg#endif /* _CV_H_ */
191