+ // Eliminate whitespace
+ colStr.Replace(wxS(" "), wxEmptyString);
+
+ int commaCount = colStr.Freq(wxS(','));
+ if ( commaCount == 2 )
+ {
+ // Convert (R,G,B) to rgb(R,G,B)
+ colStr = wxS("rgb") + colStr;
+ }
+ else if ( commaCount == 3 )
+ {
+ // We have int alpha, CSS format that wxColour takes as
+ // input processes float alpha. So, let's parse the colour
+ // ourselves instead of trying to convert it to a format
+ // that wxColour::FromString() understands.
+ int r = -1, g = -1, b = -1, a = -1;
+ wxSscanf(colStr, wxS("(%i,%i,%i,%i)"), &r, &g, &b, &a);
+ customColour.Set(r, g, b, a);
+ conversionSuccess = customColour.IsOk();
+ }