X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1673e527f08395de6864b09540162ca409a3c28..8064223b7b1b3657363b7a635c381b9269d95e55:/src/mac/carbon/renderer.cpp diff --git a/src/mac/carbon/renderer.cpp b/src/mac/carbon/renderer.cpp index e72aa9a748..abcc1d6aa2 100644 --- a/src/mac/carbon/renderer.cpp +++ b/src/mac/carbon/renderer.cpp @@ -121,23 +121,14 @@ int wxRendererMac::DrawHeaderButton( wxWindow *win, HIRect headerRect = CGRectMake( x, y, w, h ); if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) { - Rect r = - { - (short) headerRect.origin.y, (short) headerRect.origin.x, - (short) (headerRect.origin.y + headerRect.size.height), - (short) (headerRect.origin.x + headerRect.size.width) - }; - - RgnHandle updateRgn = NewRgn(); - RectRgn( updateRgn, &r ); - HIViewSetNeedsDisplayInRegion( (HIViewRef) win->GetHandle(), updateRgn, true ); - DisposeRgn( updateRgn ); + win->Refresh( &rect ); } else { CGContextRef cgContext; + wxGCDCImpl *impl = (wxGCDCImpl*) dc.GetImpl(); - cgContext = (CGContextRef) dc.GetGraphicsContext()->GetNativeContext(); + cgContext = (CGContextRef) impl->GetGraphicsContext()->GetNativeContext(); { HIThemeButtonDrawInfo drawInfo; @@ -213,23 +204,14 @@ void wxRendererMac::DrawTreeItemButton( wxWindow *win, HIRect headerRect = CGRectMake( x, y, w, h ); if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) { - Rect r = - { - (short) headerRect.origin.y, (short) headerRect.origin.x, - (short) (headerRect.origin.y + headerRect.size.height), - (short) (headerRect.origin.x + headerRect.size.width) - }; - - RgnHandle updateRgn = NewRgn(); - RectRgn( updateRgn, &r ); - HIViewSetNeedsDisplayInRegion( (HIViewRef) win->GetHandle(), updateRgn, true ); - DisposeRgn( updateRgn ); + win->Refresh( &rect ); } else { CGContextRef cgContext; - cgContext = (CGContextRef) dc.GetGraphicsContext()->GetNativeContext(); + wxGCDCImpl *impl = (wxGCDCImpl*) dc.GetImpl(); + cgContext = (CGContextRef) impl->GetGraphicsContext()->GetNativeContext(); HIThemeButtonDrawInfo drawInfo; HIRect labelRect; @@ -268,24 +250,15 @@ void wxRendererMac::DrawSplitterSash( wxWindow *win, if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) { - Rect r = - { - (short) splitterRect.origin.y, - (short) splitterRect.origin.x, - (short) (splitterRect.origin.y + splitterRect.size.height), - (short) (splitterRect.origin.x + splitterRect.size.width) - }; - - RgnHandle updateRgn = NewRgn(); - RectRgn( updateRgn, &r ); - HIViewSetNeedsDisplayInRegion( (HIViewRef) win->GetHandle(), updateRgn, true ); - DisposeRgn( updateRgn ); - } + wxRect rect( (int) splitterRect.origin.x, (int) splitterRect.origin.y, (int) splitterRect.size.width, + (int) splitterRect.size.height ); + win->Refresh( &rect ); + } else { CGContextRef cgContext; - - cgContext = (CGContextRef) dc.GetGraphicsContext()->GetNativeContext(); + wxGCDCImpl *impl = (wxGCDCImpl*) dc.GetImpl(); + cgContext = (CGContextRef) impl->GetGraphicsContext()->GetNativeContext(); HIThemeSplitterDrawInfo drawInfo; drawInfo.version = 0; @@ -296,27 +269,18 @@ void wxRendererMac::DrawSplitterSash( wxWindow *win, } void -wxRendererMac::DrawItemSelectionRect(wxWindow *win, +wxRendererMac::DrawItemSelectionRect(wxWindow * WXUNUSED(win), wxDC& dc, const wxRect& rect, - int flags ) + int flags) { if ( !(flags & wxCONTROL_SELECTED) ) return; - - if (flags & wxCONTROL_FOCUSED) - { - if (!IsControlActive( (ControlRef)win->GetHandle() )) - flags = wxCONTROL_SELECTED; - } - RGBColor selColor; - GetThemeBrushAsColor(flags & wxCONTROL_FOCUSED - ? kThemeBrushAlternatePrimaryHighlightColor - : kThemeBrushSecondaryHighlightColor, - 32, true, &selColor); - - wxBrush selBrush(selColor); + wxColour col( wxMacCreateCGColorFromHITheme( (flags & wxCONTROL_FOCUSED) ? + kThemeBrushAlternatePrimaryHighlightColor + : kThemeBrushSecondaryHighlightColor ) ); + wxBrush selBrush( col ); dc.SetPen( *wxTRANSPARENT_PEN ); dc.SetBrush( selBrush ); @@ -343,22 +307,13 @@ wxRendererMac::DrawMacThemeButton(wxWindow *win, HIRect headerRect = CGRectMake( x, y, w, h ); if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) { - Rect r = - { - (short) headerRect.origin.y, (short) headerRect.origin.x, - (short) (headerRect.origin.y + headerRect.size.height), - (short) (headerRect.origin.x + headerRect.size.width) - }; - - RgnHandle updateRgn = NewRgn(); - RectRgn( updateRgn, &r ); - HIViewSetNeedsDisplayInRegion( (HIViewRef) win->GetHandle(), updateRgn, true ); - DisposeRgn( updateRgn ); + win->Refresh( &rect ); } else { + wxGCDCImpl *impl = (wxGCDCImpl*) dc.GetImpl(); CGContextRef cgContext; - cgContext = (CGContextRef) dc.GetGraphicsContext()->GetNativeContext(); + cgContext = (CGContextRef) impl->GetGraphicsContext()->GetNativeContext(); HIThemeButtonDrawInfo drawInfo; HIRect labelRect;