Putting the definition of "HAVE_VFPRINTF" back in (and adding the errant "F") per...
[freeglut] / src / freeglut_internal.h
index 0ec9cc2..c3c933f 100644 (file)
@@ -28,7 +28,7 @@
 #ifndef  FREEGLUT_INTERNAL_H
 #define  FREEGLUT_INTERNAL_H
 
-#if HAVE_CONFIG_H
+#ifdef HAVE_CONFIG_H
 #    include "config.h"
 #endif
 
@@ -41,6 +41,7 @@
 /* XXX: Don't all MS-Windows compilers (except Cygwin) have _WIN32 defined?
  * XXX: If so, remove the first set of defined()'s below.
  */
+#if !defined(TARGET_HOST_POSIX_X11) && !defined(TARGET_HOST_MS_WINDOWS) && !defined(TARGET_HOST_MAC_OSX) && !defined(TARGET_HOST_SOLARIS)
 #if defined(_MSC_VER) || defined(__WATCOMC__) || defined(__MINGW32__) \
     || defined(_WIN32) || defined(_WIN32_WCE) \
     || ( defined(__CYGWIN__) && defined(X_DISPLAY_MISSING) )
@@ -56,7 +57,8 @@
 
 #else
 #   error "Unrecognized target host!"
-*/
+
+#endif
 #endif
 
 /* Detect both SunPro and gcc compilers on Sun Solaris */
 
 /* -- PLATFORM-SPECIFIC INCLUDES ------------------------------------------- */
 
-/* All Win32 headers depend on the huge Windows.h recursive include.
- * Note: Let's use proper case for MS-Win headers. Even though it's
- * not required due to case insensitivity, it's a good habit to keep
- * because the cross-platform includes are case sensitive.
+/* All Win32 headers depend on the huge windows.h recursive include.
+ * Note: Lower-case header names are used, for best cross-platform
+ * compatibility.
  */
 #if TARGET_HOST_MS_WINDOWS && !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>
 #    include <X11/Xatom.h>
 #    include <X11/keysym.h>
 #    include <X11/extensions/XInput.h>
-#    ifdef HAVE_X11_EXTENSIONS_XF86VMODE_H
+#    ifdef HAVE_XXF86VM
 #        include <X11/extensions/xf86vmode.h>
 #    endif
 /* If GLX is too old, we will fail during runtime when multisampling
 #include <stdlib.h>
 
 /* These are included based on autoconf directives. */
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 #    include <sys/types.h>
 #endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_UNISTD_H
 #    include <unistd.h>
 #endif
-#if TIME_WITH_SYS_TIME
+#ifdef TIME_WITH_SYS_TIME
 #    include <sys/time.h>
 #    include <time.h>
-#elif HAVE_SYS_TIME_H
+#elif defined(HAVE_SYS_TIME_H)
 #    include <sys/time.h>
 #else
 #    include <time.h>
 #endif
 
 #if TARGET_HOST_MS_WINDOWS
-#    define  HAVE_VPRINTF 1
-#endif
-
-#if !defined(HAVE_VPRINTF) && !defined(HAVE_DOPRNT)
-/* XXX warning directive here? */
-#    define  HAVE_VPRINTF 1
+#    define  HAVE_VFPRINTF 1
 #endif
 
 /* MinGW may lack a prototype for ChangeDisplaySettingsEx() (depending on the version?) */
@@ -189,12 +185,21 @@ LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
 #    define  M_PI  3.14159265358979323846
 #endif
 
-#ifndef TRUE
-#    define  TRUE  1
-#endif
-
-#ifndef FALSE
-#    define  FALSE  0
+#ifdef HAVE_STDBOOL_H
+#    include <stdbool.h>
+#    ifndef TRUE
+#        define TRUE true
+#    endif
+#    ifndef FALSE
+#        define FALSE false
+#    endif
+#else
+#    ifndef TRUE
+#        define  TRUE  1
+#    endif
+#    ifndef FALSE
+#        define  FALSE  0
+#    endif
 #endif
 
 /* General defines */
@@ -318,6 +323,7 @@ struct tagSFG_State
     fgExecutionState ExecState;           /* Used for GLUT termination       */
     char            *ProgramName;         /* Name of the invoking program    */
     GLboolean        JoysticksInitialised;  /* Only initialize if application calls for them */
+    int              NumActiveJoysticks;    /* Number of active joysticks -- if zero, don't poll joysticks */
     GLboolean        InputDevsInitialised;  /* Only initialize if application calls for them */
 
     int              AuxiliaryBufferNumber;  /* Number of auxiliary buffers */
@@ -360,6 +366,7 @@ struct tagSFG_Display
 #elif TARGET_HOST_MS_WINDOWS
     HINSTANCE        Instance;          /* The application's instance        */
     DEVMODE         DisplayMode;        /* Desktop's display settings        */
+    char           *DisplayName;        /* Display name for multi display support*/ 
 
 #endif