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.

--HG--
extra : rebase_source : 175a37f93b8e582bcd3ed80b93e6d40597ce7039
This commit is contained in:
Ryan C. Gordon 2018-10-18 11:59:48 -04:00
parent 4e3ee3ee71
commit c247695f19

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;