Changeset - r5021:7b75fbdfcb11
[Not reviewed]
master
0 1 0
Darkvater - 18 years ago 2006-11-05 01:53:12
darkvater@openttd.org
(svn r7062) -[win32] Codechange: Remove unneeded WM_MOUSEENTER event, and change mouse behaviour
a bit so that any specific windows inside (eg IME compositor) will have a cursor.
1 file changed with 6 insertions and 15 deletions:
0 comments (0 inline, 0 general)
video/win32_v.c
Show inline comments
 
@@ -180,9 +180,7 @@ int RedrawScreenDebug(void)
 
}
 
#endif
 

	
 
/* Windows 95 will not have a WM_MOUSELEAVE message, so define it if
 
 * needed. There is no such event as WM_MOUSEENTER, we just made this up :) */
 
#define WM_MOUSEENTER WM_USER + 1
 
/* Windows 95 will not have a WM_MOUSELEAVE message, so define it if needed */
 
#if !defined(WM_MOUSELEAVE)
 
#define WM_MOUSELEAVE 0x02A3
 
#endif
 
@@ -287,15 +285,12 @@ static LRESULT CALLBACK WndProcGdi(HWND 
 
			_right_button_down = false;
 
			return 0;
 

	
 
		case WM_MOUSEENTER:
 
			_cursor.in_window = true;
 
			DrawMouseCursor();
 
			break;
 

	
 
		case WM_MOUSELEAVE:
 
			UndrawMouseCursor();
 
			_cursor.in_window = false;
 
			break;
 

	
 
			if (!_left_button_down && !_right_button_down) MyShowCursor(true);
 
			return 0;
 

	
 
		case WM_MOUSEMOVE: {
 
			int x = (int16)LOWORD(lParam);
 
@@ -303,13 +298,13 @@ static LRESULT CALLBACK WndProcGdi(HWND 
 
			POINT pt;
 

	
 
			/* If the mouse was not in the window and it has moved it means it has
 
			 * come into the window, so send a WM_MOUSEENTER message. Also start
 
			 * come into the window, so start drawing the mouse. Also start
 
			 * tracking the mouse for exiting the window */
 
			if (!_cursor.in_window) {
 
				_cursor.in_window = true;
 
				SetTimer(hwnd, TID_POLLMOUSE, MOUSE_POLL_DELAY, (TIMERPROC)TrackMouseTimerProc);
 

	
 
				if (hwnd != GetCapture()) PostMessage(hwnd, WM_MOUSEENTER, 0, 0L);
 
				DrawMouseCursor();
 
			}
 

	
 
			if (_wnd.double_size) {
 
@@ -391,10 +386,6 @@ static LRESULT CALLBACK WndProcGdi(HWND 
 
			}
 
			break;
 

	
 
		case WM_NCMOUSEMOVE:
 
			MyShowCursor(true);
 
			return 0;
 

	
 
		case WM_SIZE:
 
			if (wParam != SIZE_MINIMIZED) {
 
				/* Set maximized flag when we maximize (obviously), but also when we
0 comments (0 inline, 0 general)