#include "wx/object.h"
#include "wx/string.h"
+struct RGBColor;
+
// Colour
class WXDLLEXPORT wxColour: public wxColourBase
{
const WXCOLORREF& GetPixel() const { return m_pixel; };
+ // Mac-specific ctor and assignment operator from the native colour
+ wxColour(const RGBColor& col);
+ wxColour& operator=(const RGBColor& col);
+
protected :
// Helper function
RGBColor color ;
GetThemeBrushAsColor( macThemeBrush , 32, true, &color );
- M_BRUSHDATA->m_colour.Set( color.red >> 8 , color.green >> 8 , color.blue >> 8 );
+ M_BRUSHDATA->m_colour = color;
RealizeResource();
}
currentColor.red = info.theColor.color.rgb.red ;
currentColor.green = info.theColor.color.rgb.green ;
currentColor.blue = info.theColor.color.rgb.blue ;
- m_colourData.m_dataColour.FromRGBColor((WXCOLORREF*) ¤tColor);
+ m_colourData.m_dataColour = currentColor;
return wxID_OK;
}
IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
-static void wxComposeRGBColor( WXCOLORREF* color , int red, int blue, int green );
+wxColour::wxColour(const RGBColor& col)
+{
+ FromRGBColor((WXCOLORREF *)&col);
+}
+
static void wxComposeRGBColor( WXCOLORREF* color , int red, int blue, int green )
{
RGBColor* col = (RGBColor*) color;
m_green = col->green >> 8;
}
+wxColour& wxColour::operator=(const RGBColor& col)
+{
+ FromRGBColor((WXCOLORREF *)&col);
+}
+
bool wxColour::IsOk() const
{
return m_isInit;
GetCPixel( XLOG2DEVMAC(x), YLOG2DEVMAC(y), &colour );
// convert from Mac colour to wx
- col->Set( colour.red >> 8, colour.green >> 8, colour.blue >> 8);
+ *col = colour;
return true ;
}
YLOG2DEVMAC(y) + m_macLocalOriginInPort.y - m_macLocalOrigin.y, &colour );
#endif
// convert from Mac colour to wx
- col->Set( colour.red >> 8, colour.green >> 8, colour.blue >> 8 );
+ *col = colour;
return true ;
}
RGBColor fontColor ;
if ( cEvent.GetParameter<RGBColor>(kEventParamFontColor, &fontColor) == noErr )
- fontdata.m_fontColour.FromRGBColor((WXCOLORREF*) &fontColor);
+ {
+ fontdata.m_fontColour = fontColor;
+ }
else
{
CFDictionaryRef dict ;
{
if ( tagPtr[i] == kATSUColorTag && sizePtr[i] == sizeof(RGBColor))
{
- fontdata.m_fontColour.FromRGBColor((WXCOLORREF*) valuesPtr);
+ fontdata.m_fontColour.FromRGBColor(*(RGBColor *)valuesPtr);
break ;
}
bytePtr = (UInt32*)( (UInt8*)bytePtr + sizePtr[i]);
const wxRect& rect,
int flags )
{
+ if ( !(flags & wxCONTROL_SELECTED) )
+ return;
+
RGBColor selColor;
- if (flags & wxCONTROL_SELECTED)
- {
- if (flags & wxCONTROL_FOCUSED)
- GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &selColor);
- else
- GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &selColor);
- }
+ GetThemeBrushAsColor(flags & wxCONTROL_FOCUSED
+ ? kThemeBrushAlternatePrimaryHighlightColor
+ : kThemeBrushSecondaryHighlightColor,
+ 32, true, &selColor);
- wxBrush selBrush = wxBrush( wxColour( selColor.red, selColor.green, selColor.blue ), wxSOLID );
+ wxBrush selBrush(selColor);
dc.SetPen( *wxTRANSPARENT_PEN );
dc.SetBrush( selBrush );
#endif
GetThemeBrushAsColor( colorBrushID, 32, true, &macRGB );
- resultColor = wxColor( macRGB.red >> 8, macRGB.green >> 8, macRGB.blue >> 8 );
+ resultColor = wxColor( macRGB );
break ;
case wxSYS_COLOUR_BTNHIGHLIGHT: