View Javadoc

1   // Copyright 2000, CERN, Geneva, Switzerland and University of Santa Cruz, California, U.S.A.
2   package org.freehep.graphicsio.ps;
3   
4   import java.awt.Color;
5   
6   /**
7    * 
8    * @author Charles Loomis
9    * @version $Id: ColorMap.java 8584 2006-08-10 23:06:37Z duns $
10   */
11  public class ColorMap {
12  
13      final public static int red = 0;
14  
15      final public static int green = 1;
16  
17      final public static int blue = 2;
18  
19      final public static int cyan = 3;
20  
21      final public static int magenta = 4;
22  
23      final public static int yellow = 5;
24  
25      final public static int orange = 6;
26  
27      final public static int pink = 7;
28  
29      final public static int white = 8;
30  
31      final public static int lightGray = 9;
32  
33      final public static int gray = 10;
34  
35      final public static int darkGray = 11;
36  
37      final public static int black = 12;
38  
39      final public static int redAsGray = 13;
40  
41      final public static int greenAsGray = 14;
42  
43      final public static int blueAsGray = 15;
44  
45      final public static int cyanAsGray = 16;
46  
47      final public static int magentaAsGray = 17;
48  
49      final public static int yellowAsGray = 18;
50  
51      final public static int orangeAsGray = 19;
52  
53      final public static int pinkAsGray = 20;
54  
55      final public static int whiteAsGray = 21;
56  
57      final public static int lightGrayAsGray = 22;
58  
59      final public static int grayAsGray = 23;
60  
61      final public static int darkGrayAsGray = 24;
62  
63      final public static int blackAsGray = 25;
64  
65      final public static int redInvisible = 26;
66  
67      final public static int greenInvisible = 27;
68  
69      final public static int blueInvisible = 28;
70  
71      final public static int cyanInvisible = 29;
72  
73      final public static int magentaInvisible = 30;
74  
75      final public static int yellowInvisible = 31;
76  
77      final public static int orangeInvisible = 32;
78  
79      final public static int pinkInvisible = 33;
80  
81      final public static int whiteInvisible = 34;
82  
83      final public static int lightGrayInvisible = 35;
84  
85      final public static int grayInvisible = 36;
86  
87      final public static int darkGrayInvisible = 37;
88  
89      final public static int blackInvisible = 38;
90  
91      final public static String[] psColorTag = { "Cr", "Cg", "Cb", "Cc", "Cm",
92              "Cy", "Co", "Cp", "Cw", "Cgrl", "Cgr", "Cgrd", "Ck", "CGr", "CGg",
93              "CGb", "CGc", "CGm", "CGy", "CGo", "CGp", "CGw", "CGgrl", "CGgr",
94              "CGgrd", "CGk", "CIr", "CIg", "CIb", "CIc", "CIm", "CIy", "CIo",
95              "CIp", "CIw", "CIgrl", "CIgr", "CIgrd", "CIk" };
96  
97      // The "foreground" colors. They remain true colors within the
98      // display and print color maps. In the grayscale and b&w color
99      // maps these always appear as black.
100     final protected static MappedColor displayRed = new MappedColor(255, 0, 0,
101             red);
102 
103     final protected static MappedColor printRed = new MappedColor(255, 84, 84,
104             red);
105 
106     final protected static MappedColor grayRed = new MappedColor(0, 0, 0, red);
107 
108     final protected static MappedColor bwRed = new MappedColor(0, 0, 0, red);
109 
110     final protected static MappedColor displayGreen = new MappedColor(0, 255,
111             0, green);
112 
113     final protected static MappedColor printGreen = new MappedColor(84, 255,
114             84, green);
115 
116     final protected static MappedColor grayGreen = new MappedColor(0, 0, 0,
117             green);
118 
119     final protected static MappedColor bwGreen = new MappedColor(0, 0, 0, green);
120 
121     final protected static MappedColor displayBlue = new MappedColor(0, 0, 255,
122             blue);
123 
124     final protected static MappedColor printBlue = new MappedColor(84, 84, 255,
125             blue);
126 
127     final protected static MappedColor grayBlue = new MappedColor(0, 0, 0, blue);
128 
129     final protected static MappedColor bwBlue = new MappedColor(0, 0, 0, blue);
130 
131     final protected static MappedColor displayCyan = new MappedColor(0, 255,
132             255, cyan);
133 
134     final protected static MappedColor printCyan = new MappedColor(0, 255, 255,
135             cyan);
136 
137     final protected static MappedColor grayCyan = new MappedColor(0, 0, 0, cyan);
138 
139     final protected static MappedColor bwCyan = new MappedColor(0, 0, 0, cyan);
140 
141     final protected static MappedColor displayMagenta = new MappedColor(255, 0,
142             255, magenta);
143 
144     final protected static MappedColor printMagenta = new MappedColor(255, 0,
145             255, magenta);
146 
147     final protected static MappedColor grayMagenta = new MappedColor(0, 0, 0,
148             magenta);
149 
150     final protected static MappedColor bwMagenta = new MappedColor(0, 0, 0,
151             magenta);
152 
153     final protected static MappedColor displayYellow = new MappedColor(255,
154             255, 0, yellow);
155 
156     final protected static MappedColor printYellow = new MappedColor(255, 255,
157             0, yellow);
158 
159     final protected static MappedColor grayYellow = new MappedColor(0, 0, 0,
160             yellow);
161 
162     final protected static MappedColor bwYellow = new MappedColor(0, 0, 0,
163             yellow);
164 
165     final protected static MappedColor displayOrange = new MappedColor(255,
166             200, 0, orange);
167 
168     final protected static MappedColor printOrange = new MappedColor(255, 200,
169             0, orange);
170 
171     final protected static MappedColor grayOrange = new MappedColor(0, 0, 0,
172             orange);
173 
174     final protected static MappedColor bwOrange = new MappedColor(0, 0, 0,
175             orange);
176 
177     final protected static MappedColor displayPink = new MappedColor(255, 175,
178             175, pink);
179 
180     final protected static MappedColor printPink = new MappedColor(255, 175,
181             175, pink);
182 
183     final protected static MappedColor grayPink = new MappedColor(0, 0, 0, pink);
184 
185     final protected static MappedColor bwPink = new MappedColor(0, 0, 0, pink);
186 
187     final protected static MappedColor displayWhite = new MappedColor(255, 255,
188             255, white);
189 
190     final protected static MappedColor printWhite = new MappedColor(255, 255,
191             255, white);
192 
193     final protected static MappedColor grayWhite = new MappedColor(0, 0, 0,
194             white);
195 
196     final protected static MappedColor bwWhite = new MappedColor(0, 0, 0, white);
197 
198     final protected static MappedColor displayLightGray = new MappedColor(192,
199             192, 192, lightGray);
200 
201     final protected static MappedColor printLightGray = new MappedColor(192,
202             192, 192, lightGray);
203 
204     final protected static MappedColor grayLightGray = new MappedColor(0, 0, 0,
205             lightGray);
206 
207     final protected static MappedColor bwLightGray = new MappedColor(0, 0, 0,
208             lightGray);
209 
210     final protected static MappedColor displayGray = new MappedColor(128, 128,
211             128, gray);
212 
213     final protected static MappedColor printGray = new MappedColor(128, 128,
214             128, gray);
215 
216     final protected static MappedColor grayGray = new MappedColor(0, 0, 0, gray);
217 
218     final protected static MappedColor bwGray = new MappedColor(0, 0, 0, gray);
219 
220     final protected static MappedColor displayDarkGray = new MappedColor(64,
221             64, 64, darkGray);
222 
223     final protected static MappedColor printDarkGray = new MappedColor(64, 64,
224             64, darkGray);
225 
226     final protected static MappedColor grayDarkGray = new MappedColor(0, 0, 0,
227             darkGray);
228 
229     final protected static MappedColor bwDarkGray = new MappedColor(0, 0, 0,
230             darkGray);
231 
232     final protected static MappedColor displayBlack = new MappedColor(0, 0, 0,
233             black);
234 
235     final protected static MappedColor printBlack = new MappedColor(0, 0, 0,
236             black);
237 
238     final protected static MappedColor grayBlack = new MappedColor(0, 0, 0,
239             black);
240 
241     final protected static MappedColor bwBlack = new MappedColor(0, 0, 0, black);
242 
243     // The "fill" colors. These retain their colors under the display
244     // and print color maps. Under the grayscale color map, these
245     // become light shades of gray. These become white under the b&w
246     // color map.
247     final protected static MappedColor displayRedAsGray = new MappedColor(255,
248             0, 0, redAsGray);
249 
250     final protected static MappedColor printRedAsGray = new MappedColor(255,
251             84, 84, redAsGray);
252 
253     final protected static MappedColor grayRedAsGray = new MappedColor(192,
254             192, 192, redAsGray);
255 
256     final protected static MappedColor bwRedAsGray = new MappedColor(255, 255,
257             255, redAsGray);
258 
259     final protected static MappedColor displayGreenAsGray = new MappedColor(0,
260             255, 0, greenAsGray);
261 
262     final protected static MappedColor printGreenAsGray = new MappedColor(84,
263             255, 84, greenAsGray);
264 
265     final protected static MappedColor grayGreenAsGray = new MappedColor(255,
266             255, 255, greenAsGray);
267 
268     final protected static MappedColor bwGreenAsGray = new MappedColor(255,
269             255, 255, greenAsGray);
270 
271     final protected static MappedColor displayBlueAsGray = new MappedColor(0,
272             0, 255, blueAsGray);
273 
274     final protected static MappedColor printBlueAsGray = new MappedColor(84,
275             84, 255, blueAsGray);
276 
277     final protected static MappedColor grayBlueAsGray = new MappedColor(128,
278             128, 128, blueAsGray);
279 
280     final protected static MappedColor bwBlueAsGray = new MappedColor(255, 255,
281             255, blueAsGray);
282 
283     final protected static MappedColor displayCyanAsGray = new MappedColor(0,
284             255, 255, cyanAsGray);
285 
286     final protected static MappedColor printCyanAsGray = new MappedColor(0,
287             255, 255, cyanAsGray);
288 
289     final protected static MappedColor grayCyanAsGray = new MappedColor(192,
290             192, 192, cyanAsGray);
291 
292     final protected static MappedColor bwCyanAsGray = new MappedColor(255, 255,
293             255, cyanAsGray);
294 
295     final protected static MappedColor displayMagentaAsGray = new MappedColor(
296             255, 0, 255, magentaAsGray);
297 
298     final protected static MappedColor printMagentaAsGray = new MappedColor(
299             255, 0, 255, magentaAsGray);
300 
301     final protected static MappedColor grayMagentaAsGray = new MappedColor(128,
302             128, 128, magentaAsGray);
303 
304     final protected static MappedColor bwMagentaAsGray = new MappedColor(255,
305             255, 255, magentaAsGray);
306 
307     final protected static MappedColor displayYellowAsGray = new MappedColor(
308             255, 255, 0, yellowAsGray);
309 
310     final protected static MappedColor printYellowAsGray = new MappedColor(255,
311             255, 0, yellowAsGray);
312 
313     final protected static MappedColor grayYellowAsGray = new MappedColor(255,
314             255, 255, yellowAsGray);
315 
316     final protected static MappedColor bwYellowAsGray = new MappedColor(255,
317             255, 255, yellowAsGray);
318 
319     final protected static MappedColor displayOrangeAsGray = new MappedColor(
320             255, 200, 0, orangeAsGray);
321 
322     final protected static MappedColor printOrangeAsGray = new MappedColor(255,
323             200, 0, orangeAsGray);
324 
325     final protected static MappedColor grayOrangeAsGray = new MappedColor(192,
326             192, 192, orangeAsGray);
327 
328     final protected static MappedColor bwOrangeAsGray = new MappedColor(255,
329             255, 255, orangeAsGray);
330 
331     final protected static MappedColor displayPinkAsGray = new MappedColor(255,
332             175, 175, pinkAsGray);
333 
334     final protected static MappedColor printPinkAsGray = new MappedColor(255,
335             175, 175, pinkAsGray);
336 
337     final protected static MappedColor grayPinkAsGray = new MappedColor(255,
338             255, 255, pinkAsGray);
339 
340     final protected static MappedColor bwPinkAsGray = new MappedColor(255, 255,
341             255, pinkAsGray);
342 
343     final protected static MappedColor displayWhiteAsGray = new MappedColor(
344             255, 255, 255, whiteAsGray);
345 
346     final protected static MappedColor printWhiteAsGray = new MappedColor(255,
347             255, 255, whiteAsGray);
348 
349     final protected static MappedColor grayWhiteAsGray = new MappedColor(0, 0,
350             0, whiteAsGray);
351 
352     final protected static MappedColor bwWhiteAsGray = new MappedColor(0, 0, 0,
353             whiteAsGray);
354 
355     final protected static MappedColor displayLightGrayAsGray = new MappedColor(
356             192, 192, 192, lightGrayAsGray);
357 
358     final protected static MappedColor printLightGrayAsGray = new MappedColor(
359             192, 192, 192, lightGrayAsGray);
360 
361     final protected static MappedColor grayLightGrayAsGray = new MappedColor(
362             64, 64, 64, lightGrayAsGray);
363 
364     final protected static MappedColor bwLightGrayAsGray = new MappedColor(255,
365             255, 255, lightGrayAsGray);
366 
367     final protected static MappedColor displayGrayAsGray = new MappedColor(128,
368             128, 128, grayAsGray);
369 
370     final protected static MappedColor printGrayAsGray = new MappedColor(128,
371             128, 128, grayAsGray);
372 
373     final protected static MappedColor grayGrayAsGray = new MappedColor(128,
374             128, 128, grayAsGray);
375 
376     final protected static MappedColor bwGrayAsGray = new MappedColor(255, 255,
377             255, grayAsGray);
378 
379     final protected static MappedColor displayDarkGrayAsGray = new MappedColor(
380             64, 64, 64, darkGrayAsGray);
381 
382     final protected static MappedColor printDarkGrayAsGray = new MappedColor(
383             64, 64, 64, darkGrayAsGray);
384 
385     final protected static MappedColor grayDarkGrayAsGray = new MappedColor(
386             192, 192, 192, darkGrayAsGray);
387 
388     final protected static MappedColor bwDarkGrayAsGray = new MappedColor(255,
389             255, 255, darkGrayAsGray);
390 
391     final protected static MappedColor displayBlackAsGray = new MappedColor(0,
392             0, 0, blackAsGray);
393 
394     final protected static MappedColor printBlackAsGray = new MappedColor(0, 0,
395             0, blackAsGray);
396 
397     final protected static MappedColor grayBlackAsGray = new MappedColor(255,
398             255, 255, blackAsGray);
399 
400     final protected static MappedColor bwBlackAsGray = new MappedColor(255,
401             255, 255, blackAsGray);
402 
403     // The "background" colors. These retain their colors under the
404     // display and print color maps. Under the grayscale color map
405     // and the b&w color map these are white.
406     final protected static MappedColor displayRedInvisible = new MappedColor(
407             255, 0, 0, redInvisible);
408 
409     final protected static MappedColor printRedInvisible = new MappedColor(255,
410             84, 84, redInvisible);
411 
412     final protected static MappedColor grayRedInvisible = new MappedColor(255,
413             255, 255, redInvisible);
414 
415     final protected static MappedColor bwRedInvisible = new MappedColor(255,
416             255, 255, redInvisible);
417 
418     final protected static MappedColor displayGreenInvisible = new MappedColor(
419             0, 255, 0, greenInvisible);
420 
421     final protected static MappedColor printGreenInvisible = new MappedColor(
422             84, 255, 84, greenInvisible);
423 
424     final protected static MappedColor grayGreenInvisible = new MappedColor(
425             255, 255, 255, greenInvisible);
426 
427     final protected static MappedColor bwGreenInvisible = new MappedColor(255,
428             255, 255, greenInvisible);
429 
430     final protected static MappedColor displayBlueInvisible = new MappedColor(
431             0, 0, 255, blueInvisible);
432 
433     final protected static MappedColor printBlueInvisible = new MappedColor(84,
434             84, 255, blueInvisible);
435 
436     final protected static MappedColor grayBlueInvisible = new MappedColor(255,
437             255, 255, blueInvisible);
438 
439     final protected static MappedColor bwBlueInvisible = new MappedColor(255,
440             255, 255, blueInvisible);
441 
442     final protected static MappedColor displayCyanInvisible = new MappedColor(
443             0, 255, 255, cyanInvisible);
444 
445     final protected static MappedColor printCyanInvisible = new MappedColor(0,
446             255, 255, cyanInvisible);
447 
448     final protected static MappedColor grayCyanInvisible = new MappedColor(255,
449             255, 255, cyanInvisible);
450 
451     final protected static MappedColor bwCyanInvisible = new MappedColor(255,
452             255, 255, cyanInvisible);
453 
454     final protected static MappedColor displayMagentaInvisible = new MappedColor(
455             255, 0, 255, magentaInvisible);
456 
457     final protected static MappedColor printMagentaInvisible = new MappedColor(
458             255, 0, 255, magentaInvisible);
459 
460     final protected static MappedColor grayMagentaInvisible = new MappedColor(
461             255, 255, 255, magentaInvisible);
462 
463     final protected static MappedColor bwMagentaInvisible = new MappedColor(
464             255, 255, 255, magentaInvisible);
465 
466     final protected static MappedColor displayYellowInvisible = new MappedColor(
467             255, 255, 0, yellowInvisible);
468 
469     final protected static MappedColor printYellowInvisible = new MappedColor(
470             255, 255, 0, yellowInvisible);
471 
472     final protected static MappedColor grayYellowInvisible = new MappedColor(
473             255, 255, 255, yellowInvisible);
474 
475     final protected static MappedColor bwYellowInvisible = new MappedColor(255,
476             255, 255, yellowInvisible);
477 
478     final protected static MappedColor displayOrangeInvisible = new MappedColor(
479             255, 200, 0, orangeInvisible);
480 
481     final protected static MappedColor printOrangeInvisible = new MappedColor(
482             255, 200, 0, orangeInvisible);
483 
484     final protected static MappedColor grayOrangeInvisible = new MappedColor(
485             255, 255, 255, orangeInvisible);
486 
487     final protected static MappedColor bwOrangeInvisible = new MappedColor(255,
488             255, 255, orangeInvisible);
489 
490     final protected static MappedColor displayPinkInvisible = new MappedColor(
491             255, 175, 175, pinkInvisible);
492 
493     final protected static MappedColor printPinkInvisible = new MappedColor(
494             255, 175, 175, pinkInvisible);
495 
496     final protected static MappedColor grayPinkInvisible = new MappedColor(255,
497             255, 255, pinkInvisible);
498 
499     final protected static MappedColor bwPinkInvisible = new MappedColor(255,
500             255, 255, pinkInvisible);
501 
502     final protected static MappedColor displayWhiteInvisible = new MappedColor(
503             255, 255, 255, whiteInvisible);
504 
505     final protected static MappedColor printWhiteInvisible = new MappedColor(
506             255, 255, 255, whiteInvisible);
507 
508     final protected static MappedColor grayWhiteInvisible = new MappedColor(
509             255, 255, 255, whiteInvisible);
510 
511     final protected static MappedColor bwWhiteInvisible = new MappedColor(255,
512             255, 255, whiteInvisible);
513 
514     final protected static MappedColor displayLightGrayInvisible = new MappedColor(
515             192, 192, 192, lightGrayInvisible);
516 
517     final protected static MappedColor printLightGrayInvisible = new MappedColor(
518             192, 192, 192, lightGrayInvisible);
519 
520     final protected static MappedColor grayLightGrayInvisible = new MappedColor(
521             255, 255, 255, lightGrayInvisible);
522 
523     final protected static MappedColor bwLightGrayInvisible = new MappedColor(
524             255, 255, 255, lightGrayInvisible);
525 
526     final protected static MappedColor displayGrayInvisible = new MappedColor(
527             128, 128, 128, grayInvisible);
528 
529     final protected static MappedColor printGrayInvisible = new MappedColor(
530             128, 128, 128, grayInvisible);
531 
532     final protected static MappedColor grayGrayInvisible = new MappedColor(255,
533             255, 255, grayInvisible);
534 
535     final protected static MappedColor bwGrayInvisible = new MappedColor(255,
536             255, 255, grayInvisible);
537 
538     final protected static MappedColor displayDarkGrayInvisible = new MappedColor(
539             64, 64, 64, darkGrayInvisible);
540 
541     final protected static MappedColor printDarkGrayInvisible = new MappedColor(
542             64, 64, 64, darkGrayInvisible);
543 
544     final protected static MappedColor grayDarkGrayInvisible = new MappedColor(
545             255, 255, 255, darkGrayInvisible);
546 
547     final protected static MappedColor bwDarkGrayInvisible = new MappedColor(
548             255, 255, 255, darkGrayInvisible);
549 
550     final protected static MappedColor displayBlackInvisible = new MappedColor(
551             0, 0, 0, blackInvisible);
552 
553     final protected static MappedColor printBlackInvisible = new MappedColor(0,
554             0, 0, blackInvisible);
555 
556     final protected static MappedColor grayBlackInvisible = new MappedColor(
557             255, 255, 255, blackInvisible);
558 
559     final protected static MappedColor bwBlackInvisible = new MappedColor(255,
560             255, 255, blackInvisible);
561 
562     // Now define the display color map.
563     final protected static MappedColor[] displayMap = { displayRed,
564             displayGreen, displayBlue, displayCyan, displayMagenta,
565             displayYellow, displayOrange, displayPink, displayWhite,
566             displayLightGray, displayGray, displayDarkGray, displayBlack,
567             displayRedAsGray, displayGreenAsGray, displayBlueAsGray,
568             displayCyanAsGray, displayMagentaAsGray, displayYellowAsGray,
569             displayOrangeAsGray, displayPinkAsGray, displayWhiteAsGray,
570             displayLightGrayAsGray, displayGrayAsGray, displayDarkGrayAsGray,
571             displayBlackAsGray, displayRedInvisible, displayGreenInvisible,
572             displayBlueInvisible, displayCyanInvisible,
573             displayMagentaInvisible, displayYellowInvisible,
574             displayOrangeInvisible, displayPinkInvisible,
575             displayWhiteInvisible, displayLightGrayInvisible,
576             displayGrayInvisible, displayDarkGrayInvisible,
577             displayBlackInvisible };
578 
579     // Now define the print color map.
580     final protected static MappedColor[] printMap = { printRed, printGreen,
581             printBlue, printCyan, printMagenta, printYellow, printOrange,
582             printPink, printWhite, printLightGray, printGray, printDarkGray,
583             printBlack, printRedAsGray, printGreenAsGray, printBlueAsGray,
584             printCyanAsGray, printMagentaAsGray, printYellowAsGray,
585             printOrangeAsGray, printPinkAsGray, printWhiteAsGray,
586             printLightGrayAsGray, printGrayAsGray, printDarkGrayAsGray,
587             printBlackAsGray, printRedInvisible, printGreenInvisible,
588             printBlueInvisible, printCyanInvisible, printMagentaInvisible,
589             printYellowInvisible, printOrangeInvisible, printPinkInvisible,
590             printWhiteInvisible, printLightGrayInvisible, printGrayInvisible,
591             printDarkGrayInvisible, printBlackInvisible };
592 
593     // Now define the grayscale color map.
594     final protected static MappedColor[] grayMap = { grayRed, grayGreen,
595             grayBlue, grayCyan, grayMagenta, grayYellow, grayOrange, grayPink,
596             grayWhite, grayLightGray, grayGray, grayDarkGray, grayBlack,
597             grayRedAsGray, grayGreenAsGray, grayBlueAsGray, grayCyanAsGray,
598             grayMagentaAsGray, grayYellowAsGray, grayOrangeAsGray,
599             grayPinkAsGray, grayWhiteAsGray, grayLightGrayAsGray,
600             grayGrayAsGray, grayDarkGrayAsGray, grayBlackAsGray,
601             grayRedInvisible, grayGreenInvisible, grayBlueInvisible,
602             grayCyanInvisible, grayMagentaInvisible, grayYellowInvisible,
603             grayOrangeInvisible, grayPinkInvisible, grayWhiteInvisible,
604             grayLightGrayInvisible, grayGrayInvisible, grayDarkGrayInvisible,
605             grayBlackInvisible };
606 
607     // Now define the black&white color map.
608     final protected static MappedColor[] bwMap = { bwRed, bwGreen, bwBlue,
609             bwCyan, bwMagenta, bwYellow, bwOrange, bwPink, bwWhite,
610             bwLightGray, bwGray, bwDarkGray, bwBlack, bwRedAsGray,
611             bwGreenAsGray, bwBlueAsGray, bwCyanAsGray, bwMagentaAsGray,
612             bwYellowAsGray, bwOrangeAsGray, bwPinkAsGray, bwWhiteAsGray,
613             bwLightGrayAsGray, bwGrayAsGray, bwDarkGrayAsGray, bwBlackAsGray,
614             bwRedInvisible, bwGreenInvisible, bwBlueInvisible, bwCyanInvisible,
615             bwMagentaInvisible, bwYellowInvisible, bwOrangeInvisible,
616             bwPinkInvisible, bwWhiteInvisible, bwLightGrayInvisible,
617             bwGrayInvisible, bwDarkGrayInvisible, bwBlackInvisible };
618 
619     // The current map references one of the above color maps.
620     protected MappedColor[] currentColorMap;
621 
622     /**
623      * Constructor takes no arguments. The display color map is the default.
624      */
625     public ColorMap() {
626         currentColorMap = displayMap;
627     }
628 
629     /**
630      * Change to the display color map.
631      */
632     public void useDisplayColorMap() {
633         currentColorMap = displayMap;
634     }
635 
636     /**
637      * Change to the print color map.
638      */
639     public void usePrintColorMap() {
640         currentColorMap = printMap;
641     }
642 
643     /**
644      * Change to the grayscale color map.
645      */
646     public void useGrayscaleColorMap() {
647         currentColorMap = grayMap;
648     }
649 
650     /**
651      * Change to the black&white color map.
652      */
653     public void useBlackAndWhiteColorMap() {
654         currentColorMap = bwMap;
655     }
656 
657     /**
658      * Retrieve a mapped color from the color map.
659      */
660     public MappedColor getMappedColor(int colorIndex) {
661         if (colorIndex < 0 && colorIndex > 38) {
662             return null;
663         } else {
664             return currentColorMap[colorIndex];
665         }
666     }
667 
668     /**
669      * Retrieve a mapped color as a Java Color from the color map.
670      */
671     public Color getColor(int colorIndex) {
672         if (colorIndex < 0 && colorIndex > 38) {
673             return null;
674         } else {
675             return (Color) currentColorMap[colorIndex];
676         }
677     }
678 
679     /**
680      * Get a terse tag which describes which color a particular color index
681      * represents.
682      */
683     public static String getTag(int colorIndex) {
684         if (colorIndex < 0 && colorIndex > 38) {
685             return null;
686         } else {
687             return psColorTag[colorIndex];
688         }
689     }
690 
691 }