Changeset - r5019:12d203ab2d4c
[Not reviewed]
master
0 1 0
Darkvater - 18 years ago 2006-11-05 01:09:57
darkvater@openttd.org
(svn r7060) -Fix (r5874): Restore of window maximized state not always working (Mart3p) . Remember
maximize state even between switching fullscreen/windowed mode.
1 file changed with 5 insertions and 7 deletions:
0 comments (0 inline, 0 general)
video/win32_v.c
Show inline comments
 
@@ -255,7 +255,6 @@ static LRESULT CALLBACK WndProcGdi(HWND 
 

	
 
		case WM_CLOSE:
 
			HandleExitGameRequest();
 
			_window_maximize = IsZoomed(_wnd.main_wnd);
 
			return 0;
 

	
 
		case WM_LBUTTONDOWN:
 
@@ -390,6 +389,9 @@ static LRESULT CALLBACK WndProcGdi(HWND 
 

	
 
		case WM_SIZE:
 
			if (wParam != SIZE_MINIMIZED) {
 
				/* Set maximized flag when we maximize (obviously), but also when we
 
				 * switched to fullscreen from a maximized state */
 
				_window_maximize = (wParam == SIZE_MAXIMIZED || (_window_maximize && _fullscreen));
 
				ClientSizeChanged(LOWORD(lParam), HIWORD(lParam));
 
			}
 
			return 0;
 
@@ -557,6 +559,8 @@ static void MakeWindow(bool full_screen)
 
			SetRect(&r, 0, 0, _wnd.width_org, _wnd.height_org);
 
		} else {
 
			style = WS_OVERLAPPEDWINDOW | WS_VISIBLE;
 
			/* On window creation, check if we were in maximize mode before */
 
			if (_window_maximize) style |= WS_MAXIMIZE;
 
			SetRect(&r, 0, 0, _wnd.width, _wnd.height);
 
		}
 

	
 
@@ -577,12 +581,6 @@ static void MakeWindow(bool full_screen)
 

	
 
			_wnd.main_wnd = CreateWindow("OTTD", Windowtitle, style, x, y, w, h, 0, 0, GetModuleHandle(NULL), 0);
 
			if (_wnd.main_wnd == NULL) error("CreateWindow failed");
 

	
 
			/* On startup let's see if we quit maximized the last time, restore that */
 
			if (_window_maximize) {
 
				ShowWindow(_wnd.main_wnd, SW_MAXIMIZE);
 
				_window_maximize = false;
 
			}
 
		}
 
	}
 
	GameSizeChanged(); // invalidate all windows, force redraw
0 comments (0 inline, 0 general)