X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/172da31f537534fd531f05abede196aefa60d6b7..a201463482dc4417592ee014ff1a9706e8971dd6:/src/mac/carbon/brush.cpp diff --git a/src/mac/carbon/brush.cpp b/src/mac/carbon/brush.cpp index da0346fb57..74e83ebd77 100644 --- a/src/mac/carbon/brush.cpp +++ b/src/mac/carbon/brush.cpp @@ -11,9 +11,12 @@ #include "wx/wxprec.h" -#include "wx/utils.h" #include "wx/brush.h" +#ifndef WX_PRECOMP + #include "wx/utils.h" +#endif + #include "wx/mac/private.h" IMPLEMENT_DYNAMIC_CLASS(wxBrush, wxGDIObject) @@ -25,7 +28,19 @@ class WXDLLEXPORT wxBrushRefData: public wxGDIRefData public: wxBrushRefData(); wxBrushRefData(const wxBrushRefData& data); - ~wxBrushRefData(); + virtual ~wxBrushRefData(); + + bool operator == ( const wxBrushRefData& brush ) const + { + return m_style == brush.m_style && + m_stipple.IsSameAs(brush.m_stipple) && + m_colour == brush.m_colour && + m_macBrushKind == brush.m_macBrushKind && + m_macThemeBrush == brush.m_macThemeBrush && + m_macThemeBackground == brush.m_macThemeBackground && + EqualRect(&m_macThemeBackgroundExtent, &brush.m_macThemeBackgroundExtent); + } + protected: wxMacBrushKind m_macBrushKind ; @@ -170,7 +185,7 @@ void wxBrush::MacSetTheme(ThemeBrush macThemeBrush) 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(); } @@ -190,8 +205,8 @@ bool wxBrush::RealizeResource() { return true; } -unsigned long wxBrush::MacGetThemeBackground( WXRECTPTR extent) const -unsigned long wxBrush::MacGetThemeBackground( WXRECTPTR extent) const + +unsigned long wxBrush::MacGetThemeBackground(WXRECTPTR extent) const { if ( M_BRUSHDATA && M_BRUSHDATA->m_macBrushKind == kwxMacBrushThemeBackground ) { @@ -231,3 +246,11 @@ wxMacBrushKind wxBrush::MacGetBrushKind() const return (M_BRUSHDATA ? M_BRUSHDATA->m_macBrushKind : kwxMacBrushColour); } +bool wxBrush::operator == ( const wxBrush& brush ) const +{ + if (m_refData == brush.m_refData) return true; + + if (!m_refData || !brush.m_refData) return false; + + return ( *(wxBrushRefData*)m_refData == *(wxBrushRefData*)brush.m_refData ); +}