diff options
Diffstat (limited to 'StarsEx/WndProc.cpp')
-rw-r--r-- | StarsEx/WndProc.cpp | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/StarsEx/WndProc.cpp b/StarsEx/WndProc.cpp index ae91a9a..0c48236 100644 --- a/StarsEx/WndProc.cpp +++ b/StarsEx/WndProc.cpp @@ -17,6 +17,12 @@ #endif +static struct { + bool maximized = false; + bool minimized = false; +} window_state; + + LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM uParam, LPARAM lParam) { @@ -54,31 +60,27 @@ WndProc(HWND hwnd, UINT message, WPARAM uParam, LPARAM lParam) // Pick up possible changes to window style due to maximize, etc. if (game && game->hwnd != NULL ) { game->window_style = GetWindowLong(game->hwnd, GWL_STYLE ); - if (uParam == SIZE_MINIMIZED) { - game->Pause(true); // Pause while we're minimized - game->is_minimized = true; - game->is_maximized = false; + game->Pause(true); + window_state.minimized = true; + window_state.maximized = false; } - else if (uParam == SIZE_MAXIMIZED) { - if (game->is_minimized) - game->Pause(false); // Unpause since we're no longer minimized - - game->is_minimized = false; - game->is_maximized = true; + if (window_state.minimized) + game->Pause(false); + window_state.minimized = false; + window_state.maximized = true; game->ResizeVideo(); } else if (uParam == SIZE_RESTORED) { - if (game->is_maximized) { - game->is_maximized = false; + if (window_state.maximized) { + window_state.maximized = false; game->ResizeVideo(); } - - else if (game->is_minimized) { - game->Pause(false); // Unpause since we're no longer minimized - game->is_minimized = false; + else if (window_state.minimized) { + game->Pause(false); + window_state.minimized = false; game->ResizeVideo(); } else { |