Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Stedfast <jeff@xamarin.com>2011-11-30 00:22:53 +0400
committerJeffrey Stedfast <jeff@xamarin.com>2011-11-30 00:22:53 +0400
commit6d9d9ee41bfc85afee8aef075dc8a3637c0ba5c2 (patch)
tree33d80402532b3f49aa59d2b70ed9beb1521e4c47 /main/src/core
parent0650113182427275a362a39b11a5b81575e523fd (diff)
[MacPlatform] Fixed GetUsableMonitorGeometry for vertical screen layouts.
Fixes bug #2064
Diffstat (limited to 'main/src/core')
-rw-r--r--main/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs16
1 files changed, 8 insertions, 8 deletions
diff --git a/main/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs b/main/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs
index 55d7a72702..f5f0704c3e 100644
--- a/main/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs
+++ b/main/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs
@@ -126,7 +126,8 @@ namespace Mono.TextEditor
{
IntPtr array = objc_msgSend_IntPtr (cls_NSScreen, sel_screens);
IntPtr iter = objc_msgSend_IntPtr (array, sel_objectEnumerator);
- Gdk.Rectangle geometry = screen.GetMonitorGeometry (0);
+ Gdk.Rectangle ygeometry = screen.GetMonitorGeometry (monitor);
+ Gdk.Rectangle xgeometry = screen.GetMonitorGeometry (0);
RectangleF visible, frame;
IntPtr scrn;
int i = 0;
@@ -142,10 +143,8 @@ namespace Mono.TextEditor
// Note: Frame and VisibleFrame rectangles are relative to monitor 0, but we need absolute
// coordinates.
- visible.X += geometry.X;
- visible.Y += geometry.Y;
- frame.X += geometry.X;
- frame.Y += geometry.Y;
+ visible.X += xgeometry.X;
+ frame.X += xgeometry.X;
// VisibleFrame.Y is the height of the Dock if it is at the bottom of the screen, so in order
// to get the menu height, we just figure out the difference between the visibleFrame height
@@ -160,10 +159,10 @@ namespace Mono.TextEditor
float menubarHeight = (frame.Height - visible.Height) - dockHeight;
height = frame.Height - menubarHeight - dockHeight;
- y = menubarHeight;
+ y = ygeometry.Y + menubarHeight;
} else {
height = frame.Height;
- y = frame.Y;
+ y = ygeometry.Y;
}
// Takes care of the possibility of the Dock being positioned on the left or right edge of the screen.
@@ -332,6 +331,7 @@ namespace Mono.TextEditor
y -= y_over;
}
}
+
y = System.Math.Max (geometry.Top, System.Math.Min (y, geometry.Bottom - request.Height));
x = System.Math.Max (geometry.Left, System.Math.Min (x, geometry.Right - request.Width));
@@ -644,4 +644,4 @@ namespace Mono.TextEditor
return other.key == key && other.mod == mod;
}
}
-} \ No newline at end of file
+}