[Projects] fix boundary calculation, use DPI aware values

This commit is contained in:
donlaci
2024-06-24 10:38:08 +02:00
parent 371a05ac5e
commit 17a607fda0

View File

@@ -288,16 +288,17 @@ namespace ProjectsEditor.Models
private Rectangle GetCommonBounds() private Rectangle GetCommonBounds()
{ {
double minX = Monitors.First().MonitorDpiUnawareBounds.Left; double minX = Monitors.First().MonitorDpiAwareBounds.Left;
double minY = Monitors.First().MonitorDpiUnawareBounds.Top; double minY = Monitors.First().MonitorDpiAwareBounds.Top;
double maxX = Monitors.First().MonitorDpiUnawareBounds.Right; double maxX = Monitors.First().MonitorDpiAwareBounds.Right;
double maxY = Monitors.First().MonitorDpiUnawareBounds.Bottom; double maxY = Monitors.First().MonitorDpiAwareBounds.Bottom;
foreach (var monitor in Monitors) for (int monitorIndex = 1; monitorIndex < Monitors.Count; monitorIndex++)
{ {
minX = Math.Min(minX, monitor.MonitorDpiUnawareBounds.Left); Monitor monitor = Monitors[monitorIndex];
minY = Math.Min(minY, monitor.MonitorDpiUnawareBounds.Top); minX = Math.Min(minX, monitor.MonitorDpiAwareBounds.Left);
maxX = Math.Max(maxX, monitor.MonitorDpiUnawareBounds.Right); minY = Math.Min(minY, monitor.MonitorDpiAwareBounds.Top);
maxY = Math.Max(maxY, monitor.MonitorDpiUnawareBounds.Bottom); maxX = Math.Max(maxX, monitor.MonitorDpiAwareBounds.Right);
maxY = Math.Max(maxY, monitor.MonitorDpiAwareBounds.Bottom);
} }
return new Rectangle((int)minX, (int)minY, (int)(maxX - minX), (int)(maxY - minY)); return new Rectangle((int)minX, (int)minY, (int)(maxX - minX), (int)(maxY - minY));