Xcms.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:21k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $Xorg: Xcms.h,v 1.6 2000/08/17 19:45:04 cpqbld Exp $ */
  2. /*
  3.  * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
  4.  *  All Rights Reserved
  5.  * 
  6.  * This file is a component of an X Window System-specific implementation
  7.  * of Xcms based on the TekColor Color Management System.  Permission is
  8.  * hereby granted to use, copy, modify, sell, and otherwise distribute this
  9.  * software and its documentation for any purpose and without fee, provided
  10.  * that this copyright, permission, and disclaimer notice is reproduced in
  11.  * all copies of this software and in supporting documentation.  TekColor
  12.  * is a trademark of Tektronix, Inc.
  13.  * 
  14.  * Tektronix makes no representation about the suitability of this software
  15.  * for any purpose.  It is provided "as is" and with all faults.
  16.  * 
  17.  * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
  18.  * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  19.  * PARTICULAR PURPOSE.  IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
  20.  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  21.  * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
  22.  * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  23.  * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
  24.  *
  25.  *
  26.  * DESCRIPTION
  27.  * Public include file for X Color Management System
  28.  */
  29. /* $XFree86: xc/lib/X11/Xcms.h,v 1.7 2003/11/03 03:46:26 dawes Exp $ */
  30. #ifndef _XCMS_H_
  31. #define _XCMS_H_
  32. #include <X11/Xlib.h>
  33.     /*
  34.      * XCMS Status Values
  35.      */
  36. #define XcmsFailure 0
  37. #define XcmsSuccess 1
  38. #define XcmsSuccessWithCompression 2
  39.     /*
  40.      * Color Space Format ID's
  41.      *    Color Space ID's are of XcmsColorFormat type.
  42.      *
  43.      *    bit 31
  44.      *     0 == Device-Independent
  45.      *     1 == Device-Dependent
  46.      *
  47.      *    bit 30:
  48.      *     0 == Registered with X Consortium
  49.      *     1 == Unregistered
  50.      */
  51. #define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
  52. #define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
  53. #define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
  54. #define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
  55. #define XcmsCIELabFormat (XcmsColorFormat)0x00000004
  56. #define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
  57. #define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
  58. #define XcmsRGBFormat (XcmsColorFormat)0x80000000
  59. #define XcmsRGBiFormat (XcmsColorFormat)0x80000001
  60.     /*
  61.      * State of XcmsPerScrnInfo
  62.      */
  63. #define XcmsInitNone 0x00 /* no initialization attempted */
  64. #define XcmsInitSuccess 0x01 /* initialization successful */
  65. #define XcmsInitFailure 0xff /* failure, use defaults */
  66. #define DisplayOfCCC(ccc) ((ccc)->dpy)
  67. #define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
  68. #define VisualOfCCC(ccc) ((ccc)->visual)
  69. #define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
  70. #define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
  71. #define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
  72. typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
  73. typedef double XcmsFloat;
  74.     /*
  75.      * Device RGB
  76.      */
  77. typedef struct {
  78.     unsigned short red; /* scaled from 0x0000 to 0xffff */
  79.     unsigned short green; /* scaled from 0x0000 to 0xffff */
  80.     unsigned short blue; /* scaled from 0x0000 to 0xffff */
  81. } XcmsRGB;
  82.     /*
  83.      * RGB Intensity
  84.      */
  85. typedef struct {
  86.     XcmsFloat red; /* 0.0 - 1.0 */
  87.     XcmsFloat green; /* 0.0 - 1.0 */
  88.     XcmsFloat blue; /* 0.0 - 1.0 */
  89. } XcmsRGBi;
  90.     /*
  91.      * CIE XYZ
  92.      */
  93. typedef struct {
  94.     XcmsFloat X;
  95.     XcmsFloat Y;
  96.     XcmsFloat Z;
  97. } XcmsCIEXYZ;
  98.     /*
  99.      * CIE u'v'Y
  100.      */
  101. typedef struct {
  102.     XcmsFloat u_prime; /* 0.0 - 1.0 */
  103.     XcmsFloat v_prime; /* 0.0 - 1.0 */
  104.     XcmsFloat Y; /* 0.0 - 1.0 */
  105. } XcmsCIEuvY;
  106.     /*
  107.      * CIE xyY
  108.      */
  109. typedef struct {
  110.     XcmsFloat x; /* 0.0 - 1.0 */
  111.     XcmsFloat y; /* 0.0 - 1.0 */
  112.     XcmsFloat Y; /* 0.0 - 1.0 */
  113. } XcmsCIExyY;
  114.     /*
  115.      * CIE L*a*b*
  116.      */
  117. typedef struct {
  118.     XcmsFloat L_star; /* 0.0 - 100.0 */
  119.     XcmsFloat a_star;
  120.     XcmsFloat b_star;
  121. } XcmsCIELab;
  122.     /*
  123.      * CIE L*u*v*
  124.      */
  125. typedef struct {
  126.     XcmsFloat L_star; /* 0.0 - 100.0 */
  127.     XcmsFloat u_star;
  128.     XcmsFloat v_star;
  129. } XcmsCIELuv;
  130.     /*
  131.      * TekHVC
  132.      */
  133. typedef struct {
  134.     XcmsFloat H; /* 0.0 - 360.0 */
  135.     XcmsFloat V; /* 0.0 - 100.0 */
  136.     XcmsFloat C; /* 0.0 - 100.0 */
  137. } XcmsTekHVC;
  138.     /*
  139.      * PAD
  140.      */
  141. typedef struct {
  142.     XcmsFloat pad0;
  143.     XcmsFloat pad1;
  144.     XcmsFloat pad2;
  145.     XcmsFloat pad3;
  146. } XcmsPad;
  147.     /*
  148.      * XCMS Color Structure
  149.      */
  150. typedef struct {
  151.     union {
  152. XcmsRGB RGB;
  153. XcmsRGBi RGBi;
  154. XcmsCIEXYZ CIEXYZ;
  155. XcmsCIEuvY CIEuvY;
  156. XcmsCIExyY CIExyY;
  157. XcmsCIELab CIELab;
  158. XcmsCIELuv CIELuv;
  159. XcmsTekHVC TekHVC;
  160. XcmsPad Pad;
  161.     } spec; /* the color specification */
  162.     unsigned long pixel; /* pixel value (as needed) */
  163.     XcmsColorFormat format; /* the specification format */
  164. } XcmsColor;
  165.     /*
  166.      * XCMS Per Screen related data
  167.      */
  168. typedef struct _XcmsPerScrnInfo {
  169.     XcmsColor screenWhitePt; /* Screen White point */
  170.     XPointer functionSet; /* pointer to Screen Color Characterization */
  171. /*      Function Set structure */
  172.     XPointer screenData; /* pointer to corresponding Screen Color*/
  173. /* Characterization Data */
  174.     unsigned char state;   /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
  175.     char pad[3];
  176. } XcmsPerScrnInfo;
  177. typedef struct _XcmsCCC *XcmsCCC;
  178. typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
  179.     XcmsCCC /* ccc */,
  180.     XcmsColor* /* colors_in_out */,
  181.     unsigned int /* ncolors */,
  182.     unsigned int /* index */,
  183.     Bool* /* compression_flags_return */
  184. );
  185. typedef Status (*XcmsWhiteAdjustProc)(   /* White Point Adjust Proc */
  186.     XcmsCCC /* ccc */,
  187.     XcmsColor* /* initial_white_point*/,
  188.     XcmsColor* /* target_white_point*/,
  189.     XcmsColorFormat /* target_format */,
  190.     XcmsColor* /* colors_in_out */,
  191.     unsigned int /* ncolors */,
  192.     Bool* /* compression_flags_return */
  193. );
  194.     /*
  195.      * XCMS Color Conversion Context
  196.      */
  197. typedef struct _XcmsCCC {
  198.     Display *dpy; /* X Display */
  199.     int screenNumber; /* X screen number */
  200.     Visual *visual; /* X Visual */
  201.     XcmsColor clientWhitePt; /* Client White Point */
  202.     XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
  203.     XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
  204.     XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
  205.     XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
  206.     XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
  207. /*  associated with the above display */
  208. /*  screenNumber */
  209. } XcmsCCCRec;
  210. typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
  211.     Display* /* dpy */,
  212.     int /* screen_number */,
  213.     XcmsPerScrnInfo* /* screen_info */
  214. );
  215. typedef void (*XcmsScreenFreeProc)(
  216.     XPointer /* screenData */
  217. );
  218.     /*
  219.      * Function List Pointer -- pointer to an array of function pointers.
  220.      *    The end of list is indicated by a NULL pointer.
  221.      */
  222. /*
  223.  * XXX:  The use of the XcmsConversionProc type is broken.  The
  224.  *       device-independent colour conversion code uses it as:
  225. typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *, 
  226.      unsigned int);
  227.  *       while the device-dependent code uses it as:
  228. typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
  229.      Bool *);
  230.  *       Until this is reworked, it's probably best to leave it unprotoized.
  231.  *       The code works regardless.
  232.  */
  233. typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
  234.     XcmsCCC             /* ccc */,
  235.     XcmsColor*          /* pcolors_in_out */,
  236.     unsigned int        /* ncolors */,
  237.     Bool*               /* pCompressed */
  238.     );
  239. typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
  240.     XcmsCCC             /* ccc */,
  241.     XcmsColor*          /* white_point */,
  242.     XcmsColor*          /* pcolors_in_out */,
  243.     unsigned int        /* ncolors */
  244.     );
  245. typedef XcmsDIConversionProc XcmsConversionProc;
  246. typedef XcmsConversionProc *XcmsFuncListPtr;
  247. typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
  248.     char* /* color_string */,
  249.     XcmsColor* /* color_return */
  250. );
  251.     /*
  252.      * Color Space -- per Color Space related data (Device-Independent
  253.      *    or Device-Dependent)
  254.      */
  255. typedef struct _XcmsColorSpace {
  256.     const char *prefix; /* Prefix of string format. */
  257.     XcmsColorFormat id; /* Format ID number. */
  258.     XcmsParseStringProc parseString;
  259. /* String format parsing function */
  260.     XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function  */
  261. /*   pointers such that when the */
  262. /*   functions are executed in sequence */
  263. /*   will convert a XcmsColor structure */
  264. /*   from this color space to CIEXYZ */
  265. /*   space. */
  266.     XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function  */
  267. /*   pointers such that when the */
  268. /*   functions are executed in sequence */
  269. /*   will convert a XcmsColor structure */
  270. /*   from CIEXYZ space to this color */
  271. /*   space. */
  272.     int inverse_flag; /* If 1, indicates that for 0 <= i < n */
  273. /*   where n is the number of function */
  274. /*   pointers in the lists to_CIEXYZ */
  275. /*   and from_CIEXYZ; for each function */
  276. /*   to_CIEXYZ[i] its inverse function */
  277. /*   is from_CIEXYZ[n - i]. */
  278. } XcmsColorSpace;
  279.     /*
  280.      * Screen Color Characterization Function Set -- per device class
  281.      *    color space conversion functions.
  282.      */
  283. typedef struct _XcmsFunctionSet {
  284.     XcmsColorSpace **DDColorSpaces;
  285. /* Pointer to an array of pointers to */
  286. /*   Device-DEPENDENT color spaces */
  287. /*   understood by this SCCFuncSet. */
  288.     XcmsScreenInitProc screenInitProc;
  289. /* Screen initialization function that */
  290. /*   reads Screen Color Characterization*/
  291. /*   Data off properties on the screen's*/
  292. /*   root window. */
  293.     XcmsScreenFreeProc screenFreeProc;
  294. /* Function that frees the SCCData */
  295. /*   structures. */
  296. } XcmsFunctionSet;
  297. _XFUNCPROTOBEGIN
  298. extern Status XcmsAddColorSpace (
  299.     XcmsColorSpace* /* pColorSpace */
  300. );
  301. extern Status XcmsAddFunctionSet (
  302.     XcmsFunctionSet* /* functionSet */
  303. );
  304. extern Status XcmsAllocColor (
  305.     Display* /* dpy */,
  306.     Colormap /* colormap */,
  307.     XcmsColor* /* color_in_out */,
  308.     XcmsColorFormat /* result_format */
  309. );
  310. extern Status XcmsAllocNamedColor (
  311.     Display* /* dpy */,
  312.     Colormap /* colormap */,
  313.     _Xconst char* /* color_string */,
  314.     XcmsColor* /* color_scrn_return */,
  315.     XcmsColor* /* color_exact_return */,
  316.     XcmsColorFormat /* result_format */
  317. );
  318. extern XcmsCCC XcmsCCCOfColormap (
  319.     Display* /* dpy */,
  320.     Colormap /* colormap */
  321. );
  322. extern Status XcmsCIELabClipab(
  323.     XcmsCCC /* ccc */,
  324.     XcmsColor* /* colors_in_out */,
  325.     unsigned int /* ncolors */,
  326.     unsigned int /* index */,
  327.     Bool* /* compression_flags_return */
  328. );
  329. extern Status XcmsCIELabClipL(
  330.     XcmsCCC /* ccc */,
  331.     XcmsColor* /* colors_in_out */,
  332.     unsigned int /* ncolors */,
  333.     unsigned int /* index */,
  334.     Bool* /* compression_flags_return */
  335. );
  336. extern Status XcmsCIELabClipLab(
  337.     XcmsCCC /* ccc */,
  338.     XcmsColor* /* colors_in_out */,
  339.     unsigned int /* ncolors */,
  340.     unsigned int /* index */,
  341.     Bool* /* compression_flags_return */
  342. );
  343. extern Status XcmsCIELabQueryMaxC (
  344.     XcmsCCC /* ccc */,
  345.     XcmsFloat /* hue_angle */,
  346.     XcmsFloat /* L_star */,
  347.     XcmsColor* /* color_return */
  348. );
  349. extern Status XcmsCIELabQueryMaxL (
  350.     XcmsCCC /* ccc */,
  351.     XcmsFloat /* hue_angle */,
  352.     XcmsFloat /* chroma */,
  353.     XcmsColor* /* color_return */
  354. );
  355. extern Status XcmsCIELabQueryMaxLC (
  356.     XcmsCCC /* ccc */,
  357.     XcmsFloat /* hue_angle */,
  358.     XcmsColor* /* color_return */
  359. );
  360. extern Status XcmsCIELabQueryMinL (
  361.     XcmsCCC /* ccc */,
  362.     XcmsFloat /* hue_angle */,
  363.     XcmsFloat /* chroma */,
  364.     XcmsColor* /* color_return */
  365. );
  366. extern Status XcmsCIELabToCIEXYZ (
  367.     XcmsCCC /* ccc */,
  368.     XcmsColor* /* white_point */,
  369.     XcmsColor* /* colors */,
  370.     unsigned int /* ncolors */
  371. );
  372. extern Status XcmsCIELabWhiteShiftColors(
  373.     XcmsCCC /* ccc */,
  374.     XcmsColor* /* initial_white_point*/,
  375.     XcmsColor* /* target_white_point*/,
  376.     XcmsColorFormat /* target_format */,
  377.     XcmsColor* /* colors_in_out */,
  378.     unsigned int /* ncolors */,
  379.     Bool* /* compression_flags_return */
  380. );
  381. extern Status XcmsCIELuvClipL(
  382.     XcmsCCC /* ccc */,
  383.     XcmsColor* /* colors_in_out */,
  384.     unsigned int /* ncolors */,
  385.     unsigned int /* index */,
  386.     Bool* /* compression_flags_return */
  387. );
  388. extern Status XcmsCIELuvClipLuv(
  389.     XcmsCCC /* ccc */,
  390.     XcmsColor* /* colors_in_out */,
  391.     unsigned int /* ncolors */,
  392.     unsigned int /* index */,
  393.     Bool* /* compression_flags_return */
  394. );
  395. extern Status XcmsCIELuvClipuv(
  396.     XcmsCCC /* ccc */,
  397.     XcmsColor* /* colors_in_out */,
  398.     unsigned int /* ncolors */,
  399.     unsigned int /* index */,
  400.     Bool* /* compression_flags_return */
  401. );
  402. extern Status XcmsCIELuvQueryMaxC (
  403.     XcmsCCC /* ccc */,
  404.     XcmsFloat /* hue_angle */,
  405.     XcmsFloat /* L_star */,
  406.     XcmsColor* /* color_return */
  407. );
  408. extern Status XcmsCIELuvQueryMaxL (
  409.     XcmsCCC /* ccc */,
  410.     XcmsFloat /* hue_angle */,
  411.     XcmsFloat /* chroma */,
  412.     XcmsColor* /* color_return */
  413. );
  414. extern Status XcmsCIELuvQueryMaxLC (
  415.     XcmsCCC /* ccc */,
  416.     XcmsFloat /* hue_angle */,
  417.     XcmsColor* /* color_return */
  418. );
  419. extern Status XcmsCIELuvQueryMinL (
  420.     XcmsCCC /* ccc */,
  421.     XcmsFloat /* hue_angle */,
  422.     XcmsFloat /* chroma */,
  423.     XcmsColor* /* color_return */
  424. );
  425. extern Status XcmsCIELuvToCIEuvY (
  426.     XcmsCCC /* ccc */,
  427.     XcmsColor* /* white_point */,
  428.     XcmsColor* /* colors */,
  429.     unsigned int /* ncolors */
  430. );
  431. extern Status XcmsCIELuvWhiteShiftColors(
  432.     XcmsCCC /* ccc */,
  433.     XcmsColor* /* initial_white_point*/,
  434.     XcmsColor* /* target_white_point*/,
  435.     XcmsColorFormat /* target_format */,
  436.     XcmsColor* /* colors_in_out */,
  437.     unsigned int /* ncolors */,
  438.     Bool* /* compression_flags_return */
  439. );
  440. extern Status XcmsCIEXYZToCIELab (
  441.     XcmsCCC /* ccc */,
  442.     XcmsColor* /* white_point */,
  443.     XcmsColor* /* colors */,
  444.     unsigned int /* ncolors */
  445. );
  446. extern Status XcmsCIEXYZToCIEuvY (
  447.     XcmsCCC /* ccc */,
  448.     XcmsColor* /* white_point */,
  449.     XcmsColor* /* colors */,
  450.     unsigned int /* ncolors */
  451. );
  452. extern Status XcmsCIEXYZToCIExyY (
  453.     XcmsCCC /* ccc */,
  454.     XcmsColor* /* white_point */,
  455.     XcmsColor* /* colors */,
  456.     unsigned int /* ncolors */
  457. );
  458. extern Status XcmsCIEXYZToRGBi (
  459.     XcmsCCC /* ccc */,
  460.     XcmsColor* /* colors */,
  461.     unsigned int /* ncolors */,
  462.     Bool* /* compression_flags_return */
  463. );
  464. extern Status XcmsCIEuvYToCIELuv (
  465.     XcmsCCC /* ccc */,
  466.     XcmsColor* /* white_point */,
  467.     XcmsColor* /* colors */,
  468.     unsigned int /* ncolors */
  469. );
  470. extern Status XcmsCIEuvYToCIEXYZ (
  471.     XcmsCCC /* ccc */,
  472.     XcmsColor* /* white_point */,
  473.     XcmsColor* /* colors */,
  474.     unsigned int /* ncolors */
  475. );
  476. extern Status XcmsCIEuvYToTekHVC (
  477.     XcmsCCC /* ccc */,
  478.     XcmsColor* /* white_point */,
  479.     XcmsColor* /* colors */,
  480.     unsigned int /* ncolors */
  481. );
  482. extern Status XcmsCIExyYToCIEXYZ (
  483.     XcmsCCC /* ccc */,
  484.     XcmsColor* /* white_point */,
  485.     XcmsColor* /* colors */,
  486.     unsigned int /* ncolors */
  487. );
  488. extern XcmsColor *XcmsClientWhitePointOfCCC (
  489.     XcmsCCC /* ccc */
  490. );
  491. extern Status XcmsConvertColors (
  492.     XcmsCCC /* ccc */,
  493.     XcmsColor* /* colorArry_in_out */,
  494.     unsigned int /* nColors */,
  495.     XcmsColorFormat /* targetFormat */,
  496.     Bool* /* compArry_return */
  497. );
  498. extern XcmsCCC XcmsCreateCCC (
  499.     Display* /* dpy */,
  500.     int /* screenNumber */,
  501.     Visual* /* visual */,
  502.     XcmsColor* /* clientWhitePt */,
  503.     XcmsCompressionProc /* gamutCompProc */,
  504.     XPointer /* gamutCompClientData */,
  505.     XcmsWhiteAdjustProc /* whitePtAdjProc */,
  506.     XPointer /* whitePtAdjClientData */
  507. );
  508. extern XcmsCCC XcmsDefaultCCC (
  509.     Display* /* dpy */,
  510.     int /* screenNumber */
  511. );
  512. extern Display *XcmsDisplayOfCCC (
  513.     XcmsCCC /* ccc */
  514. );
  515. extern XcmsColorFormat XcmsFormatOfPrefix (
  516.     char* /* prefix */
  517. );
  518. extern void XcmsFreeCCC (
  519.     XcmsCCC /* ccc */
  520. );
  521. extern Status XcmsLookupColor (
  522.     Display* /* dpy */,
  523.     Colormap /* colormap */,
  524.     _Xconst char* /* color_string */,
  525.     XcmsColor* /* pColor_exact_in_out */,
  526.     XcmsColor* /* pColor_scrn_in_out */,
  527.     XcmsColorFormat /* result_format */
  528. );
  529. extern char *XcmsPrefixOfFormat (
  530.     XcmsColorFormat /* id */
  531. );
  532. extern Status XcmsQueryBlack (
  533.     XcmsCCC /* ccc */,
  534.     XcmsColorFormat /* target_format */,
  535.     XcmsColor* /* color_return */
  536. );
  537. extern Status XcmsQueryBlue (
  538.     XcmsCCC /* ccc */,
  539.     XcmsColorFormat /* target_format */,
  540.     XcmsColor* /* color_return */
  541. );
  542. extern Status XcmsQueryColor (
  543.     Display* /* dpy */,
  544.     Colormap /* colormap */,
  545.     XcmsColor* /* pColor_in_out */,
  546.     XcmsColorFormat /* result_format */
  547. );
  548. extern Status XcmsQueryColors (
  549.     Display* /* dpy */,
  550.     Colormap /* colormap */,
  551.     XcmsColor* /* colorArry_in_out */,
  552.     unsigned int /* nColors */,
  553.     XcmsColorFormat /* result_format */
  554. );
  555. extern Status XcmsQueryGreen (
  556.     XcmsCCC /* ccc */,
  557.     XcmsColorFormat /* target_format */,
  558.     XcmsColor* /* color_return */
  559. );
  560. extern Status XcmsQueryRed (
  561.     XcmsCCC /* ccc */,
  562.     XcmsColorFormat /* target_format */,
  563.     XcmsColor* /* color_return */
  564. );
  565. extern Status XcmsQueryWhite (
  566.     XcmsCCC /* ccc */,
  567.     XcmsColorFormat /* target_format */,
  568.     XcmsColor* /* color_return */
  569. );
  570. extern Status XcmsRGBiToCIEXYZ (
  571.     XcmsCCC /* ccc */,
  572.     XcmsColor* /* colors */,
  573.     unsigned int /* ncolors */,
  574.     Bool* /* compression_flags_return */
  575. );
  576. extern Status XcmsRGBiToRGB (
  577.     XcmsCCC /* ccc */,
  578.     XcmsColor* /* colors */,
  579.     unsigned int /* ncolors */,
  580.     Bool* /* compression_flags_return */
  581. );
  582. extern Status XcmsRGBToRGBi (
  583.     XcmsCCC /* ccc */,
  584.     XcmsColor* /* colors */,
  585.     unsigned int /* ncolors */,
  586.     Bool* /* compression_flags_return */
  587. );
  588. extern int XcmsScreenNumberOfCCC (
  589.     XcmsCCC /* ccc */
  590. );
  591. extern XcmsColor *XcmsScreenWhitePointOfCCC (
  592.     XcmsCCC /* ccc */
  593. );
  594. extern XcmsCCC XcmsSetCCCOfColormap(
  595.     Display* /* dpy */,
  596.     Colormap /* colormap */,
  597.     XcmsCCC /* ccc */
  598. );
  599. extern XcmsCompressionProc XcmsSetCompressionProc (
  600.     XcmsCCC /* ccc */,
  601.     XcmsCompressionProc /* compression_proc */,
  602.     XPointer /* client_data */
  603. );
  604. extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
  605.     XcmsCCC /* ccc */,
  606.     XcmsWhiteAdjustProc /* white_adjust_proc */,
  607.     XPointer /* client_data */
  608. );
  609. extern Status XcmsSetWhitePoint (
  610.     XcmsCCC /* ccc */,
  611.     XcmsColor* /* color */
  612. );
  613. extern Status XcmsStoreColor (
  614.     Display* /* dpy */,
  615.     Colormap /* colormap */,
  616.     XcmsColor* /* pColor_in */
  617. );
  618. extern Status XcmsStoreColors (
  619.     Display* /* dpy */,
  620.     Colormap /* colormap */,
  621.     XcmsColor* /* colorArry_in */,
  622.     unsigned int /* nColors */,
  623.     Bool* /* compArry_return */
  624. );
  625. extern Status XcmsTekHVCClipC(
  626.     XcmsCCC /* ccc */,
  627.     XcmsColor* /* colors_in_out */,
  628.     unsigned int /* ncolors */,
  629.     unsigned int /* index */,
  630.     Bool* /* compression_flags_return */
  631. );
  632. extern Status XcmsTekHVCClipV(
  633.     XcmsCCC /* ccc */,
  634.     XcmsColor* /* colors_in_out */,
  635.     unsigned int /* ncolors */,
  636.     unsigned int /* index */,
  637.     Bool* /* compression_flags_return */
  638. );
  639. extern Status XcmsTekHVCClipVC(
  640.     XcmsCCC /* ccc */,
  641.     XcmsColor* /* colors_in_out */,
  642.     unsigned int /* ncolors */,
  643.     unsigned int /* index */,
  644.     Bool* /* compression_flags_return */
  645. );
  646. extern Status XcmsTekHVCQueryMaxC (
  647.     XcmsCCC /* ccc */,
  648.     XcmsFloat /* hue */,
  649.     XcmsFloat /* value */,
  650.     XcmsColor* /* color_return */
  651. );
  652. extern Status XcmsTekHVCQueryMaxV (
  653.     XcmsCCC /* ccc */,
  654.     XcmsFloat /* hue */,
  655.     XcmsFloat /* chroma */,
  656.     XcmsColor* /* color_return */
  657. );
  658. extern Status XcmsTekHVCQueryMaxVC (
  659.     XcmsCCC /* ccc */,
  660.     XcmsFloat /* hue */,
  661.     XcmsColor* /* color_return */
  662. );
  663. extern Status XcmsTekHVCQueryMaxVSamples (
  664.     XcmsCCC /* ccc */,
  665.     XcmsFloat /* hue */,
  666.     XcmsColor* /* colors_return */,
  667.     unsigned int /* nsamples */
  668. );
  669. extern Status XcmsTekHVCQueryMinV (
  670.     XcmsCCC /* ccc */,
  671.     XcmsFloat /* hue */,
  672.     XcmsFloat /* chroma */,
  673.     XcmsColor* /* color_return */
  674. );
  675. extern Status XcmsTekHVCToCIEuvY (
  676.     XcmsCCC /* ccc */,
  677.     XcmsColor* /* white_point */,
  678.     XcmsColor* /* colors */,
  679.     unsigned int /* ncolors */
  680. );
  681. extern Status XcmsTekHVCWhiteShiftColors(
  682.     XcmsCCC /* ccc */,
  683.     XcmsColor* /* initial_white_point*/,
  684.     XcmsColor* /* target_white_point*/,
  685.     XcmsColorFormat /* target_format */,
  686.     XcmsColor* /* colors_in_out */,
  687.     unsigned int /* ncolors */,
  688.     Bool* /* compression_flags_return */
  689. );
  690. extern Visual *XcmsVisualOfCCC (
  691.     XcmsCCC /* ccc */
  692. );
  693. _XFUNCPROTOEND
  694. #endif /* _XCMS_H_ */