- bool hasMetal = win->MacGetTopLevelWindow()->MacGetMetalAppearance() ;
- SInt32 height ;
- GetThemeMetric( kThemeMetricSmallPaneSplitterHeight , &height ) ;
- HIRect splitterRect ;
- if ( orient == wxVERTICAL )
- splitterRect = CGRectMake( position , 0 , height, size.y);
- else
- splitterRect = CGRectMake( 0 , position , size.x , height );
- HIViewConvertRect( &splitterRect , (HIViewRef) win->GetHandle() , (HIViewRef) win->MacGetTopLevelWindow()->GetHandle() ) ;
-
- // under compositing we should only draw when called by the OS, otherwise just issue a redraw command
- // strange redraw errors occur if we don't do this
-
- if ( dc.IsKindOf( CLASSINFO( wxPaintDC ) ) == false )
- {
- 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 ) ;
- }
- else
- {
- 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 ) ;