home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / evbl0627.zip / everblue_20010627.zip / x11 / Xcms_Globals.c < prev    next >
C/C++ Source or Header  |  1999-11-02  |  5KB  |  161 lines

  1. /*$XConsortium: cmsGlobls.c,v 1.10 93/07/05 11:44:05 rws Exp $ */
  2.  
  3. /*
  4.  * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
  5.  *     All Rights Reserved
  6.  * 
  7.  * This file is a component of an X Window System-specific implementation
  8.  * of Xcms based on the TekColor Color Management System.  Permission is
  9.  * hereby granted to use, copy, modify, sell, and otherwise distribute this
  10.  * software and its documentation for any purpose and without fee, provided
  11.  * that this copyright, permission, and disclaimer notice is reproduced in
  12.  * all copies of this software and in supporting documentation.  TekColor
  13.  * is a trademark of Tektronix, Inc.
  14.  * 
  15.  * Tektronix makes no representation about the suitability of this software
  16.  * for any purpose.  It is provided "as is" and with all faults.
  17.  * 
  18.  * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
  19.  * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  20.  * PARTICULAR PURPOSE.  IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
  21.  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  22.  * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
  23.  * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  24.  * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
  25.  *
  26.  *
  27.  *    NAME
  28.  *        XcmsGlobls.c
  29.  *
  30.  *    DESCRIPTION
  31.  *        Source file containing Xcms globals
  32.  *
  33.  *
  34.  */
  35.  
  36. #include "Xlib_private.h"
  37. #include "Xcmsint.h"
  38.  
  39. /*
  40.  *      EXTERNS
  41.  *              External declarations required locally to this package
  42.  *              that are not already declared in any of the included header
  43.  *        files (external includes or internal includes).
  44.  */
  45. extern XcmsFunctionSet    XcmsLinearRGBFunctionSet;
  46. #ifdef GRAY
  47. extern XcmsFunctionSet    XcmsGrayFunctionSet;
  48. #endif /* GRAY */
  49.  
  50. /* UNDEFINED Color Space */
  51. extern XcmsColorSpace    XcmsUNDEFINEDColorSpace;
  52.  
  53. /* CIE XYZ Color Space */
  54. extern XcmsColorSpace    XcmsCIEXYZColorSpace;
  55.  
  56. /* CIE uvY Color Space */
  57. extern XcmsColorSpace    XcmsCIEuvYColorSpace;
  58.  
  59. /* CIE xyY Color Space */
  60. extern XcmsColorSpace    XcmsCIExyYColorSpace;
  61.  
  62. /* CIE Lab Color Space */
  63. extern XcmsColorSpace    XcmsCIELabColorSpace;
  64.  
  65. /* CIE Luv Color Space */
  66. extern XcmsColorSpace    XcmsCIELuvColorSpace;
  67.  
  68. /* TekHVC Color Space */
  69. extern XcmsColorSpace    XcmsTekHVCColorSpace;
  70.  
  71. /* Device Dependent Color Space Structures */
  72. extern XcmsColorSpace    XcmsRGBiColorSpace;
  73. extern XcmsColorSpace    XcmsRGBColorSpace;
  74.  
  75.  
  76. /*
  77.  *      GLOBALS
  78.  *              Variables declared in this package that are allowed
  79.  *        to be used globally.
  80.  */
  81.  
  82.     /*
  83.      * Initial array of Device Independent Color Spaces
  84.      */
  85. XcmsColorSpace *_XcmsDIColorSpacesInit[] = {
  86.     &XcmsCIEXYZColorSpace,
  87.     &XcmsCIEuvYColorSpace,
  88.     &XcmsCIExyYColorSpace,
  89.     &XcmsCIELabColorSpace,
  90.     &XcmsCIELuvColorSpace,
  91.     &XcmsTekHVCColorSpace,
  92.     &XcmsUNDEFINEDColorSpace,
  93.     NULL
  94. };
  95.     /*
  96.      * Pointer to the array of pointers to XcmsColorSpace structures for
  97.      * Device-Independent Color Spaces that are currently accessible by
  98.      * the color management system.  End of list is indicated by a NULL pointer.
  99.      */
  100. XcmsColorSpace **_XcmsDIColorSpaces = _XcmsDIColorSpacesInit;
  101.  
  102.     /*
  103.      * Initial array of Device Dependent Color Spaces
  104.      */
  105. XcmsColorSpace *_XcmsDDColorSpacesInit[] = {
  106.     &XcmsRGBColorSpace,
  107.     &XcmsRGBiColorSpace,
  108.     NULL
  109. };
  110.     /*
  111.      * Pointer to the array of pointers to XcmsColorSpace structures for
  112.      * Device-Dependent Color Spaces that are currently accessible by
  113.      * the color management system.  End of list is indicated by a NULL pointer.
  114.      */
  115. XcmsColorSpace **_XcmsDDColorSpaces = &_XcmsDDColorSpacesInit[0];
  116.  
  117.     /*
  118.      * Initial array of Screen Color Characterization Function Sets
  119.      */
  120. XcmsFunctionSet    *_XcmsSCCFuncSetsInit[] = {
  121.     &XcmsLinearRGBFunctionSet,
  122. #ifdef GRAY
  123.     &XcmsGrayFunctionSet,
  124. #endif /* GRAY */
  125.     NULL};
  126.     /*
  127.      * Pointer to the array of pointers to XcmsSCCFuncSet structures
  128.      * (Screen Color Characterization Function Sets) that are currently
  129.      * accessible by the color management system.  End of list is
  130.      * indicated by a NULL pointer.
  131.      */
  132. XcmsFunctionSet **_XcmsSCCFuncSets = _XcmsSCCFuncSetsInit;
  133.  
  134.     /*
  135.      * X Consortium Registered Device-Independent Color Spaces
  136.      *    Note that prefix must be in lowercase.
  137.      */
  138. char    _XcmsCIEXYZ_prefix[] = "ciexyz";
  139. char    _XcmsCIEuvY_prefix[] = "cieuvy";
  140. char    _XcmsCIExyY_prefix[] = "ciexyy";
  141. char    _XcmsCIELab_prefix[] = "cielab";
  142. char     _XcmsCIELuv_prefix[] = "cieluv";
  143. char    _XcmsTekHVC_prefix[] = "tekhvc";
  144.     /*
  145.      * Registered Device-Dependent Color Spaces
  146.      */
  147. char    _XcmsRGBi_prefix[] = "rgbi";
  148. char    _XcmsRGB_prefix[] = "rgb";
  149.  
  150. XcmsRegColorSpaceEntry _XcmsRegColorSpaces[] = {
  151.     _XcmsCIEXYZ_prefix,    XcmsCIEXYZFormat,
  152.     _XcmsCIEuvY_prefix,    XcmsCIEuvYFormat,
  153.     _XcmsCIExyY_prefix,    XcmsCIExyYFormat,
  154.     _XcmsCIELab_prefix,    XcmsCIELabFormat,
  155.     _XcmsCIELuv_prefix,    XcmsCIELuvFormat,
  156.     _XcmsTekHVC_prefix,    XcmsTekHVCFormat,
  157.     _XcmsRGB_prefix,    XcmsRGBFormat,
  158.     _XcmsRGBi_prefix,    XcmsRGBiFormat,
  159.     NULL, 0
  160. };
  161.