1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

add new window message to toggle fullscreen/maximize

This commit is contained in:
FunkyFr3sh 2023-10-18 05:22:06 +02:00
parent d3a1c821c8
commit a9445fb300
3 changed files with 33 additions and 0 deletions

View File

@ -7,9 +7,14 @@
#define WM_SIZE_DDRAW WM_APP+114
#define WM_MOVE_DDRAW WM_APP+115
#define WM_DISPLAYCHANGE_DDRAW WM_APP+116
#define WM_TOGGLE_FULLSCREEN WM_APP+117
#define WM_TOGGLE_MAXIMIZE WM_APP+118
#define IDT_TIMER_LEAVE_BNET 541287654
#define CNC_DDRAW_SET_FULLSCREEN 1
#define CNC_DDRAW_SET_WINDOWED 2
LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
#endif

View File

@ -1502,6 +1502,8 @@ char* dbg_mes_to_str(int id)
case WM_D3D9DEVICELOST: return "WM_D3D9DEVICELOST";
case WM_WINEFULLSCREEN: return "WM_WINEFULLSCREEN";
case WM_AUTORENDERER: return "WM_AUTORENDERER";
case WM_TOGGLE_FULLSCREEN: return "WM_TOGGLE_FULLSCREEN";
case WM_TOGGLE_MAXIMIZE: return "WM_TOGGLE_MAXIMIZE";
}
return 0;

View File

@ -652,6 +652,32 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
mouse_lock();
return 0;
}
case WM_TOGGLE_FULLSCREEN:
{
if (!g_config.fullscreen || (g_config.windowed && g_config.toggle_borderless))
{
/* Check if we are fullscreen/borderless already */
if (wParam == CNC_DDRAW_SET_FULLSCREEN && (!g_config.windowed || g_config.fullscreen))
return 0;
/* Check if we are windowed already */
if (wParam == CNC_DDRAW_SET_WINDOWED && g_config.windowed && !g_config.fullscreen)
return 0;
util_toggle_fullscreen();
}
return 0;
}
case WM_TOGGLE_MAXIMIZE:
{
if (g_config.resizable)
{
util_toggle_maximize();
}
return 0;
}
case WM_NCLBUTTONDBLCLK:
{
if (g_config.resizable)