]> git.saurik.com Git - wxWidgets.git/commitdiff
[ 1473731 ] 'wxColourBase and wxString <-> wxColour implementation'
authorWłodzimierz Skiba <abx@abx.art.pl>
Tue, 25 Apr 2006 15:16:13 +0000 (15:16 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Tue, 25 Apr 2006 15:16:13 +0000 (15:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/xrc/xmlres.cpp

index 157978218647180472ff18dbee3f41513b968521..3b4ddb5fb613d5ca56666e6cb19afa77b40a4926 100644 (file)
@@ -1045,16 +1045,14 @@ static wxColour GetSystemColour(const wxString& name)
 wxColour wxXmlResourceHandler::GetColour(const wxString& param)
 {
     wxString v = GetParamValue(param);
 wxColour wxXmlResourceHandler::GetColour(const wxString& param)
 {
     wxString v = GetParamValue(param);
+    wxColour clr;
 
 
-    // find colour using HTML syntax (#RRGGBB)
-    unsigned long tmp = 0;
-
-    if (v.length() != 7 || v[0u] != wxT('#') ||
-        wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1)
+    // wxString -> wxColour conversion
+    if (!clr.Set(v))
     {
         // the colour doesn't use #RRGGBB format, check if it is symbolic
         // colour name:
     {
         // the colour doesn't use #RRGGBB format, check if it is symbolic
         // colour name:
-        wxColour clr = GetSystemColour(v);
+        clr = GetSystemColour(v);
         if (clr.Ok())
             return clr;
 
         if (clr.Ok())
             return clr;
 
@@ -1063,9 +1061,7 @@ wxColour wxXmlResourceHandler::GetColour(const wxString& param)
         return wxNullColour;
     }
 
         return wxNullColour;
     }
 
-    return wxColour((unsigned char) ((tmp & 0xFF0000) >> 16) ,
-                    (unsigned char) ((tmp & 0x00FF00) >> 8),
-                    (unsigned char) ((tmp & 0x0000FF)));
+    return clr;
 }
 
 
 }