Commit | Line | Data |
---|---|---|
6a1aa64f DV |
1 | .. title:: MochiKit.Color - color abstraction with CSS3 support |
2 | ||
3 | Name | |
4 | ==== | |
5 | ||
6 | MochiKit.Color - color abstraction with CSS3 support | |
7 | ||
8 | ||
9 | Synopsis | |
10 | ======== | |
11 | ||
12 | :: | |
13 | ||
14 | // RGB color expressions are supported | |
15 | assert( | |
16 | objEqual(Color.whiteColor(), Color.fromString("rgb(255,100%, 255)")) | |
17 | ); | |
18 | ||
19 | // So is instantiating directly from HSL or RGB values. | |
20 | // Note that fromRGB and fromHSL take numbers between 0.0 and 1.0! | |
21 | assert( objEqual(Color.fromRGB(1.0, 1.0, 1.0), Color.fromHSL(0.0, 0.0, 1.0) ); | |
22 | ||
23 | // Or even SVG color keyword names, as per CSS3! | |
24 | assert( Color.fromString("aquamarine"), "#7fffd4" ); | |
25 | ||
26 | // NSColor-like colors built in | |
27 | assert( Color.whiteColor().toHexString() == "#ffffff" ); | |
28 | ||
29 | ||
30 | Description | |
31 | =========== | |
32 | ||
33 | MochiKit.Color is an abstraction for handling colors and strings that | |
34 | represent colors. | |
35 | ||
36 | ||
37 | Dependencies | |
38 | ============ | |
39 | ||
40 | - :mochiref:`MochiKit.Base` | |
41 | - :mochiref:`MochiKit.DOM` | |
42 | - :mochiref:`MochiKit.Style` | |
43 | ||
44 | ||
45 | Overview | |
46 | ======== | |
47 | ||
48 | MochiKit.Color provides an abstraction of RGB, HSL and HSV colors with | |
49 | alpha. It supports parsing and generating of CSS3 colors, and has a | |
50 | full CSS3 (SVG) color table. | |
51 | ||
52 | All of the functionality in this module is exposed through a Color | |
53 | constructor and its prototype, but a few of its internals are | |
54 | available for direct use at module level. | |
55 | ||
56 | ||
57 | API Reference | |
58 | ============= | |
59 | ||
60 | Constructors | |
61 | ------------ | |
62 | ||
63 | :mochidef:`Color()`: | |
64 | ||
65 | Represents a color. Component values should be integers between | |
66 | ``0.0`` and ``1.0``. You should use one of the :mochiref:`Color` | |
67 | factory functions such as :mochiref:`Color.fromRGB`, | |
68 | :mochiref:`Color.fromHSL`, etc. instead of constructing | |
69 | :mochiref:`Color` objects directly. | |
70 | ||
71 | :mochiref:`Color` instances can be compared with | |
72 | :mochiref:`MochiKit.Base.compare` (though ordering is on RGB, so | |
73 | is not particularly meaningful except for equality), and the | |
74 | default ``toString`` implementation returns | |
75 | :mochiref:`Color.prototype.toHexString()`. | |
76 | ||
77 | :mochiref:`Color` instances are immutable, and much of the | |
78 | architecture is inspired by AppKit's NSColor [1]_ | |
79 | ||
80 | *Availability*: | |
81 | Available in MochiKit 1.3.1+ | |
82 | ||
83 | ||
84 | :mochidef:`Color.fromBackground(elem)`: | |
85 | ||
86 | Returns a :mochiref:`Color` object based on the background of the | |
87 | provided element. Equivalent to:: | |
88 | ||
89 | c = Color.fromComputedStyle( | |
90 | elem, "backgroundColor", "background-color") || Color.whiteColor(); | |
91 | ||
92 | *Availability*: | |
93 | Available in MochiKit 1.3.1+ | |
94 | ||
95 | ||
96 | :mochidef:`Color.fromComputedStyle(elem, style)`: | |
97 | ||
98 | Returns a :mochiref:`Color` object based on the result of | |
99 | :mochiref:`MochiKit.Style.getStyle(elem, style)` or ``null`` if not | |
100 | found. | |
101 | ||
102 | *Availability*: | |
103 | Available in MochiKit 1.3.1+ | |
104 | ||
105 | ||
106 | :mochidef:`Color.fromHexString(hexString)`: | |
107 | ||
108 | Returns a :mochiref:`Color` object from the given hexadecimal | |
109 | color string. For example, ``"#FFFFFF"`` would return a | |
110 | :mochiref:`Color` with RGB values ``[255/255, 255/255, 255/255]`` | |
111 | (white). | |
112 | ||
113 | *Availability*: | |
114 | Available in MochiKit 1.3.1+ | |
115 | ||
116 | ||
117 | :mochidef:`Color.fromHSL(hue, saturation, lightness, alpha=1.0)`: | |
118 | ||
119 | Return a :mochiref:`Color` object from the given ``hue``, | |
120 | ``saturation``, ``lightness`` values. Values should be numbers | |
121 | between ``0.0`` and ``1.0``. | |
122 | ||
123 | If ``alpha`` is not given, then ``1.0`` (completely opaque) will | |
124 | be used. | |
125 | ||
126 | Alternate form: | |
127 | :mochiref:`Color.fromHSL({h: hue, s: saturation, l: lightness, | |
128 | a: alpha})` | |
129 | ||
130 | *Availability*: | |
131 | Available in MochiKit 1.3.1+ | |
132 | ||
133 | ||
134 | :mochidef:`Color.fromHSLString(hslString)`: | |
135 | ||
136 | Returns a :mochiref:`Color` object from the given decimal hsl | |
137 | color string. For example, ``"hsl(0,0%,100%)"`` would return a | |
138 | :mochiref:`Color` with HSL values ``[0/360, 0/360, 360/360]`` | |
139 | (white). | |
140 | ||
141 | *Availability*: | |
142 | Available in MochiKit 1.3.1+ | |
143 | ||
144 | ||
145 | :mochidef:`Color.fromHSV(hue, saturation, value, alpha=1.0)`: | |
146 | ||
147 | Return a :mochiref:`Color` object from the given ``hue``, | |
148 | ``saturation``, ``value`` values. Values should be numbers between | |
149 | ``0.0`` and ``1.0``. | |
150 | ||
151 | If ``alpha`` is not given, then ``1.0`` (completely opaque) will | |
152 | be used. | |
153 | ||
154 | Alternate form: | |
155 | :mochiref:`Color.fromHSV({h: hue, s: saturation, v: value, a: | |
156 | alpha})` | |
157 | ||
158 | *Availability*: | |
159 | Available in MochiKit 1.3.1+ | |
160 | ||
161 | ||
162 | :mochidef:`Color.fromName(colorName)`: | |
163 | ||
164 | Returns a :mochiref:`Color` object corresponding to the given SVG | |
165 | 1.0 color keyword name [2]_ as per the W3C CSS3 Color Module | |
166 | [3]_. ``"transparent"`` is also accepted as a color name, and will | |
167 | return :mochiref:`Color.transparentColor()`. | |
168 | ||
169 | *Availability*: | |
170 | Available in MochiKit 1.3.1+ | |
171 | ||
172 | ||
173 | :mochidef:`Color.fromRGB(red, green, blue, alpha=1.0)`: | |
174 | ||
175 | Return a :mochiref:`Color` object from the given ``red``, | |
176 | ``green``, ``blue``, and ``alpha`` values. Values should be | |
177 | numbers between ``0`` and ``1.0``. | |
178 | ||
179 | If ``alpha`` is not given, then ``1.0`` (completely opaque) will | |
180 | be used. | |
181 | ||
182 | Alternate form: | |
183 | :mochiref:`Color.fromRGB({r: red, g: green, b: blue, a: | |
184 | alpha})` | |
185 | ||
186 | *Availability*: | |
187 | Available in MochiKit 1.3.1+ | |
188 | ||
189 | ||
190 | :mochidef:`Color.fromRGBString(rgbString)`: | |
191 | ||
192 | Returns a :mochiref:`Color` object from the given decimal rgb | |
193 | color string. For example, ``"rgb(255,255,255)"`` would return a | |
194 | :mochiref:`Color` with RGB values ``[255/255, 255/255, 255/255]`` | |
195 | (white). | |
196 | ||
197 | *Availability*: | |
198 | Available in MochiKit 1.3.1+ | |
199 | ||
200 | ||
201 | :mochidef:`Color.fromText(elem)`: | |
202 | ||
203 | Returns a :mochiref:`Color` object based on the text color of the | |
204 | provided element. Equivalent to:: | |
205 | ||
206 | c = Color.fromComputedStyle(elem, "color") || Color.whiteColor(); | |
207 | ||
208 | *Availability*: | |
209 | Available in MochiKit 1.3.1+ | |
210 | ||
211 | ||
212 | :mochidef:`Color.fromString(rgbOrHexString)`: | |
213 | ||
214 | Returns a :mochiref:`Color` object from the given RGB, HSL, hex, | |
215 | or name. Will return ``null`` if the string can not be parsed by | |
216 | any of these methods. | |
217 | ||
218 | See :mochiref:`Color.fromHexString`, | |
219 | :mochiref:`Color.fromRGBString`, :mochiref:`Color.fromHSLString` | |
220 | and :mochiref:`Color.fromName` more information. | |
221 | ||
222 | *Availability*: | |
223 | Available in MochiKit 1.3.1+ | |
224 | ||
225 | ||
226 | :mochidef:`Color.namedColors()`: | |
227 | ||
228 | Returns an object with properties for each SVG 1.0 color keyword | |
229 | name [2]_ supported by CSS3 [3]_. Property names are the color | |
230 | keyword name in lowercase, and the value is a string suitable for | |
231 | :mochiref:`Color.fromString()`. | |
232 | ||
233 | *Availability*: | |
234 | Available in MochiKit 1.3.1+ | |
235 | ||
236 | ||
237 | :mochidef:`Color.prototype.colorWithAlpha(alpha)`: | |
238 | ||
239 | Return a new :mochiref:`Color` based on this color, but with the | |
240 | provided ``alpha`` value. | |
241 | ||
242 | *Availability*: | |
243 | Available in MochiKit 1.3.1+ | |
244 | ||
245 | ||
246 | :mochidef:`Color.prototype.colorWithHue(hue)`: | |
247 | ||
248 | Return a new :mochiref:`Color` based on this color, but with the | |
249 | provided ``hue`` value. | |
250 | ||
251 | *Availability*: | |
252 | Available in MochiKit 1.3.1+ | |
253 | ||
254 | ||
255 | :mochidef:`Color.prototype.colorWithSaturation(saturation)`: | |
256 | ||
257 | Return a new :mochiref:`Color` based on this color, but with the | |
258 | provided ``saturation`` value (using the HSL color model). | |
259 | ||
260 | *Availability*: | |
261 | Available in MochiKit 1.3.1+ | |
262 | ||
263 | ||
264 | :mochidef:`Color.prototype.colorWithLightness(lightness)`: | |
265 | ||
266 | Return a new :mochiref:`Color` based on this color, but with the | |
267 | provided ``lightness`` value. | |
268 | ||
269 | *Availability*: | |
270 | Available in MochiKit 1.3.1+ | |
271 | ||
272 | ||
273 | :mochidef:`Color.prototype.darkerColorWithLevel(level)`: | |
274 | ||
275 | Return a new :mochiref:`Color` based on this color, but darker by | |
276 | the given ``level`` (between ``0`` and ``1.0``). | |
277 | ||
278 | *Availability*: | |
279 | Available in MochiKit 1.3.1+ | |
280 | ||
281 | ||
282 | :mochidef:`Color.prototype.lighterColorWithLevel(level)`: | |
283 | ||
284 | Return a new :mochiref:`Color` based on this color, but lighter by | |
285 | the given ``level`` (between ``0`` and ``1.0``). | |
286 | ||
287 | *Availability*: | |
288 | Available in MochiKit 1.3.1+ | |
289 | ||
290 | ||
291 | :mochidef:`Color.prototype.blendedColor(other, fraction=0.5)`: | |
292 | ||
293 | Return a new :mochiref:`Color` whose RGBA component values are a | |
294 | weighted sum of this color and ``other``. Each component of the | |
295 | returned color is the ``fraction`` of other's value plus ``1 - | |
296 | fraction`` of this color's. | |
297 | ||
298 | *Availability*: | |
299 | Available in MochiKit 1.3.1+ | |
300 | ||
301 | ||
302 | :mochidef:`Color.prototype.isLight()`: | |
303 | ||
304 | Return ``true`` if the lightness value of this color is greater | |
305 | than ``0.5``. | |
306 | ||
307 | Note that ``alpha`` is ignored for this calculation (color | |
308 | components are not premultiplied). | |
309 | ||
310 | *Availability*: | |
311 | Available in MochiKit 1.3.1+ | |
312 | ||
313 | ||
314 | :mochidef:`Color.prototype.isDark()`: | |
315 | ||
316 | Return ``true`` if the lightness value of this color is less than | |
317 | or equal to ``0.5``. | |
318 | ||
319 | Note that ``alpha`` is ignored for this calculation (color | |
320 | components are not premultiplied). | |
321 | ||
322 | *Availability*: | |
323 | Available in MochiKit 1.3.1+ | |
324 | ||
325 | ||
326 | :mochidef:`Color.prototype.toRGBString()`: | |
327 | ||
328 | Return the decimal ``"rgb(red, green, blue)"`` string | |
329 | representation of this color. | |
330 | ||
331 | If the alpha component is not ``1.0`` (fully opaque), the | |
332 | ``"rgba(red, green, blue, alpha)"`` string representation will be | |
333 | used. | |
334 | ||
335 | For example:: | |
336 | ||
337 | assert( Color.whiteColor().toRGBString() == "rgb(255,255,255)" ); | |
338 | ||
339 | *Availability*: | |
340 | Available in MochiKit 1.3.1+ | |
341 | ||
342 | ||
343 | :mochidef:`Color.prototype.toHSLString()`: | |
344 | ||
345 | Return the decimal ``"hsl(hue, saturation, lightness)"`` string | |
346 | representation of this color. | |
347 | ||
348 | If the alpha component is not ``1.0`` (fully opaque), the | |
349 | ``"hsla(hue, saturation, lightness, alpha)"`` string | |
350 | representation will be used. | |
351 | ||
352 | For example:: | |
353 | ||
354 | assert( Color.whiteColor().toHSLString() == "hsl(0,0,360)" ); | |
355 | ||
356 | *Availability*: | |
357 | Available in MochiKit 1.3.1+ | |
358 | ||
359 | ||
360 | :mochidef:`Color.prototype.toHexString()`: | |
361 | ||
362 | Return the hexadecimal ``"#RRGGBB"`` string representation of this | |
363 | color. | |
364 | ||
365 | Note that the alpha component is completely ignored for | |
366 | hexadecimal string representations! | |
367 | ||
368 | For example:: | |
369 | ||
370 | assert( Color.whiteColor().toHexString() == "#FFFFFF" ); | |
371 | ||
372 | *Availability*: | |
373 | Available in MochiKit 1.3.1+ | |
374 | ||
375 | ||
376 | :mochidef:`Color.prototype.asRGB()`: | |
377 | ||
378 | Return the RGB (red, green, blue, alpha) components of this color | |
379 | as an object with ``r``, ``g``, ``b``, and ``a`` properties that | |
380 | have values between ``0.0`` and ``1.0``. | |
381 | ||
382 | *Availability*: | |
383 | Available in MochiKit 1.3.1+ | |
384 | ||
385 | ||
386 | :mochidef:`Color.prototype.asHSL()`: | |
387 | ||
388 | Return the HSL (hue, saturation, lightness, alpha) components of | |
389 | this color as an object with ``h``, ``s``, ``l`` and ``a`` | |
390 | properties that have values between ``0.0`` and ``1.0``. | |
391 | ||
392 | *Availability*: | |
393 | Available in MochiKit 1.3.1+ | |
394 | ||
395 | ||
396 | :mochidef:`Color.prototype.asHSV()`: | |
397 | ||
398 | Return the HSV (hue, saturation, value, alpha) components of this | |
399 | color as an object with ``h``, ``s``, ``v`` and ``a`` properties | |
400 | that have values between ``0.0`` and ``1.0``. | |
401 | ||
402 | *Availability*: | |
403 | Available in MochiKit 1.3.1+ | |
404 | ||
405 | ||
406 | :mochidef:`Color.blackColor()`: | |
407 | ||
408 | Return a :mochiref:`Color` object whose RGB values are 0, 0, 0 | |
409 | (#000000). | |
410 | ||
411 | *Availability*: | |
412 | Available in MochiKit 1.3.1+ | |
413 | ||
414 | ||
415 | :mochidef:`Color.blueColor()`: | |
416 | ||
417 | Return a :mochiref:`Color` object whose RGB values are 0, 0, 1 | |
418 | (#0000ff). | |
419 | ||
420 | *Availability*: | |
421 | Available in MochiKit 1.3.1+ | |
422 | ||
423 | ||
424 | :mochidef:`Color.brownColor()`: | |
425 | ||
426 | Return a :mochiref:`Color` object whose RGB values are 0.6, 0.4, | |
427 | 0.2 (#996633). | |
428 | ||
429 | *Availability*: | |
430 | Available in MochiKit 1.3.1+ | |
431 | ||
432 | ||
433 | :mochidef:`Color.cyanColor()`: | |
434 | ||
435 | Return a :mochiref:`Color` object whose RGB values are 0, 1, 1 | |
436 | (#00ffff). | |
437 | ||
438 | *Availability*: | |
439 | Available in MochiKit 1.3.1+ | |
440 | ||
441 | ||
442 | :mochidef:`Color.darkGrayColor()`: | |
443 | ||
444 | Return a :mochiref:`Color` object whose RGB values are 1/3, 1/3, | |
445 | 1/3 (#555555). | |
446 | ||
447 | *Availability*: | |
448 | Available in MochiKit 1.3.1+ | |
449 | ||
450 | ||
451 | :mochidef:`Color.grayColor()`: | |
452 | ||
453 | Return a :mochiref:`Color` object whose RGB values are 0.5, 0.5, | |
454 | 0.5 (#808080). | |
455 | ||
456 | *Availability*: | |
457 | Available in MochiKit 1.3.1+ | |
458 | ||
459 | ||
460 | :mochidef:`Color.greenColor()`: | |
461 | ||
462 | Return a :mochiref:`Color` object whose RGB values are 0, 1, 0. | |
463 | (#00ff00). | |
464 | ||
465 | *Availability*: | |
466 | Available in MochiKit 1.3.1+ | |
467 | ||
468 | ||
469 | :mochidef:`Color.lightGrayColor()`: | |
470 | ||
471 | Return a :mochiref:`Color` object whose RGB values are 2/3, 2/3, | |
472 | 2/3 (#aaaaaa). | |
473 | ||
474 | *Availability*: | |
475 | Available in MochiKit 1.3.1+ | |
476 | ||
477 | ||
478 | :mochidef:`Color.magentaColor()`: | |
479 | ||
480 | Return a :mochiref:`Color` object whose RGB values are 1, 0, 1 | |
481 | (#ff00ff). | |
482 | ||
483 | *Availability*: | |
484 | Available in MochiKit 1.3.1+ | |
485 | ||
486 | ||
487 | :mochidef:`Color.orangeColor()`: | |
488 | ||
489 | Return a :mochiref:`Color` object whose RGB values are 1, 0.5, 0 | |
490 | (#ff8000). | |
491 | ||
492 | *Availability*: | |
493 | Available in MochiKit 1.3.1+ | |
494 | ||
495 | ||
496 | :mochidef:`Color.purpleColor()`: | |
497 | ||
498 | Return a :mochiref:`Color` object whose RGB values are 0.5, 0, 0.5 | |
499 | (#800080). | |
500 | ||
501 | *Availability*: | |
502 | Available in MochiKit 1.3.1+ | |
503 | ||
504 | ||
505 | :mochidef:`Color.redColor()`: | |
506 | ||
507 | Return a :mochiref:`Color` object whose RGB values are 1, 0, 0 | |
508 | (#ff0000). | |
509 | ||
510 | *Availability*: | |
511 | Available in MochiKit 1.3.1+ | |
512 | ||
513 | ||
514 | :mochidef:`Color.whiteColor()`: | |
515 | ||
516 | Return a :mochiref:`Color` object whose RGB values are 1, 1, 1 | |
517 | (#ffffff). | |
518 | ||
519 | *Availability*: | |
520 | Available in MochiKit 1.3.1+ | |
521 | ||
522 | ||
523 | :mochidef:`Color.yellowColor()`: | |
524 | ||
525 | Return a :mochiref:`Color` object whose RGB values are 1, 1, 0 | |
526 | (#ffff00). | |
527 | ||
528 | *Availability*: | |
529 | Available in MochiKit 1.3.1+ | |
530 | ||
531 | ||
532 | :mochidef:`Color.transparentColor()`: | |
533 | ||
534 | Return a :mochiref:`Color` object that is completely transparent | |
535 | (has alpha component of 0). | |
536 | ||
537 | *Availability*: | |
538 | Available in MochiKit 1.3.1+ | |
539 | ||
540 | ||
541 | Functions | |
542 | --------- | |
543 | ||
544 | :mochidef:`clampColorComponent(num, scale)`: | |
545 | ||
546 | Returns ``num * scale`` clamped between ``0`` and ``scale``. | |
547 | ||
548 | :mochiref:`clampColorComponent` is not exported by default when | |
549 | using JSAN. | |
550 | ||
551 | *Availability*: | |
552 | Available in MochiKit 1.3.1+ | |
553 | ||
554 | ||
555 | :mochidef:`hslToRGB(hue, saturation, lightness, alpha)`: | |
556 | ||
557 | Computes RGB values from the provided HSL values. The return value | |
558 | is a mapping with ``"r"``, ``"g"``, ``"b"`` and ``"a"`` keys. | |
559 | ||
560 | Alternate form: | |
561 | :mochiref:`hslToRGB({h: hue, s: saturation, l: lightness, a: | |
562 | alpha})`. | |
563 | ||
564 | :mochiref:`hslToRGB` is not exported by default when using JSAN. | |
565 | ||
566 | *Availability*: | |
567 | Available in MochiKit 1.3.1+ | |
568 | ||
569 | ||
570 | :mochidef:`hsvToRGB(hue, saturation, value, alpha)`: | |
571 | ||
572 | Computes RGB values from the provided HSV values. The return value | |
573 | is a mapping with ``"r"``, ``"g"``, ``"b"`` and ``"a"`` keys. | |
574 | ||
575 | Alternate form: | |
576 | :mochiref:`hsvToRGB({h: hue, s: saturation, v: value, a: | |
577 | alpha})`. | |
578 | ||
579 | :mochiref:`hsvToRGB` is not exported by default when using JSAN. | |
580 | ||
581 | *Availability*: | |
582 | Available in MochiKit 1.3.1+ | |
583 | ||
584 | ||
585 | :mochidef:`toColorPart(num)`: | |
586 | ||
587 | Convert num to a zero padded hexadecimal digit for use in a | |
588 | hexadecimal color string. Num should be an integer between ``0`` | |
589 | and ``255``. | |
590 | ||
591 | :mochiref:`toColorPart` is not exported by default when using | |
592 | JSAN. | |
593 | ||
594 | *Availability*: | |
595 | Available in MochiKit 1.3.1+ | |
596 | ||
597 | ||
598 | :mochidef:`rgbToHSL(red, green, blue, alpha)`: | |
599 | ||
600 | Computes HSL values based on the provided RGB values. The return | |
601 | value is a mapping with ``"h"``, ``"s"``, ``"l"`` and ``"a"`` | |
602 | keys. | |
603 | ||
604 | Alternate form: | |
605 | :mochiref:`rgbToHSL({r: red, g: green, b: blue, a: alpha})`. | |
606 | ||
607 | :mochiref:`rgbToHSL` is not exported by default when using JSAN. | |
608 | ||
609 | *Availability*: | |
610 | Available in MochiKit 1.3.1+ | |
611 | ||
612 | ||
613 | :mochidef:`rgbToHSV(red, green, blue, alpha)`: | |
614 | ||
615 | Computes HSV values based on the provided RGB values. The return | |
616 | value is a mapping with ``"h"``, ``"s"``, ``"v"`` and ``"a"`` | |
617 | keys. | |
618 | ||
619 | Alternate form: | |
620 | :mochiref:`rgbToHSV({r: red, g: green, b: blue, a: alpha})`. | |
621 | ||
622 | :mochiref:`rgbToHSV` is not exported by default when using JSAN. | |
623 | ||
624 | *Availability*: | |
625 | Available in MochiKit 1.3.1+ | |
626 | ||
627 | ||
628 | See Also | |
629 | ======== | |
630 | ||
631 | .. [1] Application Kit Reference - NSColor: http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html | |
632 | .. [2] SVG 1.0 color keywords: http://www.w3.org/TR/SVG/types.html#ColorKeywords | |
633 | .. [3] W3C CSS3 Color Module: http://www.w3.org/TR/css3-color/#svg-color | |
634 | ||
635 | ||
636 | Authors | |
637 | ======= | |
638 | ||
639 | - Bob Ippolito <bob@redivi.com> | |
640 | ||
641 | ||
642 | Copyright | |
643 | ========= | |
644 | ||
645 | Copyright 2005 Bob Ippolito <bob@redivi.com>. This program is | |
646 | dual-licensed free software; you can redistribute it and/or modify it | |
647 | under the terms of the `MIT License`_ or the `Academic Free License | |
648 | v2.1`_. | |
649 | ||
650 | .. _`MIT License`: http://www.opensource.org/licenses/mit-license.php | |
651 | .. _`Academic Free License v2.1`: http://www.opensource.org/licenses/afl-2.1.php |