Fix object/function pointer inconsistencies which are a problem for gcc 3.4.2.
[freeglut] / include / GL / freeglut_ext.h
index 7369f0f..570f998 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_USE_CURRENT_CONTEXT                 1
 
 /*
+ * Direct/Indirect rendering context options (has meaning only in Unix/X11)
+ */
+#define GLUT_FORCE_INDIRECT_CONTEXT              0
+#define GLUT_ALLOW_DIRECT_CONTEXT                1
+#define GLUT_TRY_DIRECT_CONTEXT                  2
+#define GLUT_FORCE_DIRECT_CONTEXT                3
+
+/*
  * GLUT API Extension macro definitions -- the glutGet parameters
  */
 #define  GLUT_ACTION_ON_WINDOW_CLOSE        0x01F9
@@ -56,6 +64,7 @@
 #define  GLUT_VERSION                       0x01FC
 
 #define  GLUT_RENDERING_CONTEXT             0x01FD
+#define  GLUT_DIRECT_RENDERING              0x01FE
 
 /*
  * Process loop function, see freeglut_main.c
@@ -66,6 +75,7 @@ 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 */
@@ -86,8 +96,8 @@ FGAPI void    FGAPIENTRY glutSetMenuData(void* data);
  */
 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
@@ -96,11 +106,14 @@ FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron( void );
 FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron( void );
 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 );
+typedef void (*GLUTproc)();
+FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName );
 
 
 #ifdef __cplusplus
@@ -109,5 +122,4 @@ FGAPI void * FGAPIENTRY glutGetProcAddress( const char *procName );
 
 /*** END OF FILE ***/
 
-#endif /* FREEGLUT_EXT_H */
-
+#endif /* __FREEGLUT_EXT_H__ */