Initial check-in
[dygraphs.git] / mochikit_v14 / doc / html / MochiKit / Color.html
CommitLineData
6a1aa64f
DV
1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
8<title>MochiKit.Color - color abstraction with CSS3 support</title>
9
10<link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
11<script type="text/javascript" src="../../../packed/MochiKit/MochiKit.js"></script>
12<script type="text/javascript" src="../../js/toc.js"></script>
13</head>
14<body>
15<div class="document">
16<div class="section">
17<h1><a id="name" name="name">Name</a></h1>
18<p>MochiKit.Color - color abstraction with CSS3 support</p>
19</div>
20<div class="section">
21<h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
22<pre class="literal-block">
23// RGB color expressions are supported
24assert(
25 objEqual(Color.whiteColor(), Color.fromString(&quot;rgb(255,100%, 255)&quot;))
26);
27
28// So is instantiating directly from HSL or RGB values.
29// Note that fromRGB and fromHSL take numbers between 0.0 and 1.0!
30assert( objEqual(Color.fromRGB(1.0, 1.0, 1.0), Color.fromHSL(0.0, 0.0, 1.0) );
31
32// Or even SVG color keyword names, as per CSS3!
33assert( Color.fromString(&quot;aquamarine&quot;), &quot;#7fffd4&quot; );
34
35// NSColor-like colors built in
36assert( Color.whiteColor().toHexString() == &quot;#ffffff&quot; );
37</pre>
38</div>
39<div class="section">
40<h1><a id="description" name="description">Description</a></h1>
41<p>MochiKit.Color is an abstraction for handling colors and strings that
42represent colors.</p>
43</div>
44<div class="section">
45<h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
46<ul class="simple">
47<li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
48<li><a class="mochiref reference" href="DOM.html">MochiKit.DOM</a></li>
49<li><a class="mochiref reference" href="Style.html">MochiKit.Style</a></li>
50</ul>
51</div>
52<div class="section">
53<h1><a id="overview" name="overview">Overview</a></h1>
54<p>MochiKit.Color provides an abstraction of RGB, HSL and HSV colors with
55alpha. It supports parsing and generating of CSS3 colors, and has a
56full CSS3 (SVG) color table.</p>
57<p>All of the functionality in this module is exposed through a Color
58constructor and its prototype, but a few of its internals are
59available for direct use at module level.</p>
60</div>
61<div class="section">
62<h1><a id="api-reference" name="api-reference">API Reference</a></h1>
63<div class="section">
64<h2><a id="constructors" name="constructors">Constructors</a></h2>
65<p>
66<a name="fn-color"></a>
67<a class="mochidef reference" href="#fn-color">Color()</a>:</p>
68<blockquote>
69<p>Represents a color. Component values should be integers between
70<tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>. You should use one of the <a class="mochiref reference" href="#fn-color">Color</a>
71factory functions such as <a class="mochiref reference" href="#fn-color.fromrgb">Color.fromRGB</a>,
72<a class="mochiref reference" href="#fn-color.fromhsl">Color.fromHSL</a>, etc. instead of constructing
73<a class="mochiref reference" href="#fn-color">Color</a> objects directly.</p>
74<p><a class="mochiref reference" href="#fn-color">Color</a> instances can be compared with
75<a class="mochiref reference" href="Base.html#fn-compare">MochiKit.Base.compare</a> (though ordering is on RGB, so
76is not particularly meaningful except for equality), and the
77default <tt class="docutils literal"><span class="pre">toString</span></tt> implementation returns
78<a class="mochiref reference" href="#fn-color.prototype.tohexstring">Color.prototype.toHexString()</a>.</p>
79<p><a class="mochiref reference" href="#fn-color">Color</a> instances are immutable, and much of the
80architecture is inspired by AppKit's NSColor <a class="footnote-reference" href="#id6" id="id1" name="id1">[1]</a></p>
81<dl class="docutils">
82<dt><em>Availability</em>:</dt>
83<dd>Available in MochiKit 1.3.1+</dd>
84</dl>
85</blockquote>
86<p>
87<a name="fn-color.frombackground"></a>
88<a class="mochidef reference" href="#fn-color.frombackground">Color.fromBackground(elem)</a>:</p>
89<blockquote>
90<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object based on the background of the
91provided element. Equivalent to:</p>
92<pre class="literal-block">
93c = Color.fromComputedStyle(
94 elem, &quot;backgroundColor&quot;, &quot;background-color&quot;) || Color.whiteColor();
95</pre>
96<dl class="docutils">
97<dt><em>Availability</em>:</dt>
98<dd>Available in MochiKit 1.3.1+</dd>
99</dl>
100</blockquote>
101<p>
102<a name="fn-color.fromcomputedstyle"></a>
103<a class="mochidef reference" href="#fn-color.fromcomputedstyle">Color.fromComputedStyle(elem, style)</a>:</p>
104<blockquote>
105<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object based on the result of
106<a class="mochiref reference" href="Style.html#fn-getstyle">MochiKit.Style.getStyle(elem, style)</a> or <tt class="docutils literal"><span class="pre">null</span></tt> if not
107found.</p>
108<dl class="docutils">
109<dt><em>Availability</em>:</dt>
110<dd>Available in MochiKit 1.3.1+</dd>
111</dl>
112</blockquote>
113<p>
114<a name="fn-color.fromhexstring"></a>
115<a class="mochidef reference" href="#fn-color.fromhexstring">Color.fromHexString(hexString)</a>:</p>
116<blockquote>
117<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given hexadecimal
118color string. For example, <tt class="docutils literal"><span class="pre">&quot;#FFFFFF&quot;</span></tt> would return a
119<a class="mochiref reference" href="#fn-color">Color</a> with RGB values <tt class="docutils literal"><span class="pre">[255/255,</span> <span class="pre">255/255,</span> <span class="pre">255/255]</span></tt>
120(white).</p>
121<dl class="docutils">
122<dt><em>Availability</em>:</dt>
123<dd>Available in MochiKit 1.3.1+</dd>
124</dl>
125</blockquote>
126<p>
127<a name="fn-color.fromhsl"></a>
128<a class="mochidef reference" href="#fn-color.fromhsl">Color.fromHSL(hue, saturation, lightness, alpha=1.0)</a>:</p>
129<blockquote>
130<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object from the given <tt class="docutils literal"><span class="pre">hue</span></tt>,
131<tt class="docutils literal"><span class="pre">saturation</span></tt>, <tt class="docutils literal"><span class="pre">lightness</span></tt> values. Values should be numbers
132between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
133<p>If <tt class="docutils literal"><span class="pre">alpha</span></tt> is not given, then <tt class="docutils literal"><span class="pre">1.0</span></tt> (completely opaque) will
134be used.</p>
135<dl class="docutils">
136<dt>Alternate form:</dt>
137<dd><a class="mochiref reference" href="#fn-color.fromhsl">Color.fromHSL({h: hue, s: saturation, l: lightness,
138a: alpha})</a></dd>
139<dt><em>Availability</em>:</dt>
140<dd>Available in MochiKit 1.3.1+</dd>
141</dl>
142</blockquote>
143<p>
144<a name="fn-color.fromhslstring"></a>
145<a class="mochidef reference" href="#fn-color.fromhslstring">Color.fromHSLString(hslString)</a>:</p>
146<blockquote>
147<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given decimal hsl
148color string. For example, <tt class="docutils literal"><span class="pre">&quot;hsl(0,0%,100%)&quot;</span></tt> would return a
149<a class="mochiref reference" href="#fn-color">Color</a> with HSL values <tt class="docutils literal"><span class="pre">[0/360,</span> <span class="pre">0/360,</span> <span class="pre">360/360]</span></tt>
150(white).</p>
151<dl class="docutils">
152<dt><em>Availability</em>:</dt>
153<dd>Available in MochiKit 1.3.1+</dd>
154</dl>
155</blockquote>
156<p>
157<a name="fn-color.fromhsv"></a>
158<a class="mochidef reference" href="#fn-color.fromhsv">Color.fromHSV(hue, saturation, value, alpha=1.0)</a>:</p>
159<blockquote>
160<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object from the given <tt class="docutils literal"><span class="pre">hue</span></tt>,
161<tt class="docutils literal"><span class="pre">saturation</span></tt>, <tt class="docutils literal"><span class="pre">value</span></tt> values. Values should be numbers between
162<tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
163<p>If <tt class="docutils literal"><span class="pre">alpha</span></tt> is not given, then <tt class="docutils literal"><span class="pre">1.0</span></tt> (completely opaque) will
164be used.</p>
165<dl class="docutils">
166<dt>Alternate form:</dt>
167<dd><a class="mochiref reference" href="#fn-color.fromhsv">Color.fromHSV({h: hue, s: saturation, v: value, a:
168alpha})</a></dd>
169<dt><em>Availability</em>:</dt>
170<dd>Available in MochiKit 1.3.1+</dd>
171</dl>
172</blockquote>
173<p>
174<a name="fn-color.fromname"></a>
175<a class="mochidef reference" href="#fn-color.fromname">Color.fromName(colorName)</a>:</p>
176<blockquote>
177<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object corresponding to the given SVG
1781.0 color keyword name <a class="footnote-reference" href="#id7" id="id2" name="id2">[2]</a> as per the W3C CSS3 Color Module
179<a class="footnote-reference" href="#id8" id="id3" name="id3">[3]</a>. <tt class="docutils literal"><span class="pre">&quot;transparent&quot;</span></tt> is also accepted as a color name, and will
180return <a class="mochiref reference" href="#fn-color.transparentcolor">Color.transparentColor()</a>.</p>
181<dl class="docutils">
182<dt><em>Availability</em>:</dt>
183<dd>Available in MochiKit 1.3.1+</dd>
184</dl>
185</blockquote>
186<p>
187<a name="fn-color.fromrgb"></a>
188<a class="mochidef reference" href="#fn-color.fromrgb">Color.fromRGB(red, green, blue, alpha=1.0)</a>:</p>
189<blockquote>
190<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object from the given <tt class="docutils literal"><span class="pre">red</span></tt>,
191<tt class="docutils literal"><span class="pre">green</span></tt>, <tt class="docutils literal"><span class="pre">blue</span></tt>, and <tt class="docutils literal"><span class="pre">alpha</span></tt> values. Values should be
192numbers between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
193<p>If <tt class="docutils literal"><span class="pre">alpha</span></tt> is not given, then <tt class="docutils literal"><span class="pre">1.0</span></tt> (completely opaque) will
194be used.</p>
195<dl class="docutils">
196<dt>Alternate form:</dt>
197<dd><a class="mochiref reference" href="#fn-color.fromrgb">Color.fromRGB({r: red, g: green, b: blue, a:
198alpha})</a></dd>
199<dt><em>Availability</em>:</dt>
200<dd>Available in MochiKit 1.3.1+</dd>
201</dl>
202</blockquote>
203<p>
204<a name="fn-color.fromrgbstring"></a>
205<a class="mochidef reference" href="#fn-color.fromrgbstring">Color.fromRGBString(rgbString)</a>:</p>
206<blockquote>
207<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given decimal rgb
208color string. For example, <tt class="docutils literal"><span class="pre">&quot;rgb(255,255,255)&quot;</span></tt> would return a
209<a class="mochiref reference" href="#fn-color">Color</a> with RGB values <tt class="docutils literal"><span class="pre">[255/255,</span> <span class="pre">255/255,</span> <span class="pre">255/255]</span></tt>
210(white).</p>
211<dl class="docutils">
212<dt><em>Availability</em>:</dt>
213<dd>Available in MochiKit 1.3.1+</dd>
214</dl>
215</blockquote>
216<p>
217<a name="fn-color.fromtext"></a>
218<a class="mochidef reference" href="#fn-color.fromtext">Color.fromText(elem)</a>:</p>
219<blockquote>
220<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object based on the text color of the
221provided element. Equivalent to:</p>
222<pre class="literal-block">
223c = Color.fromComputedStyle(elem, &quot;color&quot;) || Color.whiteColor();
224</pre>
225<dl class="docutils">
226<dt><em>Availability</em>:</dt>
227<dd>Available in MochiKit 1.3.1+</dd>
228</dl>
229</blockquote>
230<p>
231<a name="fn-color.fromstring"></a>
232<a class="mochidef reference" href="#fn-color.fromstring">Color.fromString(rgbOrHexString)</a>:</p>
233<blockquote>
234<p>Returns a <a class="mochiref reference" href="#fn-color">Color</a> object from the given RGB, HSL, hex,
235or name. Will return <tt class="docutils literal"><span class="pre">null</span></tt> if the string can not be parsed by
236any of these methods.</p>
237<p>See <a class="mochiref reference" href="#fn-color.fromhexstring">Color.fromHexString</a>,
238<a class="mochiref reference" href="#fn-color.fromrgbstring">Color.fromRGBString</a>, <a class="mochiref reference" href="#fn-color.fromhslstring">Color.fromHSLString</a>
239and <a class="mochiref reference" href="#fn-color.fromname">Color.fromName</a> more information.</p>
240<dl class="docutils">
241<dt><em>Availability</em>:</dt>
242<dd>Available in MochiKit 1.3.1+</dd>
243</dl>
244</blockquote>
245<p>
246<a name="fn-color.namedcolors"></a>
247<a class="mochidef reference" href="#fn-color.namedcolors">Color.namedColors()</a>:</p>
248<blockquote>
249<p>Returns an object with properties for each SVG 1.0 color keyword
250name <a class="footnote-reference" href="#id7" id="id4" name="id4">[2]</a> supported by CSS3 <a class="footnote-reference" href="#id8" id="id5" name="id5">[3]</a>. Property names are the color
251keyword name in lowercase, and the value is a string suitable for
252<a class="mochiref reference" href="#fn-color.fromstring">Color.fromString()</a>.</p>
253<dl class="docutils">
254<dt><em>Availability</em>:</dt>
255<dd>Available in MochiKit 1.3.1+</dd>
256</dl>
257</blockquote>
258<p>
259<a name="fn-color.prototype.colorwithalpha"></a>
260<a class="mochidef reference" href="#fn-color.prototype.colorwithalpha">Color.prototype.colorWithAlpha(alpha)</a>:</p>
261<blockquote>
262<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the
263provided <tt class="docutils literal"><span class="pre">alpha</span></tt> value.</p>
264<dl class="docutils">
265<dt><em>Availability</em>:</dt>
266<dd>Available in MochiKit 1.3.1+</dd>
267</dl>
268</blockquote>
269<p>
270<a name="fn-color.prototype.colorwithhue"></a>
271<a class="mochidef reference" href="#fn-color.prototype.colorwithhue">Color.prototype.colorWithHue(hue)</a>:</p>
272<blockquote>
273<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the
274provided <tt class="docutils literal"><span class="pre">hue</span></tt> value.</p>
275<dl class="docutils">
276<dt><em>Availability</em>:</dt>
277<dd>Available in MochiKit 1.3.1+</dd>
278</dl>
279</blockquote>
280<p>
281<a name="fn-color.prototype.colorwithsaturation"></a>
282<a class="mochidef reference" href="#fn-color.prototype.colorwithsaturation">Color.prototype.colorWithSaturation(saturation)</a>:</p>
283<blockquote>
284<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the
285provided <tt class="docutils literal"><span class="pre">saturation</span></tt> value (using the HSL color model).</p>
286<dl class="docutils">
287<dt><em>Availability</em>:</dt>
288<dd>Available in MochiKit 1.3.1+</dd>
289</dl>
290</blockquote>
291<p>
292<a name="fn-color.prototype.colorwithlightness"></a>
293<a class="mochidef reference" href="#fn-color.prototype.colorwithlightness">Color.prototype.colorWithLightness(lightness)</a>:</p>
294<blockquote>
295<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but with the
296provided <tt class="docutils literal"><span class="pre">lightness</span></tt> value.</p>
297<dl class="docutils">
298<dt><em>Availability</em>:</dt>
299<dd>Available in MochiKit 1.3.1+</dd>
300</dl>
301</blockquote>
302<p>
303<a name="fn-color.prototype.darkercolorwithlevel"></a>
304<a class="mochidef reference" href="#fn-color.prototype.darkercolorwithlevel">Color.prototype.darkerColorWithLevel(level)</a>:</p>
305<blockquote>
306<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but darker by
307the given <tt class="docutils literal"><span class="pre">level</span></tt> (between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>).</p>
308<dl class="docutils">
309<dt><em>Availability</em>:</dt>
310<dd>Available in MochiKit 1.3.1+</dd>
311</dl>
312</blockquote>
313<p>
314<a name="fn-color.prototype.lightercolorwithlevel"></a>
315<a class="mochidef reference" href="#fn-color.prototype.lightercolorwithlevel">Color.prototype.lighterColorWithLevel(level)</a>:</p>
316<blockquote>
317<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> based on this color, but lighter by
318the given <tt class="docutils literal"><span class="pre">level</span></tt> (between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>).</p>
319<dl class="docutils">
320<dt><em>Availability</em>:</dt>
321<dd>Available in MochiKit 1.3.1+</dd>
322</dl>
323</blockquote>
324<p>
325<a name="fn-color.prototype.blendedcolor"></a>
326<a class="mochidef reference" href="#fn-color.prototype.blendedcolor">Color.prototype.blendedColor(other, fraction=0.5)</a>:</p>
327<blockquote>
328<p>Return a new <a class="mochiref reference" href="#fn-color">Color</a> whose RGBA component values are a
329weighted sum of this color and <tt class="docutils literal"><span class="pre">other</span></tt>. Each component of the
330returned color is the <tt class="docutils literal"><span class="pre">fraction</span></tt> of other's value plus <tt class="docutils literal"><span class="pre">1</span> <span class="pre">-</span>
331<span class="pre">fraction</span></tt> of this color's.</p>
332<dl class="docutils">
333<dt><em>Availability</em>:</dt>
334<dd>Available in MochiKit 1.3.1+</dd>
335</dl>
336</blockquote>
337<p>
338<a name="fn-color.prototype.islight"></a>
339<a class="mochidef reference" href="#fn-color.prototype.islight">Color.prototype.isLight()</a>:</p>
340<blockquote>
341<p>Return <tt class="docutils literal"><span class="pre">true</span></tt> if the lightness value of this color is greater
342than <tt class="docutils literal"><span class="pre">0.5</span></tt>.</p>
343<p>Note that <tt class="docutils literal"><span class="pre">alpha</span></tt> is ignored for this calculation (color
344components are not premultiplied).</p>
345<dl class="docutils">
346<dt><em>Availability</em>:</dt>
347<dd>Available in MochiKit 1.3.1+</dd>
348</dl>
349</blockquote>
350<p>
351<a name="fn-color.prototype.isdark"></a>
352<a class="mochidef reference" href="#fn-color.prototype.isdark">Color.prototype.isDark()</a>:</p>
353<blockquote>
354<p>Return <tt class="docutils literal"><span class="pre">true</span></tt> if the lightness value of this color is less than
355or equal to <tt class="docutils literal"><span class="pre">0.5</span></tt>.</p>
356<p>Note that <tt class="docutils literal"><span class="pre">alpha</span></tt> is ignored for this calculation (color
357components are not premultiplied).</p>
358<dl class="docutils">
359<dt><em>Availability</em>:</dt>
360<dd>Available in MochiKit 1.3.1+</dd>
361</dl>
362</blockquote>
363<p>
364<a name="fn-color.prototype.torgbstring"></a>
365<a class="mochidef reference" href="#fn-color.prototype.torgbstring">Color.prototype.toRGBString()</a>:</p>
366<blockquote>
367<p>Return the decimal <tt class="docutils literal"><span class="pre">&quot;rgb(red,</span> <span class="pre">green,</span> <span class="pre">blue)&quot;</span></tt> string
368representation of this color.</p>
369<p>If the alpha component is not <tt class="docutils literal"><span class="pre">1.0</span></tt> (fully opaque), the
370<tt class="docutils literal"><span class="pre">&quot;rgba(red,</span> <span class="pre">green,</span> <span class="pre">blue,</span> <span class="pre">alpha)&quot;</span></tt> string representation will be
371used.</p>
372<p>For example:</p>
373<pre class="literal-block">
374assert( Color.whiteColor().toRGBString() == &quot;rgb(255,255,255)&quot; );
375</pre>
376<dl class="docutils">
377<dt><em>Availability</em>:</dt>
378<dd>Available in MochiKit 1.3.1+</dd>
379</dl>
380</blockquote>
381<p>
382<a name="fn-color.prototype.tohslstring"></a>
383<a class="mochidef reference" href="#fn-color.prototype.tohslstring">Color.prototype.toHSLString()</a>:</p>
384<blockquote>
385<p>Return the decimal <tt class="docutils literal"><span class="pre">&quot;hsl(hue,</span> <span class="pre">saturation,</span> <span class="pre">lightness)&quot;</span></tt> string
386representation of this color.</p>
387<p>If the alpha component is not <tt class="docutils literal"><span class="pre">1.0</span></tt> (fully opaque), the
388<tt class="docutils literal"><span class="pre">&quot;hsla(hue,</span> <span class="pre">saturation,</span> <span class="pre">lightness,</span> <span class="pre">alpha)&quot;</span></tt> string
389representation will be used.</p>
390<p>For example:</p>
391<pre class="literal-block">
392assert( Color.whiteColor().toHSLString() == &quot;hsl(0,0,360)&quot; );
393</pre>
394<dl class="docutils">
395<dt><em>Availability</em>:</dt>
396<dd>Available in MochiKit 1.3.1+</dd>
397</dl>
398</blockquote>
399<p>
400<a name="fn-color.prototype.tohexstring"></a>
401<a class="mochidef reference" href="#fn-color.prototype.tohexstring">Color.prototype.toHexString()</a>:</p>
402<blockquote>
403<p>Return the hexadecimal <tt class="docutils literal"><span class="pre">&quot;#RRGGBB&quot;</span></tt> string representation of this
404color.</p>
405<p>Note that the alpha component is completely ignored for
406hexadecimal string representations!</p>
407<p>For example:</p>
408<pre class="literal-block">
409assert( Color.whiteColor().toHexString() == &quot;#FFFFFF&quot; );
410</pre>
411<dl class="docutils">
412<dt><em>Availability</em>:</dt>
413<dd>Available in MochiKit 1.3.1+</dd>
414</dl>
415</blockquote>
416<p>
417<a name="fn-color.prototype.asrgb"></a>
418<a class="mochidef reference" href="#fn-color.prototype.asrgb">Color.prototype.asRGB()</a>:</p>
419<blockquote>
420<p>Return the RGB (red, green, blue, alpha) components of this color
421as an object with <tt class="docutils literal"><span class="pre">r</span></tt>, <tt class="docutils literal"><span class="pre">g</span></tt>, <tt class="docutils literal"><span class="pre">b</span></tt>, and <tt class="docutils literal"><span class="pre">a</span></tt> properties that
422have values between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
423<dl class="docutils">
424<dt><em>Availability</em>:</dt>
425<dd>Available in MochiKit 1.3.1+</dd>
426</dl>
427</blockquote>
428<p>
429<a name="fn-color.prototype.ashsl"></a>
430<a class="mochidef reference" href="#fn-color.prototype.ashsl">Color.prototype.asHSL()</a>:</p>
431<blockquote>
432<p>Return the HSL (hue, saturation, lightness, alpha) components of
433this color as an object with <tt class="docutils literal"><span class="pre">h</span></tt>, <tt class="docutils literal"><span class="pre">s</span></tt>, <tt class="docutils literal"><span class="pre">l</span></tt> and <tt class="docutils literal"><span class="pre">a</span></tt>
434properties that have values between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
435<dl class="docutils">
436<dt><em>Availability</em>:</dt>
437<dd>Available in MochiKit 1.3.1+</dd>
438</dl>
439</blockquote>
440<p>
441<a name="fn-color.prototype.ashsv"></a>
442<a class="mochidef reference" href="#fn-color.prototype.ashsv">Color.prototype.asHSV()</a>:</p>
443<blockquote>
444<p>Return the HSV (hue, saturation, value, alpha) components of this
445color as an object with <tt class="docutils literal"><span class="pre">h</span></tt>, <tt class="docutils literal"><span class="pre">s</span></tt>, <tt class="docutils literal"><span class="pre">v</span></tt> and <tt class="docutils literal"><span class="pre">a</span></tt> properties
446that have values between <tt class="docutils literal"><span class="pre">0.0</span></tt> and <tt class="docutils literal"><span class="pre">1.0</span></tt>.</p>
447<dl class="docutils">
448<dt><em>Availability</em>:</dt>
449<dd>Available in MochiKit 1.3.1+</dd>
450</dl>
451</blockquote>
452<p>
453<a name="fn-color.blackcolor"></a>
454<a class="mochidef reference" href="#fn-color.blackcolor">Color.blackColor()</a>:</p>
455<blockquote>
456<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 0, 0
457(#000000).</p>
458<dl class="docutils">
459<dt><em>Availability</em>:</dt>
460<dd>Available in MochiKit 1.3.1+</dd>
461</dl>
462</blockquote>
463<p>
464<a name="fn-color.bluecolor"></a>
465<a class="mochidef reference" href="#fn-color.bluecolor">Color.blueColor()</a>:</p>
466<blockquote>
467<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 0, 1
468(#0000ff).</p>
469<dl class="docutils">
470<dt><em>Availability</em>:</dt>
471<dd>Available in MochiKit 1.3.1+</dd>
472</dl>
473</blockquote>
474<p>
475<a name="fn-color.browncolor"></a>
476<a class="mochidef reference" href="#fn-color.browncolor">Color.brownColor()</a>:</p>
477<blockquote>
478<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0.6, 0.4,
4790.2 (#996633).</p>
480<dl class="docutils">
481<dt><em>Availability</em>:</dt>
482<dd>Available in MochiKit 1.3.1+</dd>
483</dl>
484</blockquote>
485<p>
486<a name="fn-color.cyancolor"></a>
487<a class="mochidef reference" href="#fn-color.cyancolor">Color.cyanColor()</a>:</p>
488<blockquote>
489<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 1, 1
490(#00ffff).</p>
491<dl class="docutils">
492<dt><em>Availability</em>:</dt>
493<dd>Available in MochiKit 1.3.1+</dd>
494</dl>
495</blockquote>
496<p>
497<a name="fn-color.darkgraycolor"></a>
498<a class="mochidef reference" href="#fn-color.darkgraycolor">Color.darkGrayColor()</a>:</p>
499<blockquote>
500<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1/3, 1/3,
5011/3 (#555555).</p>
502<dl class="docutils">
503<dt><em>Availability</em>:</dt>
504<dd>Available in MochiKit 1.3.1+</dd>
505</dl>
506</blockquote>
507<p>
508<a name="fn-color.graycolor"></a>
509<a class="mochidef reference" href="#fn-color.graycolor">Color.grayColor()</a>:</p>
510<blockquote>
511<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0.5, 0.5,
5120.5 (#808080).</p>
513<dl class="docutils">
514<dt><em>Availability</em>:</dt>
515<dd>Available in MochiKit 1.3.1+</dd>
516</dl>
517</blockquote>
518<p>
519<a name="fn-color.greencolor"></a>
520<a class="mochidef reference" href="#fn-color.greencolor">Color.greenColor()</a>:</p>
521<blockquote>
522<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0, 1, 0.
523(#00ff00).</p>
524<dl class="docutils">
525<dt><em>Availability</em>:</dt>
526<dd>Available in MochiKit 1.3.1+</dd>
527</dl>
528</blockquote>
529<p>
530<a name="fn-color.lightgraycolor"></a>
531<a class="mochidef reference" href="#fn-color.lightgraycolor">Color.lightGrayColor()</a>:</p>
532<blockquote>
533<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 2/3, 2/3,
5342/3 (#aaaaaa).</p>
535<dl class="docutils">
536<dt><em>Availability</em>:</dt>
537<dd>Available in MochiKit 1.3.1+</dd>
538</dl>
539</blockquote>
540<p>
541<a name="fn-color.magentacolor"></a>
542<a class="mochidef reference" href="#fn-color.magentacolor">Color.magentaColor()</a>:</p>
543<blockquote>
544<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 0, 1
545(#ff00ff).</p>
546<dl class="docutils">
547<dt><em>Availability</em>:</dt>
548<dd>Available in MochiKit 1.3.1+</dd>
549</dl>
550</blockquote>
551<p>
552<a name="fn-color.orangecolor"></a>
553<a class="mochidef reference" href="#fn-color.orangecolor">Color.orangeColor()</a>:</p>
554<blockquote>
555<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 0.5, 0
556(#ff8000).</p>
557<dl class="docutils">
558<dt><em>Availability</em>:</dt>
559<dd>Available in MochiKit 1.3.1+</dd>
560</dl>
561</blockquote>
562<p>
563<a name="fn-color.purplecolor"></a>
564<a class="mochidef reference" href="#fn-color.purplecolor">Color.purpleColor()</a>:</p>
565<blockquote>
566<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 0.5, 0, 0.5
567(#800080).</p>
568<dl class="docutils">
569<dt><em>Availability</em>:</dt>
570<dd>Available in MochiKit 1.3.1+</dd>
571</dl>
572</blockquote>
573<p>
574<a name="fn-color.redcolor"></a>
575<a class="mochidef reference" href="#fn-color.redcolor">Color.redColor()</a>:</p>
576<blockquote>
577<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 0, 0
578(#ff0000).</p>
579<dl class="docutils">
580<dt><em>Availability</em>:</dt>
581<dd>Available in MochiKit 1.3.1+</dd>
582</dl>
583</blockquote>
584<p>
585<a name="fn-color.whitecolor"></a>
586<a class="mochidef reference" href="#fn-color.whitecolor">Color.whiteColor()</a>:</p>
587<blockquote>
588<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 1, 1
589(#ffffff).</p>
590<dl class="docutils">
591<dt><em>Availability</em>:</dt>
592<dd>Available in MochiKit 1.3.1+</dd>
593</dl>
594</blockquote>
595<p>
596<a name="fn-color.yellowcolor"></a>
597<a class="mochidef reference" href="#fn-color.yellowcolor">Color.yellowColor()</a>:</p>
598<blockquote>
599<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object whose RGB values are 1, 1, 0
600(#ffff00).</p>
601<dl class="docutils">
602<dt><em>Availability</em>:</dt>
603<dd>Available in MochiKit 1.3.1+</dd>
604</dl>
605</blockquote>
606<p>
607<a name="fn-color.transparentcolor"></a>
608<a class="mochidef reference" href="#fn-color.transparentcolor">Color.transparentColor()</a>:</p>
609<blockquote>
610<p>Return a <a class="mochiref reference" href="#fn-color">Color</a> object that is completely transparent
611(has alpha component of 0).</p>
612<dl class="docutils">
613<dt><em>Availability</em>:</dt>
614<dd>Available in MochiKit 1.3.1+</dd>
615</dl>
616</blockquote>
617</div>
618<div class="section">
619<h2><a id="functions" name="functions">Functions</a></h2>
620<p>
621<a name="fn-clampcolorcomponent"></a>
622<a class="mochidef reference" href="#fn-clampcolorcomponent">clampColorComponent(num, scale)</a>:</p>
623<blockquote>
624<p>Returns <tt class="docutils literal"><span class="pre">num</span> <span class="pre">*</span> <span class="pre">scale</span></tt> clamped between <tt class="docutils literal"><span class="pre">0</span></tt> and <tt class="docutils literal"><span class="pre">scale</span></tt>.</p>
625<p><a class="mochiref reference" href="#fn-clampcolorcomponent">clampColorComponent</a> is not exported by default when
626using JSAN.</p>
627<dl class="docutils">
628<dt><em>Availability</em>:</dt>
629<dd>Available in MochiKit 1.3.1+</dd>
630</dl>
631</blockquote>
632<p>
633<a name="fn-hsltorgb"></a>
634<a class="mochidef reference" href="#fn-hsltorgb">hslToRGB(hue, saturation, lightness, alpha)</a>:</p>
635<blockquote>
636<p>Computes RGB values from the provided HSL values. The return value
637is a mapping with <tt class="docutils literal"><span class="pre">&quot;r&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;g&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;b&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt> keys.</p>
638<dl class="docutils">
639<dt>Alternate form:</dt>
640<dd><a class="mochiref reference" href="#fn-hsltorgb">hslToRGB({h: hue, s: saturation, l: lightness, a:
641alpha})</a>.</dd>
642</dl>
643<p><a class="mochiref reference" href="#fn-hsltorgb">hslToRGB</a> is not exported by default when using JSAN.</p>
644<dl class="docutils">
645<dt><em>Availability</em>:</dt>
646<dd>Available in MochiKit 1.3.1+</dd>
647</dl>
648</blockquote>
649<p>
650<a name="fn-hsvtorgb"></a>
651<a class="mochidef reference" href="#fn-hsvtorgb">hsvToRGB(hue, saturation, value, alpha)</a>:</p>
652<blockquote>
653<p>Computes RGB values from the provided HSV values. The return value
654is a mapping with <tt class="docutils literal"><span class="pre">&quot;r&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;g&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;b&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt> keys.</p>
655<dl class="docutils">
656<dt>Alternate form:</dt>
657<dd><a class="mochiref reference" href="#fn-hsvtorgb">hsvToRGB({h: hue, s: saturation, v: value, a:
658alpha})</a>.</dd>
659</dl>
660<p><a class="mochiref reference" href="#fn-hsvtorgb">hsvToRGB</a> is not exported by default when using JSAN.</p>
661<dl class="docutils">
662<dt><em>Availability</em>:</dt>
663<dd>Available in MochiKit 1.3.1+</dd>
664</dl>
665</blockquote>
666<p>
667<a name="fn-tocolorpart"></a>
668<a class="mochidef reference" href="#fn-tocolorpart">toColorPart(num)</a>:</p>
669<blockquote>
670<p>Convert num to a zero padded hexadecimal digit for use in a
671hexadecimal color string. Num should be an integer between <tt class="docutils literal"><span class="pre">0</span></tt>
672and <tt class="docutils literal"><span class="pre">255</span></tt>.</p>
673<p><a class="mochiref reference" href="#fn-tocolorpart">toColorPart</a> is not exported by default when using
674JSAN.</p>
675<dl class="docutils">
676<dt><em>Availability</em>:</dt>
677<dd>Available in MochiKit 1.3.1+</dd>
678</dl>
679</blockquote>
680<p>
681<a name="fn-rgbtohsl"></a>
682<a class="mochidef reference" href="#fn-rgbtohsl">rgbToHSL(red, green, blue, alpha)</a>:</p>
683<blockquote>
684<p>Computes HSL values based on the provided RGB values. The return
685value is a mapping with <tt class="docutils literal"><span class="pre">&quot;h&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;s&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;l&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt>
686keys.</p>
687<dl class="docutils">
688<dt>Alternate form:</dt>
689<dd><a class="mochiref reference" href="#fn-rgbtohsl">rgbToHSL({r: red, g: green, b: blue, a: alpha})</a>.</dd>
690</dl>
691<p><a class="mochiref reference" href="#fn-rgbtohsl">rgbToHSL</a> is not exported by default when using JSAN.</p>
692<dl class="docutils">
693<dt><em>Availability</em>:</dt>
694<dd>Available in MochiKit 1.3.1+</dd>
695</dl>
696</blockquote>
697<p>
698<a name="fn-rgbtohsv"></a>
699<a class="mochidef reference" href="#fn-rgbtohsv">rgbToHSV(red, green, blue, alpha)</a>:</p>
700<blockquote>
701<p>Computes HSV values based on the provided RGB values. The return
702value is a mapping with <tt class="docutils literal"><span class="pre">&quot;h&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;s&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;v&quot;</span></tt> and <tt class="docutils literal"><span class="pre">&quot;a&quot;</span></tt>
703keys.</p>
704<dl class="docutils">
705<dt>Alternate form:</dt>
706<dd><a class="mochiref reference" href="#fn-rgbtohsv">rgbToHSV({r: red, g: green, b: blue, a: alpha})</a>.</dd>
707</dl>
708<p><a class="mochiref reference" href="#fn-rgbtohsv">rgbToHSV</a> is not exported by default when using JSAN.</p>
709<dl class="docutils">
710<dt><em>Availability</em>:</dt>
711<dd>Available in MochiKit 1.3.1+</dd>
712</dl>
713</blockquote>
714</div>
715</div>
716<div class="section">
717<h1><a id="see-also" name="see-also">See Also</a></h1>
718<table class="docutils footnote" frame="void" id="id6" rules="none">
719<colgroup><col class="label" /><col /></colgroup>
720<tbody valign="top">
721<tr><td class="label"><a class="fn-backref" href="#id1" name="id6">[1]</a></td><td>Application Kit Reference - NSColor: <a class="reference" href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html">http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSColor.html</a></td></tr>
722</tbody>
723</table>
724<table class="docutils footnote" frame="void" id="id7" rules="none">
725<colgroup><col class="label" /><col /></colgroup>
726<tbody valign="top">
727<tr><td class="label"><a name="id7">[2]</a></td><td><em>(<a class="fn-backref" href="#id2">1</a>, <a class="fn-backref" href="#id4">2</a>)</em> SVG 1.0 color keywords: <a class="reference" href="http://www.w3.org/TR/SVG/types.html#ColorKeywords">http://www.w3.org/TR/SVG/types.html#ColorKeywords</a></td></tr>
728</tbody>
729</table>
730<table class="docutils footnote" frame="void" id="id8" rules="none">
731<colgroup><col class="label" /><col /></colgroup>
732<tbody valign="top">
733<tr><td class="label"><a name="id8">[3]</a></td><td><em>(<a class="fn-backref" href="#id3">1</a>, <a class="fn-backref" href="#id5">2</a>)</em> W3C CSS3 Color Module: <a class="reference" href="http://www.w3.org/TR/css3-color/#svg-color">http://www.w3.org/TR/css3-color/#svg-color</a></td></tr>
734</tbody>
735</table>
736</div>
737<div class="section">
738<h1><a id="authors" name="authors">Authors</a></h1>
739<ul class="simple">
740<li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
741</ul>
742</div>
743<div class="section">
744<h1><a id="copyright" name="copyright">Copyright</a></h1>
745<p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is
746dual-licensed free software; you can redistribute it and/or modify it
747under the terms of the <a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License
748v2.1</a>.</p>
749</div>
750</div>
751
752</body>
753</html>