123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /* $Xorg: SCCDFile.h,v 1.3 2000/08/17 19:54:13 cpqbld Exp $ */
- /*
- * (c) Copyright 1990 Tektronix Inc.
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Tektronix not be used
- * in advertising or publicity pertaining to distribution of the software
- * without specific, written prior permission.
- *
- * Tektronix disclaims all warranties with regard to this software, including
- * all implied warranties of merchantability and fitness, 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 performance of this
- * software.
- *
- *
- * NAME
- * SCCDFile.h
- *
- * DESCRIPTION
- * Include file for TekCMS Color Extension when using the
- * X Device Color Characterization Convention (XDCCC).
- *
- */
- /* $XFree86: xc/programs/xcmsdb/SCCDFile.h,v 1.3 1999/03/02 11:49:36 dawes Exp $ */
- #ifndef SCCDFILE_H
- #define SCCDFILE_H
- #include <X11/Xutil.h>
- #include <X11/Xcms.h>
- /*
- * DEFINES
- */
- #define XDCCC_NUMBER 0x8000000L /* 2**27 per ICCCM */
- #define XDCCC_MATRIX_ATOM_NAME "XDCCC_LINEAR_RGB_MATRICES"
- #define XDCCC_CORRECT_ATOM_NAME "XDCCC_LINEAR_RGB_CORRECTION"
- #define READABLE_SD_SUFFIX ".txt"
- #define TXT_FORMAT_VERSION "1.1"
- #define DATA_DELIMS " \t\n" /* space, tab, newline */
- #define SC_BEGIN_KEYWORD "SCREENDATA_BEGIN"
- #define SC_END_KEYWORD "SCREENDATA_END"
- #define COMMENT_KEYWORD "COMMENT"
- #define NAME_KEYWORD "NAME"
- #define MODEL_KEYWORD "MODEL"
- #define PART_NUMBER_KEYWORD "PART_NUMBER"
- #define SERIAL_NUMBER_KEYWORD "SERIAL_NUMBER"
- #define REVISION_KEYWORD "REVISION"
- #define SCREEN_CLASS_KEYWORD "SCREEN_CLASS"
- #define COLORIMETRIC_BEGIN_KEYWORD "COLORIMETRIC_BEGIN"
- #define COLORIMETRIC_END_KEYWORD "COLORIMETRIC_END"
- #define XYZTORGBMAT_BEGIN_KEYWORD "XYZtoRGB_MATRIX_BEGIN"
- #define XYZTORGBMAT_END_KEYWORD "XYZtoRGB_MATRIX_END"
- #define RGBTOXYZMAT_BEGIN_KEYWORD "RGBtoXYZ_MATRIX_BEGIN"
- #define RGBTOXYZMAT_END_KEYWORD "RGBtoXYZ_MATRIX_END"
- #define IPROFILE_BEGIN_KEYWORD "INTENSITY_PROFILE_BEGIN"
- #define IPROFILE_END_KEYWORD "INTENSITY_PROFILE_END"
- #define ITBL_BEGIN_KEYWORD "INTENSITY_TBL_BEGIN"
- #define ITBL_END_KEYWORD "INTENSITY_TBL_END"
- #define WHITEPT_XYZ_BEGIN_KEYWORD "WHITEPT_XYZ_BEGIN"
- #define WHITEPT_XYZ_END_KEYWORD "WHITEPT_XYZ_END"
- #define VIDEO_RGB_KEYWORD "VIDEO_RGB"
- #ifdef GRAY
- #define VIDEO_GRAY_KEYWORD "VIDEO_GRAY"
- #endif
- #define DATA -1
- #define SC_BEGIN 1
- #define SC_END 2
- #define COMMENT 3
- #define NAME 4
- #define MODEL 5
- #define PART_NUMBER 6
- #define SERIAL_NUMBER 7
- #define REVISION 8
- #define SCREEN_CLASS 9
- #define COLORIMETRIC_BEGIN 10
- #define COLORIMETRIC_END 11
- #define XYZTORGBMAT_BEGIN 12
- #define XYZTORGBMAT_END 13
- #define RGBTOXYZMAT_BEGIN 14
- #define RGBTOXYZMAT_END 15
- #define IPROFILE_BEGIN 16
- #define IPROFILE_END 17
- #define ITBL_BEGIN 18
- #define ITBL_END 19
- #define WHITEPT_XYZ_BEGIN 20
- #define WHITEPT_XYZ_END 21
- #define CORR_TYPE_NONE -1
- #define CORR_TYPE_0 0
- #define CORR_TYPE_1 1
- #define VIDEO_RGB 0
- #ifdef GRAY
- #define VIDEO_GRAY 1
- #endif
- /*
- * 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;
- typedef struct _XDCCC_Matrix {
- XcmsFloat XYZtoRGBmatrix[3][3];
- XcmsFloat RGBtoXYZmatrix[3][3];
- } XDCCC_Matrix;
- typedef struct _XDCCC_Correction {
- XVisualInfo visual_info;
- long visual_info_mask;
- int tableType;
- int nTables;
- IntensityTbl* pRedTbl;
- IntensityTbl* pGreenTbl;
- IntensityTbl* pBlueTbl;
- struct _XDCCC_Correction* next;
- } XDCCC_Correction;
- extern int LoadSCCData(Display *pDpy, int screenNumber, const char *filename,
- int targetFormat);
- #endif /* SCCDFILE_H */
|