summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTriang3l <triang3l@yandex.ru>2022-05-05 21:46:20 +0300
committerTriang3l <triang3l@yandex.ru>2022-05-05 21:46:20 +0300
commit5875f6ab3181fef2120cb33d56d58ec79cb7ee82 (patch)
tree4a5755a6fa61277243273c786a2c6a20f93119f3 /src
parent9c8e0cc53eb7b1a241d86f7e9d573cecd6a2cc16 (diff)
[UI] Windows: Disable rounded corners
Diffstat (limited to 'src')
-rw-r--r--src/xenia/ui/premake5.lua3
-rw-r--r--src/xenia/ui/window_win.cc10
2 files changed, 11 insertions, 2 deletions
diff --git a/src/xenia/ui/premake5.lua b/src/xenia/ui/premake5.lua
index 3b9e482c4..6aff82bec 100644
--- a/src/xenia/ui/premake5.lua
+++ b/src/xenia/ui/premake5.lua
@@ -21,5 +21,6 @@ project("xenia-ui")
filter("platforms:Windows")
links({
- "DXGI",
+ "dwmapi",
+ "dxgi",
})
diff --git a/src/xenia/ui/window_win.cc b/src/xenia/ui/window_win.cc
index f7ab5ff71..f2458b69d 100644
--- a/src/xenia/ui/window_win.cc
+++ b/src/xenia/ui/window_win.cc
@@ -23,8 +23,8 @@
#include "xenia/ui/virtual_key.h"
#include "xenia/ui/windowed_app_context_win.h"
-// For per-monitor DPI awareness v1.
#include <ShellScalingApi.h>
+#include <dwmapi.h>
namespace xe {
namespace ui {
@@ -182,6 +182,14 @@ bool Win32Window::OpenImpl() {
}
}
+ // Disable rounded corners starting with Windows 11 (or silently receive and
+ // ignore E_INVALIDARG on Windows versions before 10.0.22000.0), primarily to
+ // preserve all pixels of the guest output.
+ DWM_WINDOW_CORNER_PREFERENCE window_corner_preference = DWMWCP_DONOTROUND;
+ DwmSetWindowAttribute(hwnd_, DWMWA_WINDOW_CORNER_PREFERENCE,
+ &window_corner_preference,
+ sizeof(window_corner_preference));
+
// Disable flicks.
ATOM atom = GlobalAddAtomW(L"MicrosoftTabletPenServiceProperty");
const DWORD_PTR dwHwndTabletProperty =