X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=include%2FGL%2Ffreeglut_ext.h;h=9c3eee14b835b67871aa9dcfbc0b07b5d7092fd5;hb=223d7dc01950904a061a1151955f24c4a098c3e4;hp=911f224b4405341e2ee3a8e84c9d196a797b794a;hpb=39c957d9929f0aba775c4a07a70b6124bc4b50e6;p=freeglut diff --git a/include/GL/freeglut_ext.h b/include/GL/freeglut_ext.h index 911f224..9c3eee1 100644 --- a/include/GL/freeglut_ext.h +++ b/include/GL/freeglut_ext.h @@ -74,7 +74,8 @@ #define GLUT_ACTION_ON_WINDOW_CLOSE 0x01F9 #define GLUT_WINDOW_BORDER_WIDTH 0x01FA -#define GLUT_WINDOW_HEADER_HEIGHT 0x01FB +#define GLUT_WINDOW_BORDER_HEIGHT 0x01FB +#define GLUT_WINDOW_HEADER_HEIGHT 0x01FB /* Docs say it should always have been GLUT_WINDOW_BORDER_HEIGHT, keep this for backward compatibility */ #define GLUT_VERSION 0x01FC @@ -85,6 +86,10 @@ #define GLUT_SKIP_STALE_MOTION_EVENTS 0x0204 +#define GLUT_GEOMETRY_VISUALIZE_NORMALS 0x0205 + +#define GLUT_STROKE_FONT_DRAW_JOIN_DOTS 0x0206 /* Draw dots between line segments of stroke fonts? */ + /* * New tokens for glutInitDisplayMode. * Only one GLUT_AUXn bit may be used at a time. @@ -133,12 +138,18 @@ FGAPI void FGAPIENTRY glutFullScreenToggle( void ); FGAPI void FGAPIENTRY glutLeaveFullScreen( void ); /* + * Menu functions + */ +FGAPI void FGAPIENTRY glutSetMenuFont( int menuID, void* font ); + +/* * Window-specific callback functions, see freeglut_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 ) ); /* @@ -163,15 +174,21 @@ FGAPI void FGAPIENTRY glutStrokeString( void* font, const unsigned char *stri /* * Geometry functions, see freeglut_geometry.c */ -#ifndef GL_ES_VERSION_2_0 FGAPI void FGAPIENTRY glutWireRhombicDodecahedron( void ); FGAPI void FGAPIENTRY glutSolidRhombicDodecahedron( void ); - FGAPI void FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, double offset[3], double scale ); FGAPI void FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, double offset[3], double scale ); FGAPI void FGAPIENTRY glutWireCylinder( double radius, double height, GLint slices, GLint stacks); FGAPI void FGAPIENTRY glutSolidCylinder( double radius, double height, GLint slices, GLint stacks); -#endif + +/* + * Rest of functions for rendering Newell's teaset, found in freeglut_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 freeglut_ext.c @@ -185,6 +202,8 @@ FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); #define GLUT_HAS_MULTI 1 +/* TODO: add device_id paramater, + 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 ) ); FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) ); @@ -216,20 +235,25 @@ void glutJoystickGetCenter( int ident, float *axes ); /* * Initialization functions, see freeglut_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 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