1
2 /*
3 * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
4 * All Rights Reserved
5 *
6 * This file is a component of an X Window System-specific implementation
7 * of Xcms based on the TekColor Color Management System. Permission is
8 * hereby granted to use, copy, modify, sell, and otherwise distribute this
9 * software and its documentation for any purpose and without fee, provided
10 * that this copyright, permission, and disclaimer notice is reproduced in
11 * all copies of this software and in supporting documentation. TekColor
12 * is a trademark of Tektronix, Inc.
13 *
14 * Tektronix makes no representation about the suitability of this software
15 * for any purpose. It is provided "as is" and with all faults.
16 *
17 * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
18 * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
19 * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
20 * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
21 * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
22 * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
23 * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
24 *
25 *
26 * NAME
27 * XcmsPrOfId.c
28 *
29 * DESCRIPTION
30 * Source for XcmsPrefixOfFormat()
31 *
32 *
33 */
34
35 #ifdef HAVE_CONFIG_H
36 #include <config.h>
37 #endif
38 #include "Xlibint.h"
39 #include "Xcmsint.h"
40 #include "Cv.h"
41
42
43 /*
44 * NAME
45 * XcmsPrefixOfId
46 *
47 * SYNOPSIS
48 */
49 char *
XcmsPrefixOfFormat(XcmsColorFormat id)50 XcmsPrefixOfFormat(
51 XcmsColorFormat id)
52 /*
53 * DESCRIPTION
54 * Returns the color space prefix for the specified color
55 * space ID if the color space is found in the Color
56 * Conversion Context.
57 *
58 * RETURNS
59 * Returns a color space prefix.
60 *
61 * CAVEATS
62 * Space is allocated for the returned string, therefore,
63 * the application is responsible for freeing (using XFree)
64 * the space.
65 *
66 */
67 {
68 XcmsColorSpace **papColorSpaces;
69
70 /*
71 * First try Device-Independent color spaces
72 */
73 papColorSpaces = _XcmsDIColorSpaces;
74 if (papColorSpaces != NULL) {
75 while (*papColorSpaces != NULL) {
76 if ((*papColorSpaces)->id == id) {
77 return strdup((*papColorSpaces)->prefix);
78 }
79 papColorSpaces++;
80 }
81 }
82
83 /*
84 * Next try Device-Dependent color spaces
85 */
86 papColorSpaces = _XcmsDDColorSpaces;
87 if (papColorSpaces != NULL) {
88 while (*papColorSpaces != NULL) {
89 if ((*papColorSpaces)->id == id) {
90 return strdup((*papColorSpaces)->prefix);
91 }
92 papColorSpaces++;
93 }
94 }
95
96 return(NULL);
97 }
98