Commit of work from Nigel:
[freeglut] / include / GL / freeglut_ext.h
index 2858a36..0f5ff00 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef  FREEGLUT_EXT_H
-#define  FREEGLUT_EXT_H
+#ifndef  __FREEGLUT_EXT_H__
+#define  __FREEGLUT_EXT_H__
 
 /*
  * freeglut_ext.h
 #define GLUT_ACTION_CONTINUE_EXECUTION           2
 
 /*
- * GLUT API macro definitions -- the glutGet parameters
+ * Create a new rendering context when the user opens a new window?
+ */
+#define GLUT_CREATE_NEW_CONTEXT                  0
+#define GLUT_USE_CURRENT_CONTEXT                 1
+
+/*
+ * GLUT API Extension macro definitions -- the glutGet parameters
  */
 #define  GLUT_ACTION_ON_WINDOW_CLOSE        0x01F9
 
+#define  GLUT_WINDOW_BORDER_WIDTH           0x01FA
+#define  GLUT_WINDOW_HEADER_HEIGHT          0x01FB
+
+#define  GLUT_VERSION                       0x01FC
+
+#define  GLUT_RENDERING_CONTEXT             0x01FD
+
 /*
  * Process loop function, see freeglut_main.c
  */
@@ -53,29 +66,45 @@ FGAPI void    FGAPIENTRY glutLeaveMainLoop( void );
 /*
  * Window-specific callback functions, see freeglut_callbacks.c
  */
+FGAPI void    FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) );
 FGAPI void    FGAPIENTRY glutCloseFunc( void (* callback)( void ) );
 FGAPI void    FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) );
+/* A. Donev: Also a destruction callback for menus */
+FGAPI void    FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) );
 
 /*
  * State setting and retrieval functions, see freeglut_state.c
  */
 FGAPI void    FGAPIENTRY glutSetOption ( GLenum option_flag, int value ) ;
+/* A.Donev: User-data manipulation */
+FGAPI void*   FGAPIENTRY glutGetWindowData( void );
+FGAPI void    FGAPIENTRY glutSetWindowData(void* data);
+FGAPI void*   FGAPIENTRY glutGetMenuData( void );
+FGAPI void    FGAPIENTRY glutSetMenuData(void* data);
 
 /*
  * Font stuff, see freeglut_font.c
  */
 FGAPI int     FGAPIENTRY glutBitmapHeight( void* font );
 FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font );
-FGAPI void    FGAPIENTRY glutBitmapString( void* font, const char *string );
-FGAPI void    FGAPIENTRY glutStrokeString( void* font, const char *string );
+FGAPI void    FGAPIENTRY glutBitmapString( void* font, const unsigned char *string );
+FGAPI void    FGAPIENTRY glutStrokeString( void* font, const unsigned char *string );
 
 /*
  * Geometry functions, see freeglut_geometry.c
  */
 FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron( void );
 FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron( void );
-FGAPI void    FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLfloat offset[3], GLfloat scale ) ;
-FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLfloat offset[3], GLfloat scale ) ;
+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);
+
+/*
+ * Extension functions, see freeglut_ext.c
+ */
+FGAPI void * FGAPIENTRY glutGetProcAddress( const char *procName );
+
 
 #ifdef __cplusplus
     }
@@ -83,5 +112,4 @@ FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLfloat off
 
 /*** END OF FILE ***/
 
-#endif /* FREEGLUT_EXT_H */
-
+#endif /* __FREEGLUT_EXT_H__ */