fixed unsafe usage of malloc() pointed out by jtsiomb.
[freeglut] / src / mswin / fg_internal_mswin.h
index 571db40..912b6f7 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);
@@ -91,8 +87,20 @@ struct tagSFG_PlatformContext
 typedef struct tagSFG_PlatformWindowState SFG_PlatformWindowState;
 struct tagSFG_PlatformWindowState
 {
-    RECT            OldRect;            /* window rect  - stored before the window is made fullscreen */
-    DWORD           OldStyle;           /* window style - stored before the window is made fullscreen */
+    RECT            OldRect;            /* window rect     - stored before the window is made fullscreen */
+    DWORD           OldStyle;           /* window style    - stored before the window is made fullscreen */
+    DWORD           OldStyleEx;         /* window Ex style - stored before the window is made fullscreen */
+    BOOL            OldMaximized;       /* window maximized state - stored before the window is made fullscreen */
+
+    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;
 };
 
 
@@ -119,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 at 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 );