X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fcolor.cpp;h=d70ed3f752b1020d87ec7f726a48df31de959360;hb=5bac646cee80f1699d5b9dd9727dc007cd6bf89e;hp=9ef2c03f2f3a46789d936171bdbebb50c0c12caf;hpb=40dda9d27b5249ee32f62d84c819ff569f078929;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/color.cpp b/synfig-core/trunk/src/synfig/color.cpp index 9ef2c03..d70ed3f 100644 --- a/synfig-core/trunk/src/synfig/color.cpp +++ b/synfig-core/trunk/src/synfig/color.cpp @@ -47,13 +47,15 @@ using namespace std; /* === 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 ======================================================= */ -static ColorReal +ColorReal Color::hex2real(String s) { std::istringstream i(s); @@ -64,7 +66,7 @@ Color::hex2real(String s) return n / 255.0f; } -static const String +const String Color::real2hex(ColorReal c) { std::ostringstream o; @@ -82,7 +84,12 @@ Color::set_hex(String& hex) 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));