+
+ RgnHandle updateRgn = NewRgn();
+ RectRgn( updateRgn, &r );
+ HIViewSetNeedsDisplayInRegion( (HIViewRef) win->GetHandle(), updateRgn, true );
+ DisposeRgn( updateRgn );
+ }
+ else
+ {
+ CGContextRef cgContext;
+
+#if wxMAC_USE_CORE_GRAPHICS
+ cgContext = (CGContextRef) dc.GetGraphicsContext()->GetNativeContext();
+#else
+ Rect bounds;
+ GetPortBounds( (CGrafPtr) dc.m_macPort, &bounds );
+ QDBeginCGContext( (CGrafPtr) dc.m_macPort, &cgContext );
+ CGContextTranslateCTM( cgContext, 0, bounds.bottom - bounds.top );
+ CGContextScaleCTM( cgContext, 1, -1 );
+#endif
+
+ HIThemeSplitterDrawInfo drawInfo;
+ drawInfo.version = 0;
+ drawInfo.state = kThemeStateActive;
+ drawInfo.adornment = hasMetal ? kHIThemeSplitterAdornmentMetal : kHIThemeSplitterAdornmentNone;
+ HIThemeDrawPaneSplitter( &splitterRect, &drawInfo, cgContext, kHIThemeOrientationNormal );
+
+#if wxMAC_USE_CORE_GRAPHICS
+#else
+ QDEndCGContext( (CGrafPtr) dc.m_macPort, &cgContext );
+#endif
+ }
+}
+
+void
+wxRendererMac::DrawItemSelectionRect(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags )
+{
+ if ( !(flags & wxCONTROL_SELECTED) )
+ return;
+
+ RGBColor selColor;
+ GetThemeBrushAsColor(flags & wxCONTROL_FOCUSED
+ ? kThemeBrushAlternatePrimaryHighlightColor
+ : kThemeBrushSecondaryHighlightColor,
+ 32, true, &selColor);
+
+ wxBrush selBrush(selColor);
+
+ dc.SetPen( *wxTRANSPARENT_PEN );
+ dc.SetBrush( selBrush );
+ dc.DrawRectangle( rect );
+}
+
+
+void
+wxRendererMac::DrawMacThemeButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags,
+ int kind,
+ int adornment)
+{
+#if !wxMAC_USE_CORE_GRAPHICS
+ const wxCoord x = dc.LogicalToDeviceX(rect.x);
+ const wxCoord y = dc.LogicalToDeviceY(rect.y);
+ const wxCoord w = dc.LogicalToDeviceXRel(rect.width);
+ const wxCoord h = dc.LogicalToDeviceYRel(rect.height);
+#else
+ // now the wxGCDC is using native transformations
+ const wxCoord x = rect.x;
+ const wxCoord y = rect.y;
+ const wxCoord w = rect.width;
+ const wxCoord h = rect.height;
+#endif
+
+ dc.SetBrush( *wxTRANSPARENT_BRUSH );
+
+ HIRect headerRect = CGRectMake( x, y, w, h );
+ if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) )
+ {
+ Rect r =