cmsGlobls.c revision 1ab64890
11ab64890Smrg/*$Xorg: cmsGlobls.c,v 1.3 2000/08/17 19:45:09 cpqbld Exp $ */ 21ab64890Smrg 31ab64890Smrg/* 41ab64890Smrg * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. 51ab64890Smrg * All Rights Reserved 61ab64890Smrg * 71ab64890Smrg * This file is a component of an X Window System-specific implementation 81ab64890Smrg * of Xcms based on the TekColor Color Management System. Permission is 91ab64890Smrg * hereby granted to use, copy, modify, sell, and otherwise distribute this 101ab64890Smrg * software and its documentation for any purpose and without fee, provided 111ab64890Smrg * that this copyright, permission, and disclaimer notice is reproduced in 121ab64890Smrg * all copies of this software and in supporting documentation. TekColor 131ab64890Smrg * is a trademark of Tektronix, Inc. 141ab64890Smrg * 151ab64890Smrg * Tektronix makes no representation about the suitability of this software 161ab64890Smrg * for any purpose. It is provided "as is" and with all faults. 171ab64890Smrg * 181ab64890Smrg * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, 191ab64890Smrg * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 201ab64890Smrg * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY 211ab64890Smrg * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER 221ab64890Smrg * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF 231ab64890Smrg * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 241ab64890Smrg * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. 251ab64890Smrg * 261ab64890Smrg * 271ab64890Smrg * NAME 281ab64890Smrg * XcmsGlobls.c 291ab64890Smrg * 301ab64890Smrg * DESCRIPTION 311ab64890Smrg * Source file containing Xcms globals 321ab64890Smrg * 331ab64890Smrg * 341ab64890Smrg */ 351ab64890Smrg/* $XFree86: xc/lib/X11/cmsGlobls.c,v 1.4 2001/01/17 19:41:51 dawes Exp $ */ 361ab64890Smrg 371ab64890Smrg#ifdef HAVE_CONFIG_H 381ab64890Smrg#include <config.h> 391ab64890Smrg#endif 401ab64890Smrg#include "Xlibint.h" 411ab64890Smrg#include "Xcmsint.h" 421ab64890Smrg#include "Cv.h" 431ab64890Smrg 441ab64890Smrg/* 451ab64890Smrg * GLOBALS 461ab64890Smrg * Variables declared in this package that are allowed 471ab64890Smrg * to be used globally. 481ab64890Smrg */ 491ab64890Smrg 501ab64890Smrg /* 511ab64890Smrg * Initial array of Device Independent Color Spaces 521ab64890Smrg */ 531ab64890SmrgXcmsColorSpace *_XcmsDIColorSpacesInit[] = { 541ab64890Smrg &XcmsCIEXYZColorSpace, 551ab64890Smrg &XcmsCIEuvYColorSpace, 561ab64890Smrg &XcmsCIExyYColorSpace, 571ab64890Smrg &XcmsCIELabColorSpace, 581ab64890Smrg &XcmsCIELuvColorSpace, 591ab64890Smrg &XcmsTekHVCColorSpace, 601ab64890Smrg &XcmsUNDEFINEDColorSpace, 611ab64890Smrg NULL 621ab64890Smrg}; 631ab64890Smrg /* 641ab64890Smrg * Pointer to the array of pointers to XcmsColorSpace structures for 651ab64890Smrg * Device-Independent Color Spaces that are currently accessible by 661ab64890Smrg * the color management system. End of list is indicated by a NULL pointer. 671ab64890Smrg */ 681ab64890SmrgXcmsColorSpace **_XcmsDIColorSpaces = _XcmsDIColorSpacesInit; 691ab64890Smrg 701ab64890Smrg /* 711ab64890Smrg * Initial array of Device Dependent Color Spaces 721ab64890Smrg */ 731ab64890SmrgXcmsColorSpace *_XcmsDDColorSpacesInit[] = { 741ab64890Smrg &XcmsRGBColorSpace, 751ab64890Smrg &XcmsRGBiColorSpace, 761ab64890Smrg NULL 771ab64890Smrg}; 781ab64890Smrg /* 791ab64890Smrg * Pointer to the array of pointers to XcmsColorSpace structures for 801ab64890Smrg * Device-Dependent Color Spaces that are currently accessible by 811ab64890Smrg * the color management system. End of list is indicated by a NULL pointer. 821ab64890Smrg */ 831ab64890SmrgXcmsColorSpace **_XcmsDDColorSpaces = &_XcmsDDColorSpacesInit[0]; 841ab64890Smrg 851ab64890Smrg /* 861ab64890Smrg * Initial array of Screen Color Characterization Function Sets 871ab64890Smrg */ 881ab64890SmrgXcmsFunctionSet *_XcmsSCCFuncSetsInit[] = { 891ab64890Smrg &XcmsLinearRGBFunctionSet, 901ab64890Smrg#ifdef GRAY 911ab64890Smrg &XcmsGrayFunctionSet, 921ab64890Smrg#endif /* GRAY */ 931ab64890Smrg NULL}; 941ab64890Smrg /* 951ab64890Smrg * Pointer to the array of pointers to XcmsSCCFuncSet structures 961ab64890Smrg * (Screen Color Characterization Function Sets) that are currently 971ab64890Smrg * accessible by the color management system. End of list is 981ab64890Smrg * indicated by a NULL pointer. 991ab64890Smrg */ 1001ab64890SmrgXcmsFunctionSet **_XcmsSCCFuncSets = _XcmsSCCFuncSetsInit; 1011ab64890Smrg 1021ab64890Smrg /* 1031ab64890Smrg * X Consortium Registered Device-Independent Color Spaces 1041ab64890Smrg * Note that prefix must be in lowercase. 1051ab64890Smrg */ 1061ab64890Smrgconst char _XcmsCIEXYZ_prefix[] = "ciexyz"; 1071ab64890Smrgconst char _XcmsCIEuvY_prefix[] = "cieuvy"; 1081ab64890Smrgconst char _XcmsCIExyY_prefix[] = "ciexyy"; 1091ab64890Smrgconst char _XcmsCIELab_prefix[] = "cielab"; 1101ab64890Smrgconst char _XcmsCIELuv_prefix[] = "cieluv"; 1111ab64890Smrgconst char _XcmsTekHVC_prefix[] = "tekhvc"; 1121ab64890Smrg /* 1131ab64890Smrg * Registered Device-Dependent Color Spaces 1141ab64890Smrg */ 1151ab64890Smrgconst char _XcmsRGBi_prefix[] = "rgbi"; 1161ab64890Smrgconst char _XcmsRGB_prefix[] = "rgb"; 1171ab64890Smrg 1181ab64890SmrgXcmsRegColorSpaceEntry _XcmsRegColorSpaces[] = { 1191ab64890Smrg { _XcmsCIEXYZ_prefix, XcmsCIEXYZFormat }, 1201ab64890Smrg { _XcmsCIEuvY_prefix, XcmsCIEuvYFormat }, 1211ab64890Smrg { _XcmsCIExyY_prefix, XcmsCIExyYFormat }, 1221ab64890Smrg { _XcmsCIELab_prefix, XcmsCIELabFormat }, 1231ab64890Smrg { _XcmsCIELuv_prefix, XcmsCIELuvFormat }, 1241ab64890Smrg { _XcmsTekHVC_prefix, XcmsTekHVCFormat }, 1251ab64890Smrg { _XcmsRGB_prefix, XcmsRGBFormat }, 1261ab64890Smrg { _XcmsRGBi_prefix, XcmsRGBiFormat }, 1271ab64890Smrg { NULL, 0 } 1281ab64890Smrg}; 129