X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad81651f00edc6f489d9b6a0839d316a964fd521..f0d5e7a25aef93d3a907d005c572bc8cca4f41a1:/src/mac/colour.cpp diff --git a/src/mac/colour.cpp b/src/mac/colour.cpp index 68abfa77bd..5755910b26 100644 --- a/src/mac/colour.cpp +++ b/src/mac/colour.cpp @@ -16,13 +16,18 @@ #include "wx/gdicmn.h" #include "wx/colour.h" +#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject) +#endif // Colour -static void wxComposeRGBColor( RGBColor * col , int red, int blue, int green ) ; -static void wxComposeRGBColor( RGBColor * col , int red, int blue, int green ) +#include "wx/mac/private.h" + +static void wxComposeRGBColor( WXCOLORREF* color , int red, int blue, int green ) ; +static void wxComposeRGBColor( WXCOLORREF* color , int red, int blue, int green ) { + RGBColor* col = (RGBColor*) color ; col->red = (red << 8) + red; col->blue = (blue << 8) + blue; col->green = (green << 8) + green; @@ -47,13 +52,14 @@ wxColour::wxColour (unsigned char r, unsigned char g, unsigned char b) } wxColour::wxColour (const wxColour& col) + : wxObject() { m_red = col.m_red; m_green = col.m_green; m_blue = col.m_blue; m_isInit = col.m_isInit; - m_pixel = col.m_pixel; + memcpy( &m_pixel , &col.m_pixel , 6 ) ; } wxColour::wxColour (const wxColour* col) @@ -63,7 +69,7 @@ wxColour::wxColour (const wxColour* col) m_blue = col->m_blue; m_isInit = col->m_isInit; - m_pixel = col->m_pixel; + memcpy( &m_pixel , &col->m_pixel , 6 ) ; } wxColour& wxColour::operator =(const wxColour& col) @@ -73,7 +79,7 @@ wxColour& wxColour::operator =(const wxColour& col) m_blue = col.m_blue; m_isInit = col.m_isInit; - m_pixel = col.m_pixel; + memcpy( &m_pixel , &col.m_pixel , 6 ) ; return *this; } @@ -112,3 +118,12 @@ void wxColour::Set (unsigned char r, unsigned char g, unsigned char b) wxComposeRGBColor( &m_pixel , m_red , m_blue , m_green ) ; } + +void wxColour::Set( const WXCOLORREF* color ) +{ + RGBColor* col = (RGBColor*) color ; + memcpy( &m_pixel , color , 6 ) ; + m_red = col->red>>8 ; + m_blue = col->blue>>8 ; + m_green = col->green>>8 ; +}