-#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 );
-
- HIShapeReplacePathInCGContext( HIShapeCreateWithQDRgn( (RgnHandle) dc.m_macCurrentClipRgn ), cgContext );
- CGContextClip( cgContext );
- HIViewConvertRect( &headerRect, (HIViewRef) win->GetHandle(), (HIViewRef) win->MacGetTopLevelWindow()->GetHandle() );
-#endif
-
- {
- HIThemeButtonDrawInfo drawInfo;
- HIRect labelRect;
-
- memset( &drawInfo, 0, sizeof(drawInfo) );
- drawInfo.version = 0;
- drawInfo.kind = kThemeDisclosureButton;
- drawInfo.state = (flags & wxCONTROL_DISABLED) ? kThemeStateInactive : kThemeStateActive;
- // Apple mailing list posts say to use the arrow adornment constants, but those don't work.
- // We need to set the value using the 'old' DrawThemeButton constants instead.
- drawInfo.value = (flags & wxCONTROL_EXPANDED) ? kThemeDisclosureDown : kThemeDisclosureRight;
- drawInfo.adornment = kThemeAdornmentNone;
-
- HIThemeDrawButton( &headerRect, &drawInfo, cgContext, kHIThemeOrientationNormal, &labelRect );