diff options
| author | Triang3l <triang3l@yandex.ru> | 2022-05-05 21:46:20 +0300 |
|---|---|---|
| committer | Triang3l <triang3l@yandex.ru> | 2022-05-05 21:46:20 +0300 |
| commit | 5875f6ab3181fef2120cb33d56d58ec79cb7ee82 (patch) | |
| tree | 4a5755a6fa61277243273c786a2c6a20f93119f3 /src | |
| parent | 9c8e0cc53eb7b1a241d86f7e9d573cecd6a2cc16 (diff) | |
[UI] Windows: Disable rounded corners
Diffstat (limited to 'src')
| -rw-r--r-- | src/xenia/ui/premake5.lua | 3 | ||||
| -rw-r--r-- | src/xenia/ui/window_win.cc | 10 |
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 = |
