minor update making code more compact.
[freeglut] / src / mswin / fg_main_mswin.c
index 137fc06..247312d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * freeglut_main_mswin.c
+ * fg_main_mswin.c
  *
  * The Windows-specific mouse cursor related stuff.
  *
@@ -1543,6 +1543,14 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
                break;
        }
 #endif
+       //Added by Jinrong Xie (stonexjr@gmail.com) 12/24/2014
+       //for SpaceNavigator support on Windows.
+       case WM_INPUT:
+               if (fgHasSpaceball())
+               {
+                       fgSpaceballHandleWinEvent(hWnd, wParam, lParam);
+               }
+               break;
     default:
         /* Handle unhandled messages */
         lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
@@ -1640,8 +1648,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
             /* For fullscreen mode, find the monitor that is covered the most
                 * by the window and get its rect as the resize target.
                    */
-            GetWindowRect(window->Window.Handle, &rect);
-            hMonitor= MonitorFromRect(&rect, MONITOR_DEFAULTTONEAREST);
+            hMonitor= MonitorFromWindow(window->Window.Handle, MONITOR_DEFAULTTONEAREST);
             mi.cbSize = sizeof(mi);
             GetMonitorInfo(hMonitor, &mi);
             rect = mi.rcMonitor;
@@ -1759,8 +1766,8 @@ void fgPlatformVisibilityWork(SFG_Window* window)
             win = win->Parent;
         break;
     case DesireNormalState:
-        if (win->IsMenu && (!fgStructure.GameModeWindow || win->ActiveMenu->ParentWindow != fgStructure.GameModeWindow))
-            cmdShow = SW_SHOWNA;    /* Just show, don't activate window if its a menu. Only exception is when the parent is a gamemode window as the menu would pop under it when we do this... */
+        if (win->IsMenu && !fgStructure.GameModeWindow)
+            cmdShow = SW_SHOWNA;    /* Just show, don't activate window if its a menu. Only exception is when there is a gamemode window as the menu would pop under it when we do this... */
         else
             cmdShow = SW_SHOW;
         break;