patched for Cygwin (Sven Panne)
authorBrian Paul <brian.paul@tungstengraphics.com>
Mon, 20 Mar 2000 19:26:01 +0000 (19:26 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Mon, 20 Mar 2000 19:26:01 +0000 (19:26 +0000)
include/GL/glut.h
src/glut/glx/glut_input.c
src/glut/glx/glut_joy.c
src/glut/glx/glutint.h
src/glut/glx/glutwin32.h
src/glut/glx/win32_util.c
src/glut/glx/win32_winproc.c

index 225bb87e52543c4d7ccfda43248f74bd5c39d94f..20605cb358d48b5a5acba1b16947559390a39a47 100644 (file)
@@ -108,7 +108,7 @@ extern _CRTIMP void __cdecl exit(int);
    and redifinition of Windows system defs, also removes requirement of
    pretty much any standard windows header from this file */
 
-#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
+#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__CYGWIN32__)
 #      define GLUTAPIENTRY __stdcall
 #else
 #      define GLUTAPIENTRY
index a8d3c61cfe4f11f65646f4c088e487862e24b32d..eea96349eaf3b9fc7ce5a0b2373e16bdb022dd8c 100644 (file)
@@ -20,7 +20,9 @@
 #include <X11/Xutil.h>
 #else
 #include <windows.h>
+#ifndef __CYGWIN32__
 #include <mmsystem.h>  /* Win32 Multimedia API header. */
+#endif
 #endif /* !_WIN32 */
 
 #include "glutint.h"
index a7db032f5341cda07b1d9fcd7dc1cf4aa6f8cfca..a6f54f4a6a1a536c9a01f3925c70707daa4407fe 100644 (file)
@@ -7,8 +7,10 @@
 
 #ifdef _WIN32
 #include <windows.h>
+#ifndef __CYGWIN32
 #include <mmsystem.h>  /* Win32 Multimedia API header. */
 #endif
+#endif
 
 #include "glutint.h"
 
index 554958ed013b8cc9f3e9b703f5cb6aa21f469914..6c825819c09495291045ba1661051cc57b0fe4c8 100644 (file)
@@ -24,7 +24,7 @@
 #define GLUT_BUILDING_LIB  /* Building the GLUT library itself. */
 #include <GL/glut.h>
 
-#if defined( MESA ) && defined( _WIN32 )
+#if defined(MESA) && defined(_WIN32) && !defined(__CYGWIN32__)
 #include <gl/mesa_wgl.h>
 #endif
 
index 08523890192bc9ed8decb0fbc8fd15d03fd85182..304eeb20a2215521f259f69c678e66ee60010113 100644 (file)
 #define XA_STRING 0
 
 /* Private routines from win32_util.c */
+#ifndef __CYGWIN32__
 extern int gettimeofday(struct timeval* tp, void* tzp);
+#endif
 extern void *__glutFont(void *font);
 extern int __glutGetTransparentPixel(Display *dpy, XVisualInfo *vinfo);
 extern void __glutAdjustCoords(Window parent, int *x, int *y, int *width, int *height);
 
+
+/* Cygwin B20.1 misses the following definitions */
+#ifdef __CYGWIN32__
+
+/* from winuser.h */
+#define CDS_FULLSCREEN 4
+
+/* from mmsystem.h */
+#define WINMMAPI __declspec(dllimport)
+typedef UINT MMRESULT;
+
+#define MM_JOY1MOVE 0x3A0
+#define MM_JOY1ZMOVE 0x3A2
+#define MM_JOY1BUTTONDOWN 0x3B5
+#define MM_JOY1BUTTONUP 0x3B7
+
+#define JOYERR_NOERROR 0
+#define JOYERR_PARMS 165
+
+#define JOY_RETURNALL 0x000000ffl
+
+#define JOYSTICKID1 0
+
+typedef struct joyinfoex_tag {
+    DWORD dwSize;                /* size of structure */
+    DWORD dwFlags;               /* flags to indicate what to return */
+    DWORD dwXpos;                /* x position */
+    DWORD dwYpos;                /* y position */
+    DWORD dwZpos;                /* z position */
+    DWORD dwRpos;                /* rudder/4th axis position */
+    DWORD dwUpos;                /* 5th axis position */
+    DWORD dwVpos;                /* 6th axis position */
+    DWORD dwButtons;             /* button states */
+    DWORD dwButtonNumber;        /* current button number pressed */
+    DWORD dwPOV;                 /* point of view state */
+    DWORD dwReserved1;           /* reserved for communication between winmm & driver */
+    DWORD dwReserved2;           /* reserved for future expansion */
+} JOYINFOEX, *PJOYINFOEX, /* NEAR */ *NPJOYINFOEX, /* FAR */ *LPJOYINFOEX;
+
+WINMMAPI MMRESULT WINAPI joyGetPosEx( UINT uJoyID, LPJOYINFOEX pji);
+WINMMAPI MMRESULT WINAPI joyReleaseCapture( UINT uJoyID);
+WINMMAPI MMRESULT WINAPI joySetCapture( HWND hwnd, UINT uJoyID, UINT uPeriod, BOOL fChanged);
+WINMMAPI MMRESULT WINAPI joySetThreshold( UINT uJoyID, UINT uThreshold);
+
+#endif
+
 #endif /* __glutwin32_h__ */
index 8dc714c035d3e36ef137c7d5e7cae2aea2939017..d05d1d1e82ba5295bd2adfa8551819c2b7382285 100644 (file)
 #include "glutint.h"
 #include "glutstroke.h"
 #include "glutbitmap.h"
-#if defined(__CYGWIN32__)
-typedef MINMAXINFO* LPMINMAXINFO;
-#else
 #include <sys/timeb.h>
-#endif
 
 /* The following added by Paul Garceau <pgarceau@teleport.com> */
 #if defined(__MINGW32__)
@@ -27,6 +23,7 @@ struct timeval;
 extern StrokeFontRec glutStrokeRoman, glutStrokeMonoRoman;
 extern BitmapFontRec glutBitmap8By13, glutBitmap9By15, glutBitmapTimesRoman10, glutBitmapTimesRoman24, glutBitmapHelvetica10, glutBitmapHelvetica12, glutBitmapHelvetica18;
 
+#ifndef __CYGWIN32__
 int
 gettimeofday(struct timeval* tp, void* tzp)
 {
@@ -39,6 +36,7 @@ gettimeofday(struct timeval* tp, void* tzp)
   /* 0 indicates that the call succeeded. */
   return 0;
 }
+#endif
 
 /* To get around the fact that Microsoft DLLs only allow functions
    to be exported and now data addresses (as Unix DSOs support), the
index 2607a205cd66239e80442309ee9f7add8fb0aa09..945b7eb9ca951129a483dfd7d6855d3dd95a07f1 100644 (file)
@@ -8,13 +8,9 @@
 
 
 #include "glutint.h"
-#if defined(__CYGWIN32__)
-typedef MINMAXINFO* LPMINMAXINFO;
-#else
 #include <sys/timeb.h>
-#endif
 
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(__CYGWIN32__)
 #include <mmsystem.h>  /* Win32 Multimedia API header. */
 #endif