X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e52dfd26d17e1d742fe049315be9368194e97f6..b2458f311b426717c4d36b51aed2595a59f373d9:/src/gtk1/colour.cpp?ds=inline diff --git a/src/gtk1/colour.cpp b/src/gtk1/colour.cpp index c84141bd0a..39dcf5e3bd 100644 --- a/src/gtk1/colour.cpp +++ b/src/gtk1/colour.cpp @@ -11,6 +11,7 @@ #include "wx/wxprec.h" #include "wx/colour.h" + #include "wx/gdicmn.h" #include "wx/gtk1/private.h" @@ -136,56 +137,6 @@ void wxColourRefData::AllocColour( GdkColormap *cmap ) IMPLEMENT_DYNAMIC_CLASS(wxColour,wxGDIObject) -wxColour::wxColour( unsigned char red, unsigned char green, unsigned char blue ) -{ - m_refData = new wxColourRefData(); - M_COLDATA->m_color.red = ((unsigned short)red) << SHIFT; - M_COLDATA->m_color.green = ((unsigned short)green) << SHIFT; - M_COLDATA->m_color.blue = ((unsigned short)blue) << SHIFT; - M_COLDATA->m_color.pixel = 0; -} - -/* static */ -wxColour wxColour::CreateByName(const wxString& name) -{ - wxColour col; - - GdkColor colGDK; - if ( gdk_color_parse( wxGTK_CONV( name ), &colGDK ) ) - { - wxColourRefData *refData = new wxColourRefData; - refData->m_color = colGDK; - col.m_refData = refData; - } - - return col; -} - - -void wxColour::InitFromName( const wxString &colourName ) -{ - // check the cache first - wxColour col; - if ( wxTheColourDatabase ) - { - col = wxTheColourDatabase->Find(colourName); - } - - if ( !col.Ok() ) - { - col = CreateByName(colourName); - } - - if ( col.Ok() ) - { - *this = col; - } - else - { - wxFAIL_MSG( wxT("wxColour: couldn't find colour") ); - } -} - wxColour::~wxColour() { } @@ -215,7 +166,7 @@ wxObjectRefData *wxColour::CloneRefData(const wxObjectRefData *data) const return new wxColourRefData(*(wxColourRefData *)data); } -void wxColour::Set( unsigned char red, unsigned char green, unsigned char blue ) +void wxColour::InitWith( unsigned char red, unsigned char green, unsigned char blue ) { AllocExclusive(); @@ -269,3 +220,18 @@ GdkColor *wxColour::GetColor() const return &M_COLDATA->m_color; } + +bool wxColour::FromString(const wxChar *str) +{ + GdkColor colGDK; + if ( gdk_color_parse( str, &colGDK ) ) + { + UnRef(); + + m_refData = new wxColourRefData; + M_COLDATA->m_color = colGDK; + return true; + } + + return wxColourBase::FromString(str); +}