Author: pbartok
Date: 2005-03-17 19:40:21 -0500 (Thu, 17 Mar 2005)
New Revision: 41970

Modified:
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MenuAPI.cs
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
Log:
        * XplatUIX11.cs: Fixed menu coord calculations
        * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
          for calculating offsets

2005-03-17  Peter Bartok  <[EMAIL PROTECTED]>



Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2005-03-17 23:56:18 UTC (rev 41969)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2005-03-18 00:40:21 UTC (rev 41970)
@@ -1,5 +1,11 @@
 2005-03-17  Peter Bartok  <[EMAIL PROTECTED]>
 
+       * XplatUIX11.cs: Fixed menu coord calculations
+       * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
+         for calculating offsets
+
+2005-03-17  Peter Bartok  <[EMAIL PROTECTED]>
+
        * Hwnd.cs: Do not consider menu presence for default client
          rectangle location/size
        * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,

Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MenuAPI.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MenuAPI.cs       
2005-03-17 23:56:18 UTC (rev 41969)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/MenuAPI.cs       
2005-03-18 00:40:21 UTC (rev 41970)
@@ -266,17 +266,37 @@
                
                static public Point ClientAreaPointToScreen (MENU menu, Point 
pnt)              
                {
-                       Point rslt;
+                       Point   rslt;
+                       int     x;
+                       int     y;
+
                        pnt.Y -= menu.Y;
-                       rslt = menu.Wnd.PointToScreen (pnt);                    
+
+                       x = pnt.X;
+                       y = pnt.Y;
+
+                       XplatUI.MenuToScreen(menu.Wnd.window.Handle, ref x, ref 
y);
+
+                       rslt = new Point(x, y);
+
                        return rslt;
                }
                
                static public Point ClientAreaPointToClient (MENU menu, Point 
pnt)              
                {
-                       Point rslt;                     
-                       rslt = menu.Wnd.PointToClient (pnt);                    
+                       Point   rslt;
+                       int     x;
+                       int     y;
+
+                       x = pnt.X;
+                       y = pnt.Y;
+
+                       XplatUI.ScreenToMenu(menu.Wnd.window.Handle, ref x, ref 
y);
+
+                       rslt = new Point(x, y);
+
                        rslt.Y += menu.Y;
+
                        return rslt;
                }       
 

Modified: 
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs    
2005-03-17 23:56:18 UTC (rev 41969)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs    
2005-03-18 00:40:21 UTC (rev 41970)
@@ -2615,7 +2615,7 @@
                        hwnd = Hwnd.ObjectFromHandle(handle);
 
                        lock (XlibLock) {
-                               XTranslateCoordinates (DisplayHandle, 
RootWindow, hwnd.whole_window, x, y, out dest_x_return, out dest_y_return, out 
child);
+                               XTranslateCoordinates (DisplayHandle, 
RootWindow, hwnd.client_window, x, y, out dest_x_return, out dest_y_return, out 
child);
                        }
 
                        x = dest_x_return;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to