make renderer independent of windowing system

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2007-11-24 16:54:56 +00:00
parent 3cd25cff50
commit f968da288e

View File

@@ -121,17 +121,7 @@ int wxRendererMac::DrawHeaderButton( wxWindow *win,
HIRect headerRect = CGRectMake( x, y, w, h ); HIRect headerRect = CGRectMake( x, y, w, h );
if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) )
{ {
Rect r = win->Refresh( &rect );
{
(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 );
} }
else else
{ {
@@ -213,17 +203,7 @@ void wxRendererMac::DrawTreeItemButton( wxWindow *win,
HIRect headerRect = CGRectMake( x, y, w, h ); HIRect headerRect = CGRectMake( x, y, w, h );
if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) )
{ {
Rect r = win->Refresh( &rect );
{
(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 );
} }
else else
{ {
@@ -268,19 +248,9 @@ void wxRendererMac::DrawSplitterSash( wxWindow *win,
if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) )
{ {
Rect r = wxRect rect( splitterRect.origin.x, splitterRect.origin.y, splitterRect.size.width, splitterRect.size.height );
{ win->Refresh( &rect );
(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 );
}
else else
{ {
CGContextRef cgContext; CGContextRef cgContext;
@@ -304,19 +274,9 @@ wxRendererMac::DrawItemSelectionRect(wxWindow *win,
if ( !(flags & wxCONTROL_SELECTED) ) if ( !(flags & wxCONTROL_SELECTED) )
return; return;
if (flags & wxCONTROL_FOCUSED) wxBrush selBrush(wxColour( wxMacCreateCGColorFromHITheme( flags & wxCONTROL_FOCUSED ?
{ kThemeBrushAlternatePrimaryHighlightColor
if (!IsControlActive( (ControlRef)win->GetHandle() )) : kThemeBrushSecondaryHighlightColor ) ) , wxSOLID );
flags = wxCONTROL_SELECTED;
}
RGBColor selColor;
GetThemeBrushAsColor(flags & wxCONTROL_FOCUSED
? kThemeBrushAlternatePrimaryHighlightColor
: kThemeBrushSecondaryHighlightColor,
32, true, &selColor);
wxBrush selBrush(selColor);
dc.SetPen( *wxTRANSPARENT_PEN ); dc.SetPen( *wxTRANSPARENT_PEN );
dc.SetBrush( selBrush ); dc.SetBrush( selBrush );
@@ -343,17 +303,7 @@ wxRendererMac::DrawMacThemeButton(wxWindow *win,
HIRect headerRect = CGRectMake( x, y, w, h ); HIRect headerRect = CGRectMake( x, y, w, h );
if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) ) if ( !dc.IsKindOf( CLASSINFO( wxPaintDC ) ) )
{ {
Rect r = win->Refresh( &rect );
{
(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 );
} }
else else
{ {