[Mac] Fixed initial window position
Cocoa sets the desktop origin at the bottom-left of the main screen, with +y going up. OpenTK is setting the origin at the top-left of the main screen, so we need to invert the y-axis.
This commit is contained in:
parent
3824f55f18
commit
674cd54c29
1 changed files with 11 additions and 1 deletions
|
@ -173,7 +173,17 @@ namespace OpenTK.Platform.MacOS
|
|||
Class.RegisterClass(viewClass);
|
||||
|
||||
// Create window instance
|
||||
var contentRect = new System.Drawing.RectangleF(x, y, width, height);
|
||||
// Note: The coordinate system of Cocoa places (0,0) at the bottom left.
|
||||
// We need to get the height of the main screen and flip that in order
|
||||
// to place the window at the correct position.
|
||||
// Note: NSWindows are laid out relative to the main screen.
|
||||
var screenRect =
|
||||
Cocoa.SendRect(
|
||||
Cocoa.SendIntPtr(
|
||||
Cocoa.SendIntPtr(Class.Get("NSScreen"), Selector.Get("screens")),
|
||||
Selector.Get("objectAtIndex:"), 0),
|
||||
Selector.Get("frame"));
|
||||
var contentRect = new System.Drawing.RectangleF(x, screenRect.Height - height - y, width, height);
|
||||
var style = GetStyleMask(windowBorder);
|
||||
var bufferingType = NSBackingStore.Buffered;
|
||||
|
||||
|
|
Loading…
Reference in a new issue