| 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 |