Fix some window UIScale bugs (#5499)

* Fix some window UIScale bugs

* Use CalculateAutoScale()
This commit is contained in:
wixoa
2024-10-18 18:08:16 -04:00
committed by GitHub
parent c65c4ba57e
commit 008babebc6
3 changed files with 9 additions and 4 deletions

View File

@@ -343,6 +343,8 @@ namespace Robust.Client.Graphics.Clyde
if (isMain)
_mainWindow = reg;
reg.IsVisible = parameters.Visible;
_windows.Add(reg);
_windowHandles.Add(reg.Handle);

View File

@@ -1,6 +1,5 @@
using System;
using System.ComponentModel;
using System.Numerics;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.IoC;
@@ -138,6 +137,8 @@ namespace Robust.Client.UserInterface.Controls
_root = UserInterfaceManager.CreateWindowRoot(ClydeWindow);
_root.AddChild(this);
// Resize the window by our UIScale
ClydeWindow.Size = new((int)(ClydeWindow.Size.X * UIScale), (int)(ClydeWindow.Size.Y * UIScale));
return ClydeWindow;
}
@@ -192,7 +193,7 @@ namespace Robust.Client.UserInterface.Controls
private void OnWindowResized(WindowResizedEventArgs obj)
{
SetSize = obj.NewSize;
SetSize = obj.NewSize / UIScale;
}
private void RealClosed()

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using Robust.Client.Graphics;
using Robust.Client.UserInterface.Controls;
using Robust.Shared;
using Robust.Shared.Map;
using Robust.Shared.Utility;
@@ -28,10 +29,11 @@ internal sealed partial class UserInterfaceManager
{
MouseFilter = Control.MouseFilterMode.Ignore,
HorizontalAlignment = Control.HAlignment.Stretch,
VerticalAlignment = Control.VAlignment.Stretch,
UIScaleSet = window.ContentScale.X
VerticalAlignment = Control.VAlignment.Stretch
};
newRoot.UIScaleSet = CalculateAutoScale(newRoot);
_roots.Add(newRoot);
_windowsToRoot.Add(window.Id, newRoot);