From f28947f59b61f6322a180ea027d26b3bd53b0375 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 23 Oct 2023 14:50:10 +0200 Subject: [PATCH] Fix MacWindow::SetClientBounds to include screen scale --- Source/Engine/Platform/Mac/MacWindow.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Source/Engine/Platform/Mac/MacWindow.cpp b/Source/Engine/Platform/Mac/MacWindow.cpp index ea38a635c..0274ecb9a 100644 --- a/Source/Engine/Platform/Mac/MacWindow.cpp +++ b/Source/Engine/Platform/Mac/MacWindow.cpp @@ -895,14 +895,13 @@ void MacWindow::SetClientBounds(const Rectangle& clientArea) NSWindow* window = (NSWindow*)_window; if (!window) return; + const float screenScale = MacPlatform::ScreenScale; + NSRect oldRect = [window frame]; - NSRect newRect = NSMakeRect(0, 0, clientArea.Size.X, clientArea.Size.Y); + NSRect newRect = NSMakeRect(0, 0, clientArea.Size.X / screenScale, clientArea.Size.Y / screenScale); newRect = [window frameRectForContentRect:newRect]; - //newRect.origin.x = oldRect.origin.x; - //newRect.origin.y = NSMaxY(oldRect) - newRect.size.height; - - Float2 pos = AppleUtils::PosToCoca(clientArea.Location); + Float2 pos = AppleUtils::PosToCoca(clientArea.Location) / screenScale; Float2 titleSize = GetWindowTitleSize(this); newRect.origin.x = pos.X + titleSize.X; newRect.origin.y = pos.Y - newRect.size.height + titleSize.Y;