]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/colour.cpp
Commit pickers-fixes.patch added to 1472329 (Francesco Montorsi)
[wxWidgets.git] / src / gtk / colour.cpp
index ff7c526c4539f3ece48e7356a1dc32ab40d2f601..bc76dbfe65f7e13c8b8e637953fd6efd2c1c8597 100644 (file)
@@ -11,6 +11,7 @@
 #include "wx/wxprec.h"
 
 #include "wx/colour.h"
+
 #include "wx/gtk/private.h"
 
 #include <gdk/gdk.h>
@@ -81,51 +82,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
-    if ( wxTheColourDatabase )
-    {
-        *this = wxTheColourDatabase->Find(colourName);
-    }
-
-    if ( !Ok() )
-    {
-        *this = CreateByName(colourName);
-    }
-
-    if ( !Ok() )
-    {
-        wxFAIL_MSG( wxT("wxColour: couldn't find colour") );
-    }
-}
-
 wxColour::~wxColour()
 {
 }
@@ -155,7 +111,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();
 
@@ -209,3 +165,18 @@ GdkColor *wxColour::GetColor() const
 
     return &M_COLDATA->m_color;
 }
+
+bool wxColour::FromString(const wxChar *str)
+{
+    GdkColor colGDK;
+    if ( gdk_color_parse( wxGTK_CONV_SYS( str ), &colGDK ) )
+    {
+        UnRef();
+
+        m_refData = new wxColourRefData;
+        M_COLDATA->m_color = colGDK;
+        return true;
+    }
+
+    return wxColourBase::FromString(str);
+}