cocoa: GL_GetDrawableSize only uses -[NSView convertRectToBacking] for highDPI.

On Mojave, this will report large numbers for retina displays in fullscreen
mode, which isn't how it works on previous versions.
(transplanted from c6c1731780e2bef94f944a4795e2dfbba46d9500)
Ryan C. Gordon 2018-10-18 11:59:48 -04:00
parent b262b0ebc9
commit 072e17bf98
1 changed files with 6 additions and 4 deletions

View File

@ -347,11 +347,13 @@ Cocoa_GL_GetDrawableSize(_THIS, SDL_Window * window, int * w, int * h)
NSView *contentView = [windata->nswindow contentView]; NSView *contentView = [windata->nswindow contentView];
NSRect viewport = [contentView bounds]; NSRect viewport = [contentView bounds];
if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
/* This gives us the correct viewport for a Retina-enabled view, only /* This gives us the correct viewport for a Retina-enabled view, only
* supported on 10.7+. */ * supported on 10.7+. */
if ([contentView respondsToSelector:@selector(convertRectToBacking:)]) { if ([contentView respondsToSelector:@selector(convertRectToBacking:)]) {
viewport = [contentView convertRectToBacking:viewport]; viewport = [contentView convertRectToBacking:viewport];
} }
}
if (w) { if (w) {
*w = viewport.size.width; *w = viewport.size.width;