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