X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=include%2FGL%2Ffreeglut_ext.h;h=255edea4f7ad0f3a31d1f94a604624e7774c32a7;hb=76bb5e2f2b60a3cb15fe7fa0142d80a89065cf30;hp=db9c7dbfe58504eb796b1413504e02ee3d9c40dc;hpb=aee00443ad278d5a51f17261b4f2f2d87be73ad3;p=freeglut diff --git a/include/GL/freeglut_ext.h b/include/GL/freeglut_ext.h index db9c7db..255edea 100644 --- a/include/GL/freeglut_ext.h +++ b/include/GL/freeglut_ext.h @@ -88,6 +88,10 @@ #define GLUT_GEOMETRY_VISUALIZE_NORMALS 0x0205 +#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. @@ -101,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 @@ -110,33 +114,48 @@ #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 ); /* - * Window-specific callback functions, see freeglut_callbacks.c + * Menu functions + */ +FGAPI void FGAPIENTRY glutSetMenuFont( int menuID, void* font ); + +/* + * 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 ) ); @@ -146,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); @@ -157,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 ); @@ -165,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 ); @@ -175,7 +194,16 @@ FGAPI void FGAPIENTRY glutWireCylinder( double radius, double height, GLint s FGAPI void FGAPIENTRY glutSolidCylinder( double radius, double height, GLint slices, GLint stacks); /* - * Extension functions, see freeglut_ext.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 ); +FGAPI void FGAPIENTRY glutSolidTeacup( double size ); +FGAPI void FGAPIENTRY glutWireTeaspoon( double size ); +FGAPI void FGAPIENTRY glutSolidTeaspoon( double size ); + +/* + * Extension functions, see fg_ext.c */ typedef void (*GLUTproc)(); FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); @@ -186,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 ) ); @@ -194,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 @@ -217,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 @@ -230,11 +258,14 @@ FGAPI void FGAPIENTRY glutInitWarningFunc( void (* callback)( const char *fmt /* OpenGL >= 2.0 support */ FGAPI void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib); FGAPI void FGAPIENTRY glutSetVertexAttribNormal(GLint attrib); +FGAPI void FGAPIENTRY glutSetVertexAttribTexCoord2(GLint attrib); /* Mobile platforms lifecycle */ FGAPI void FGAPIENTRY glutInitContextFunc(void (* callback)()); -FGAPI void FGAPIENTRY glutPauseFunc(void (* callback)()); -FGAPI void FGAPIENTRY glutResumeFunc(void (* callback)()); +FGAPI void FGAPIENTRY glutAppStatusFunc(void (* callback)(int)); +/* state flags that can be passed to callback set by glutAppStatusFunc */ +#define GLUT_APPSTATUS_PAUSE 0x0001 +#define GLUT_APPSTATUS_RESUME 0x0002 /* * GLUT API macro definitions -- the display mode definitions @@ -243,6 +274,9 @@ FGAPI void FGAPIENTRY glutResumeFunc(void (* callback)()); #define GLUT_BORDERLESS 0x0800 #define GLUT_SRGB 0x1000 +/* User-argument callbacks and implementation */ +#include "freeglut_ucall.h" + #ifdef __cplusplus } #endif