]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/renderer.cpp
support mac on little endian systems
[wxWidgets.git] / src / mac / carbon / renderer.cpp
index a739a49c579da4eceb03655fd84a763c2c80850a..62ff9846c952a816f47fefeb5cd6c85bff753402 100644 (file)
@@ -135,12 +135,10 @@ wxRendererMac::DrawHeaderButton(wxWindow *win,
                                 const wxRect& rect,
                                 int flags)
 {
                                 const wxRect& rect,
                                 int flags)
 {
-    const int CORNER = 1;
-
-    const wxCoord x = rect.x-1,
-                  y = rect.y-1,
-                  w = rect.width,
-                  h = rect.height;
+    const wxCoord x = dc.XLOG2DEV(rect.x-1),
+                  y = dc.YLOG2DEV(rect.y-1),
+                  w = dc.XLOG2DEVREL(rect.width),
+                  h = dc.YLOG2DEVREL(rect.height);
 
     int major,minor;
     wxGetOsVersion( &major, &minor );
 
     int major,minor;
     wxGetOsVersion( &major, &minor );
@@ -164,13 +162,15 @@ wxRendererMac::DrawHeaderButton(wxWindow *win,
         {
             CGContextRef cgContext ;
 #if wxMAC_USE_CORE_GRAPHICS
         {
             CGContextRef cgContext ;
 #if wxMAC_USE_CORE_GRAPHICS
-            cgContext = dynamic_cast<wxMacCGContext*>(dc.GetGraphicContext())->GetNativeContext() ;
+            cgContext = ((wxMacCGContext*)(dc.GetGraphicContext()))->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 ) ;
 #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
             {
             HIViewConvertRect( &headerRect , (HIViewRef) win->GetHandle() , (HIViewRef) win->MacGetTopLevelWindow()->GetHandle() ) ;
 #endif
             {
@@ -288,7 +288,7 @@ wxRendererMac::DrawSplitterSash(wxWindow *win,
         {
             CGContextRef cgContext ;
 #if wxMAC_USE_CORE_GRAPHICS
         {
             CGContextRef cgContext ;
 #if wxMAC_USE_CORE_GRAPHICS
-            cgContext = dynamic_cast<wxMacCGContext*>(dc.GetGraphicContext())->GetNativeContext() ;
+            cgContext = ((wxMacCGContext*)(dc.GetGraphicContext()))->GetNativeContext() ;
 #else
             Rect bounds ;
             GetPortBounds( (CGrafPtr) dc.m_macPort , &bounds ) ;
 #else
             Rect bounds ;
             GetPortBounds( (CGrafPtr) dc.m_macPort , &bounds ) ;