X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=cb294aa0ba93a0b786f783dcf3b047ff05ae2f11;hb=fc6f0b39d73b3d9f6ee900f23015fac4f692c644;hp=770e9084236d71fd69fb044b3afa686ba5246a93;hpb=30971e75717f3d7b826714fbbb1171dfaf9164cf;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index 770e908..cb294aa 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -34,7 +34,7 @@ /* XXX Update these for each release! */ #define VERSION_MAJOR 2 -#define VERSION_MINOR 4 +#define VERSION_MINOR 6 #define VERSION_PATCH 0 /* Freeglut is intended to function under all Unix/X11 and Win32 platforms. */ @@ -57,6 +57,11 @@ */ #endif +/* Detect both SunPro and gcc compilers on Sun Solaris */ +#if defined (__SVR4) && defined (__sun) +# define TARGET_HOST_SOLARIS 1 +#endif + #ifndef TARGET_HOST_MS_WINDOWS # define TARGET_HOST_MS_WINDOWS 0 #endif @@ -69,6 +74,10 @@ # define TARGET_HOST_MAC_OSX 0 #endif +#ifndef TARGET_HOST_SOLARIS +# define TARGET_HOST_SOLARIS 0 +#endif + /* -- FIXED CONFIGURATION LIMITS ------------------------------------------- */ #define FREEGLUT_MAX_MENUS 3 @@ -101,12 +110,18 @@ # ifdef HAVE_X11_EXTENSIONS_XF86VMODE_H # include # endif +/* If GLX is too old, we will fail during runtime when multisampling + is requested, but at least freeglut compiles. */ +# ifndef GLX_SAMPLE_BUFFERS +# define GLX_SAMPLE_BUFFERS 0x80A8 +# endif +# ifndef GLX_SAMPLES +# define GLX_SAMPLES 0x80A9 +# endif #endif /* These files should be available on every platform. */ -#include -#include #include #include #include @@ -305,6 +320,10 @@ struct tagSFG_State int AuxiliaryBufferNumber; /* Number of auxiliary buffers */ int SampleNumber; /* Number of samples per pixel */ + + int MajorVersion; /* Major OpenGL context version */ + int MinorVersion; /* Minor OpenGL context version */ + int ContextFlags; /* OpenGL context flags */ }; /* The structure used by display initialization in freeglut_init.c */ @@ -317,6 +336,8 @@ struct tagSFG_Display Window RootWindow; /* The screen's root window. */ int Connection; /* The display's connection number */ Atom DeleteWindow; /* The window deletion atom */ + Atom State; /* The state atom */ + Atom StateFullScreen; /* The full screen atom */ #ifdef X_XF86VidModeGetModeLine /* @@ -792,6 +813,7 @@ GLXFBConfig* fgChooseFBConfig( void ); #if TARGET_HOST_MS_WINDOWS LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); +void fgNewWGLCreateContext( SFG_Window* window ); GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly, unsigned char layer_type ); #endif @@ -902,6 +924,19 @@ void fgListInsert(SFG_List *list, SFG_Node *next, SFG_Node *node); void fgError( const char *fmt, ... ); void fgWarning( const char *fmt, ... ); +/* + * Check if "hint" is present in "property" for "window". See freeglut_init.c + */ +#if TARGET_HOST_POSIX_X11 +int fgHintPresent(Window window, Atom property, Atom hint); +#endif + +SFG_Proc fghGetProcAddress( const char *procName ); + +#if TARGET_HOST_MS_WINDOWS +extern void (__cdecl *__glutExitFunc)( int return_value ); +#endif + #endif /* FREEGLUT_INTERNAL_H */ /*** END OF FILE ***/