macOS: Fix the coordinate space of SDL_GetDisplayUsableBounds (thanks Tim!)

Fixes bug #4518.
This commit is contained in:
Alex Szpakowski 2019-06-12 19:57:30 -03:00
parent 74e86a51d8
commit 50f5123190

View file

@ -300,13 +300,9 @@ Cocoa_GetDisplayUsableBounds(_THIS, SDL_VideoDisplay * display, SDL_Rect * rect)
return -1; return -1;
} }
const CGRect cgrect = CGDisplayBounds(cgdisplay);
const NSRect frame = [screen visibleFrame]; const NSRect frame = [screen visibleFrame];
rect->x = (int)frame.origin.x;
// !!! FIXME: I assume -[NSScreen visibleFrame] is relative to the origin of the screen in question and not the whole desktop. rect->y = (int)(CGDisplayPixelsHigh(kCGDirectMainDisplay) - frame.origin.y - frame.size.height);
// !!! FIXME: The math vs CGDisplayBounds might be incorrect if that's not the case, though. Check this.
rect->x = (int)(cgrect.origin.x + frame.origin.x);
rect->y = (int)(cgrect.origin.y + frame.origin.y);
rect->w = (int)frame.size.width; rect->w = (int)frame.size.width;
rect->h = (int)frame.size.height; rect->h = (int)frame.size.height;