summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows
diff options
context:
space:
mode:
author antonioginer <antonioginer@users.noreply.github.com>2022-01-05 18:26:54 +0000
committer GitHub <noreply@github.com>2022-01-06 05:26:54 +1100
commit7a6749ab8632eb6a3b01237c4af620aa366e5117 (patch)
tree56d207026439bfb2d2a729ae18dceeb46e2436dc /src/osd/windows
parent51e318e1001760d9c7ae2d15749c94da51d31064 (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')
-rw-r--r--src/osd/windows/window.cpp5
-rw-r--r--src/osd/windows/window.h1
2 files changed, 5 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())
diff --git a/src/osd/windows/window.h b/src/osd/windows/window.h
index 6586420df66..9cae7207524 100644
--- a/src/osd/windows/window.h
+++ b/src/osd/windows/window.h
@@ -107,6 +107,7 @@ public:
int m_targetorient;
render_layer_config m_targetlayerconfig;
u32 m_targetvismask;
+ int m_targetscalemode;
// input info
std::chrono::steady_clock::time_point m_lastclicktime;