X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=0ec9cc2c7fa794b3104f6899aaf2c8e37b3a9342;hb=ac26c64653954569627ad5413240cbd8453cd814;hp=0b2662605a4b0b19c757f855dc2d979b48146d68;hpb=929b4d880cc9bc99c3f4db62855b3d2445e9398d;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index 0b26626..0ec9cc2 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 6 +#define VERSION_MINOR 7 #define VERSION_PATCH 0 /* Freeglut is intended to function under all Unix/X11 and Win32 platforms. */ @@ -49,9 +49,11 @@ #elif defined(__posix__) || defined(__unix__) || defined(__linux__) # define TARGET_HOST_POSIX_X11 1 -/* FIXME: no Macintosh support? -#if ... -# define TARGET_HOST_MAC_OSX 1 +#elif defined(__APPLE__) +/* This is a placeholder until we get native OSX support ironed out -- JFF 11/18/09 */ +# define TARGET_HOST_POSIX_X11 1 +/* # define TARGET_HOST_MAC_OSX 1 */ + #else # error "Unrecognized target host!" */ @@ -324,6 +326,7 @@ struct tagSFG_State int MajorVersion; /* Major OpenGL context version */ int MinorVersion; /* Minor OpenGL context version */ int ContextFlags; /* OpenGL context flags */ + int ContextProfile; /* OpenGL context profile */ }; /* The structure used by display initialization in freeglut_init.c */ @@ -435,6 +438,8 @@ struct tagSFG_WindowState GLboolean KeyRepeating; /* Currently in repeat mode */ GLboolean NeedToResize; /* Do we need to resize the window? */ + + GLboolean IsFullscreen; /* is the window fullscreen? */ }; @@ -563,9 +568,9 @@ enum /* Presently ignored */ CB_Select, CB_OverlayDisplay, - CB_SpaceMotion, - CB_SpaceRotation, - CB_SpaceButton, + CB_SpaceMotion, /* presently implemented only on UNIX/X11 */ + CB_SpaceRotation, /* presently implemented only on UNIX/X11 */ + CB_SpaceButton, /* presently implemented only on UNIX/X11 */ CB_Dials, CB_ButtonBox, CB_TabletMotion, @@ -852,6 +857,19 @@ int fgInputDeviceDetect( void ); void fgInitialiseInputDevices( void ); void fgInputDeviceClose( void ); +/* spaceball device functions, defined in freeglut_spaceball.c */ +void fgInitialiseSpaceball( void ); +void fgSpaceballClose( void ); +void fgSpaceballSetWindow( SFG_Window *window ); + +int fgHasSpaceball( void ); +int fgSpaceballNumButtons( void ); + +#if TARGET_HOST_POSIX_X11 +int fgIsSpaceballXEvent( const XEvent *ev ); +void fgSpaceballHandleXEvent( const XEvent *ev ); +#endif + /* Setting the cursor for a given window */ void fgSetCursor ( SFG_Window *window, int cursorID ); @@ -933,7 +951,7 @@ int fgHintPresent(Window window, Atom property, Atom hint); SFG_Proc fghGetProcAddress( const char *procName ); -#ifdef _WIN32 +#if TARGET_HOST_MS_WINDOWS extern void (__cdecl *__glutExitFunc)( int return_value ); #endif