]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/renderer.cpp
correcting Drag Data handling for 'TEXT' and 'utxt'
[wxWidgets.git] / src / mac / carbon / renderer.cpp
index 685b8e1a68d8837baea68a687221eb9270ec7786..62ff9846c952a816f47fefeb5cd6c85bff753402 100644 (file)
@@ -135,10 +135,10 @@ wxRendererMac::DrawHeaderButton(wxWindow *win,
                                 const wxRect& rect,
                                 int flags)
 {
-    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 );
@@ -162,13 +162,15 @@ wxRendererMac::DrawHeaderButton(wxWindow *win,
         {
             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 ) ;
+                       HIShapeReplacePathInCGContext( HIShapeCreateWithQDRgn( (RgnHandle) dc.m_macCurrentClipRgn ) , cgContext ) ;
+                       CGContextClip( cgContext ) ; 
             HIViewConvertRect( &headerRect , (HIViewRef) win->GetHandle() , (HIViewRef) win->MacGetTopLevelWindow()->GetHandle() ) ;
 #endif
             {
@@ -286,7 +288,7 @@ wxRendererMac::DrawSplitterSash(wxWindow *win,
         {
             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 ) ;