]> git.saurik.com Git - wxWidgets.git/commitdiff
since DoScreenToClient and ClientToScreen in toplvlcmn are implemented by calling...
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 14 Jan 2002 20:23:49 +0000 (20:23 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 14 Jan 2002 20:23:49 +0000 (20:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/window.cpp
src/mac/window.cpp

index e63dde07d7d8488172ad2905192f1b4032edbcc1..7462e3ab8e027d8c0b5006e4524634139c3c5039 100644 (file)
@@ -350,14 +350,23 @@ void wxWindowMac::DoScreenToClient(int *x, int *y) const
     if(x)   *x = localwhere.h ;
     if(y)   *y = localwhere.v ;
     
-    MacRootWindowToClient( x , y ) ;
+    MacRootWindowToWindow( x , y ) ;
+    if ( x )
+                       x -= MacGetLeftBorderSize() ;
+    if ( y )
+                       y -= MacGetTopBorderSize() ;
 }
 
 void wxWindowMac::DoClientToScreen(int *x, int *y) const
 {
     WindowRef window = (WindowRef) MacGetRootWindow() ;
     
-    MacClientToRootWindow( x , y ) ;
+    if ( x )
+                       x += MacGetLeftBorderSize() ;
+    if ( y )
+                       y += MacGetTopBorderSize() ;
+                       
+    MacWindowToRootWindow( x , y ) ;
     
     Point       localwhere = { 0,0 };
     if(x)   localwhere.h = * x ;
@@ -1349,6 +1358,7 @@ bool wxWindowMac::MacGetWindowFromPoint( const wxPoint &screenpoint , wxWindowMa
         if ( win )
         {
             point = win->ScreenToClient( point ) ;
+            point += win->GetClientAreaOrigin() ;
             return win->MacGetWindowFromPointSub( point , outWin ) ;
         }
     }
index e63dde07d7d8488172ad2905192f1b4032edbcc1..7462e3ab8e027d8c0b5006e4524634139c3c5039 100644 (file)
@@ -350,14 +350,23 @@ void wxWindowMac::DoScreenToClient(int *x, int *y) const
     if(x)   *x = localwhere.h ;
     if(y)   *y = localwhere.v ;
     
-    MacRootWindowToClient( x , y ) ;
+    MacRootWindowToWindow( x , y ) ;
+    if ( x )
+                       x -= MacGetLeftBorderSize() ;
+    if ( y )
+                       y -= MacGetTopBorderSize() ;
 }
 
 void wxWindowMac::DoClientToScreen(int *x, int *y) const
 {
     WindowRef window = (WindowRef) MacGetRootWindow() ;
     
-    MacClientToRootWindow( x , y ) ;
+    if ( x )
+                       x += MacGetLeftBorderSize() ;
+    if ( y )
+                       y += MacGetTopBorderSize() ;
+                       
+    MacWindowToRootWindow( x , y ) ;
     
     Point       localwhere = { 0,0 };
     if(x)   localwhere.h = * x ;
@@ -1349,6 +1358,7 @@ bool wxWindowMac::MacGetWindowFromPoint( const wxPoint &screenpoint , wxWindowMa
         if ( win )
         {
             point = win->ScreenToClient( point ) ;
+            point += win->GetClientAreaOrigin() ;
             return win->MacGetWindowFromPointSub( point , outWin ) ;
         }
     }