X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f1ae4143271ae63a17e052a1a471d16e9cd8c44..cd5082468fc4dd397d7eea951fa4e905ea3f9368:/src/mac/colour.cpp diff --git a/src/mac/colour.cpp b/src/mac/colour.cpp index cc549b5f11..5755910b26 100644 --- a/src/mac/colour.cpp +++ b/src/mac/colour.cpp @@ -22,9 +22,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject) // 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; @@ -49,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) @@ -65,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) @@ -75,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; } @@ -114,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 ; +}