X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=include%2FGL%2Ffreeglut_ext.h;h=9353d22d99c277fe323808ad61a9810484c95b84;hb=aa2b6e6509639152662dce4ea66bc16c4ca9fd9f;hp=384bfa1f9b90b004afd06d7b95e960eba03a7459;hpb=30971e75717f3d7b826714fbbb1171dfaf9164cf;p=freeglut diff --git a/include/GL/freeglut_ext.h b/include/GL/freeglut_ext.h index 384bfa1..9353d22 100644 --- a/include/GL/freeglut_ext.h +++ b/include/GL/freeglut_ext.h @@ -33,6 +33,19 @@ #endif /* + * Additional GLUT Key definitions for the Special key function + */ +#define GLUT_KEY_NUM_LOCK 0x006D +#define GLUT_KEY_BEGIN 0x006E +#define GLUT_KEY_DELETE 0x006F +#define GLUT_KEY_SHIFT_L 0x0070 +#define GLUT_KEY_SHIFT_R 0x0071 +#define GLUT_KEY_CTRL_L 0x0072 +#define GLUT_KEY_CTRL_R 0x0073 +#define GLUT_KEY_ALT_L 0x0074 +#define GLUT_KEY_ALT_R 0x0075 + +/* * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window */ #define GLUT_ACTION_EXIT 0 @@ -68,6 +81,8 @@ #define GLUT_RENDERING_CONTEXT 0x01FD #define GLUT_DIRECT_RENDERING 0x01FE +#define GLUT_FULL_SCREEN 0x01FF + /* * New tokens for glutInitDisplayMode. * Only one GLUT_AUXn bit may be used at a time. @@ -80,6 +95,27 @@ #define GLUT_AUX3 0x4000 #define GLUT_AUX4 0x8000 +/* + * Context-related flags, see freeglut_state.c + * Set the requested OpenGL version + */ +#define GLUT_INIT_MAJOR_VERSION 0x0200 +#define GLUT_INIT_MINOR_VERSION 0x0201 +#define GLUT_INIT_FLAGS 0x0202 +#define GLUT_INIT_PROFILE 0x0203 + +/* + * Flags for glutInitContextFlags, see freeglut_init.c + */ +#define GLUT_DEBUG 0x0001 +#define GLUT_FORWARD_COMPATIBLE 0x0002 + + +/* + * Flags for glutInitContextProfile, see freeglut_init.c + */ +#define GLUT_CORE_PROFILE 0x0001 +#define GLUT_COMPATIBILITY_PROFILE 0x0002 /* * Process loop function, see freeglut_main.c @@ -89,6 +125,12 @@ FGAPI void FGAPIENTRY glutLeaveMainLoop( void ); FGAPI void FGAPIENTRY glutExit ( void ); /* + * Window management functions, see freeglut_window.c + */ +FGAPI void FGAPIENTRY glutFullScreenToggle( void ); +FGAPI void FGAPIENTRY glutLeaveFullScreen( void ); + +/* * Window-specific callback functions, see freeglut_callbacks.c */ FGAPI void FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); @@ -121,10 +163,18 @@ FGAPI void FGAPIENTRY glutStrokeString( void* font, const unsigned char *stri */ FGAPI void FGAPIENTRY glutWireRhombicDodecahedron( void ); FGAPI void FGAPIENTRY glutSolidRhombicDodecahedron( void ); + +#ifdef EGL_VERSION_1_0 +/* TODO: temporary work-around for missing GLdouble in GLES */ +# define GLdouble GLfloat +#endif FGAPI void FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ); FGAPI void FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ); FGAPI void FGAPIENTRY glutWireCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks); FGAPI void FGAPIENTRY glutSolidCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks); +#ifdef EGL_VERSION_1_0 +# undef GLdouble +#endif /* * Extension functions, see freeglut_ext.c @@ -133,6 +183,17 @@ typedef void (*GLUTproc)(); FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); /* + * Multi-touch/multi-pointer extensions + */ + +#define GLUT_HAS_MULTI 1 + +FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) ); +FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) ); +FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) ); +FGAPI void FGAPIENTRY glutMultiPassiveFunc( void (* callback)( int, int, int ) ); + +/* * Joystick functions, see freeglut_joystick.c */ /* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */ @@ -155,6 +216,26 @@ void glutJoystickGetMinRange( int ident, float *axes ); void glutJoystickGetMaxRange( int ident, float *axes ); void glutJoystickGetCenter( int ident, float *axes ); +/* + * Initialization functions, see freeglut_init.c + */ +FGAPI void FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVersion ); +FGAPI void FGAPIENTRY glutInitContextFlags( int flags ); +FGAPI void FGAPIENTRY glutInitContextProfile( int profile ); + +/* to get the typedef for va_list */ +#include + +FGAPI void FGAPIENTRY glutInitErrorFunc( void (* vError)( const char *fmt, va_list ap ) ); +FGAPI void FGAPIENTRY glutInitWarningFunc( void (* vWarning)( const char *fmt, va_list ap ) ); + +/* + * GLUT API macro definitions -- the display mode definitions + */ +#define GLUT_CAPTIONLESS 0x0400 +#define GLUT_BORDERLESS 0x0800 +#define GLUT_SRGB 0x1000 + #ifdef __cplusplus } #endif