1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-16 06:18:53 +01:00

add partial support for menus in fullscreen via nonexclusive=true

This commit is contained in:
FunkyFr3sh 2024-04-20 04:41:04 +02:00
parent f735ef839c
commit ec648669ef
2 changed files with 19 additions and 6 deletions

@ -922,7 +922,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
{
x = y = 0;
if (!g_config.remove_menu && GetMenu(g_ddraw.hwnd))
if (GetMenu(g_ddraw.hwnd))
{
y = real_GetSystemMetrics(SM_CYMENU);
}
@ -972,8 +972,19 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
}
else
{
int menu_height = 0;
if (GetMenu(g_ddraw.hwnd))
SetMenu(g_ddraw.hwnd, NULL);
{
if (g_config.remove_menu || !g_config.nonexclusive)
{
SetMenu(g_ddraw.hwnd, NULL);
}
else
{
menu_height = real_GetSystemMetrics(SM_CYMENU);
}
}
LONG style = real_GetWindowLongA(g_ddraw.hwnd, GWL_STYLE);
@ -1011,7 +1022,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
0,
0,
g_ddraw.render.width,
g_ddraw.render.height,
g_ddraw.render.height + menu_height,
swp_flags);
swp_flags = SWP_SHOWWINDOW;
@ -1071,7 +1082,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
0,
0,
g_ddraw.render.width,
g_ddraw.render.height,
g_ddraw.render.height + menu_height,
swp_flags);
if (d3d9_active && g_config.nonexclusive)

@ -244,13 +244,15 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
{
g_ddraw.last_set_window_pos_tick = timeGetTime();
int menu_height = GetMenu(g_ddraw.hwnd) ? real_GetSystemMetrics(SM_CYMENU) : 0;
real_SetWindowPos(
g_ddraw.hwnd,
HWND_TOPMOST,
1,
1,
g_ddraw.render.width,
g_ddraw.render.height,
g_ddraw.render.height + menu_height,
SWP_SHOWWINDOW);
real_SetWindowPos(
@ -259,7 +261,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
0,
0,
g_ddraw.render.width,
g_ddraw.render.height,
g_ddraw.render.height + menu_height,
SWP_SHOWWINDOW);
}
return 0;