[ 1473731 ] 'wxColourBase and wxString <-> wxColour implementation' with minor modifications and rebaked build files.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba
2006-04-24 14:52:23 +00:00
parent cab0703813
commit 40989e46b8
41 changed files with 745 additions and 899 deletions

View File

@@ -12,13 +12,14 @@
// 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/msw/private.h"
#include "wx/colour.h"
#include <string.h>
@@ -26,28 +27,17 @@
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 )
@@ -80,27 +70,11 @@ void wxColour::Init()
m_green = 0;
}
void wxColour::InitFromName(const wxString& name)
{
if ( wxTheColourDatabase )
{
wxColour col = wxTheColourDatabase->Find(name);
if ( col.Ok() )
{
*this = col;
return;
}
}
// 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;