// Created: 20.07.2003
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// License: wxWindows licence
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// for compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#if wxOSX_USE_COCOA_OR_CARBON
+
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/bitmap.h"
#include "wx/settings.h"
#include "wx/dcclient.h"
+ #include "wx/dcmemory.h"
#include "wx/toplevel.h"
#endif
#include "wx/mstream.h"
#endif // wxHAS_DRAW_TITLE_BAR_BITMAP
+
// check if we're currently in a paint event
inline bool wxInPaintEvent(wxWindow* win, wxDC& dc)
{
- wxUnusedVar(dc);
- return ( win->MacGetCGContextRef() != NULL );
+ return win->MacGetCGContextRef() != NULL ||
+ // wxMemoryDC's also have a valid CGContext.
+ dc.IsKindOf( CLASSINFO(wxMemoryDC) );
}
virtual int GetHeaderButtonHeight(wxWindow *win);
+ virtual int GetHeaderButtonMargin(wxWindow *win);
+
// draw the expanded/collapsed icon for a tree control item
virtual void DrawTreeItemButton( wxWindow *win,
wxDC& dc,
return -1;
}
+int wxRendererMac::GetHeaderButtonMargin(wxWindow *WXUNUSED(win))
+{
+ wxFAIL_MSG( "GetHeaderButtonMargin() not implemented" );
+ return -1;
+}
+
void wxRendererMac::DrawTreeItemButton( wxWindow *win,
wxDC& dc,
const wxRect& rect,
{
wxRect rect( (int) splitterRect.origin.x, (int) splitterRect.origin.y, (int) splitterRect.size.width,
(int) splitterRect.size.height );
- win->Refresh( &rect );
- }
+ win->RefreshRect( rect );
+ }
else
{
CGContextRef cgContext;
wxGCDCImpl *impl = (wxGCDCImpl*) dc.GetImpl();
cgContext = (CGContextRef) impl->GetGraphicsContext()->GetNativeContext();
+ HIThemeBackgroundDrawInfo bgdrawInfo;
+ bgdrawInfo.version = 0;
+ bgdrawInfo.state = kThemeStateActive;
+ bgdrawInfo.kind = hasMetal ? kThemeBackgroundMetal : kThemeBackgroundPlacard;
+
+ if ( hasMetal )
+ HIThemeDrawBackground(&splitterRect, &bgdrawInfo, cgContext, kHIThemeOrientationNormal);
+ else
+ {
+ CGContextSetFillColorWithColor(cgContext,win->GetBackgroundColour().GetCGColor());
+ CGContextFillRect(cgContext,splitterRect);
+ }
+
HIThemeSplitterDrawInfo drawInfo;
drawInfo.version = 0;
drawInfo.state = kThemeStateActive;
}
#endif // wxHAS_DRAW_TITLE_BAR_BITMAP
+
+#endif