X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=include%2FGL%2Ffreeglut_std.h;h=f79923394fdcbbd7072f970e1635abdc76edc25b;hb=43bba79f58ea3c6d188bfd295d4c9f74730d9189;hp=62c6fcd29c558678d01233359d965a6346c2b4e0;hpb=ee83427d3c6e31a51ec1a38197208ce2990fda22;p=freeglut diff --git a/include/GL/freeglut_std.h b/include/GL/freeglut_std.h index 62c6fcd..f799233 100644 --- a/include/GL/freeglut_std.h +++ b/include/GL/freeglut_std.h @@ -35,40 +35,75 @@ /* * Under windows, we have to differentiate between static and dynamic libraries */ -#if defined(WIN32) -# include -# include -# include -# define WINDOWS -#ifdef FREEGLUT_STATIC -# define FGAPI -# define FGAPIENTRY - -# pragma comment (lib, "freeglut_static.lib") /* link with Win32 static freeglut lib */ +#ifdef _WIN32 +/* #pragma may not be supported by some compilers. + * Discussion by FreeGLUT developers suggests that + * Visual C++ specific code involving pragmas may + * need to move to a separate header. 24th Dec 2003 + */ + +/* Define FREEGLUT_LIB_PRAGMAS to 1 to include library + * pragmas or to 1 to exclude library pragmas. + * The default behavior depends on the compiler/platform. + */ +# ifndef FREEGLUT_LIB_PRAGMAS +# if ( defined(_MSC_VER) || defined(__WATCOMC__) ) && !defined(_WIN32_WCE) +# define FREEGLUT_LIB_PRAGMAS 1 +# else +# define FREEGLUT_LIB_PRAGMAS 0 +# endif +# endif + +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN 1 +# endif +# define NOMINMAX +# include + +/* Windows static library */ +# ifdef FREEGLUT_STATIC + +# define FGAPI +# define FGAPIENTRY + + /* Link with Win32 static freeglut lib */ +# if FREEGLUT_LIB_PRAGMAS +# pragma comment (lib, "freeglut_static.lib") +# endif + +/* Windows shared library (DLL) */ +# else + +# define FGAPIENTRY __stdcall +# if defined(FREEGLUT_EXPORTS) +# define FGAPI __declspec(dllexport) +# else +# define FGAPI __declspec(dllimport) + + /* Link with Win32 shared freeglut lib */ +# if FREEGLUT_LIB_PRAGMAS +# pragma comment (lib, "freeglut.lib") +# endif + +# endif + +# endif + +/* Drag in other Windows libraries as required by FreeGLUT */ +# if FREEGLUT_LIB_PRAGMAS +# pragma comment (lib, "glu32.lib") /* link OpenGL Utility lib */ +# pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib */ +# pragma comment (lib, "gdi32.lib") /* link Windows GDI lib */ +# pragma comment (lib, "winmm.lib") /* link Windows MultiMedia lib */ +# pragma comment (lib, "user32.lib") /* link Windows user lib */ +# endif #else -# if defined(FREEGLUT_EXPORTS) -# define FGAPI __declspec(dllexport) -/* # define FGAPI */ -# else -# define FGAPI __declspec(dllimport) -# pragma comment (lib, "freeglut.lib") /* link with Win32 freeglut lib */ -# endif -# define FGAPIENTRY __stdcall - -#endif - -#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ -#pragma comment (lib, "user32.lib") /* link with Windows user lib */ -#pragma comment (lib, "gdi32.lib") /* link with Windows GDI lib */ -#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ -#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */ - +/* Non-Windows definition of FGAPI and FGAPIENTRY */ +# define FGAPI +# define FGAPIENTRY -#else -# define FGAPI -# define FGAPIENTRY #endif /* @@ -77,6 +112,7 @@ #define FREEGLUT 1 #define GLUT_API_VERSION 4 #define FREEGLUT_VERSION_2_0 1 +#define GLUT_XLIB_IMPLEMENTATION 13 /* * Always include OpenGL and GLU headers @@ -135,6 +171,8 @@ #define GLUT_MULTISAMPLE 0x0080 #define GLUT_STEREO 0x0100 #define GLUT_LUMINANCE 0x0200 +#define GLUT_CAPTIONLESS 0x0400 +#define GLUT_BORDERLESS 0x0800 /* * GLUT API macro definitions -- windows and menu related definitions @@ -153,7 +191,7 @@ * * Steve Baker suggested to make it binary compatible with GLUT: */ -#if defined(WIN32) +#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) # define GLUT_STROKE_ROMAN ((void *)0x0000) # define GLUT_STROKE_MONO_ROMAN ((void *)0x0001) # define GLUT_BITMAP_9_BY_15 ((void *)0x0002) @@ -231,7 +269,6 @@ #define GLUT_INIT_DISPLAY_MODE 0x01F8 #define GLUT_ELAPSED_TIME 0x02BC #define GLUT_WINDOW_FORMAT_ID 0x007B -#define GLUT_INIT_STATE 0x007C /* * GLUT API macro definitions -- the glutDeviceGet parameters @@ -528,7 +565,7 @@ FGAPI void FGAPIENTRY glutCopyColormap( int window ); * Misc keyboard and joystick functions, see freeglut_misc.c */ FGAPI void FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); -FGAPI void FGAPIENTRY glutSetKeyRepeat( int repeatMode ); /* DEPRECATED 11/4/02 - Do not use */ +FGAPI void FGAPIENTRY glutSetKeyRepeat( int repeatMode ); FGAPI void FGAPIENTRY glutForceJoystickFunc( void ); /*