From 1ce8b855c76beb2350cf44482895795027e317d7 Mon Sep 17 00:00:00 2001
From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Fri, 30 Aug 2024 17:11:22 -0700
Subject: [PATCH] remove app.config dpi stuff
mono does not like this (fixes #4002)
---
.../DisplayManager/DisplayManager.cs | 9 +++++----
src/BizHawk.Client.EmuHawk/app.config | 3 ---
src/BizHawk.Common/Win32/Win32Imports.cs | 3 +++
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs b/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
index 7828de339b..49ae779f51 100644
--- a/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
+++ b/src/BizHawk.Client.EmuHawk/DisplayManager/DisplayManager.cs
@@ -52,10 +52,11 @@ namespace BizHawk.Client.EmuHawk
public override Size GetPanelNativeSize() => _presentationPanel.NativeSize;
protected override int GetGraphicsControlDpi()
- => OSTailoredCode.IsUnixHost ? DisplayManagerBase.DEFAULT_DPI : GraphicsControlDpi;
-
- // DeviceDpi is not available under mono, so we need to have this access wrapped in a separate function
- private int GraphicsControlDpi => _graphicsControl.DeviceDpi;
+ {
+ return OSTailoredCode.IsUnixHost
+ ? DEFAULT_DPI
+ : Win32Imports.GetDpiForWindow(_graphicsControl.Handle);
+ }
protected override Point GraphicsControlPointToClient(Point p) => _graphicsControl.PointToClient(p);
diff --git a/src/BizHawk.Client.EmuHawk/app.config b/src/BizHawk.Client.EmuHawk/app.config
index cd26a46e51..ea0a7d4b94 100644
--- a/src/BizHawk.Client.EmuHawk/app.config
+++ b/src/BizHawk.Client.EmuHawk/app.config
@@ -7,7 +7,4 @@
-
-
-
diff --git a/src/BizHawk.Common/Win32/Win32Imports.cs b/src/BizHawk.Common/Win32/Win32Imports.cs
index cb784a3d1c..d12a375163 100644
--- a/src/BizHawk.Common/Win32/Win32Imports.cs
+++ b/src/BizHawk.Common/Win32/Win32Imports.cs
@@ -67,5 +67,8 @@ namespace BizHawk.Common
[DllImport("user32.dll", ExactSpelling = true)]
public static extern int TrackPopupMenuEx(IntPtr hmenu, TPM fuFlags, int x, int y, IntPtr hwnd, IntPtr lptpm);
+
+ [DllImport("user32.dll", ExactSpelling = true)]
+ public static extern int GetDpiForWindow(IntPtr hwnd);
}
}
\ No newline at end of file