cleanup - reformatting; simplified OnPaint
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -887,6 +887,8 @@ bool wxToolBar::Realize()
|
||||
OSStatus err = noErr;
|
||||
if ( !insertAll )
|
||||
{
|
||||
insertAll = true;
|
||||
|
||||
// if this is the first tool that gets newly inserted or repositioned
|
||||
// first remove all 'old' tools from here to the right, because of this
|
||||
// all following tools will have to be reinserted (insertAll). i = 100 because there's
|
||||
@@ -895,12 +897,20 @@ bool wxToolBar::Realize()
|
||||
{
|
||||
err = HIToolbarRemoveItemAtIndex( (HIToolbarRef) m_macHIToolbarRef, i );
|
||||
}
|
||||
wxASSERT_MSG( err == noErr, _T("HIToolbarRemoveItemAtIndex failed") );
|
||||
insertAll = true ;
|
||||
|
||||
if (err != noErr)
|
||||
{
|
||||
wxString errMsg = wxString::Format( wxT("HIToolbarRemoveItemAtIndex failed [%ld]"), (long)err );
|
||||
wxASSERT_MSG( 0, errMsg.c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
err = HIToolbarInsertItemAtIndex( (HIToolbarRef) m_macHIToolbarRef, hiItemRef, currentPosition );
|
||||
wxASSERT_MSG( err == noErr, _T("HIToolbarInsertItemAtIndex failed") );
|
||||
if (err != noErr)
|
||||
{
|
||||
wxString errMsg = wxString::Format( wxT("HIToolbarInsertItemAtIndex failed [%ld]"), (long)err );
|
||||
wxASSERT_MSG( 0, errMsg.c_str() );
|
||||
}
|
||||
|
||||
tool->SetIndex( currentPosition );
|
||||
}
|
||||
@@ -908,7 +918,7 @@ bool wxToolBar::Realize()
|
||||
currentPosition++;
|
||||
}
|
||||
}
|
||||
#endif // wxMAC_USE_NATIVE_TOOLBAR
|
||||
#endif
|
||||
|
||||
// update radio button (and group) state
|
||||
lastIsRadio = curIsRadio;
|
||||
@@ -1347,10 +1357,11 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
|
||||
int w, h ;
|
||||
GetSize( &w , &h ) ;
|
||||
|
||||
bool drawMetalTheme = MacGetTopLevelWindow()->MacGetMetalAppearance();
|
||||
bool minimumUmaAvailable = (UMAGetSystemVersion() >= 0x1030);
|
||||
|
||||
#if wxMAC_USE_CORE_GRAPHICS && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
|
||||
if ( !MacGetTopLevelWindow()->MacGetMetalAppearance() )
|
||||
{
|
||||
if ( UMAGetSystemVersion() >= 0x1030 )
|
||||
if ( !drawMetalTheme && minimumUmaAvailable )
|
||||
{
|
||||
HIThemePlacardDrawInfo info;
|
||||
memset( &info, 0, sizeof(info) );
|
||||
@@ -1361,60 +1372,57 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
|
||||
HIRect rect = CGRectMake( 0, 0, w, h );
|
||||
HIThemeDrawPlacard( &rect, &info, cgContext, kHIThemeOrientationNormal );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// leave the background as it is (striped or metal)
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
const bool drawBorder = true;
|
||||
|
||||
if (drawBorder)
|
||||
{
|
||||
wxMacPortSetter helper(&dc) ;
|
||||
|
||||
if ( !drawMetalTheme || !minimumUmaAvailable )
|
||||
{
|
||||
Rect toolbarrect = { dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) ,
|
||||
dc.YLOG2DEVMAC(h) , dc.XLOG2DEVMAC(w) } ;
|
||||
/*
|
||||
|
||||
#if 0
|
||||
if ( toolbarrect.left < 0 )
|
||||
toolbarrect.left = 0 ;
|
||||
if ( toolbarrect.top < 0 )
|
||||
toolbarrect.top = 0 ;
|
||||
*/
|
||||
#endif
|
||||
|
||||
if ( !MacGetTopLevelWindow()->MacGetMetalAppearance() )
|
||||
{
|
||||
UMADrawThemePlacard( &toolbarrect, IsEnabled() ? kThemeStateActive : kThemeStateInactive );
|
||||
}
|
||||
else
|
||||
{
|
||||
#if TARGET_API_MAC_OSX
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
|
||||
if ( UMAGetSystemVersion() >= 0x1030 )
|
||||
{
|
||||
HIRect hiToolbarrect = CGRectMake(
|
||||
dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) ,
|
||||
dc.YLOG2DEVREL(h) , dc.XLOG2DEVREL(w) );
|
||||
CGContextRef cgContext ;
|
||||
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 ) ;
|
||||
|
||||
{
|
||||
HIThemeBackgroundDrawInfo drawInfo ;
|
||||
drawInfo.version = 0 ;
|
||||
drawInfo.state = kThemeStateActive ;
|
||||
drawInfo.kind = kThemeBackgroundMetal ;
|
||||
HIThemeApplyBackground( &hiToolbarrect, &drawInfo, cgContext, kHIThemeOrientationNormal );
|
||||
}
|
||||
|
||||
QDEndCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
UMADrawThemePlacard( &toolbarrect , IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user