12c7c4e3dSmrg/* $Xorg: SCCDFile.h,v 1.3 2000/08/17 19:54:13 cpqbld Exp $ */ 22c7c4e3dSmrg/* 32c7c4e3dSmrg * (c) Copyright 1990 Tektronix Inc. 42c7c4e3dSmrg * All Rights Reserved 52c7c4e3dSmrg * 62c7c4e3dSmrg * Permission to use, copy, modify, and distribute this software and its 72c7c4e3dSmrg * documentation for any purpose and without fee is hereby granted, 82c7c4e3dSmrg * provided that the above copyright notice appear in all copies and that 92c7c4e3dSmrg * both that copyright notice and this permission notice appear in 102c7c4e3dSmrg * supporting documentation, and that the name of Tektronix not be used 112c7c4e3dSmrg * in advertising or publicity pertaining to distribution of the software 122c7c4e3dSmrg * without specific, written prior permission. 132c7c4e3dSmrg * 142c7c4e3dSmrg * Tektronix disclaims all warranties with regard to this software, including 152c7c4e3dSmrg * all implied warranties of merchantability and fitness, in no event shall 162c7c4e3dSmrg * Tektronix be liable for any special, indirect or consequential damages or 172c7c4e3dSmrg * any damages whatsoever resulting from loss of use, data or profits, 182c7c4e3dSmrg * whether in an action of contract, negligence or other tortious action, 192c7c4e3dSmrg * arising out of or in connection with the use or performance of this 202c7c4e3dSmrg * software. 212c7c4e3dSmrg * 222c7c4e3dSmrg * 232c7c4e3dSmrg * NAME 242c7c4e3dSmrg * SCCDFile.h 252c7c4e3dSmrg * 262c7c4e3dSmrg * DESCRIPTION 272c7c4e3dSmrg * Include file for TekCMS Color Extension when using the 282c7c4e3dSmrg * X Device Color Characterization Convention (XDCCC). 292c7c4e3dSmrg * 302c7c4e3dSmrg */ 312c7c4e3dSmrg/* $XFree86: xc/programs/xcmsdb/SCCDFile.h,v 1.3 1999/03/02 11:49:36 dawes Exp $ */ 322c7c4e3dSmrg#ifndef SCCDFILE_H 332c7c4e3dSmrg#define SCCDFILE_H 342c7c4e3dSmrg 352c7c4e3dSmrg#include <X11/Xutil.h> 362c7c4e3dSmrg#include <X11/Xcms.h> 372c7c4e3dSmrg 382c7c4e3dSmrg/* 392c7c4e3dSmrg * DEFINES 402c7c4e3dSmrg */ 412c7c4e3dSmrg 422c7c4e3dSmrg#define XDCCC_NUMBER 0x8000000L /* 2**27 per ICCCM */ 432c7c4e3dSmrg#define XDCCC_MATRIX_ATOM_NAME "XDCCC_LINEAR_RGB_MATRICES" 442c7c4e3dSmrg#define XDCCC_CORRECT_ATOM_NAME "XDCCC_LINEAR_RGB_CORRECTION" 452c7c4e3dSmrg#define READABLE_SD_SUFFIX ".txt" 462c7c4e3dSmrg#define TXT_FORMAT_VERSION "1.1" 472c7c4e3dSmrg 482c7c4e3dSmrg#define DATA_DELIMS " \t\n" /* space, tab, newline */ 492c7c4e3dSmrg 502c7c4e3dSmrg#define SC_BEGIN_KEYWORD "SCREENDATA_BEGIN" 512c7c4e3dSmrg#define SC_END_KEYWORD "SCREENDATA_END" 522c7c4e3dSmrg#define COMMENT_KEYWORD "COMMENT" 532c7c4e3dSmrg#define NAME_KEYWORD "NAME" 542c7c4e3dSmrg#define MODEL_KEYWORD "MODEL" 552c7c4e3dSmrg#define PART_NUMBER_KEYWORD "PART_NUMBER" 562c7c4e3dSmrg#define SERIAL_NUMBER_KEYWORD "SERIAL_NUMBER" 572c7c4e3dSmrg#define REVISION_KEYWORD "REVISION" 582c7c4e3dSmrg#define SCREEN_CLASS_KEYWORD "SCREEN_CLASS" 592c7c4e3dSmrg#define COLORIMETRIC_BEGIN_KEYWORD "COLORIMETRIC_BEGIN" 602c7c4e3dSmrg#define COLORIMETRIC_END_KEYWORD "COLORIMETRIC_END" 612c7c4e3dSmrg#define XYZTORGBMAT_BEGIN_KEYWORD "XYZtoRGB_MATRIX_BEGIN" 622c7c4e3dSmrg#define XYZTORGBMAT_END_KEYWORD "XYZtoRGB_MATRIX_END" 632c7c4e3dSmrg#define RGBTOXYZMAT_BEGIN_KEYWORD "RGBtoXYZ_MATRIX_BEGIN" 642c7c4e3dSmrg#define RGBTOXYZMAT_END_KEYWORD "RGBtoXYZ_MATRIX_END" 652c7c4e3dSmrg#define IPROFILE_BEGIN_KEYWORD "INTENSITY_PROFILE_BEGIN" 662c7c4e3dSmrg#define IPROFILE_END_KEYWORD "INTENSITY_PROFILE_END" 672c7c4e3dSmrg#define ITBL_BEGIN_KEYWORD "INTENSITY_TBL_BEGIN" 682c7c4e3dSmrg#define ITBL_END_KEYWORD "INTENSITY_TBL_END" 692c7c4e3dSmrg 702c7c4e3dSmrg#define WHITEPT_XYZ_BEGIN_KEYWORD "WHITEPT_XYZ_BEGIN" 712c7c4e3dSmrg#define WHITEPT_XYZ_END_KEYWORD "WHITEPT_XYZ_END" 722c7c4e3dSmrg 732c7c4e3dSmrg#define VIDEO_RGB_KEYWORD "VIDEO_RGB" 742c7c4e3dSmrg#ifdef GRAY 752c7c4e3dSmrg#define VIDEO_GRAY_KEYWORD "VIDEO_GRAY" 762c7c4e3dSmrg#endif 772c7c4e3dSmrg 782c7c4e3dSmrg#define DATA -1 792c7c4e3dSmrg#define SC_BEGIN 1 802c7c4e3dSmrg#define SC_END 2 812c7c4e3dSmrg#define COMMENT 3 822c7c4e3dSmrg#define NAME 4 832c7c4e3dSmrg#define MODEL 5 842c7c4e3dSmrg#define PART_NUMBER 6 852c7c4e3dSmrg#define SERIAL_NUMBER 7 862c7c4e3dSmrg#define REVISION 8 872c7c4e3dSmrg#define SCREEN_CLASS 9 882c7c4e3dSmrg#define COLORIMETRIC_BEGIN 10 892c7c4e3dSmrg#define COLORIMETRIC_END 11 902c7c4e3dSmrg#define XYZTORGBMAT_BEGIN 12 912c7c4e3dSmrg#define XYZTORGBMAT_END 13 922c7c4e3dSmrg#define RGBTOXYZMAT_BEGIN 14 932c7c4e3dSmrg#define RGBTOXYZMAT_END 15 942c7c4e3dSmrg#define IPROFILE_BEGIN 16 952c7c4e3dSmrg#define IPROFILE_END 17 962c7c4e3dSmrg#define ITBL_BEGIN 18 972c7c4e3dSmrg#define ITBL_END 19 982c7c4e3dSmrg#define WHITEPT_XYZ_BEGIN 20 992c7c4e3dSmrg#define WHITEPT_XYZ_END 21 1002c7c4e3dSmrg 1012c7c4e3dSmrg#define CORR_TYPE_NONE -1 1022c7c4e3dSmrg#define CORR_TYPE_0 0 1032c7c4e3dSmrg#define CORR_TYPE_1 1 1042c7c4e3dSmrg 1052c7c4e3dSmrg#define VIDEO_RGB 0 1062c7c4e3dSmrg#ifdef GRAY 1072c7c4e3dSmrg#define VIDEO_GRAY 1 1082c7c4e3dSmrg#endif 1092c7c4e3dSmrg 1102c7c4e3dSmrg /* 1112c7c4e3dSmrg * Intensity Record (i.e., value / intensity tuple) 1122c7c4e3dSmrg */ 1132c7c4e3dSmrgtypedef struct _IntensityRec { 1142c7c4e3dSmrg unsigned short value; 1152c7c4e3dSmrg XcmsFloat intensity; 1162c7c4e3dSmrg} IntensityRec; 1172c7c4e3dSmrg 1182c7c4e3dSmrg /* 1192c7c4e3dSmrg * Intensity Table 1202c7c4e3dSmrg */ 1212c7c4e3dSmrgtypedef struct _IntensityTbl { 1222c7c4e3dSmrg IntensityRec *pBase; 1232c7c4e3dSmrg unsigned int nEntries; 1242c7c4e3dSmrg} IntensityTbl; 1252c7c4e3dSmrg 1262c7c4e3dSmrgtypedef struct _XDCCC_Matrix { 1272c7c4e3dSmrg XcmsFloat XYZtoRGBmatrix[3][3]; 1282c7c4e3dSmrg XcmsFloat RGBtoXYZmatrix[3][3]; 1292c7c4e3dSmrg} XDCCC_Matrix; 1302c7c4e3dSmrg 1312c7c4e3dSmrgtypedef struct _XDCCC_Correction { 1322c7c4e3dSmrg XVisualInfo visual_info; 1332c7c4e3dSmrg long visual_info_mask; 1342c7c4e3dSmrg int tableType; 1352c7c4e3dSmrg int nTables; 1362c7c4e3dSmrg IntensityTbl* pRedTbl; 1372c7c4e3dSmrg IntensityTbl* pGreenTbl; 1382c7c4e3dSmrg IntensityTbl* pBlueTbl; 1392c7c4e3dSmrg struct _XDCCC_Correction* next; 1402c7c4e3dSmrg} XDCCC_Correction; 1412c7c4e3dSmrg 1422becc446Smrgextern int LoadSCCData(Display *pDpy, int screenNumber, const char *filename, 1432c7c4e3dSmrg int targetFormat); 1442c7c4e3dSmrg 1452c7c4e3dSmrg#endif /* SCCDFILE_H */ 146