1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-27 23:45:21 +01:00

Allow mouse unlocking in fullscreen (for dual head users mostly)

This commit is contained in:
Toni Spets 2010-11-08 19:23:13 +02:00
parent b2c1500c70
commit 52ec288169

15
main.c
View File

@ -149,9 +149,8 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
case WM_NCACTIVATE: case WM_NCACTIVATE:
/* game's drawing loop stops when it inactivates, so don't */ /* game's drawing loop stops when it inactivates, so don't */
if(ddraw->windowed)
{
DefWindowProc(hWnd, uMsg, wParam, lParam); DefWindowProc(hWnd, uMsg, wParam, lParam);
if(wParam == FALSE) if(wParam == FALSE)
{ {
mouse_unlock(); mouse_unlock();
@ -160,13 +159,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
mouse_lock(); mouse_lock();
} }
SetCursor(LoadCursor((HINSTANCE)GetWindowLong(ddraw->hWnd, GWL_HINSTANCE), IDC_ARROW));
return 0; return 0;
}
break;
case WM_KEYDOWN: case WM_KEYDOWN:
if(ddraw->windowed)
{
if(wParam == VK_CONTROL) if(wParam == VK_CONTROL)
{ {
ddraw->key_ctrl = TRUE; ddraw->key_ctrl = TRUE;
@ -179,11 +174,8 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
mouse_unlock(); mouse_unlock();
} }
}
break; break;
case WM_KEYUP: case WM_KEYUP:
if(ddraw->windowed)
{
if(wParam == VK_CONTROL) if(wParam == VK_CONTROL)
{ {
ddraw->key_ctrl = FALSE; ddraw->key_ctrl = FALSE;
@ -192,13 +184,12 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
ddraw->key_tab = FALSE; ddraw->key_tab = FALSE;
} }
}
break; break;
case WM_LBUTTONDOWN: case WM_LBUTTONDOWN:
case WM_RBUTTONDOWN: case WM_RBUTTONDOWN:
case WM_LBUTTONUP: case WM_LBUTTONUP:
case WM_RBUTTONUP: case WM_RBUTTONUP:
if(!ddraw->locked && ddraw->windowed) if(!ddraw->locked)
{ {
mouse_lock(); mouse_lock();
return 0; return 0;