CMake now defines HAVE_VFPRINTF for windows; suppress redefinition warning
[freeglut] / src / mswin / freeglut_internal_mswin.h
index 37a77b4..8cb3769 100644 (file)
  * compatibility.
  */
 #if !defined(_WIN32_WCE)
-#    include <windows.h>
-#    include <windowsx.h>
-#    include <mmsystem.h>
+#   include <windows.h>
+#   include <windowsx.h>
+#   include <mmsystem.h>
 /* CYGWIN does not have tchar.h, but has TEXT(x), defined in winnt.h. */
-#    ifndef __CYGWIN__
-#      include <tchar.h>
-#    else
-#      define _TEXT(x) TEXT(x)
-#      define _T(x)    TEXT(x)
-#    endif
+#   ifndef __CYGWIN__
+#       include <tchar.h>
+#   else
+#       define _TEXT(x) TEXT(x)
+#       define _T(x)    TEXT(x)
+#   endif
 
 #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);
 LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
-#    ifdef UNICODE
-#        define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
-#    else
-#        define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
-#    endif
+#   ifdef UNICODE
+#       define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
+#   else
+#       define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
+#   endif
 #endif
 
 
@@ -76,12 +78,12 @@ struct tagSFG_PlatformDisplay
  * Make "freeglut" window handle and context types so that we don't need so
  * much conditionally-compiled code later in the library.
  */
-typedef HWND    SFG_WindowHandleType ;
-typedef HGLRC   SFG_WindowContextType ;
+typedef HWND    SFG_WindowHandleType;
+typedef HGLRC   SFG_WindowContextType;
 typedef struct tagSFG_PlatformContext SFG_PlatformContext;
 struct tagSFG_PlatformContext
 {
-    HDC             Device;          /* The window's device context         */
+    HDC             Device;             /* The window's device context         */
 };
 
 
@@ -95,9 +97,28 @@ struct tagSFG_PlatformWindowState
 
 
 
+/* For "freeglut_init.c", some definitions of symbols and a prototype to emulate the X11 functionality */
+#define NoValue         0x0000
+#define XValue          0x0001
+#define YValue          0x0002
+#define WidthValue      0x0004
+#define HeightValue     0x0008
+#define AllValues       0x000F
+#define XNegative       0x0010
+#define YNegative       0x0020
+
+extern int XParseGeometry (
+    const char *string,
+    int *x,
+    int *y,
+    unsigned int *width,      /* RETURN */
+    unsigned int *height);    /* RETURN */
+
+
+
 /* Joystick-Specific Definitions */
 #if !defined(_WIN32_WCE)
-#    define _JS_MAX_AXES  8
+#   define _JS_MAX_AXES  8
 typedef struct tagSFG_PlatformJoystick SFG_PlatformJoystick;
 struct tagSFG_PlatformJoystick
 {
@@ -121,4 +142,4 @@ struct tagSFG_PlatformJoystick
 extern void (__cdecl *__glutExitFunc)( int return_value );
 
 
-#endif  /* FREEGLUT_INTERNAL_MSWIN_H */
\ No newline at end of file
+#endif  /* FREEGLUT_INTERNAL_MSWIN_H */