|
@@ -1,6 +1,7 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.ComponentModel;
|
|
|
+using System.Linq;
|
|
|
using System.Runtime.InteropServices;
|
|
|
using Avalonia.Controls;
|
|
|
using Avalonia.Automation.Peers;
|
|
@@ -208,6 +209,8 @@ namespace Avalonia.Win32
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private double PrimaryScreenRenderScaling => Screen.AllScreens.FirstOrDefault(screen => screen.Primary)?.PixelDensity ?? 1;
|
|
|
+
|
|
|
public double RenderScaling => _scaling;
|
|
|
|
|
|
public double DesktopScaling => RenderScaling;
|
|
@@ -944,7 +947,7 @@ namespace Avalonia.Win32
|
|
|
if (WindowState == WindowState.Maximized)
|
|
|
{
|
|
|
_extendedMargins = new Thickness(0, (borderCaptionThickness.top - borderThickness.top) / RenderScaling, 0, 0);
|
|
|
- _offScreenMargin = new Thickness(borderThickness.left / RenderScaling, borderThickness.top / RenderScaling, borderThickness.right / RenderScaling, borderThickness.bottom / RenderScaling);
|
|
|
+ _offScreenMargin = new Thickness(borderThickness.left / PrimaryScreenRenderScaling, borderThickness.top / PrimaryScreenRenderScaling, borderThickness.right / PrimaryScreenRenderScaling, borderThickness.bottom / PrimaryScreenRenderScaling);
|
|
|
}
|
|
|
else
|
|
|
{
|