Module CSS.​Color

module Color : sig..end

All about CSS colors. MDC documentation here: https://developer.mozilla.org/en/CSS/color_value . Specifications here: http://www.w3.org/TR/css3-color/#svg-color .

type name =  | Aliceblue | Antiquewhite | Aqua | Aquamarine | Azure | Beige | Bisque | Black | Blanchedalmond | Blue | Blueviolet | Brown | Burlywood | Cadetblue | Chartreuse | Chocolate | Coral | Cornflowerblue | Cornsilk | Crimson | Cyan | Darkblue | Darkcyan | Darkgoldenrod | Darkgray | Darkgreen | Darkgrey | Darkkhaki | Darkmagenta | Darkolivegreen | Darkorange | Darkorchid | Darkred | Darksalmon | Darkseagreen | Darkslateblue | Darkslategray | Darkslategrey | Darkturquoise | Darkviolet | Deeppink | Deepskyblue | Dimgray | Dimgrey | Dodgerblue | Firebrick | Floralwhite | Forestgreen | Fuchsia | Gainsboro | Ghostwhite | Gold | Goldenrod | Gray | Grey | Green | Greenyellow | Honeydew | Hotpink | Indianred | Indigo | Ivory | Khaki | Lavender | Lavenderblush | Lawngreen | Lemonchiffon | Lightblue | Lightcoral | Lightcyan | Lightgoldenrodyellow | Lightgray | Lightgreen | Lightgrey | Lightpink | Lightsalmon | Lightseagreen | Lightskyblue | Lightslategray | Lightslategrey | Lightsteelblue | Lightyellow | Lime | Limegreen | Linen | Magenta | Maroon | Mediumaquamarine | Mediumblue | Mediumorchid | Mediumpurple | Mediumseagreen | Mediumslateblue | Mediumspringgreen | Mediumturquoise | Mediumvioletred | Midnightblue | Mintcream | Mistyrose | Moccasin | Navajowhite | Navy | Oldlace | Olive | Olivedrab | Orange | Orangered | Orchid | Palegoldenrod | Palegreen | Paleturquoise | Palevioletred | Papayawhip | Peachpuff | Peru | Pink | Plum | Powderblue | Purple | Red | Rosybrown | Royalblue | Saddlebrown | Salmon | Sandybrown | Seagreen | Seashell | Sienna | Silver | Skyblue | Slateblue | Slategray | Slategrey | Snow | Springgreen | Steelblue | Tan | Teal | Thistle | Tomato | Turquoise | Violet | Wheat | White | Whitesmoke | Yellow | Yellowgreen

The colors by name.

val string_of_name : name -> string

Gives the string equivalent of the argument.

val rgb_of_name : name -> int * int * int

Converts a color name into three integers representing the Red, Green and Blue channels. Channel values are in between 0 and 255.

type t =  | Name of name(* <<div class="odocwiki_info"|~A color by name
>> *) | RGB of (int * int * int)(* <<div class="odocwiki_info"|~Red~, ~Green and ~Blue values~. ~Clipped to <<span class="odocwiki_inlinecode"|~0~.~.~2~5~5>> by most ~(~All~?~)
     browsers~.
>> *) | RGB_percent of (int * int * int)(* <<div class="odocwiki_info"|~R~B~G channels are specified as a percentage of their maximal value~.
>> *) | RGBA of (int * int * int * float)(* <<div class="odocwiki_info"|~Same as ~R~G~B with additionnal transparency argument~. ~Opacity should be
    between <<span class="odocwiki_inlinecode"|~0~.>> ~(completely transparent~) and <<span class="odocwiki_inlinecode"|~1~.>> ~(completely opaque~)~.
>> *) | RGBA_percent of (int * int * int * float)(* <<div class="odocwiki_info"|~R~G~B channels specified as percentage of their maximal value~. ~Alpha
    channel ~(opacity~) is still a <<span class="odocwiki_inlinecode"|~0~.>> to <<span class="odocwiki_inlinecode"|~1~.>> float~.
>> *) | HSL of (int * int * int)(* <<div class="odocwiki_info"|~Hue~, ~Saturation and ~Lightness values~. ~Hue is an angle in degree ~(in
     interval <<span class="odocwiki_inlinecode"|~0~.~.~3~6~0>>~)~. ~Saturation is a percentage ~(<<span class="odocwiki_inlinecode"|~0~.~.~1~0~0>>~) with <<span class="odocwiki_inlinecode"|~0>>
     being colorless~. ~Lightness is also a percentage ~(<<span class="odocwiki_inlinecode"|~0~.~.~1~0~0>>~) with <<span class="odocwiki_inlinecode"|~0>>
     being black~.
>> *) | HSLA of (int * int * int * float)(* <<div class="odocwiki_info"|~Same as ~H~S~L with an opacity argument between <<span class="odocwiki_inlinecode"|~0~.>> and <<span class="odocwiki_inlinecode"|~1~.>>~.
>> *)

The type of colors, either by name, by Red-Green-Blue constructor or by Hue-Saturation-Lightness constructors.

val rgb : ?a:float -> int -> int -> int -> t

build a color from the values of red, green, and blue channels. optional a argument can be used to specify alpha channel (aka opacity).

val hsl : ?a:float -> int -> int -> int -> t

build a color from the values of hue, saturation, and lightness channels. optional a argument can be used to specify alpha channel (aka opacity).

type js_t = private Js.js_string Js.t

A js_t is a valid string representation of a CSS color

A few conversion functions

val string_of_t : t -> string

Convert to a string representation (for debugging purpose mainly).

val js : t -> js_t

Projection from OCaml to Js. js c is equivalent to Js.string (string_of_t c) but with a js_t return type.

val ml : js_t -> t

Projection from Js to OCaml. The function is the dual of js.

val js_t_of_js_string : Js.js_string Js.t -> js_t

Checks the well-formedness of a string or fails with Invalid_argument