diff options
author | 2022-01-05 18:26:54 +0000 | |
---|---|---|
committer | 2022-01-06 05:26:54 +1100 | |
commit | 7a6749ab8632eb6a3b01237c4af620aa366e5117 (patch) | |
tree | 56d207026439bfb2d2a729ae18dceeb46e2436dc /src/osd/windows/window.cpp | |
parent | 51e318e1001760d9c7ae2d15749c94da51d31064 (diff) |
emu/render.cpp: Improved scale factor selection. (#8961)
Fixes aspect related issues, undesired overscan, etc. (GitHub #8209, GitHub #8387, MT08110)
Diffstat (limited to 'src/osd/windows/window.cpp')
-rw-r--r-- | src/osd/windows/window.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/osd/windows/window.cpp b/src/osd/windows/window.cpp index c5166d67a11..3153ff545cd 100644 --- a/src/osd/windows/window.cpp +++ b/src/osd/windows/window.cpp @@ -304,6 +304,7 @@ win_window_info::win_window_info( , m_targetview(0) , m_targetorient(0) , m_targetvismask(0) + , m_targetscalemode(0) , m_lastclicktime(std::chrono::steady_clock::time_point::min()) , m_lastclickx(0) , m_lastclicky(0) @@ -783,12 +784,14 @@ void win_window_info::update() int const targetorient = target()->orientation(); render_layer_config const targetlayerconfig = target()->layer_config(); u32 const targetvismask = target()->visibility_mask(); - if (targetview != m_targetview || targetorient != m_targetorient || targetlayerconfig != m_targetlayerconfig || targetvismask != m_targetvismask) + int const targetscalemode = target()->scale_mode(); + if (targetview != m_targetview || targetorient != m_targetorient || targetlayerconfig != m_targetlayerconfig || targetvismask != m_targetvismask || targetscalemode != m_targetscalemode) { m_targetview = targetview; m_targetorient = targetorient; m_targetlayerconfig = targetlayerconfig; m_targetvismask = targetvismask; + m_targetscalemode = targetscalemode; // in window mode, reminimize/maximize if (!fullscreen()) |