VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/7.0/X11/Xcms.h@ 6202

最後變更 在這個檔案從6202是 6202,由 vboxsync 提交於 17 年 前

re-export x11

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette