1 /*
2
3    Licensed to the Apache Software Foundation (ASF) under one or more
4    contributor license agreements.  See the NOTICE file distributed with
5    this work for additional information regarding copyright ownership.
6    The ASF licenses this file to You under the Apache License, Version 2.0
7    (the "License"); you may not use this file except in compliance with
8    the License.  You may obtain a copy of the License at
9
10        http://www.apache.org/licenses/LICENSE-2.0
11
12    Unless required by applicable law or agreed to in writing, software
13    distributed under the License is distributed on an "AS IS" BASIS,
14    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15    See the License for the specific language governing permissions and
16    limitations under the License.
17
18  */

19 package org.apache.batik.css.engine.value.svg;
20
21 import org.apache.batik.css.engine.value.AbstractColorManager;
22 import org.apache.batik.css.engine.value.Value;
23 import org.apache.batik.css.engine.value.ValueManager;
24 import org.apache.batik.util.CSSConstants;
25 import org.apache.batik.util.SVGTypes;
26
27 /**
28  * This class provides a manager for the 'color' property values.
29  *
30  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
31  * @version $Id: ColorManager.java 1733416 2016-03-03 07:07:13Z gadams $
32  */

33 public class ColorManager extends AbstractColorManager {
34
35     /**
36      * The default color value.
37      */

38     protected static final Value DEFAULT_VALUE =
39         SVGValueConstants.BLACK_RGB_VALUE;
40
41     //
42     // Add some identifier values.
43     //
44     static {
45         values.put(CSSConstants.CSS_ALICEBLUE_VALUE,
46                    SVGValueConstants.ALICEBLUE_VALUE);
47         values.put(CSSConstants.CSS_ANTIQUEWHITE_VALUE,
48                    SVGValueConstants.ANTIQUEWHITE_VALUE);
49         values.put(CSSConstants.CSS_AQUAMARINE_VALUE,
50                    SVGValueConstants.AQUAMARINE_VALUE);
51         values.put(CSSConstants.CSS_AZURE_VALUE,
52                    SVGValueConstants.AZURE_VALUE);
53         values.put(CSSConstants.CSS_BEIGE_VALUE,
54                    SVGValueConstants.BEIGE_VALUE);
55         values.put(CSSConstants.CSS_BISQUE_VALUE,
56                    SVGValueConstants.BISQUE_VALUE);
57         values.put(CSSConstants.CSS_BLANCHEDALMOND_VALUE,
58                    SVGValueConstants.BLANCHEDALMOND_VALUE);
59         values.put(CSSConstants.CSS_BLUEVIOLET_VALUE,
60                    SVGValueConstants.BLUEVIOLET_VALUE);
61         values.put(CSSConstants.CSS_BROWN_VALUE,
62                    SVGValueConstants.BROWN_VALUE);
63         values.put(CSSConstants.CSS_BURLYWOOD_VALUE,
64                    SVGValueConstants.BURLYWOOD_VALUE);
65         values.put(CSSConstants.CSS_CADETBLUE_VALUE,
66                    SVGValueConstants.CADETBLUE_VALUE);
67         values.put(CSSConstants.CSS_CHARTREUSE_VALUE,
68                    SVGValueConstants.CHARTREUSE_VALUE);
69         values.put(CSSConstants.CSS_CHOCOLATE_VALUE,
70                    SVGValueConstants.CHOCOLATE_VALUE);
71         values.put(CSSConstants.CSS_CORAL_VALUE,
72                    SVGValueConstants.CORAL_VALUE);
73         values.put(CSSConstants.CSS_CORNFLOWERBLUE_VALUE,
74                    SVGValueConstants.CORNFLOWERBLUE_VALUE);
75         values.put(CSSConstants.CSS_CORNSILK_VALUE,
76                    SVGValueConstants.CORNSILK_VALUE);
77         values.put(CSSConstants.CSS_CRIMSON_VALUE,
78                    SVGValueConstants.CRIMSON_VALUE);
79         values.put(CSSConstants.CSS_CYAN_VALUE,
80                    SVGValueConstants.CYAN_VALUE);
81         values.put(CSSConstants.CSS_DARKBLUE_VALUE,
82                    SVGValueConstants.DARKBLUE_VALUE);
83         values.put(CSSConstants.CSS_DARKCYAN_VALUE,
84                    SVGValueConstants.DARKCYAN_VALUE);
85         values.put(CSSConstants.CSS_DARKGOLDENROD_VALUE,
86                    SVGValueConstants.DARKGOLDENROD_VALUE);
87         values.put(CSSConstants.CSS_DARKGRAY_VALUE,
88                    SVGValueConstants.DARKGRAY_VALUE);
89         values.put(CSSConstants.CSS_DARKGREEN_VALUE,
90                    SVGValueConstants.DARKGREEN_VALUE);
91         values.put(CSSConstants.CSS_DARKGREY_VALUE,
92                    SVGValueConstants.DARKGREY_VALUE);
93         values.put(CSSConstants.CSS_DARKKHAKI_VALUE,
94                    SVGValueConstants.DARKKHAKI_VALUE);
95         values.put(CSSConstants.CSS_DARKMAGENTA_VALUE,
96                    SVGValueConstants.DARKMAGENTA_VALUE);
97         values.put(CSSConstants.CSS_DARKOLIVEGREEN_VALUE,
98                    SVGValueConstants.DARKOLIVEGREEN_VALUE);
99         values.put(CSSConstants.CSS_DARKORANGE_VALUE,
100                    SVGValueConstants.DARKORANGE_VALUE);
101         values.put(CSSConstants.CSS_DARKORCHID_VALUE,
102                    SVGValueConstants.DARKORCHID_VALUE);
103         values.put(CSSConstants.CSS_DARKRED_VALUE,
104                    SVGValueConstants.DARKRED_VALUE);
105         values.put(CSSConstants.CSS_DARKSALMON_VALUE,
106                    SVGValueConstants.DARKSALMON_VALUE);
107         values.put(CSSConstants.CSS_DARKSEAGREEN_VALUE,
108                    SVGValueConstants.DARKSEAGREEN_VALUE);
109         values.put(CSSConstants.CSS_DARKSLATEBLUE_VALUE,
110                    SVGValueConstants.DARKSLATEBLUE_VALUE);
111         values.put(CSSConstants.CSS_DARKSLATEGRAY_VALUE,
112                    SVGValueConstants.DARKSLATEGRAY_VALUE);
113         values.put(CSSConstants.CSS_DARKSLATEGREY_VALUE,
114                    SVGValueConstants.DARKSLATEGREY_VALUE);
115         values.put(CSSConstants.CSS_DARKTURQUOISE_VALUE,
116                    SVGValueConstants.DARKTURQUOISE_VALUE);
117         values.put(CSSConstants.CSS_DARKVIOLET_VALUE,
118                    SVGValueConstants.DARKVIOLET_VALUE);
119         values.put(CSSConstants.CSS_DEEPPINK_VALUE,
120                    SVGValueConstants.DEEPPINK_VALUE);
121         values.put(CSSConstants.CSS_DEEPSKYBLUE_VALUE,
122                    SVGValueConstants.DEEPSKYBLUE_VALUE);
123         values.put(CSSConstants.CSS_DIMGRAY_VALUE,
124                    SVGValueConstants.DIMGRAY_VALUE);
125         values.put(CSSConstants.CSS_DIMGREY_VALUE,
126                    SVGValueConstants.DIMGREY_VALUE);
127         values.put(CSSConstants.CSS_DODGERBLUE_VALUE,
128                    SVGValueConstants.DODGERBLUE_VALUE);
129         values.put(CSSConstants.CSS_FIREBRICK_VALUE,
130                    SVGValueConstants.FIREBRICK_VALUE);
131         values.put(CSSConstants.CSS_FLORALWHITE_VALUE,
132                    SVGValueConstants.FLORALWHITE_VALUE);
133         values.put(CSSConstants.CSS_FORESTGREEN_VALUE,
134                    SVGValueConstants.FORESTGREEN_VALUE);
135         values.put(CSSConstants.CSS_GAINSBORO_VALUE,
136                    SVGValueConstants.GAINSBORO_VALUE);
137         values.put(CSSConstants.CSS_GHOSTWHITE_VALUE,
138                    SVGValueConstants.GHOSTWHITE_VALUE);
139         values.put(CSSConstants.CSS_GOLD_VALUE,
140                    SVGValueConstants.GOLD_VALUE);
141         values.put(CSSConstants.CSS_GOLDENROD_VALUE,
142                    SVGValueConstants.GOLDENROD_VALUE);
143         values.put(CSSConstants.CSS_GREENYELLOW_VALUE,
144                    SVGValueConstants.GREENYELLOW_VALUE);
145         values.put(CSSConstants.CSS_GREY_VALUE,
146                    SVGValueConstants.GREY_VALUE);
147         values.put(CSSConstants.CSS_HONEYDEW_VALUE,
148                    SVGValueConstants.HONEYDEW_VALUE);
149         values.put(CSSConstants.CSS_HOTPINK_VALUE,
150                    SVGValueConstants.HOTPINK_VALUE);
151         values.put(CSSConstants.CSS_INDIANRED_VALUE,
152                    SVGValueConstants.INDIANRED_VALUE);
153         values.put(CSSConstants.CSS_INDIGO_VALUE,
154                    SVGValueConstants.INDIGO_VALUE);
155         values.put(CSSConstants.CSS_IVORY_VALUE,
156                    SVGValueConstants.IVORY_VALUE);
157         values.put(CSSConstants.CSS_KHAKI_VALUE,
158                    SVGValueConstants.KHAKI_VALUE);
159         values.put(CSSConstants.CSS_LAVENDER_VALUE,
160                    SVGValueConstants.LAVENDER_VALUE);
161         values.put(CSSConstants.CSS_LAVENDERBLUSH_VALUE,
162                    SVGValueConstants.LAVENDERBLUSH_VALUE);
163         values.put(CSSConstants.CSS_LAWNGREEN_VALUE,
164                    SVGValueConstants.LAWNGREEN_VALUE);
165         values.put(CSSConstants.CSS_LEMONCHIFFON_VALUE,
166                    SVGValueConstants.LEMONCHIFFON_VALUE);
167         values.put(CSSConstants.CSS_LIGHTBLUE_VALUE,
168                    SVGValueConstants.LIGHTBLUE_VALUE);
169         values.put(CSSConstants.CSS_LIGHTCORAL_VALUE,
170                    SVGValueConstants.LIGHTCORAL_VALUE);
171         values.put(CSSConstants.CSS_LIGHTCYAN_VALUE,
172                    SVGValueConstants.LIGHTCYAN_VALUE);
173         values.put(CSSConstants.CSS_LIGHTGOLDENRODYELLOW_VALUE,
174                    SVGValueConstants.LIGHTGOLDENRODYELLOW_VALUE);
175         values.put(CSSConstants.CSS_LIGHTGRAY_VALUE,
176                    SVGValueConstants.LIGHTGRAY_VALUE);
177         values.put(CSSConstants.CSS_LIGHTGREEN_VALUE,
178                    SVGValueConstants.LIGHTGREEN_VALUE);
179         values.put(CSSConstants.CSS_LIGHTGREY_VALUE,
180                    SVGValueConstants.LIGHTGREY_VALUE);
181         values.put(CSSConstants.CSS_LIGHTPINK_VALUE,
182                    SVGValueConstants.LIGHTPINK_VALUE);
183         values.put(CSSConstants.CSS_LIGHTSALMON_VALUE,
184                    SVGValueConstants.LIGHTSALMON_VALUE);
185         values.put(CSSConstants.CSS_LIGHTSEAGREEN_VALUE,
186                    SVGValueConstants.LIGHTSEAGREEN_VALUE);
187         values.put(CSSConstants.CSS_LIGHTSKYBLUE_VALUE,
188                    SVGValueConstants.LIGHTSKYBLUE_VALUE);
189         values.put(CSSConstants.CSS_LIGHTSLATEGRAY_VALUE,
190                    SVGValueConstants.LIGHTSLATEGRAY_VALUE);
191         values.put(CSSConstants.CSS_LIGHTSLATEGREY_VALUE,
192                    SVGValueConstants.LIGHTSLATEGREY_VALUE);
193         values.put(CSSConstants.CSS_LIGHTSTEELBLUE_VALUE,
194                    SVGValueConstants.LIGHTSTEELBLUE_VALUE);
195         values.put(CSSConstants.CSS_LIGHTYELLOW_VALUE,
196                    SVGValueConstants.LIGHTYELLOW_VALUE);
197         values.put(CSSConstants.CSS_LIMEGREEN_VALUE,
198                    SVGValueConstants.LIMEGREEN_VALUE);
199         values.put(CSSConstants.CSS_LINEN_VALUE,
200                    SVGValueConstants.LINEN_VALUE);
201         values.put(CSSConstants.CSS_MAGENTA_VALUE,
202                    SVGValueConstants.MAGENTA_VALUE);
203         values.put(CSSConstants.CSS_MEDIUMAQUAMARINE_VALUE,
204                    SVGValueConstants.MEDIUMAQUAMARINE_VALUE);
205         values.put(CSSConstants.CSS_MEDIUMBLUE_VALUE,
206                    SVGValueConstants.MEDIUMBLUE_VALUE);
207         values.put(CSSConstants.CSS_MEDIUMORCHID_VALUE,
208                    SVGValueConstants.MEDIUMORCHID_VALUE);
209         values.put(CSSConstants.CSS_MEDIUMPURPLE_VALUE,
210                    SVGValueConstants.MEDIUMPURPLE_VALUE);
211         values.put(CSSConstants.CSS_MEDIUMSEAGREEN_VALUE,
212                    SVGValueConstants.MEDIUMSEAGREEN_VALUE);
213         values.put(CSSConstants.CSS_MEDIUMSLATEBLUE_VALUE,
214                    SVGValueConstants.MEDIUMSLATEBLUE_VALUE);
215         values.put(CSSConstants.CSS_MEDIUMSPRINGGREEN_VALUE,
216                    SVGValueConstants.MEDIUMSPRINGGREEN_VALUE);
217         values.put(CSSConstants.CSS_MEDIUMTURQUOISE_VALUE,
218                    SVGValueConstants.MEDIUMTURQUOISE_VALUE);
219         values.put(CSSConstants.CSS_MEDIUMVIOLETRED_VALUE,
220                    SVGValueConstants.MEDIUMVIOLETRED_VALUE);
221         values.put(CSSConstants.CSS_MIDNIGHTBLUE_VALUE,
222                    SVGValueConstants.MIDNIGHTBLUE_VALUE);
223         values.put(CSSConstants.CSS_MINTCREAM_VALUE,
224                    SVGValueConstants.MINTCREAM_VALUE);
225         values.put(CSSConstants.CSS_MISTYROSE_VALUE,
226                    SVGValueConstants.MISTYROSE_VALUE);
227         values.put(CSSConstants.CSS_MOCCASIN_VALUE,
228                    SVGValueConstants.MOCCASIN_VALUE);
229         values.put(CSSConstants.CSS_NAVAJOWHITE_VALUE,
230                    SVGValueConstants.NAVAJOWHITE_VALUE);
231         values.put(CSSConstants.CSS_OLDLACE_VALUE,
232                    SVGValueConstants.OLDLACE_VALUE);
233         values.put(CSSConstants.CSS_OLIVEDRAB_VALUE,
234                    SVGValueConstants.OLIVEDRAB_VALUE);
235         values.put(CSSConstants.CSS_ORANGE_VALUE,
236                    SVGValueConstants.ORANGE_VALUE);
237         values.put(CSSConstants.CSS_ORANGERED_VALUE,
238                    SVGValueConstants.ORANGERED_VALUE);
239         values.put(CSSConstants.CSS_ORCHID_VALUE,
240                    SVGValueConstants.ORCHID_VALUE);
241         values.put(CSSConstants.CSS_PALEGOLDENROD_VALUE,
242                    SVGValueConstants.PALEGOLDENROD_VALUE);
243         values.put(CSSConstants.CSS_PALEGREEN_VALUE,
244                    SVGValueConstants.PALEGREEN_VALUE);
245         values.put(CSSConstants.CSS_PALETURQUOISE_VALUE,
246                    SVGValueConstants.PALETURQUOISE_VALUE);
247         values.put(CSSConstants.CSS_PALEVIOLETRED_VALUE,
248                    SVGValueConstants.PALEVIOLETRED_VALUE);
249         values.put(CSSConstants.CSS_PAPAYAWHIP_VALUE,
250                    SVGValueConstants.PAPAYAWHIP_VALUE);
251         values.put(CSSConstants.CSS_PEACHPUFF_VALUE,
252                    SVGValueConstants.PEACHPUFF_VALUE);
253         values.put(CSSConstants.CSS_PERU_VALUE,
254                    SVGValueConstants.PERU_VALUE);
255         values.put(CSSConstants.CSS_PINK_VALUE,
256                    SVGValueConstants.PINK_VALUE);
257         values.put(CSSConstants.CSS_PLUM_VALUE,
258                    SVGValueConstants.PLUM_VALUE);
259         values.put(CSSConstants.CSS_POWDERBLUE_VALUE,
260                    SVGValueConstants.POWDERBLUE_VALUE);
261         values.put(CSSConstants.CSS_PURPLE_VALUE,
262                    SVGValueConstants.PURPLE_VALUE);
263         values.put(CSSConstants.CSS_ROSYBROWN_VALUE,
264                    SVGValueConstants.ROSYBROWN_VALUE);
265         values.put(CSSConstants.CSS_ROYALBLUE_VALUE,
266                    SVGValueConstants.ROYALBLUE_VALUE);
267         values.put(CSSConstants.CSS_SADDLEBROWN_VALUE,
268                    SVGValueConstants.SADDLEBROWN_VALUE);
269         values.put(CSSConstants.CSS_SALMON_VALUE,
270                    SVGValueConstants.SALMON_VALUE);
271         values.put(CSSConstants.CSS_SANDYBROWN_VALUE,
272                    SVGValueConstants.SANDYBROWN_VALUE);
273         values.put(CSSConstants.CSS_SEAGREEN_VALUE,
274                    SVGValueConstants.SEAGREEN_VALUE);
275         values.put(CSSConstants.CSS_SEASHELL_VALUE,
276                    SVGValueConstants.SEASHELL_VALUE);
277         values.put(CSSConstants.CSS_SIENNA_VALUE,
278                    SVGValueConstants.SIENNA_VALUE);
279         values.put(CSSConstants.CSS_SKYBLUE_VALUE,
280                    SVGValueConstants.SKYBLUE_VALUE);
281         values.put(CSSConstants.CSS_SLATEBLUE_VALUE,
282                    SVGValueConstants.SLATEBLUE_VALUE);
283         values.put(CSSConstants.CSS_SLATEGRAY_VALUE,
284                    SVGValueConstants.SLATEGRAY_VALUE);
285         values.put(CSSConstants.CSS_SLATEGREY_VALUE,
286                    SVGValueConstants.SLATEGREY_VALUE);
287         values.put(CSSConstants.CSS_SNOW_VALUE,
288                    SVGValueConstants.SNOW_VALUE);
289         values.put(CSSConstants.CSS_SPRINGGREEN_VALUE,
290                    SVGValueConstants.SPRINGGREEN_VALUE);
291         values.put(CSSConstants.CSS_STEELBLUE_VALUE,
292                    SVGValueConstants.STEELBLUE_VALUE);
293         values.put(CSSConstants.CSS_TAN_VALUE,
294                    SVGValueConstants.TAN_VALUE);
295         values.put(CSSConstants.CSS_THISTLE_VALUE,
296                    SVGValueConstants.THISTLE_VALUE);
297         values.put(CSSConstants.CSS_TOMATO_VALUE,
298                    SVGValueConstants.TOMATO_VALUE);
299         values.put(CSSConstants.CSS_TURQUOISE_VALUE,
300                    SVGValueConstants.TURQUOISE_VALUE);
301         values.put(CSSConstants.CSS_VIOLET_VALUE,
302                    SVGValueConstants.VIOLET_VALUE);
303         values.put(CSSConstants.CSS_WHEAT_VALUE,
304                    SVGValueConstants.WHEAT_VALUE);
305         values.put(CSSConstants.CSS_WHITESMOKE_VALUE,
306                    SVGValueConstants.WHITESMOKE_VALUE);
307         values.put(CSSConstants.CSS_YELLOWGREEN_VALUE,
308                    SVGValueConstants.YELLOWGREEN_VALUE);
309     }
310
311     //
312     // Add and replace some computed colors.
313     //
314     static {
315         computedValues.put(CSSConstants.CSS_BLACK_VALUE,
316                            SVGValueConstants.BLACK_RGB_VALUE);
317         computedValues.put(CSSConstants.CSS_SILVER_VALUE,
318                            SVGValueConstants.SILVER_RGB_VALUE);
319         computedValues.put(CSSConstants.CSS_GRAY_VALUE,
320                            SVGValueConstants.GRAY_RGB_VALUE);
321         computedValues.put(CSSConstants.CSS_WHITE_VALUE,
322                            SVGValueConstants.WHITE_RGB_VALUE);
323         computedValues.put(CSSConstants.CSS_MAROON_VALUE,
324                            SVGValueConstants.MAROON_RGB_VALUE);
325         computedValues.put(CSSConstants.CSS_RED_VALUE,
326                            SVGValueConstants.RED_RGB_VALUE);
327         computedValues.put(CSSConstants.CSS_PURPLE_VALUE,
328                            SVGValueConstants.PURPLE_RGB_VALUE);
329         computedValues.put(CSSConstants.CSS_FUCHSIA_VALUE,
330                            SVGValueConstants.FUCHSIA_RGB_VALUE);
331         computedValues.put(CSSConstants.CSS_GREEN_VALUE,
332                            SVGValueConstants.GREEN_RGB_VALUE);
333         computedValues.put(CSSConstants.CSS_LIME_VALUE,
334                            SVGValueConstants.LIME_RGB_VALUE);
335         computedValues.put(CSSConstants.CSS_OLIVE_VALUE,
336                            SVGValueConstants.OLIVE_RGB_VALUE);
337         computedValues.put(CSSConstants.CSS_YELLOW_VALUE,
338                            SVGValueConstants.YELLOW_RGB_VALUE);
339         computedValues.put(CSSConstants.CSS_NAVY_VALUE,
340                            SVGValueConstants.NAVY_RGB_VALUE);
341         computedValues.put(CSSConstants.CSS_BLUE_VALUE,
342                            SVGValueConstants.BLUE_RGB_VALUE);
343         computedValues.put(CSSConstants.CSS_TEAL_VALUE,
344                            SVGValueConstants.TEAL_RGB_VALUE);
345         computedValues.put(CSSConstants.CSS_AQUA_VALUE,
346                            SVGValueConstants.AQUA_RGB_VALUE);
347
348         computedValues.put(CSSConstants.CSS_ALICEBLUE_VALUE,
349                            SVGValueConstants.ALICEBLUE_RGB_VALUE);
350         computedValues.put(CSSConstants.CSS_ANTIQUEWHITE_VALUE,
351                            SVGValueConstants.ANTIQUEWHITE_RGB_VALUE);
352         computedValues.put(CSSConstants.CSS_AQUAMARINE_VALUE,
353                            SVGValueConstants.AQUAMARINE_RGB_VALUE);
354         computedValues.put(CSSConstants.CSS_AZURE_VALUE,
355                            SVGValueConstants.AZURE_RGB_VALUE);
356         computedValues.put(CSSConstants.CSS_BEIGE_VALUE,
357                            SVGValueConstants.BEIGE_RGB_VALUE);
358         computedValues.put(CSSConstants.CSS_BISQUE_VALUE,
359                            SVGValueConstants.BISQUE_RGB_VALUE);
360         computedValues.put(CSSConstants.CSS_BLANCHEDALMOND_VALUE,
361                            SVGValueConstants.BLANCHEDALMOND_RGB_VALUE);
362         computedValues.put(CSSConstants.CSS_BLUEVIOLET_VALUE,
363                            SVGValueConstants.BLUEVIOLET_RGB_VALUE);
364         computedValues.put(CSSConstants.CSS_BROWN_VALUE,
365                            SVGValueConstants.BROWN_RGB_VALUE);
366         computedValues.put(CSSConstants.CSS_BURLYWOOD_VALUE,
367                            SVGValueConstants.BURLYWOOD_RGB_VALUE);
368         computedValues.put(CSSConstants.CSS_CADETBLUE_VALUE,
369                            SVGValueConstants.CADETBLUE_RGB_VALUE);
370         computedValues.put(CSSConstants.CSS_CHARTREUSE_VALUE,
371                            SVGValueConstants.CHARTREUSE_RGB_VALUE);
372         computedValues.put(CSSConstants.CSS_CHOCOLATE_VALUE,
373                            SVGValueConstants.CHOCOLATE_RGB_VALUE);
374         computedValues.put(CSSConstants.CSS_CORAL_VALUE,
375                            SVGValueConstants.CORAL_RGB_VALUE);
376         computedValues.put(CSSConstants.CSS_CORNFLOWERBLUE_VALUE,
377                            SVGValueConstants.CORNFLOWERBLUE_RGB_VALUE);
378         computedValues.put(CSSConstants.CSS_CORNSILK_VALUE,
379                            SVGValueConstants.CORNSILK_RGB_VALUE);
380         computedValues.put(CSSConstants.CSS_CRIMSON_VALUE,
381                            SVGValueConstants.CRIMSON_RGB_VALUE);
382         computedValues.put(CSSConstants.CSS_CYAN_VALUE,
383                            SVGValueConstants.CYAN_RGB_VALUE);
384         computedValues.put(CSSConstants.CSS_DARKBLUE_VALUE,
385                            SVGValueConstants.DARKBLUE_RGB_VALUE);
386         computedValues.put(CSSConstants.CSS_DARKCYAN_VALUE,
387                            SVGValueConstants.DARKCYAN_RGB_VALUE);
388         computedValues.put(CSSConstants.CSS_DARKGOLDENROD_VALUE,
389                            SVGValueConstants.DARKGOLDENROD_RGB_VALUE);
390         computedValues.put(CSSConstants.CSS_DARKGRAY_VALUE,
391                            SVGValueConstants.DARKGRAY_RGB_VALUE);
392         computedValues.put(CSSConstants.CSS_DARKGREEN_VALUE,
393                            SVGValueConstants.DARKGREEN_RGB_VALUE);
394         computedValues.put(CSSConstants.CSS_DARKGREY_VALUE,
395                            SVGValueConstants.DARKGREY_RGB_VALUE);
396         computedValues.put(CSSConstants.CSS_DARKKHAKI_VALUE,
397                            SVGValueConstants.DARKKHAKI_RGB_VALUE);
398         computedValues.put(CSSConstants.CSS_DARKMAGENTA_VALUE,
399                            SVGValueConstants.DARKMAGENTA_RGB_VALUE);
400         computedValues.put(CSSConstants.CSS_DARKOLIVEGREEN_VALUE,
401                            SVGValueConstants.DARKOLIVEGREEN_RGB_VALUE);
402         computedValues.put(CSSConstants.CSS_DARKORANGE_VALUE,
403                            SVGValueConstants.DARKORANGE_RGB_VALUE);
404         computedValues.put(CSSConstants.CSS_DARKORCHID_VALUE,
405                            SVGValueConstants.DARKORCHID_RGB_VALUE);
406         computedValues.put(CSSConstants.CSS_DARKRED_VALUE,
407                            SVGValueConstants.DARKRED_RGB_VALUE);
408         computedValues.put(CSSConstants.CSS_DARKSALMON_VALUE,
409                            SVGValueConstants.DARKSALMON_RGB_VALUE);
410         computedValues.put(CSSConstants.CSS_DARKSEAGREEN_VALUE,
411                            SVGValueConstants.DARKSEAGREEN_RGB_VALUE);
412         computedValues.put(CSSConstants.CSS_DARKSLATEBLUE_VALUE,
413                            SVGValueConstants.DARKSLATEBLUE_RGB_VALUE);
414         computedValues.put(CSSConstants.CSS_DARKSLATEGRAY_VALUE,
415                            SVGValueConstants.DARKSLATEGRAY_RGB_VALUE);
416         computedValues.put(CSSConstants.CSS_DARKSLATEGREY_VALUE,
417                            SVGValueConstants.DARKSLATEGREY_RGB_VALUE);
418         computedValues.put(CSSConstants.CSS_DARKTURQUOISE_VALUE,
419                            SVGValueConstants.DARKTURQUOISE_RGB_VALUE);
420         computedValues.put(CSSConstants.CSS_DARKVIOLET_VALUE,
421                            SVGValueConstants.DARKVIOLET_RGB_VALUE);
422         computedValues.put(CSSConstants.CSS_DEEPPINK_VALUE,
423                            SVGValueConstants.DEEPPINK_RGB_VALUE);
424         computedValues.put(CSSConstants.CSS_DEEPSKYBLUE_VALUE,
425                            SVGValueConstants.DEEPSKYBLUE_RGB_VALUE);
426         computedValues.put(CSSConstants.CSS_DIMGRAY_VALUE,
427                            SVGValueConstants.DIMGRAY_RGB_VALUE);
428         computedValues.put(CSSConstants.CSS_DIMGREY_VALUE,
429                            SVGValueConstants.DIMGREY_RGB_VALUE);
430         computedValues.put(CSSConstants.CSS_DODGERBLUE_VALUE,
431                            SVGValueConstants.DODGERBLUE_RGB_VALUE);
432         computedValues.put(CSSConstants.CSS_FIREBRICK_VALUE,
433                            SVGValueConstants.FIREBRICK_RGB_VALUE);
434         computedValues.put(CSSConstants.CSS_FLORALWHITE_VALUE,
435                            SVGValueConstants.FLORALWHITE_RGB_VALUE);
436         computedValues.put(CSSConstants.CSS_FORESTGREEN_VALUE,
437                            SVGValueConstants.FORESTGREEN_RGB_VALUE);
438         computedValues.put(CSSConstants.CSS_GAINSBORO_VALUE,
439                            SVGValueConstants.GAINSBORO_RGB_VALUE);
440         computedValues.put(CSSConstants.CSS_GHOSTWHITE_VALUE,
441                            SVGValueConstants.GHOSTWHITE_RGB_VALUE);
442         computedValues.put(CSSConstants.CSS_GOLD_VALUE,
443                            SVGValueConstants.GOLD_RGB_VALUE);
444         computedValues.put(CSSConstants.CSS_GOLDENROD_VALUE,
445                            SVGValueConstants.GOLDENROD_RGB_VALUE);
446         computedValues.put(CSSConstants.CSS_GREY_VALUE,
447                            SVGValueConstants.GREY_RGB_VALUE);
448         computedValues.put(CSSConstants.CSS_GREENYELLOW_VALUE,
449                            SVGValueConstants.GREENYELLOW_RGB_VALUE);
450         computedValues.put(CSSConstants.CSS_HONEYDEW_VALUE,
451                            SVGValueConstants.HONEYDEW_RGB_VALUE);
452         computedValues.put(CSSConstants.CSS_HOTPINK_VALUE,
453                            SVGValueConstants.HOTPINK_RGB_VALUE);
454         computedValues.put(CSSConstants.CSS_INDIANRED_VALUE,
455                            SVGValueConstants.INDIANRED_RGB_VALUE);
456         computedValues.put(CSSConstants.CSS_INDIGO_VALUE,
457                            SVGValueConstants.INDIGO_RGB_VALUE);
458         computedValues.put(CSSConstants.CSS_IVORY_VALUE,
459                            SVGValueConstants.IVORY_RGB_VALUE);
460         computedValues.put(CSSConstants.CSS_KHAKI_VALUE,
461                            SVGValueConstants.KHAKI_RGB_VALUE);
462         computedValues.put(CSSConstants.CSS_LAVENDER_VALUE,
463                            SVGValueConstants.LAVENDER_RGB_VALUE);
464         computedValues.put(CSSConstants.CSS_LAVENDERBLUSH_VALUE,
465                            SVGValueConstants.LAVENDERBLUSH_RGB_VALUE);
466         computedValues.put(CSSConstants.CSS_LAWNGREEN_VALUE,
467                            SVGValueConstants.LAWNGREEN_RGB_VALUE);
468         computedValues.put(CSSConstants.CSS_LEMONCHIFFON_VALUE,
469                            SVGValueConstants.LEMONCHIFFON_RGB_VALUE);
470         computedValues.put(CSSConstants.CSS_LIGHTBLUE_VALUE,
471                            SVGValueConstants.LIGHTBLUE_RGB_VALUE);
472         computedValues.put(CSSConstants.CSS_LIGHTCORAL_VALUE,
473                            SVGValueConstants.LIGHTCORAL_RGB_VALUE);
474         computedValues.put(CSSConstants.CSS_LIGHTCYAN_VALUE,
475                            SVGValueConstants.LIGHTCYAN_RGB_VALUE);
476         computedValues.put(CSSConstants.CSS_LIGHTGOLDENRODYELLOW_VALUE,
477                            SVGValueConstants.LIGHTGOLDENRODYELLOW_RGB_VALUE);
478         computedValues.put(CSSConstants.CSS_LIGHTGRAY_VALUE,
479                            SVGValueConstants.LIGHTGRAY_RGB_VALUE);
480         computedValues.put(CSSConstants.CSS_LIGHTGREEN_VALUE,
481                            SVGValueConstants.LIGHTGREEN_RGB_VALUE);
482         computedValues.put(CSSConstants.CSS_LIGHTGREY_VALUE,
483                            SVGValueConstants.LIGHTGREY_RGB_VALUE);
484         computedValues.put(CSSConstants.CSS_LIGHTPINK_VALUE,
485                            SVGValueConstants.LIGHTPINK_RGB_VALUE);
486         computedValues.put(CSSConstants.CSS_LIGHTSALMON_VALUE,
487                            SVGValueConstants.LIGHTSALMON_RGB_VALUE);
488         computedValues.put(CSSConstants.CSS_LIGHTSEAGREEN_VALUE,
489                            SVGValueConstants.LIGHTSEAGREEN_RGB_VALUE);
490         computedValues.put(CSSConstants.CSS_LIGHTSKYBLUE_VALUE,
491                            SVGValueConstants.LIGHTSKYBLUE_RGB_VALUE);
492         computedValues.put(CSSConstants.CSS_LIGHTSLATEGRAY_VALUE,
493                            SVGValueConstants.LIGHTSLATEGRAY_RGB_VALUE);
494         computedValues.put(CSSConstants.CSS_LIGHTSLATEGREY_VALUE,
495                            SVGValueConstants.LIGHTSLATEGREY_RGB_VALUE);
496         computedValues.put(CSSConstants.CSS_LIGHTSTEELBLUE_VALUE,
497                            SVGValueConstants.LIGHTSTEELBLUE_RGB_VALUE);
498         computedValues.put(CSSConstants.CSS_LIGHTYELLOW_VALUE,
499                            SVGValueConstants.LIGHTYELLOW_RGB_VALUE);
500         computedValues.put(CSSConstants.CSS_LIMEGREEN_VALUE,
501                            SVGValueConstants.LIMEGREEN_RGB_VALUE);
502         computedValues.put(CSSConstants.CSS_LINEN_VALUE,
503                            SVGValueConstants.LINEN_RGB_VALUE);
504         computedValues.put(CSSConstants.CSS_MAGENTA_VALUE,
505                            SVGValueConstants.MAGENTA_RGB_VALUE);
506         computedValues.put(CSSConstants.CSS_MEDIUMAQUAMARINE_VALUE,
507                            SVGValueConstants.MEDIUMAQUAMARINE_RGB_VALUE);
508         computedValues.put(CSSConstants.CSS_MEDIUMBLUE_VALUE,
509                            SVGValueConstants.MEDIUMBLUE_RGB_VALUE);
510         computedValues.put(CSSConstants.CSS_MEDIUMORCHID_VALUE,
511                            SVGValueConstants.MEDIUMORCHID_RGB_VALUE);
512         computedValues.put(CSSConstants.CSS_MEDIUMPURPLE_VALUE,
513                            SVGValueConstants.MEDIUMPURPLE_RGB_VALUE);
514         computedValues.put(CSSConstants.CSS_MEDIUMSEAGREEN_VALUE,
515                            SVGValueConstants.MEDIUMSEAGREEN_RGB_VALUE);
516         computedValues.put(CSSConstants.CSS_MEDIUMSLATEBLUE_VALUE,
517                            SVGValueConstants.MEDIUMSLATEBLUE_RGB_VALUE);
518         computedValues.put(CSSConstants.CSS_MEDIUMSPRINGGREEN_VALUE,
519                            SVGValueConstants.MEDIUMSPRINGGREEN_RGB_VALUE);
520         computedValues.put(CSSConstants.CSS_MEDIUMTURQUOISE_VALUE,
521                            SVGValueConstants.MEDIUMTURQUOISE_RGB_VALUE);
522         computedValues.put(CSSConstants.CSS_MEDIUMVIOLETRED_VALUE,
523                            SVGValueConstants.MEDIUMVIOLETRED_RGB_VALUE);
524         computedValues.put(CSSConstants.CSS_MIDNIGHTBLUE_VALUE,
525                            SVGValueConstants.MIDNIGHTBLUE_RGB_VALUE);
526         computedValues.put(CSSConstants.CSS_MINTCREAM_VALUE,
527                            SVGValueConstants.MINTCREAM_RGB_VALUE);
528         computedValues.put(CSSConstants.CSS_MISTYROSE_VALUE,
529                            SVGValueConstants.MISTYROSE_RGB_VALUE);
530         computedValues.put(CSSConstants.CSS_MOCCASIN_VALUE,
531                            SVGValueConstants.MOCCASIN_RGB_VALUE);
532         computedValues.put(CSSConstants.CSS_NAVAJOWHITE_VALUE,
533                            SVGValueConstants.NAVAJOWHITE_RGB_VALUE);
534         computedValues.put(CSSConstants.CSS_OLDLACE_VALUE,
535                            SVGValueConstants.OLDLACE_RGB_VALUE);
536         computedValues.put(CSSConstants.CSS_OLIVEDRAB_VALUE,
537                            SVGValueConstants.OLIVEDRAB_RGB_VALUE);
538         computedValues.put(CSSConstants.CSS_ORANGE_VALUE,
539                            SVGValueConstants.ORANGE_RGB_VALUE);
540         computedValues.put(CSSConstants.CSS_ORANGERED_VALUE,
541                            SVGValueConstants.ORANGERED_RGB_VALUE);
542         computedValues.put(CSSConstants.CSS_ORCHID_VALUE,
543                            SVGValueConstants.ORCHID_RGB_VALUE);
544         computedValues.put(CSSConstants.CSS_PALEGOLDENROD_VALUE,
545                            SVGValueConstants.PALEGOLDENROD_RGB_VALUE);
546         computedValues.put(CSSConstants.CSS_PALEGREEN_VALUE,
547                            SVGValueConstants.PALEGREEN_RGB_VALUE);
548         computedValues.put(CSSConstants.CSS_PALETURQUOISE_VALUE,
549                            SVGValueConstants.PALETURQUOISE_RGB_VALUE);
550         computedValues.put(CSSConstants.CSS_PALEVIOLETRED_VALUE,
551                            SVGValueConstants.PALEVIOLETRED_RGB_VALUE);
552         computedValues.put(CSSConstants.CSS_PAPAYAWHIP_VALUE,
553                            SVGValueConstants.PAPAYAWHIP_RGB_VALUE);
554         computedValues.put(CSSConstants.CSS_PEACHPUFF_VALUE,
555                            SVGValueConstants.PEACHPUFF_RGB_VALUE);
556         computedValues.put(CSSConstants.CSS_PERU_VALUE,
557                            SVGValueConstants.PERU_RGB_VALUE);
558         computedValues.put(CSSConstants.CSS_PINK_VALUE,
559                            SVGValueConstants.PINK_RGB_VALUE);
560         computedValues.put(CSSConstants.CSS_PLUM_VALUE,
561                            SVGValueConstants.PLUM_RGB_VALUE);
562         computedValues.put(CSSConstants.CSS_POWDERBLUE_VALUE,
563                            SVGValueConstants.POWDERBLUE_RGB_VALUE);
564         computedValues.put(CSSConstants.CSS_PURPLE_VALUE,
565                            SVGValueConstants.PURPLE_RGB_VALUE);
566         computedValues.put(CSSConstants.CSS_ROSYBROWN_VALUE,
567                            SVGValueConstants.ROSYBROWN_RGB_VALUE);
568         computedValues.put(CSSConstants.CSS_ROYALBLUE_VALUE,
569                            SVGValueConstants.ROYALBLUE_RGB_VALUE);
570         computedValues.put(CSSConstants.CSS_SADDLEBROWN_VALUE,
571                            SVGValueConstants.SADDLEBROWN_RGB_VALUE);
572         computedValues.put(CSSConstants.CSS_SALMON_VALUE,
573                            SVGValueConstants.SALMON_RGB_VALUE);
574         computedValues.put(CSSConstants.CSS_SANDYBROWN_VALUE,
575                            SVGValueConstants.SANDYBROWN_RGB_VALUE);
576         computedValues.put(CSSConstants.CSS_SEAGREEN_VALUE,
577                            SVGValueConstants.SEAGREEN_RGB_VALUE);
578         computedValues.put(CSSConstants.CSS_SEASHELL_VALUE,
579                            SVGValueConstants.SEASHELL_RGB_VALUE);
580         computedValues.put(CSSConstants.CSS_SIENNA_VALUE,
581                            SVGValueConstants.SIENNA_RGB_VALUE);
582         computedValues.put(CSSConstants.CSS_SKYBLUE_VALUE,
583                            SVGValueConstants.SKYBLUE_RGB_VALUE);
584         computedValues.put(CSSConstants.CSS_SLATEBLUE_VALUE,
585                            SVGValueConstants.SLATEBLUE_RGB_VALUE);
586         computedValues.put(CSSConstants.CSS_SLATEGRAY_VALUE,
587                            SVGValueConstants.SLATEGRAY_RGB_VALUE);
588         computedValues.put(CSSConstants.CSS_SLATEGREY_VALUE,
589                            SVGValueConstants.SLATEGREY_RGB_VALUE);
590         computedValues.put(CSSConstants.CSS_SNOW_VALUE,
591                            SVGValueConstants.SNOW_RGB_VALUE);
592         computedValues.put(CSSConstants.CSS_SPRINGGREEN_VALUE,
593                            SVGValueConstants.SPRINGGREEN_RGB_VALUE);
594         computedValues.put(CSSConstants.CSS_STEELBLUE_VALUE,
595                            SVGValueConstants.STEELBLUE_RGB_VALUE);
596         computedValues.put(CSSConstants.CSS_TAN_VALUE,
597                            SVGValueConstants.TAN_RGB_VALUE);
598         computedValues.put(CSSConstants.CSS_THISTLE_VALUE,
599                            SVGValueConstants.THISTLE_RGB_VALUE);
600         computedValues.put(CSSConstants.CSS_TOMATO_VALUE,
601                            SVGValueConstants.TOMATO_RGB_VALUE);
602         computedValues.put(CSSConstants.CSS_TURQUOISE_VALUE,
603                            SVGValueConstants.TURQUOISE_RGB_VALUE);
604         computedValues.put(CSSConstants.CSS_VIOLET_VALUE,
605                            SVGValueConstants.VIOLET_RGB_VALUE);
606         computedValues.put(CSSConstants.CSS_WHEAT_VALUE,
607                            SVGValueConstants.WHEAT_RGB_VALUE);
608         computedValues.put(CSSConstants.CSS_WHITESMOKE_VALUE,
609                            SVGValueConstants.WHITESMOKE_RGB_VALUE);
610         computedValues.put(CSSConstants.CSS_YELLOWGREEN_VALUE,
611                            SVGValueConstants.YELLOWGREEN_RGB_VALUE);
612
613     }
614
615     /**
616      * Implements {@link
617      * org.apache.batik.css.engine.value.ValueManager#isInheritedProperty()}.
618      */

619     public boolean isInheritedProperty() {
620         return true;
621     }
622
623     /**
624      * Implements {@link ValueManager#isAnimatableProperty()}.
625      */

626     public boolean isAnimatableProperty() {
627         return true;
628     }
629
630     /**
631      * Implements {@link ValueManager#isAdditiveProperty()}.
632      */

633     public boolean isAdditiveProperty() {
634         return true;
635     }
636
637     /**
638      * Implements {@link ValueManager#getPropertyType()}.
639      */

640     public int getPropertyType() {
641         return SVGTypes.TYPE_COLOR;
642     }
643
644     /**
645      * Implements {@link
646      * org.apache.batik.css.engine.value.ValueManager#getPropertyName()}.
647      */

648     public String getPropertyName() {
649         return CSSConstants.CSS_COLOR_PROPERTY;
650     }
651
652     /**
653      * Implements {@link
654      * org.apache.batik.css.engine.value.ValueManager#getDefaultValue()}.
655      */

656     public Value getDefaultValue() {
657         return DEFAULT_VALUE;
658     }
659
660
661 }
662