/* === G L O B A L S ======================================================= */
-String Color::hex_;
-
/* === P R O C E D U R E S ================================================= */
/* === M E T H O D S ======================================================= */
value_type r, g, b;
try
{
- if (hex.size() == 3)
+ if (hex.size() == 1)
+ {
+ r = hex2real(hex.substr(0,1)+hex.substr(0,1));
+ r_ = g_ = b_ = r;
+ }
+ else if (hex.size() == 3)
{
r = hex2real(hex.substr(0,1)+hex.substr(0,1));
g = hex2real(hex.substr(1,1)+hex.substr(1,1));
// We add COLOR_EPSILON in order to avoid a divide-by-zero condition.
// This causes DIVIDE to bias toward positive values, but the effect is
- // really neglegable. There is a reason why we use COLOR_EPSILON--we
+ // really negligible. There is a reason why we use COLOR_EPSILON--we
// want the change to be imperceptable.
b.set_r(((b.get_r()/(a.get_r()+COLOR_EPSILON))-b.get_r())*(amount)+b.get_r());