X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dc8883366b1fbbf052bb85ba59ce8c134b668fa0..6063039441bcf82503d5623afd5bb87ae9ec8733:/src/gtk/colour.cpp diff --git a/src/gtk/colour.cpp b/src/gtk/colour.cpp index 01c75ff342..ff2b953c97 100644 --- a/src/gtk/colour.cpp +++ b/src/gtk/colour.cpp @@ -20,10 +20,10 @@ // wxColour //----------------------------------------------------------------------------- -class wxColourRefData: public wxObjectRefData +class wxColourRefData : public wxGDIRefData { public: - wxColourRefData(guint16 red, guint16 green, guint16 blue, guint16 alpha) + wxColourRefData(guint16 red, guint16 green, guint16 blue, wxByte alpha = 0xff) { m_color.red = m_red = red; @@ -50,7 +50,7 @@ public: guint16 m_red; guint16 m_green; guint16 m_blue; - guint16 m_alpha; + wxByte m_alpha; DECLARE_NO_COPY_CLASS(wxColourRefData) }; @@ -83,7 +83,7 @@ void wxColourRefData::AllocColour( GdkColormap *cmap ) //----------------------------------------------------------------------------- -#define M_COLDATA wx_static_cast(wxColourRefData*, m_refData) +#define M_COLDATA static_cast(m_refData) // GDK's values are in 0..65535 range, ours are in 0..255 #define SHIFT 8 @@ -92,7 +92,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxColour,wxGDIObject) wxColour::wxColour(const GdkColor& gdkColor) { - m_refData = new wxColourRefData(gdkColor.red, gdkColor.green, gdkColor.blue, 0xFFFF /*opaque alpha in 16 bit*/); + m_refData = new wxColourRefData(gdkColor.red, gdkColor.green, gdkColor.blue); } wxColour::~wxColour() @@ -108,7 +108,7 @@ bool wxColour::operator == ( const wxColour& col ) const return false; wxColourRefData* refData = M_COLDATA; - wxColourRefData* that_refData = wx_static_cast(wxColourRefData*, col.m_refData); + wxColourRefData* that_refData = static_cast(col.m_refData); return refData->m_red == that_refData->m_red && refData->m_green == that_refData->m_green && refData->m_blue == that_refData->m_blue && @@ -124,7 +124,7 @@ void wxColour::InitRGBA(unsigned char red, unsigned char green, unsigned char bl (guint16(red) << SHIFT) + red, (guint16(green) << SHIFT) + green, (guint16(blue) << SHIFT) + blue, - (guint16(alpha) << SHIFT) + alpha); + alpha); } unsigned char wxColour::Red() const @@ -152,7 +152,7 @@ unsigned char wxColour::Alpha() const { wxCHECK_MSG( Ok(), 0, wxT("invalid colour") ); - return wxByte(M_COLDATA->m_alpha >> SHIFT); + return M_COLDATA->m_alpha; } void wxColour::CalcPixel( GdkColormap *cmap ) @@ -169,18 +169,14 @@ int wxColour::GetPixel() const return M_COLDATA->m_color.pixel; } -#ifdef __WXGTK24__ const GdkColor *wxColour::GetColor() const -#else - GdkColor *wxColour::GetColor() const -#endif { wxCHECK_MSG( Ok(), NULL, wxT("invalid colour") ); return &M_COLDATA->m_color; } -bool wxColour::FromString(const wxChar *str) +bool wxColour::FromString(const wxString& str) { GdkColor colGDK; if ( gdk_color_parse( wxGTK_CONV_SYS( str ), &colGDK ) )