⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xcms.h

📁 unix vnc 协议源码. VNC是一款远程控制工具软件.
💻 H
📖 第 1 页 / 共 2 页
字号:
/* $XConsortium: Xcms.h,v 1.15 92/11/19 16:43:04 rws Exp $ *//* * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. * 	All Rights Reserved *  * This file is a component of an X Window System-specific implementation * of Xcms based on the TekColor Color Management System.  Permission is * hereby granted to use, copy, modify, sell, and otherwise distribute this * software and its documentation for any purpose and without fee, provided * that this copyright, permission, and disclaimer notice is reproduced in * all copies of this software and in supporting documentation.  TekColor * is a trademark of Tektronix, Inc. *  * Tektronix makes no representation about the suitability of this software * for any purpose.  It is provided "as is" and with all faults. *  * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE.  IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. * * *	DESCRIPTION *		Public include file for X Color Management System */#ifndef _XCMS_H_#define _XCMS_H_    /*     * XCMS Status Values     */#define XcmsFailure			0#define XcmsSuccess			1#define XcmsSuccessWithCompression	2    /*     * Color Space Format ID's     *    Color Space ID's are of XcmsColorFormat type.     *     *    bit 31     *	    0 == Device-Independent     *	    1 == Device-Dependent     *     *    bit 30:     *	    0 == Registered with X Consortium     *	    1 == Unregistered     */#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    /*     * State of XcmsPerScrnInfo     */#define XcmsInitNone		0x00	/* no initialization attempted */#define XcmsInitSuccess		0x01	/* initialization successful */#define XcmsInitFailure		0xff	/* failure, use defaults */#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;	/* Color Space Format ID */typedef double XcmsFloat;    /*     * Device RGB     */typedef struct {    unsigned short red;		/* scaled from 0x0000 to 0xffff */    unsigned short green;	/* scaled from 0x0000 to 0xffff */    unsigned short blue;	/* scaled from 0x0000 to 0xffff */} XcmsRGB;    /*     * RGB Intensity     */typedef struct {    XcmsFloat red;	/* 0.0 - 1.0 */    XcmsFloat green;	/* 0.0 - 1.0 */    XcmsFloat blue;	/* 0.0 - 1.0 */} XcmsRGBi;    /*     * CIE XYZ     */typedef struct {    XcmsFloat X;    XcmsFloat Y;    XcmsFloat Z;} XcmsCIEXYZ;    /*     * CIE u'v'Y     */typedef struct {    XcmsFloat u_prime;		/* 0.0 - 1.0 */    XcmsFloat v_prime;		/* 0.0 - 1.0 */    XcmsFloat Y;		/* 0.0 - 1.0 */} XcmsCIEuvY;    /*     * CIE xyY     */typedef struct {    XcmsFloat x;		/* 0.0 - 1.0 */    XcmsFloat y;		/* 0.0 - 1.0 */    XcmsFloat Y;		/* 0.0 - 1.0 */} XcmsCIExyY;    /*     * CIE L*a*b*     */typedef struct {    XcmsFloat L_star;		/* 0.0 - 100.0 */    XcmsFloat a_star;    XcmsFloat b_star;} XcmsCIELab;    /*     * CIE L*u*v*     */typedef struct {    XcmsFloat L_star;		/* 0.0 - 100.0 */    XcmsFloat u_star;    XcmsFloat v_star;} XcmsCIELuv;    /*     * TekHVC     */typedef struct {    XcmsFloat H;		/* 0.0 - 360.0 */    XcmsFloat V;		/* 0.0 - 100.0 */    XcmsFloat C;		/* 0.0 - 100.0 */} XcmsTekHVC;    /*     * PAD     */typedef struct {    XcmsFloat pad0;    XcmsFloat pad1;    XcmsFloat pad2;    XcmsFloat pad3;} XcmsPad;    /*     * XCMS Color Structure     */typedef struct {    union {	XcmsRGB RGB;	XcmsRGBi RGBi;	XcmsCIEXYZ CIEXYZ;	XcmsCIEuvY CIEuvY;	XcmsCIExyY CIExyY;	XcmsCIELab CIELab;	XcmsCIELuv CIELuv;	XcmsTekHVC TekHVC;	XcmsPad Pad;    } spec;			/* the color specification	*/    unsigned long pixel;	/* pixel value (as needed)	*/    XcmsColorFormat	format;		/* the specification format	*/} XcmsColor;    /*     * XCMS Per Screen related data     */typedef struct _XcmsPerScrnInfo {    XcmsColor	screenWhitePt;	/* Screen White point */    XPointer	functionSet;	/* pointer to Screen Color Characterization */				/*      Function Set structure		*/    XPointer	screenData;	/* pointer to corresponding Screen Color*/				/*	Characterization Data		*/    unsigned char state;   /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */    char	pad[3];} XcmsPerScrnInfo;typedef struct _XcmsCCC *XcmsCCC;typedef Status (*XcmsCompressionProc)(		/* Gamut Compression Proc */#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    unsigned int	/* index */,    Bool*		/* compression_flags_return */#endif);typedef Status (*XcmsWhiteAdjustProc)(	 	/* White Point Adjust Proc */#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* initial_white_point*/,    XcmsColor*		/* target_white_point*/,    XcmsColorFormat	/* target_format */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    Bool*		/* compression_flags_return */#endif);    /*     * XCMS Color Conversion Context     */typedef struct _XcmsCCC {    Display	*dpy;			/* X Display */    int		screenNumber;		/* X screen number */    Visual	*visual;		/* X Visual */    XcmsColor	clientWhitePt;		/* Client White Point */    XcmsCompressionProc	gamutCompProc;	/* Gamut Compression Function */    XPointer	gamutCompClientData;	/* Gamut Comp Func Client Data */    XcmsWhiteAdjustProc	whitePtAdjProc;	/* White Point Adjustment Function */    XPointer	whitePtAdjClientData;	/* White Pt Adj Func Client Data */    XcmsPerScrnInfo *pPerScrnInfo;	/* pointer to per screen information */					/*  associated with the above display */					/*  screenNumber */} XcmsCCCRec;typedef Status (*XcmsScreenInitProc)(	/* Screen Initialization Proc */#if NeedFunctionPrototypes    Display*		/* dpy */,    int			/* screen_number */,    XcmsPerScrnInfo*	/* screen_info */#endif);typedef void (*XcmsScreenFreeProc)(#if NeedFunctionPrototypes    XPointer		/* screenData */#endif);    /*     * Function List Pointer -- pointer to an array of function pointers.     *    The end of list is indicated by a NULL pointer.     */typedef Status (*XcmsConversionProc)();typedef XcmsConversionProc *XcmsFuncListPtr;typedef int (*XcmsParseStringProc)(	/* Color String Parsing Proc */#if NeedFunctionPrototypes    char*		/* color_string */,    XcmsColor*		/* color_return */#endif);    /*     * Color Space -- per Color Space related data (Device-Independent     *    or Device-Dependent)     */typedef struct _XcmsColorSpace {    char *prefix;		/* Prefix of string format.		*/    XcmsColorFormat id;		/* Format ID number.			*/    XcmsParseStringProc parseString;				/* String format parsing function	*/    XcmsFuncListPtr to_CIEXYZ;	/* Pointer to an array of function 	*/				/*   pointers such that when the	*/				/*   functions are executed in sequence	*/				/*   will convert a XcmsColor structure	*/				/*   from this color space to CIEXYZ	*/				/*   space.				*/    XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function 	*/				/*   pointers such that when the	*/				/*   functions are executed in sequence	*/				/*   will convert a XcmsColor structure	*/				/*   from CIEXYZ space to this color	*/				/*   space.				*/    int inverse_flag;		/* If 1, indicates that for 0 <= i < n	*/				/*   where n is the number of function	*/				/*   pointers in the lists to_CIEXYZ	*/				/*   and from_CIEXYZ; for each function */				/*   to_CIEXYZ[i] its inverse function	*/				/*   is from_CIEXYZ[n - i].		*/} XcmsColorSpace;    /*     * Screen Color Characterization Function Set -- per device class     *    color space conversion functions.     */typedef struct _XcmsFunctionSet {    XcmsColorSpace **DDColorSpaces;				/* Pointer to an array of pointers to	*/				/*   Device-DEPENDENT color spaces	*/				/*   understood by this SCCFuncSet.	*/    XcmsScreenInitProc screenInitProc;				/* Screen initialization function that	*/				/*   reads Screen Color Characterization*/				/*   Data off properties on the screen's*/				/*   root window.			*/    XcmsScreenFreeProc screenFreeProc;				/* Function that frees the SCCData	*/				/*   structures.			*/} XcmsFunctionSet;_XFUNCPROTOBEGINextern Status XcmsAddColorSpace (#if NeedFunctionPrototypes    XcmsColorSpace*	/* pColorSpace */#endif);extern Status XcmsAddFunctionSet (#if NeedFunctionPrototypes    XcmsFunctionSet*	/* functionSet */#endif);extern Status XcmsAllocColor (#if NeedFunctionPrototypes    Display*		/* dpy */,    Colormap		/* colormap */,    XcmsColor*		/* color_in_out */,    XcmsColorFormat		/* result_format */#endif);extern Status XcmsAllocNamedColor (#if NeedFunctionPrototypes    Display*		/* dpy */,    Colormap		/* colormap */,    _Xconst char*	/* color_string */,    XcmsColor*		/* color_scrn_return */,    XcmsColor*		/* color_exact_return */,    XcmsColorFormat		/* result_format */#endif);extern XcmsCCC XcmsCCCOfColormap (#if NeedFunctionPrototypes    Display*		/* dpy */,    Colormap		/* colormap */#endif);extern Status XcmsCIELabClipab(#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    unsigned int	/* index */,    Bool*		/* compression_flags_return */#endif);extern Status XcmsCIELabClipL(#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    unsigned int	/* index */,    Bool*		/* compression_flags_return */#endif);extern Status XcmsCIELabClipLab(#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    unsigned int	/* index */,    Bool*		/* compression_flags_return */#endif);extern Status XcmsCIELabQueryMaxC (#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsFloat		/* hue_angle */,    XcmsFloat		/* L_star */,    XcmsColor*		/* color_return */#endif);extern Status XcmsCIELabQueryMaxL (#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsFloat		/* hue_angle */,    XcmsFloat		/* chroma */,    XcmsColor*		/* color_return */#endif);extern Status XcmsCIELabQueryMaxLC (#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsFloat		/* hue_angle */,    XcmsColor*		/* color_return */#endif);extern Status XcmsCIELabQueryMinL (#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsFloat		/* hue_angle */,    XcmsFloat		/* chroma */,    XcmsColor*		/* color_return */#endif);extern Status XcmsCIELabToCIEXYZ (#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* white_point */,    XcmsColor*		/* colors */,    unsigned int	/* ncolors */#endif);extern Status XcmsCIELabWhiteShiftColors(#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* initial_white_point*/,    XcmsColor*		/* target_white_point*/,    XcmsColorFormat	/* target_format */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    Bool*		/* compression_flags_return */#endif);extern Status XcmsCIELuvClipL(#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    unsigned int	/* index */,    Bool*		/* compression_flags_return */#endif);extern Status XcmsCIELuvClipLuv(#if NeedFunctionPrototypes    XcmsCCC		/* ccc */,    XcmsColor*		/* colors_in_out */,    unsigned int	/* ncolors */,    unsigned int	/* index */,    Bool*		/* compression_flags_return */#endif);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -