Parses a string definition of a color, filling the red,
green, blue and
alpha fields of color.
The color is not allocated.
The format of str can be either one of:
rgb`, `rrggbb`, `rgba`, or `rrggbbaa`where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color intensities and the opacity. The 'h', 's' and 'l' are ( respectively) the hue, saturation and luminance values.
In the rgb and rgba formats, the 'r', 'g', and 'b' values are either integers between 0 and 255, or percentage
values in the range between 0% and 100%; the percentages require the '%' character. The 'a' value, if specified, can only be a floating
point value between 0.0 and 1.0.
In the hls and hlsa formats, the 'h' value (hue) is an angle between 0 and 360.0 degrees; the 'l' and 's'
values (luminance and saturation) are percentage values in the range between 0% and 100%. The 'a' value, if specified, can only be a
floating point value between 0.0 and 1.0.
Whitespace inside the definitions is ignored; no leading whitespace is allowed.
If the alpha component is not specified then it is assumed to be set to be fully opaque.
| str |
a string specifiying a color |
| color |
return location for a Color |
|
true if parsing succeeded, and false otherwise |