Added support for 3Dconnexion Space Navigator.
[freeglut] / src / mswin / fg_internal_mswin.h
index 3e7d5c7..c5ef600 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * freeglut_internal_mswin.h
+ * fg_internal_mswin.h
  *
  * The freeglut library private include file.
  *
 #endif
 
 
-#ifndef HAVE_VFPRINTF
-#define  HAVE_VFPRINTF 1
-#endif
-
 /* MinGW may lack a prototype for ChangeDisplaySettingsEx() (depending on the version?) */
 #if !defined(ChangeDisplaySettingsEx)
 LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
@@ -96,8 +92,15 @@ struct tagSFG_PlatformWindowState
     DWORD           OldStyleEx;         /* window Ex style - stored before the window is made fullscreen */
     BOOL            OldMaximized;       /* window maximized state - stored before the window is made fullscreen */
 
-    GLboolean       MouseTracking;      /* Needed for generating GLUT_ENTERED and GLUT_LEFT entry func callbacks on windows */
-    GLboolean       WindowFuncCalled;   /* Indicate whether windowStatus/visibility func was notified that this window was created */
+    BOOL            MouseTracking;      /* Needed for generating GLUT_ENTERED and GLUT_LEFT entry func callbacks on windows */
+
+    /* Need to store window titles to emulate
+     * glutSetIconTitle/glutSetWindowTitle as Windows has only
+     * one title associated with a window and we need to swap
+     * them out based on the window's iconic state
+     */
+    char*           WindowTitle;
+    char*           IconTitle;
 };
 
 
@@ -124,6 +127,12 @@ struct tagSFG_PlatformJoystick
 #define  FREEGLUT_MENU_PEN_HBACK_COLORS  {0.15f, 0.15f, 0.45f, 1.0f}
 
 
+/* -- PRIVATE FUNCTION DECLARATIONS ---------------------------------------- */
+/* Spaceball device functions, defined in fg_spaceball_mswin.c */
+//Added by Jinrong Xie (stonexjr @ gmail.com) 12/24/2014
+int  fgIsSpaceballWinEvent(HWND hwnd, WPARAM wParam, LPARAM lParam);
+void fgSpaceballHandleWinEvent(HWND hwnd, WPARAM wParam, LPARAM lParam);
+
 /* Function to be called on exit */
 extern void (__cdecl *__glutExitFunc)( int return_value );