]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/window.cpp
reSWIGged
[wxWidgets.git] / src / mac / carbon / window.cpp
index d8de01b229c0139fc28e60bd2e6f8ac0823d7be2..6475e3f25d3752033d8beee15524ced682d0b344 100644 (file)
@@ -2184,7 +2184,9 @@ wxRegion wxWindowMac::MacGetVisibleRegion( bool includeOuterStructures )
             {
                 int x , y ;
                 wxSize size ;
-                if ( parent->IsTopLevel() && child->IsKindOf( CLASSINFO( wxToolBar ) ) )
+                // we have to find a better clipping algorithm here, in order not to clip things
+                // positioned like status and toolbar
+                if ( 1 /* parent->IsTopLevel() && child->IsKindOf( CLASSINFO( wxToolBar ) ) */ )
                 {
                     size = parent->GetSize() ;
                     x = y = 0 ;
@@ -2562,7 +2564,6 @@ void wxWindowMac::OnMouseEvent( wxMouseEvent &event )
             x += origin.x ;
             y += origin.y ;
         }
-        ControlRef   control ;
         Point       localwhere ;
         SInt16      controlpart ;
         
@@ -2585,20 +2586,21 @@ void wxWindowMac::OnMouseEvent( wxMouseEvent &event )
     
         if ( event.m_metaDown )
             modifiers |= cmdKey ;
+
+        bool handled = false ;
+
+        if ( ::IsControlActive( (ControlRef) m_macControl ) )
         {
-            control = (ControlRef) m_macControl ;
-            if ( control && ::IsControlActive( control ) )
+            controlpart = ::HandleControlClick( (ControlRef) m_macControl , localwhere , modifiers , (ControlActionUPP) -1 ) ;
+            wxTheApp->s_lastMouseDown = 0 ;
+            if ( controlpart != kControlNoPart ) 
             {
-                {
-                    controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
-                    wxTheApp->s_lastMouseDown = 0 ;
-                    if ( control && controlpart != kControlNoPart ) 
-                    {
-                        MacHandleControlClick((WXWidget)  control , controlpart , false /* mouse not down anymore */ ) ;
-                    }
-                }
+                MacHandleControlClick((WXWidget)  (ControlRef) m_macControl , controlpart , false /* mouse not down anymore */ ) ;
+                handled = true ;
             }
         }
+        if ( !handled )
+            event.Skip() ;
     }
     else
     {
@@ -2611,4 +2613,13 @@ void wxWindowMac::MacHandleControlClick( WXWidget control , wxInt16 controlpart
     wxASSERT_MSG( (ControlRef) m_macControl != NULL , wxT("No valid mac control") ) ;
 }
 
+Rect wxMacGetBoundsForControl( wxWindow* window , const wxPoint& pos , const wxSize &size ) 
+{
+    int x ,y , w ,h ;
+    
+    window->MacGetBoundsForControl( pos , size , x , y, w, h ) ;
+    Rect bounds =  { y , x , y+h , x+w  };
+    return bounds ;
+}
+