aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/X11/Xcmsint.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/X11/Xcmsint.h')
-rw-r--r--nx-X11/lib/X11/Xcmsint.h260
1 files changed, 0 insertions, 260 deletions
diff --git a/nx-X11/lib/X11/Xcmsint.h b/nx-X11/lib/X11/Xcmsint.h
deleted file mode 100644
index 8a2decb11..000000000
--- a/nx-X11/lib/X11/Xcmsint.h
+++ /dev/null
@@ -1,260 +0,0 @@
-
-/*
- * 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
- * Private include file for Color Management System.
- * (i.e., for API internal use only)
- *
- */
-
-#ifndef _XCMSINT_H_
-#define _XCMSINT_H_
-
-#include <nx-X11/Xcms.h>
-
-/*
- * DEFINES
- */
-
- /*
- * Private Status Value
- */
-#define _XCMS_NEWNAME -1
-
- /*
- * 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 XCMS_DD_ID(id) ((id) & (XcmsColorFormat)0x80000000)
-#define XCMS_DI_ID(id) (!((id) & (XcmsColorFormat)0x80000000))
-#define XCMS_UNREG_ID(id) ((id) & (XcmsColorFormat)0x40000000)
-#define XCMS_REG_ID(id) (!((id) & (XcmsColorFormat)0x40000000))
-#define XCMS_FIRST_REG_DI_ID (XcmsColorFormat)0x00000001
-#define XCMS_FIRST_UNREG_DI_ID (XcmsColorFormat)0x40000000
-#define XCMS_FIRST_REG_DD_ID (XcmsColorFormat)0x80000000
-#define XCMS_FIRST_UNREG_DD_ID (XcmsColorFormat)0xc0000000
-
-/*
- * TYPEDEFS
- */
-
- /*
- * Structure for caching Colormap info.
- * This is provided for the Xlib modifications to:
- * XAllocNamedColor()
- * XLookupColor()
- * XParseColor()
- * XStoreNamedColor()
- */
-typedef struct _XcmsCmapRec {
- Colormap cmapID;
- Display *dpy;
- Window windowID;
- Visual *visual;
- struct _XcmsCCC *ccc;
- struct _XcmsCmapRec *pNext;
-} XcmsCmapRec;
-
- /*
- * Intensity Record (i.e., value / intensity tuple)
- */
-typedef struct _IntensityRec {
- unsigned short value;
- XcmsFloat intensity;
-} IntensityRec;
-
- /*
- * Intensity Table
- */
-typedef struct _IntensityTbl {
- IntensityRec *pBase;
- unsigned int nEntries;
-} IntensityTbl;
-
- /*
- * Structure for storing per-Visual Intensity Tables (aka gamma maps).
- */
-typedef struct _XcmsIntensityMap {
- VisualID visualID;
- XPointer screenData; /* pointer to corresponding Screen Color*/
- /* Characterization Data */
- void (*pFreeScreenData)(XPointer pScreenDataTemp); /* Function that frees a Screen */
- /* structure. */
- struct _XcmsIntensityMap *pNext;
-} XcmsIntensityMap;
-
-
- /*
- * Structure for storing "registered" color space prefix/ID
- */
-typedef struct _XcmsRegColorSpaceEntry {
- const char *prefix; /* Color Space prefix (e.g., "CIEXYZ:") */
- XcmsColorFormat id; /* Color Space ID (e.g., XcmsCIEXYZFormat) */
-} XcmsRegColorSpaceEntry;
-
-
- /*
- * Xcms Per Display (i.e. connection) related data
- */
-typedef struct _XcmsPerDpyInfo {
-
- XcmsCCC paDefaultCCC; /* based on default visual of screen */
- /*
- * Pointer to an array of XcmsCCC structures, one for
- * each screen.
- */
- XcmsCmapRec *pClientCmaps; /* Pointer to linked list of XcmsCmapRec's */
-
-} XcmsPerDpyInfo, *XcmsPerDpyInfoPtr;
-
-/*
- * DEFINES
- */
-
-#define XDCCC_NUMBER 0x8000000L /* 2**27 per XDCCC */
-
-#ifdef GRAY
-#define XDCCC_SCREENWHITEPT_ATOM_NAME "XDCCC_GRAY_SCREENWHITEPOINT"
-#define XDCCC_GRAY_CORRECT_ATOM_NAME "XDCCC_GRAY_CORRECTION"
-#endif /* GRAY */
-
-#ifndef _ConversionValues
-typedef struct _ConversionValues {
- IntensityTbl IntensityTbl;
-} ConversionValues;
-#endif
-
-#ifdef GRAY
-typedef struct {
- IntensityTbl *IntensityTbl;
-} GRAY_SCCData;
-#endif /* GRAY */
-
-/*
- * DEFINES
- */
-
-#define XDCCC_MATRIX_ATOM_NAME "XDCCC_LINEAR_RGB_MATRICES"
-#define XDCCC_CORRECT_ATOM_NAME "XDCCC_LINEAR_RGB_CORRECTION"
-
-typedef struct {
- XcmsFloat XYZtoRGBmatrix[3][3];
- XcmsFloat RGBtoXYZmatrix[3][3];
- IntensityTbl *pRedTbl;
- IntensityTbl *pGreenTbl;
- IntensityTbl *pBlueTbl;
-} LINEAR_RGB_SCCData;
-
-/* function prototypes */
-extern XcmsCmapRec *
-_XcmsAddCmapRec(
- Display *dpy,
- Colormap cmap,
- Window windowID,
- Visual *visual);
-extern void
-_XcmsRGB_to_XColor(
- XcmsColor *pColors,
- XColor *pXColors,
- unsigned int nColors);
-extern Status
-_XcmsResolveColorString (
- XcmsCCC ccc,
- const char **color_string,
- XcmsColor *pColor_exact_return,
- XcmsColorFormat result_format);
-extern void
-_XUnresolveColor(
- XcmsCCC ccc,
- XColor *pXColor);
-/*
- * DESCRIPTION
- * Include file for defining the math macros used in the
- * XCMS source. Instead of using math library routines
- * directly, XCMS uses macros so that based on the
- * definitions here, vendors and sites can specify exactly
- * what routine will be called (those from libm.a or their
- * custom routines). If not defined to math library routines
- * (e.g., sqrt in libm.a), then the client is not forced to
- * be linked with -lm.
- */
-
-#define XCMS_ATAN(x) _XcmsArcTangent(x)
-#define XCMS_COS(x) _XcmsCosine(x)
-#define XCMS_CUBEROOT(x) _XcmsCubeRoot(x)
-#define XCMS_FABS(x) ((x) < 0.0 ? -(x) : (x))
-#define XCMS_SIN(x) _XcmsSine(x)
-#define XCMS_SQRT(x) _XcmsSquareRoot(x)
-#define XCMS_TAN(x) (XCMS_SIN(x) / XCMS_COS(x))
-
-double _XcmsArcTangent(double a);
-double _XcmsCosine(double a);
-double _XcmsCubeRoot(double a);
-double _XcmsSine(double a);
-double _XcmsSquareRoot(double a);
-
-/*
- * DEFINES FOR GAMUT COMPRESSION AND QUERY ROUTINES
- */
-#ifndef PI
-# ifdef M_PI
-# define PI M_PI
-# else
-# define PI 3.14159265358979323846264338327950
-# endif /* M_PI */
-#endif /* PI */
-#ifndef degrees
-# define degrees(r) ((XcmsFloat)(r) * 180.0 / PI)
-#endif /* degrees */
-#ifndef radians
-# define radians(d) ((XcmsFloat)(d) * PI / 180.0)
-#endif /* radians */
-
-#define XCMS_CIEUSTAROFHUE(h,c) \
-((XCMS_COS((h)) == 0.0) ? (XcmsFloat)0.0 : (XcmsFloat) \
-((XcmsFloat)(c) / (XcmsFloat)XCMS_SQRT((XCMS_TAN(h) * XCMS_TAN(h)) + \
-(XcmsFloat)1.0)))
-#define XCMS_CIEVSTAROFHUE(h,c) \
-((XCMS_COS((h)) == 0.0) ? (XcmsFloat)0.0 : (XcmsFloat) \
-((XcmsFloat)(c) / (XcmsFloat)XCMS_SQRT(((XcmsFloat)1.0 / \
-(XcmsFloat)(XCMS_TAN(h) * XCMS_TAN(h))) + (XcmsFloat)1.0)))
-/* this hue is returned in radians */
-#define XCMS_CIELUV_PMETRIC_HUE(u,v) \
-(((u) != 0.0) ? XCMS_ATAN( (v) / (u)) : ((v >= 0.0) ? PI / 2 : -(PI / 2)))
-#define XCMS_CIELUV_PMETRIC_CHROMA(u,v) XCMS_SQRT(((u)*(u)) + ((v)*(v)))
-
-#define XCMS_CIEASTAROFHUE(h,c) XCMS_CIEUSTAROFHUE((h), (c))
-#define XCMS_CIEBSTAROFHUE(h,c) XCMS_CIEVSTAROFHUE((h), (c))
-#define XCMS_CIELAB_PMETRIC_HUE(a,b) XCMS_CIELUV_PMETRIC_HUE((a), (b))
-#define XCMS_CIELAB_PMETRIC_CHROMA(a,b) XCMS_CIELUV_PMETRIC_CHROMA((a), (b))
-
-#endif /* _XCMSINT_H_ */