// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#include "wx/colour.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
-#include "wx/gdicmn.h"
+#include "wx/colour.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/gdicmn.h"
+#endif
#include <string.h>
template<> void wxStringReadValue(const wxString &s , wxColour &data )
{
- // copied from VS xrc
- unsigned long tmp = 0;
-
- if (s.Length() != 7 || s[0u] != wxT('#')
- || wxSscanf(s.c_str(), wxT("#%lX"), &tmp) != 1)
+ if ( !data.Set(s) )
{
wxLogError(_("String To Colour : Incorrect colour specification : %s"),
s.c_str() );
data = wxNullColour;
}
- else
- {
- data = wxColour((unsigned char) ((tmp & 0xFF0000) >> 16) ,
- (unsigned char) ((tmp & 0x00FF00) >> 8),
- (unsigned char) ((tmp & 0x0000FF)));
- }
}
template<> void wxStringWriteValue(wxString &s , const wxColour &data )
{
- s = wxString::Format(wxT("#%02X%02X%02X"),
- data.Red(), data.Green(), data.Blue() );
+ s = data.GetAsString(wxC2S_HTML_SYNTAX);
}
wxTO_STRING_IMP( wxColour )
return *this;
}
-void wxColour::InitFromName(const wxString& name)
-{
- // leave invalid
- Init();
-}
-
wxColour::~wxColour()
{
}
-void wxColour::Set(unsigned char r, unsigned char g, unsigned char b)
+void wxColour::InitWith(unsigned char r, unsigned char g, unsigned char b)
{
m_red = r;
m_green = g;