X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=include%2FGL%2Ffreeglut_ext.h;h=255edea4f7ad0f3a31d1f94a604624e7774c32a7;hb=76bb5e2f2b60a3cb15fe7fa0142d80a89065cf30;hp=da6c7ee234759bf9deb0b44440a3a396cd56e458;hpb=ea5dc8a10beb55cd972c34d6b531158101b6773f;p=freeglut diff --git a/include/GL/freeglut_ext.h b/include/GL/freeglut_ext.h index da6c7ee..255edea 100644 --- a/include/GL/freeglut_ext.h +++ b/include/GL/freeglut_ext.h @@ -86,7 +86,11 @@ #define GLUT_SKIP_STALE_MOTION_EVENTS 0x0204 -#define GLUT_OBJECTS_VISUALIZE_NORMALS 0x0205 +#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. @@ -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,42 +114,58 @@ #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 ) ); FGAPI void FGAPIENTRY glutCloseFunc( void (* callback)( void ) ); FGAPI void FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) ); -/* A. Donev: Also a destruction callback for menus */ +/* And also a destruction callback for menus */ 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); @@ -156,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 ); @@ -164,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 ); @@ -174,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 ); @@ -185,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 ) ); @@ -193,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 @@ -216,26 +245,27 @@ 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 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 ) ); +FGAPI void FGAPIENTRY glutInitErrorFunc( void (* callback)( const char *fmt, va_list ap ) ); +FGAPI void FGAPIENTRY glutInitWarningFunc( void (* callback)( const char *fmt, va_list ap ) ); /* 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 @@ -244,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