#ifndef FREEGLUT_INTERNAL_MSWIN_H\r
#define FREEGLUT_INTERNAL_MSWIN_H\r
\r
+\r
+/* All Win32 headers depend on the huge windows.h recursive include.\r
+ * Note: Lower-case header names are used, for best cross-platform\r
+ * compatibility.\r
+ */\r
+#if !defined(_WIN32_WCE)\r
+# include <windows.h>\r
+# include <windowsx.h>\r
+# include <mmsystem.h>\r
+/* CYGWIN does not have tchar.h, but has TEXT(x), defined in winnt.h. */\r
+# ifndef __CYGWIN__\r
+# include <tchar.h>\r
+# else\r
+# define _TEXT(x) TEXT(x)\r
+# define _T(x) TEXT(x)\r
+# endif\r
+\r
+#endif\r
+\r
+\r
+#define HAVE_VFPRINTF 1\r
+\r
+/* MinGW may lack a prototype for ChangeDisplaySettingsEx() (depending on the version?) */\r
+#if !defined(ChangeDisplaySettingsEx)\r
+LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);\r
+LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);\r
+# ifdef UNICODE\r
+# define ChangeDisplaySettingsEx ChangeDisplaySettingsExW\r
+# else\r
+# define ChangeDisplaySettingsEx ChangeDisplaySettingsExA\r
+# endif\r
+#endif\r
+\r
+\r
+/* Structure Definitions */\r
+\r
typedef struct tagSFG_PlatformDisplay SFG_PlatformDisplay;\r
struct tagSFG_PlatformDisplay\r
{\r
};\r
\r
\r
+/* Window's state description. This structure should be kept portable. */\r
+typedef struct tagSFG_PlatformWindowState SFG_PlatformWindowState;\r
+struct tagSFG_PlatformWindowState\r
+{\r
+ RECT OldRect; /* window rect - stored before the window is made fullscreen */\r
+ DWORD OldStyle; /* window style - stored before the window is made fullscreen */\r
+};\r
+\r
+\r
+\r
/* Joystick-Specific Definitions */\r
#if !defined(_WIN32_WCE)\r
# define _JS_MAX_AXES 8\r