From 8ac946be704138ffe63f881f4f8bc0a1b8343c19 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 18 Nov 2003 04:05:58 +0000 Subject: [PATCH] add RageColor::FromString --- stepmania/src/RageTypes.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/stepmania/src/RageTypes.h b/stepmania/src/RageTypes.h index 312af5f943..4d2dce07f7 100644 --- a/stepmania/src/RageTypes.h +++ b/stepmania/src/RageTypes.h @@ -141,6 +141,25 @@ public: friend RageColor operator * ( float f, const RageColor& other ) { return other*f; } // What is this for? Did I add this? -Chris + bool FromString( const CString &str ) + { + int result = sscanf( str, "%f,%f,%f,%f", &r, &g, &b, &a ); + if( result == 4 ) + return true; + + int ir=255, ib=255, ig=255, ia=255; + result = sscanf( str, "#%2x%2x%2x%2x", &ir, &ig, &ib, &ia ); + if( result >= 3 ) + { + r = ir / 255.0f; g = ig / 255.0f; b = ib / 255.0f; + if( result == 4 ) + a = ia / 255.0f; + return true; + } + + r=1; b=1; g=1; a=1; + return false; + } float r, g, b, a; };