X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=include%2FGL%2Ffreeglut_ext.h;h=255edea4f7ad0f3a31d1f94a604624e7774c32a7;hb=76bb5e2f2b60a3cb15fe7fa0142d80a89065cf30;hp=9c3eee14b835b67871aa9dcfbc0b07b5d7092fd5;hpb=223d7dc01950904a061a1151955f24c4a098c3e4;p=freeglut diff --git a/include/GL/freeglut_ext.h b/include/GL/freeglut_ext.h index 9c3eee1..255edea 100644 --- a/include/GL/freeglut_ext.h +++ b/include/GL/freeglut_ext.h @@ -90,6 +90,8 @@ #define GLUT_STROKE_FONT_DRAW_JOIN_DOTS 0x0206 /* Draw dots between line segments of stroke fonts? */ +#define GLUT_ALLOW_NEGATIVE_WINDOW_POSITION 0x0207 /* GLUT doesn't allow negative window positions by default */ + /* * New tokens for glutInitDisplayMode. * Only one GLUT_AUXn bit may be used at a time. @@ -103,7 +105,7 @@ #define GLUT_AUX4 0x8000 /* - * Context-related flags, see freeglut_state.c + * Context-related flags, see fg_state.c * Set the requested OpenGL version */ #define GLUT_INIT_MAJOR_VERSION 0x0200 @@ -112,27 +114,37 @@ #define GLUT_INIT_PROFILE 0x0203 /* - * Flags for glutInitContextFlags, see freeglut_init.c + * Flags for glutInitContextFlags, see fg_init.c */ #define GLUT_DEBUG 0x0001 #define GLUT_FORWARD_COMPATIBLE 0x0002 /* - * Flags for glutInitContextProfile, see freeglut_init.c + * Flags for glutInitContextProfile, see fg_init.c */ #define GLUT_CORE_PROFILE 0x0001 #define GLUT_COMPATIBILITY_PROFILE 0x0002 /* - * Process loop function, see freeglut_main.c +* GLUT API Extension macro definitions -- Spaceball button definitions +*/ + +#define GLUT_SPACEBALL_BUTTON_A 0x0001 +#define GLUT_SPACEBALL_BUTTON_B 0x0002 +#define GLUT_SPACEBALL_BUTTON_C 0x0004 +#define GLUT_SPACEBALL_BUTTON_D 0x0008 +#define GLUT_SPACEBALL_BUTTON_E 0x0010 + +/* + * Process loop function, see fg_main.c */ FGAPI void FGAPIENTRY glutMainLoopEvent( void ); FGAPI void FGAPIENTRY glutLeaveMainLoop( void ); FGAPI void FGAPIENTRY glutExit ( void ); /* - * Window management functions, see freeglut_window.c + * Window management functions, see fg_window.c */ FGAPI void FGAPIENTRY glutFullScreenToggle( void ); FGAPI void FGAPIENTRY glutLeaveFullScreen( void ); @@ -143,7 +155,7 @@ FGAPI void FGAPIENTRY glutLeaveFullScreen( void ); FGAPI void FGAPIENTRY glutSetMenuFont( int menuID, void* font ); /* - * Window-specific callback functions, see freeglut_callbacks.c + * Window-specific callback functions, see fg_callbacks.c */ FGAPI void FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); FGAPI void FGAPIENTRY glutPositionFunc( void (* callback)( int, int ) ); @@ -153,7 +165,7 @@ FGAPI void FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) ); FGAPI void FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) ); /* - * State setting and retrieval functions, see freeglut_state.c + * State setting and retrieval functions, see fg_state.c */ FGAPI void FGAPIENTRY glutSetOption ( GLenum option_flag, int value ); FGAPI int * FGAPIENTRY glutGetModeValues(GLenum mode, int * size); @@ -164,7 +176,7 @@ FGAPI void* FGAPIENTRY glutGetMenuData( void ); FGAPI void FGAPIENTRY glutSetMenuData(void* data); /* - * Font stuff, see freeglut_font.c + * Font stuff, see fg_font.c */ FGAPI int FGAPIENTRY glutBitmapHeight( void* font ); FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font ); @@ -172,7 +184,7 @@ FGAPI void FGAPIENTRY glutBitmapString( void* font, const unsigned char *stri FGAPI void FGAPIENTRY glutStrokeString( void* font, const unsigned char *string ); /* - * Geometry functions, see freeglut_geometry.c + * Geometry functions, see fg_geometry.c */ FGAPI void FGAPIENTRY glutWireRhombicDodecahedron( void ); FGAPI void FGAPIENTRY glutSolidRhombicDodecahedron( void ); @@ -182,7 +194,7 @@ FGAPI void FGAPIENTRY glutWireCylinder( double radius, double height, GLint s FGAPI void FGAPIENTRY glutSolidCylinder( double radius, double height, GLint slices, GLint stacks); /* - * Rest of functions for rendering Newell's teaset, found in freeglut_teapot.c + * Rest of functions for rendering Newell's teaset, found in fg_teapot.c * NB: front facing polygons have clockwise winding, not counter clockwise */ FGAPI void FGAPIENTRY glutWireTeacup( double size ); @@ -191,7 +203,7 @@ FGAPI void FGAPIENTRY glutWireTeaspoon( double size ); FGAPI void FGAPIENTRY glutSolidTeaspoon( double size ); /* - * Extension functions, see freeglut_ext.c + * Extension functions, see fg_ext.c */ typedef void (*GLUTproc)(); FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); @@ -202,7 +214,7 @@ FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); #define GLUT_HAS_MULTI 1 -/* TODO: add device_id paramater, +/* TODO: add device_id parameter, cf. http://sourceforge.net/mailarchive/forum.php?thread_name=20120518071314.GA28061%40perso.beuc.net&forum_name=freeglut-developer */ FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) ); FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) ); @@ -210,7 +222,7 @@ FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) ); FGAPI void FGAPIENTRY glutMultiPassiveFunc( void (* callback)( int, int, int ) ); /* - * Joystick functions, see freeglut_joystick.c + * Joystick functions, see fg_joystick.c */ /* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */ /* If you have a serious need for these functions in your application, please either @@ -233,7 +245,7 @@ void glutJoystickGetMaxRange( int ident, float *axes ); void glutJoystickGetCenter( int ident, float *axes ); /* - * Initialization functions, see freeglut_init.c + * Initialization functions, see fg_init.c */ /* to get the typedef for va_list */ #include @@ -262,6 +274,9 @@ FGAPI void FGAPIENTRY glutAppStatusFunc(void (* callback)(int)); #define GLUT_BORDERLESS 0x0800 #define GLUT_SRGB 0x1000 +/* User-argument callbacks and implementation */ +#include "freeglut_ucall.h" + #ifdef __cplusplus } #endif