From e129578d07b4e28ba12bff722d2a5ffaf7a81fb8 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 8 Mar 2026 20:35:04 +0200 Subject: [PATCH] Disable GUI centering options if overscan+ or larger --- od-win32/win32gui.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 4aa182e5..cd995beb 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -8147,8 +8147,8 @@ static void enable_for_displaydlg (HWND hDlg) #endif ew(hDlg, IDC_SCREENMODE_RTG, rtg); ew(hDlg, IDC_SCREENMODE_RTG2, rtg); - ew(hDlg, IDC_XCENTER, TRUE); - ew(hDlg, IDC_YCENTER, TRUE); + ew(hDlg, IDC_XCENTER, workprefs.gfx_overscanmode <= OVERSCANMODE_OVERSCAN); + ew(hDlg, IDC_YCENTER, workprefs.gfx_overscanmode <= OVERSCANMODE_OVERSCAN); ew(hDlg, IDC_FRAMERATE, !workprefs.cpu_memory_cycle_exact); ew(hDlg, IDC_LORES, !workprefs.gfx_autoresolution); ew(hDlg, IDC_OVERSCANMODE, TRUE); @@ -8710,8 +8710,8 @@ static void values_to_displaydlg (HWND hDlg) CheckDlgButton(hDlg, IDC_GRAYSCALE, workprefs.gfx_grayscale); CheckDlgButton(hDlg, IDC_RESYNCBLANK, workprefs.gfx_monitorblankdelay > 0); - CheckDlgButton (hDlg, IDC_XCENTER, workprefs.gfx_xcenter); - CheckDlgButton (hDlg, IDC_YCENTER, workprefs.gfx_ycenter); + CheckDlgButton (hDlg, IDC_XCENTER, workprefs.gfx_overscanmode <= OVERSCANMODE_OVERSCAN ? workprefs.gfx_xcenter : FALSE); + CheckDlgButton (hDlg, IDC_YCENTER, workprefs.gfx_overscanmode <= OVERSCANMODE_OVERSCAN ? workprefs.gfx_ycenter : FALSE); xSendDlgItemMessage(hDlg, IDC_DISPLAY_BUFFERCNT, CB_RESETCONTENT, 0, 0); #if 0 @@ -8971,8 +8971,10 @@ static void values_from_displaydlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l xSendDlgItemMessage (hDlg, IDC_FRAMERATE2, TBM_SETPOS, TRUE, (LPARAM)cr->rate); } - workprefs.gfx_xcenter = ischecked (hDlg, IDC_XCENTER) ? 2 : 0; /* Smart centering */ - workprefs.gfx_ycenter = ischecked (hDlg, IDC_YCENTER) ? 2 : 0; /* Smart centering */ + if (workprefs.gfx_overscanmode <= OVERSCANMODE_OVERSCAN) { + workprefs.gfx_xcenter = ischecked (hDlg, IDC_XCENTER) ? 2 : 0; /* Smart centering */ + workprefs.gfx_ycenter = ischecked (hDlg, IDC_YCENTER) ? 2 : 0; /* Smart centering */ + } workprefs.gfx_variable_sync = ischecked(hDlg, IDC_DISPLAY_VARSYNC) ? 1 : 0; workprefs.gfx_windowed_resize = ischecked(hDlg, IDC_DISPLAY_RESIZE); -- 2.47.3