Cocoa Port: Fix mixed retina/non-retina displays bug

This commit is contained in:
BayLee4 2024-10-10 17:57:21 +02:00
parent 8fa0affab1
commit a0386e535c
1 changed files with 9 additions and 0 deletions

View File

@ -1465,6 +1465,15 @@ static std::unordered_map<NSScreen *, DisplayWindowController *> _screenMap; //
- (void)windowDidChangeScreen:(NSNotification *)notification - (void)windowDidChangeScreen:(NSNotification *)notification
{ {
[self updateDisplayID]; [self updateDisplayID];
#if defined(MAC_OS_X_VERSION_10_7) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)
NSScreen *screen = [[self window] screen];
// Set up the scaling factor if this is a Retina window
if ([screen respondsToSelector:@selector(backingScaleFactor)])
{
float scaleFactor = [screen backingScaleFactor];
[[[self view] cdsVideoOutput] clientDisplay3DView]->Get3DPresenter()->SetScaleFactor(scaleFactor);
}
#endif
} }
#if defined(MAC_OS_X_VERSION_10_7) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7) #if defined(MAC_OS_X_VERSION_10_7) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)