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