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:
parent
f735ef839c
commit
ec648669ef
19
src/dd.c
19
src/dd.c
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user