]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Disable GUI centering options if overscan+ or larger
authorToni Wilen <twilen@winuae.net>
Sun, 8 Mar 2026 18:35:04 +0000 (20:35 +0200)
committerToni Wilen <twilen@winuae.net>
Sun, 8 Mar 2026 18:35:04 +0000 (20:35 +0200)
od-win32/win32gui.cpp

index 4aa182e5145395bf1a665926780405b6726b8711..cd995beb4b27cb1c11741667477e6b7adb602e12 100644 (file)
@@ -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);