Main MRPT website > C++ reference
MRPT logo

freeglut_ext.h

Go to the documentation of this file.
00001 #ifndef  __FREEGLUT_EXT_H__
00002 #define  __FREEGLUT_EXT_H__
00003 
00004 /*
00005  * freeglut_ext.h
00006  *
00007  * The non-GLUT-compatible extensions to the freeglut library include file
00008  *
00009  * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved.
00010  * Written by Pawel W. Olszta, <olszta@sourceforge.net>
00011  * Creation date: Thu Dec 2 1999
00012  *
00013  * Permission is hereby granted, free of charge, to any person obtaining a
00014  * copy of this software and associated documentation files (the "Software"),
00015  * to deal in the Software without restriction, including without limitation
00016  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00017  * and/or sell copies of the Software, and to permit persons to whom the
00018  * Software is furnished to do so, subject to the following conditions:
00019  *
00020  * The above copyright notice and this permission notice shall be included
00021  * in all copies or substantial portions of the Software.
00022  *
00023  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00024  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00025  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
00026  * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
00027  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00028  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00029  */
00030 
00031 #ifdef __cplusplus
00032     extern "C" {
00033 #endif
00034 
00035 /*
00036  * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window
00037  */
00038 #define GLUT_ACTION_EXIT                         0
00039 #define GLUT_ACTION_GLUTMAINLOOP_RETURNS         1
00040 #define GLUT_ACTION_CONTINUE_EXECUTION           2
00041 
00042 /*
00043  * Create a new rendering context when the user opens a new window?
00044  */
00045 #define GLUT_CREATE_NEW_CONTEXT                  0
00046 #define GLUT_USE_CURRENT_CONTEXT                 1
00047 
00048 /*
00049  * Direct/Indirect rendering context options (has meaning only in Unix/X11)
00050  */
00051 #define GLUT_FORCE_INDIRECT_CONTEXT              0
00052 #define GLUT_ALLOW_DIRECT_CONTEXT                1
00053 #define GLUT_TRY_DIRECT_CONTEXT                  2
00054 #define GLUT_FORCE_DIRECT_CONTEXT                3
00055 
00056 /*
00057  * GLUT API Extension macro definitions -- the glutGet parameters
00058  */
00059 #define  GLUT_ACTION_ON_WINDOW_CLOSE        0x01F9
00060 
00061 #define  GLUT_WINDOW_BORDER_WIDTH           0x01FA
00062 #define  GLUT_WINDOW_HEADER_HEIGHT          0x01FB
00063 
00064 #define  GLUT_VERSION                       0x01FC
00065 
00066 #define  GLUT_RENDERING_CONTEXT             0x01FD
00067 #define  GLUT_DIRECT_RENDERING              0x01FE
00068 
00069 /*
00070  * New tokens for glutInitDisplayMode.
00071  * Only one GLUT_AUXn bit may be used at a time.
00072  * Value 0x0400 is defined in OpenGLUT.
00073  */
00074 #define  GLUT_AUX1                          0x1000
00075 #define  GLUT_AUX2                          0x2000
00076 #define  GLUT_AUX3                          0x4000
00077 #define  GLUT_AUX4                          0x8000
00078 
00079 /*
00080  * Process loop function, see freeglut_main.c
00081  */
00082 FGAPI void    FGAPIENTRY glutMainLoopEvent( void );
00083 FGAPI void    FGAPIENTRY glutLeaveMainLoop( void );
00084 
00085 /*
00086  * Window-specific callback functions, see freeglut_callbacks.c
00087  */
00088 FGAPI void    FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) );
00089 FGAPI void    FGAPIENTRY glutCloseFunc( void (* callback)( void ) );
00090 FGAPI void    FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) );
00091 /* A. Donev: Also a destruction callback for menus */
00092 FGAPI void    FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) );
00093 
00094 /*
00095  * State setting and retrieval functions, see freeglut_state.c
00096  */
00097 FGAPI void    FGAPIENTRY glutSetOption ( GLenum option_flag, int value ) ;
00098 /* A.Donev: User-data manipulation */
00099 FGAPI void*   FGAPIENTRY glutGetWindowData( void );
00100 FGAPI void    FGAPIENTRY glutSetWindowData(void* data);
00101 FGAPI void*   FGAPIENTRY glutGetMenuData( void );
00102 FGAPI void    FGAPIENTRY glutSetMenuData(void* data);
00103 
00104 /*
00105  * Font stuff, see freeglut_font.c
00106  */
00107 FGAPI int     FGAPIENTRY glutBitmapHeight( void* font );
00108 FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font );
00109 FGAPI void    FGAPIENTRY glutBitmapString( void* font, const unsigned char *string );
00110 FGAPI void    FGAPIENTRY glutStrokeString( void* font, const unsigned char *string );
00111 
00112 /*
00113  * Geometry functions, see freeglut_geometry.c
00114  */
00115 FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron( void );
00116 FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron( void );
00117 FGAPI void    FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ) ;
00118 FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ) ;
00119 FGAPI void    FGAPIENTRY glutWireCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks);
00120 FGAPI void    FGAPIENTRY glutSolidCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks);
00121 
00122 /*
00123  * Extension functions, see freeglut_ext.c
00124  */
00125 typedef void (*GLUTproc)();
00126 FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName );
00127 
00128 
00129 #ifdef __cplusplus
00130     }
00131 #endif
00132 
00133 /*** END OF FILE ***/
00134 
00135 #endif /* __FREEGLUT_EXT_H__ */



Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN:exported at Tue Jan 25 21:56:31 UTC 2011