mirror of https://github.com/encounter/SDL.git
Fixed bug 5098 - macOS CreateWindowFrom doesn't work with high-dpi displays
michaeljosephmaltese Display ends up taking only 1/4 of the screen area. It needs to call "setWantsBestResolutionOpenGLSurface:highdpi", like when creating a window the normal way.
This commit is contained in:
parent
eadc8693dd
commit
b47f577a9d
|
@ -1588,6 +1588,21 @@ Cocoa_CreateWindowFrom(_THIS, SDL_Window * window, const void *data)
|
||||||
window->title = SDL_strdup([title UTF8String]);
|
window->title = SDL_strdup([title UTF8String]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* We still support OpenGL as long as Apple offers it, deprecated or not, so disable deprecation warnings about it. */
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
#endif
|
||||||
|
/* Note: as of the macOS 10.15 SDK, this defaults to YES instead of NO when
|
||||||
|
* the NSHighResolutionCapable boolean is set in Info.plist. */
|
||||||
|
if ([nsview respondsToSelector:@selector(setWantsBestResolutionOpenGLSurface:)]) {
|
||||||
|
BOOL highdpi = (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) != 0;
|
||||||
|
[nsview setWantsBestResolutionOpenGLSurface:highdpi];
|
||||||
|
}
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
return SetupWindowData(_this, window, nswindow, nsview, SDL_FALSE);
|
return SetupWindowData(_this, window, nswindow, nsview, SDL_FALSE);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue