Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

glut.h File Reference

#include <GL/gl.h>
#include <GL/glu.h>

Go to the source code of this file.


Defines

#define GLUT_API_VERSION   3
#define GLUT_XLIB_IMPLEMENTATION   6
#define GLUT_RGB   0
#define GLUT_RGBA   GLUT_RGB
#define GLUT_INDEX   1
#define GLUT_SINGLE   0
#define GLUT_DOUBLE   2
#define GLUT_ACCUM   4
#define GLUT_ALPHA   8
#define GLUT_DEPTH   16
#define GLUT_STENCIL   32
#define GLUT_MULTISAMPLE   128
#define GLUT_STEREO   256
#define GLUT_LUMINANCE   512
#define GLUT_LEFT_BUTTON   0
#define GLUT_MIDDLE_BUTTON   1
#define GLUT_RIGHT_BUTTON   2
#define GLUT_DOWN   0
#define GLUT_UP   1
#define GLUT_KEY_F1   1
#define GLUT_KEY_F2   2
#define GLUT_KEY_F3   3
#define GLUT_KEY_F4   4
#define GLUT_KEY_F5   5
#define GLUT_KEY_F6   6
#define GLUT_KEY_F7   7
#define GLUT_KEY_F8   8
#define GLUT_KEY_F9   9
#define GLUT_KEY_F10   10
#define GLUT_KEY_F11   11
#define GLUT_KEY_F12   12
#define GLUT_KEY_LEFT   100
#define GLUT_KEY_UP   101
#define GLUT_KEY_RIGHT   102
#define GLUT_KEY_DOWN   103
#define GLUT_KEY_PAGE_UP   104
#define GLUT_KEY_PAGE_DOWN   105
#define GLUT_KEY_HOME   106
#define GLUT_KEY_END   107
#define GLUT_KEY_INSERT   108
#define GLUT_LEFT   0
#define GLUT_ENTERED   1
#define GLUT_MENU_NOT_IN_USE   0
#define GLUT_MENU_IN_USE   1
#define GLUT_NOT_VISIBLE   0
#define GLUT_VISIBLE   1
#define GLUT_RED   0
#define GLUT_GREEN   1
#define GLUT_BLUE   2
#define GLUT_NORMAL   0
#define GLUT_OVERLAY   1
#define GLUT_STROKE_ROMAN   (&glutStrokeRoman)
#define GLUT_STROKE_MONO_ROMAN   (&glutStrokeMonoRoman)
#define GLUT_BITMAP_9_BY_15   (&glutBitmap9By15)
#define GLUT_BITMAP_8_BY_13   (&glutBitmap8By13)
#define GLUT_BITMAP_TIMES_ROMAN_10   (&glutBitmapTimesRoman10)
#define GLUT_BITMAP_TIMES_ROMAN_24   (&glutBitmapTimesRoman24)
#define GLUT_BITMAP_HELVETICA_10   (&glutBitmapHelvetica10)
#define GLUT_BITMAP_HELVETICA_12   (&glutBitmapHelvetica12)
#define GLUT_BITMAP_HELVETICA_18   (&glutBitmapHelvetica18)
#define GLUT_WINDOW_X   100
#define GLUT_WINDOW_Y   101
#define GLUT_WINDOW_WIDTH   102
#define GLUT_WINDOW_HEIGHT   103
#define GLUT_WINDOW_BUFFER_SIZE   104
#define GLUT_WINDOW_STENCIL_SIZE   105
#define GLUT_WINDOW_DEPTH_SIZE   106
#define GLUT_WINDOW_RED_SIZE   107
#define GLUT_WINDOW_GREEN_SIZE   108
#define GLUT_WINDOW_BLUE_SIZE   109
#define GLUT_WINDOW_ALPHA_SIZE   110
#define GLUT_WINDOW_ACCUM_RED_SIZE   111
#define GLUT_WINDOW_ACCUM_GREEN_SIZE   112
#define GLUT_WINDOW_ACCUM_BLUE_SIZE   113
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE   114
#define GLUT_WINDOW_DOUBLEBUFFER   115
#define GLUT_WINDOW_RGBA   116
#define GLUT_WINDOW_PARENT   117
#define GLUT_WINDOW_NUM_CHILDREN   118
#define GLUT_WINDOW_COLORMAP_SIZE   119
#define GLUT_WINDOW_NUM_SAMPLES   120
#define GLUT_WINDOW_STEREO   121
#define GLUT_WINDOW_CURSOR   122
#define GLUT_SCREEN_WIDTH   200
#define GLUT_SCREEN_HEIGHT   201
#define GLUT_SCREEN_WIDTH_MM   202
#define GLUT_SCREEN_HEIGHT_MM   203
#define GLUT_MENU_NUM_ITEMS   300
#define GLUT_DISPLAY_MODE_POSSIBLE   400
#define GLUT_INIT_WINDOW_X   500
#define GLUT_INIT_WINDOW_Y   501
#define GLUT_INIT_WINDOW_WIDTH   502
#define GLUT_INIT_WINDOW_HEIGHT   503
#define GLUT_INIT_DISPLAY_MODE   504
#define GLUT_ELAPSED_TIME   700
#define GLUT_HAS_KEYBOARD   600
#define GLUT_HAS_MOUSE   601
#define GLUT_HAS_SPACEBALL   602
#define GLUT_HAS_DIAL_AND_BUTTON_BOX   603
#define GLUT_HAS_TABLET   604
#define GLUT_NUM_MOUSE_BUTTONS   605
#define GLUT_NUM_SPACEBALL_BUTTONS   606
#define GLUT_NUM_BUTTON_BOX_BUTTONS   607
#define GLUT_NUM_DIALS   608
#define GLUT_NUM_TABLET_BUTTONS   609
#define GLUT_OVERLAY_POSSIBLE   800
#define GLUT_LAYER_IN_USE   801
#define GLUT_HAS_OVERLAY   802
#define GLUT_TRANSPARENT_INDEX   803
#define GLUT_NORMAL_DAMAGED   804
#define GLUT_OVERLAY_DAMAGED   805
#define GLUT_NORMAL   0
#define GLUT_OVERLAY   1
#define GLUT_ACTIVE_SHIFT   1
#define GLUT_ACTIVE_CTRL   2
#define GLUT_ACTIVE_ALT   4
#define GLUT_CURSOR_RIGHT_ARROW   0
#define GLUT_CURSOR_LEFT_ARROW   1
#define GLUT_CURSOR_INFO   2
#define GLUT_CURSOR_DESTROY   3
#define GLUT_CURSOR_HELP   4
#define GLUT_CURSOR_CYCLE   5
#define GLUT_CURSOR_SPRAY   6
#define GLUT_CURSOR_WAIT   7
#define GLUT_CURSOR_TEXT   8
#define GLUT_CURSOR_CROSSHAIR   9
#define GLUT_CURSOR_UP_DOWN   10
#define GLUT_CURSOR_LEFT_RIGHT   11
#define GLUT_CURSOR_TOP_SIDE   12
#define GLUT_CURSOR_BOTTOM_SIDE   13
#define GLUT_CURSOR_LEFT_SIDE   14
#define GLUT_CURSOR_RIGHT_SIDE   15
#define GLUT_CURSOR_TOP_LEFT_CORNER   16
#define GLUT_CURSOR_TOP_RIGHT_CORNER   17
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER   18
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER   19
#define GLUT_CURSOR_INHERIT   100
#define GLUT_CURSOR_NONE   101
#define GLUT_CURSOR_FULL_CROSSHAIR   102

Functions

void glutInit (int *argcp, char **argv)
void glutInitDisplayMode (unsigned int mode)
void glutInitWindowPosition (int x, int y)
void glutInitWindowSize (int width, int height)
void glutMainLoop (void)
int glutCreateWindow (char *title)
int glutCreateSubWindow (int win, int x, int y, int width, int height)
void glutDestroyWindow (int win)
void glutPostRedisplay (void)
void glutSwapBuffers (void)
int glutGetWindow (void)
void glutSetWindow (int win)
void glutSetWindowTitle (char *title)
void glutSetIconTitle (char *title)
void glutPositionWindow (int x, int y)
void glutReshapeWindow (int width, int height)
void glutPopWindow (void)
void glutPushWindow (void)
void glutIconifyWindow (void)
void glutShowWindow (void)
void glutHideWindow (void)
void glutFullScreen (void)
void glutSetCursor (int cursor)
void glutEstablishOverlay (void)
void glutRemoveOverlay (void)
void glutUseLayer (GLenum layer)
void glutPostOverlayRedisplay (void)
void glutShowOverlay (void)
void glutHideOverlay (void)
int glutCreateMenu (void(*)(int))
void glutDestroyMenu (int menu)
int glutGetMenu (void)
void glutSetMenu (int menu)
void glutAddMenuEntry (char *label, int value)
void glutAddSubMenu (char *label, int submenu)
void glutChangeToMenuEntry (int item, char *label, int value)
void glutChangeToSubMenu (int item, char *label, int submenu)
void glutRemoveMenuItem (int item)
void glutAttachMenu (int button)
void glutDetachMenu (int button)
void glutDisplayFunc (void(*)(void))
void glutReshapeFunc (void(*)(int width, int height))
void glutKeyboardFunc (void(*)(unsigned char key, int x, int y))
void glutMouseFunc (void(*)(int button, int state, int x, int y))
void glutMotionFunc (void(*)(int x, int y))
void glutPassiveMotionFunc (void(*)(int x, int y))
void glutEntryFunc (void(*)(int state))
void glutVisibilityFunc (void(*)(int state))
void glutIdleFunc (void(*)(void))
void glutTimerFunc (unsigned int millis, void(*)(int value), int value)
void glutMenuStateFunc (void(*)(int state))
void glutSpecialFunc (void(*)(int key, int x, int y))
void glutSpaceballMotionFunc (void(*)(int x, int y, int z))
void glutSpaceballRotateFunc (void(*)(int x, int y, int z))
void glutSpaceballButtonFunc (void(*)(int button, int state))
void glutButtonBoxFunc (void(*)(int button, int state))
void glutDialsFunc (void(*)(int dial, int value))
void glutTabletMotionFunc (void(*)(int x, int y))
void glutTabletButtonFunc (void(*)(int button, int state, int x, int y))
void glutMenuStatusFunc (void(*)(int status, int x, int y))
void glutOverlayDisplayFunc (void(*)(void))
void glutSetColor (int, GLfloat red, GLfloat green, GLfloat blue)
GLfloat glutGetColor (int ndx, int component)
void glutCopyColormap (int win)
int glutGet (GLenum type)
int glutDeviceGet (GLenum type)
int glutExtensionSupported (char *name)
int glutGetModifiers (void)
int glutLayerGet (GLenum type)
void glutBitmapCharacter (void *font, int character)
int glutBitmapWidth (void *font, int character)
void glutStrokeCharacter (void *font, int character)
int glutStrokeWidth (void *font, int character)
void glutWireSphere (GLdouble radius, GLint slices, GLint stacks)
void glutSolidSphere (GLdouble radius, GLint slices, GLint stacks)
void glutWireCone (GLdouble base, GLdouble height, GLint slices, GLint stacks)
void glutSolidCone (GLdouble base, GLdouble height, GLint slices, GLint stacks)
void glutWireCube (GLdouble size)
void glutSolidCube (GLdouble size)
void glutWireTorus (GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings)
void glutSolidTorus (GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings)
void glutWireDodecahedron (void)
void glutSolidDodecahedron (void)
void glutWireTeapot (GLdouble size)
void glutSolidTeapot (GLdouble size)
void glutWireOctahedron (void)
void glutSolidOctahedron (void)
void glutWireTetrahedron (void)
void glutSolidTetrahedron (void)
void glutWireIcosahedron (void)
void glutSolidIcosahedron (void)

Variables

void * glutStrokeRoman
void * glutStrokeMonoRoman
void * glutBitmap9By15
void * glutBitmap8By13
void * glutBitmapTimesRoman10
void * glutBitmapTimesRoman24
void * glutBitmapHelvetica10
void * glutBitmapHelvetica12
void * glutBitmapHelvetica18

Define Documentation

#define GLUT_ACCUM   4
 

Definition at line 68 of file glut.h.

#define GLUT_ACTIVE_ALT   4
 

Definition at line 237 of file glut.h.

Referenced by glutGetModifiers().

#define GLUT_ACTIVE_CTRL   2
 

Definition at line 236 of file glut.h.

Referenced by glutGetModifiers().

#define GLUT_ACTIVE_SHIFT   1
 

Definition at line 235 of file glut.h.

Referenced by glutGetModifiers().

#define GLUT_ALPHA   8
 

Definition at line 69 of file glut.h.

#define GLUT_API_VERSION   3
 

Definition at line 34 of file glut.h.

#define GLUT_BITMAP_8_BY_13   (&glutBitmap8By13)
 

Definition at line 155 of file glut.h.

#define GLUT_BITMAP_9_BY_15   (&glutBitmap9By15)
 

Definition at line 154 of file glut.h.

Referenced by SUMA_AxisText(), and SUMA_DrawMesh().

#define GLUT_BITMAP_HELVETICA_10   (&glutBitmapHelvetica10)
 

Definition at line 159 of file glut.h.

#define GLUT_BITMAP_HELVETICA_12   (&glutBitmapHelvetica12)
 

Definition at line 160 of file glut.h.

#define GLUT_BITMAP_HELVETICA_18   (&glutBitmapHelvetica18)
 

Definition at line 161 of file glut.h.

#define GLUT_BITMAP_TIMES_ROMAN_10   (&glutBitmapTimesRoman10)
 

Definition at line 156 of file glut.h.

#define GLUT_BITMAP_TIMES_ROMAN_24   (&glutBitmapTimesRoman24)
 

Definition at line 157 of file glut.h.

#define GLUT_BLUE   2
 

Definition at line 130 of file glut.h.

Referenced by associateNewColormap(), glutCopyColormap(), and glutSetColor().

#define GLUT_CURSOR_BOTTOM_LEFT_CORNER   19
 

Definition at line 263 of file glut.h.

#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER   18
 

Definition at line 262 of file glut.h.

#define GLUT_CURSOR_BOTTOM_SIDE   13
 

Definition at line 257 of file glut.h.

#define GLUT_CURSOR_CROSSHAIR   9
 

Definition at line 251 of file glut.h.

#define GLUT_CURSOR_CYCLE   5
 

Definition at line 247 of file glut.h.

#define GLUT_CURSOR_DESTROY   3
 

Definition at line 245 of file glut.h.

#define GLUT_CURSOR_FULL_CROSSHAIR   102
 

Definition at line 269 of file glut.h.

Referenced by glutSetCursor().

#define GLUT_CURSOR_HELP   4
 

Definition at line 246 of file glut.h.

#define GLUT_CURSOR_INFO   2
 

Definition at line 244 of file glut.h.

#define GLUT_CURSOR_INHERIT   100
 

Definition at line 265 of file glut.h.

Referenced by __glutCreateWindow(), and glutSetCursor().

#define GLUT_CURSOR_LEFT_ARROW   1
 

Definition at line 242 of file glut.h.

#define GLUT_CURSOR_LEFT_RIGHT   11
 

Definition at line 254 of file glut.h.

#define GLUT_CURSOR_LEFT_SIDE   14
 

Definition at line 258 of file glut.h.

#define GLUT_CURSOR_NONE   101
 

Definition at line 267 of file glut.h.

Referenced by glutSetCursor().

#define GLUT_CURSOR_RIGHT_ARROW   0
 

Definition at line 241 of file glut.h.

#define GLUT_CURSOR_RIGHT_SIDE   15
 

Definition at line 259 of file glut.h.

#define GLUT_CURSOR_SPRAY   6
 

Definition at line 248 of file glut.h.

#define GLUT_CURSOR_TEXT   8
 

Definition at line 250 of file glut.h.

#define GLUT_CURSOR_TOP_LEFT_CORNER   16
 

Definition at line 260 of file glut.h.

#define GLUT_CURSOR_TOP_RIGHT_CORNER   17
 

Definition at line 261 of file glut.h.

#define GLUT_CURSOR_TOP_SIDE   12
 

Definition at line 256 of file glut.h.

#define GLUT_CURSOR_UP_DOWN   10
 

Definition at line 253 of file glut.h.

#define GLUT_CURSOR_WAIT   7
 

Definition at line 249 of file glut.h.

#define GLUT_DEPTH   16
 

Definition at line 70 of file glut.h.

#define GLUT_DISPLAY_MODE_POSSIBLE   400
 

Definition at line 197 of file glut.h.

Referenced by glutGet().

#define GLUT_DOUBLE   2
 

Definition at line 67 of file glut.h.

Referenced by __glutDetermineVisual().

#define GLUT_DOWN   0
 

Definition at line 86 of file glut.h.

Referenced by __glutProcessDeviceEvents(), and processEvents().

#define GLUT_ELAPSED_TIME   700
 

Definition at line 204 of file glut.h.

Referenced by glutGet().

#define GLUT_ENTERED   1
 

Definition at line 117 of file glut.h.

Referenced by processEvents().

#define GLUT_GREEN   1
 

Definition at line 129 of file glut.h.

Referenced by associateNewColormap(), glutCopyColormap(), and glutSetColor().

#define GLUT_HAS_DIAL_AND_BUTTON_BOX   603
 

Definition at line 212 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_HAS_KEYBOARD   600
 

Definition at line 209 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_HAS_MOUSE   601
 

Definition at line 210 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_HAS_OVERLAY   802
 

Definition at line 225 of file glut.h.

Referenced by glutLayerGet().

#define GLUT_HAS_SPACEBALL   602
 

Definition at line 211 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_HAS_TABLET   604
 

Definition at line 213 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_INDEX   1
 

Definition at line 65 of file glut.h.

#define GLUT_INIT_DISPLAY_MODE   504
 

Definition at line 202 of file glut.h.

Referenced by glutGet().

#define GLUT_INIT_WINDOW_HEIGHT   503
 

Definition at line 201 of file glut.h.

Referenced by glutGet().

#define GLUT_INIT_WINDOW_WIDTH   502
 

Definition at line 200 of file glut.h.

Referenced by glutGet().

#define GLUT_INIT_WINDOW_X   500
 

Definition at line 198 of file glut.h.

Referenced by glutGet().

#define GLUT_INIT_WINDOW_Y   501
 

Definition at line 199 of file glut.h.

Referenced by glutGet().

#define GLUT_KEY_DOWN   103
 

Definition at line 107 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_END   107
 

Definition at line 111 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F1   1
 

Definition at line 91 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F10   10
 

Definition at line 100 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F11   11
 

Definition at line 101 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F12   12
 

Definition at line 102 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F2   2
 

Definition at line 92 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F3   3
 

Definition at line 93 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F4   4
 

Definition at line 94 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F5   5
 

Definition at line 95 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F6   6
 

Definition at line 96 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F7   7
 

Definition at line 97 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F8   8
 

Definition at line 98 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_F9   9
 

Definition at line 99 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_HOME   106
 

Definition at line 110 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_INSERT   108
 

Definition at line 112 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_LEFT   100
 

Definition at line 104 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_PAGE_DOWN   105
 

Definition at line 109 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_PAGE_UP   104
 

Definition at line 108 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_RIGHT   102
 

Definition at line 106 of file glut.h.

Referenced by processEvents().

#define GLUT_KEY_UP   101
 

Definition at line 105 of file glut.h.

Referenced by processEvents().

#define GLUT_LAYER_IN_USE   801
 

Definition at line 224 of file glut.h.

Referenced by glutLayerGet().

#define GLUT_LEFT   0
 

Definition at line 116 of file glut.h.

Referenced by processEvents().

#define GLUT_LEFT_BUTTON   0
 

Definition at line 81 of file glut.h.

#define GLUT_LUMINANCE   512
 

Definition at line 77 of file glut.h.

#define GLUT_MENU_IN_USE   1
 

Definition at line 121 of file glut.h.

Referenced by __glutStartMenu().

#define GLUT_MENU_NOT_IN_USE   0
 

Definition at line 120 of file glut.h.

Referenced by __glutFinishMenu().

#define GLUT_MENU_NUM_ITEMS   300
 

Definition at line 196 of file glut.h.

Referenced by glutGet().

#define GLUT_MIDDLE_BUTTON   1
 

Definition at line 82 of file glut.h.

#define GLUT_MULTISAMPLE   128
 

Definition at line 73 of file glut.h.

Referenced by __glutDetermineVisual().

#define GLUT_NORMAL   0
 

Definition at line 231 of file glut.h.

#define GLUT_NORMAL   0
 

Definition at line 231 of file glut.h.

#define GLUT_NORMAL_DAMAGED   804
 

Definition at line 227 of file glut.h.

Referenced by glutLayerGet().

#define GLUT_NOT_VISIBLE   0
 

Definition at line 124 of file glut.h.

Referenced by processEvents(), and updateWindowVisibility().

#define GLUT_NUM_BUTTON_BOX_BUTTONS   607
 

Definition at line 216 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_NUM_DIALS   608
 

Definition at line 217 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_NUM_MOUSE_BUTTONS   605
 

Definition at line 214 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_NUM_SPACEBALL_BUTTONS   606
 

Definition at line 215 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_NUM_TABLET_BUTTONS   609
 

Definition at line 218 of file glut.h.

Referenced by glutDeviceGet().

#define GLUT_OVERLAY   1
 

Definition at line 232 of file glut.h.

#define GLUT_OVERLAY   1
 

Definition at line 232 of file glut.h.

#define GLUT_OVERLAY_DAMAGED   805
 

Definition at line 228 of file glut.h.

Referenced by glutLayerGet().

#define GLUT_OVERLAY_POSSIBLE   800
 

Definition at line 223 of file glut.h.

Referenced by glutLayerGet().

#define GLUT_RED   0
 

Definition at line 128 of file glut.h.

Referenced by associateNewColormap(), glutCopyColormap(), and glutSetColor().

#define GLUT_RGB   0
 

Definition at line 63 of file glut.h.

#define GLUT_RGBA   GLUT_RGB
 

Definition at line 64 of file glut.h.

#define GLUT_RIGHT_BUTTON   2
 

Definition at line 83 of file glut.h.

#define GLUT_SCREEN_HEIGHT   201
 

Definition at line 193 of file glut.h.

Referenced by glutGet().

#define GLUT_SCREEN_HEIGHT_MM   203
 

Definition at line 195 of file glut.h.

Referenced by glutGet().

#define GLUT_SCREEN_WIDTH   200
 

Definition at line 192 of file glut.h.

Referenced by glutGet().

#define GLUT_SCREEN_WIDTH_MM   202
 

Definition at line 194 of file glut.h.

Referenced by glutGet().

#define GLUT_SINGLE   0
 

Definition at line 66 of file glut.h.

#define GLUT_STENCIL   32
 

Definition at line 71 of file glut.h.

#define GLUT_STEREO   256
 

Definition at line 74 of file glut.h.

#define GLUT_STROKE_MONO_ROMAN   (&glutStrokeMonoRoman)
 

Definition at line 142 of file glut.h.

#define GLUT_STROKE_ROMAN   (&glutStrokeRoman)
 

Definition at line 141 of file glut.h.

#define GLUT_TRANSPARENT_INDEX   803
 

Definition at line 226 of file glut.h.

Referenced by glutLayerGet().

#define GLUT_UP   1
 

Definition at line 87 of file glut.h.

Referenced by __glutProcessDeviceEvents(), and processEvents().

#define GLUT_VISIBLE   1
 

Definition at line 125 of file glut.h.

Referenced by processEvents(), and updateWindowVisibility().

#define GLUT_WINDOW_ACCUM_ALPHA_SIZE   114
 

Definition at line 179 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_ACCUM_BLUE_SIZE   113
 

Definition at line 178 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_ACCUM_GREEN_SIZE   112
 

Definition at line 177 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_ACCUM_RED_SIZE   111
 

Definition at line 176 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_ALPHA_SIZE   110
 

Definition at line 175 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_BLUE_SIZE   109
 

Definition at line 174 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_BUFFER_SIZE   104
 

Definition at line 169 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_COLORMAP_SIZE   119
 

Definition at line 184 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_CURSOR   122
 

Definition at line 190 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_DEPTH_SIZE   106
 

Definition at line 171 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_DOUBLEBUFFER   115
 

Definition at line 180 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_GREEN_SIZE   108
 

Definition at line 173 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_HEIGHT   103
 

Definition at line 168 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_NUM_CHILDREN   118
 

Definition at line 183 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_NUM_SAMPLES   120
 

Definition at line 186 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_PARENT   117
 

Definition at line 182 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_RED_SIZE   107
 

Definition at line 172 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_RGBA   116
 

Definition at line 181 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_STENCIL_SIZE   105
 

Definition at line 170 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_STEREO   121
 

Definition at line 187 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_WIDTH   102
 

Definition at line 167 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_X   100
 

Definition at line 165 of file glut.h.

Referenced by glutGet().

#define GLUT_WINDOW_Y   101
 

Definition at line 166 of file glut.h.

Referenced by glutGet().

#define GLUT_XLIB_IMPLEMENTATION   6
 

Definition at line 59 of file glut.h.


Function Documentation

void glutAddMenuEntry char *    label,
int    value
 

Definition at line 730 of file glut_menu.c.

References __glutFatalError(), fontHeight, _GLUTmenu::list, malloc, _GLUTmenuItem::menu, MENU_GAP, menuModificationError(), _GLUTmenuItem::next, _GLUTmenu::num, _GLUTmenuItem::pixwidth, setMenuItem(), _GLUTmenuItem::win, and _GLUTmenu::win.

00731 {
00732   XSetWindowAttributes wa;
00733   GLUTmenuItem *entry;
00734 
00735   if (__glutMappedMenu)
00736     menuModificationError();
00737   entry = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
00738   if (!entry)
00739     __glutFatalError("out of memory.");
00740   entry->menu = __glutCurrentMenu;
00741   setMenuItem(entry, label, value, False);
00742   wa.event_mask = EnterWindowMask | LeaveWindowMask;
00743   entry->win = XCreateWindow(__glutDisplay,
00744     __glutCurrentMenu->win, MENU_GAP,
00745     __glutCurrentMenu->num * fontHeight + MENU_GAP,  /* x & y */
00746     entry->pixwidth, fontHeight,  /* width & height */
00747     0, CopyFromParent, InputOnly, CopyFromParent,
00748     CWEventMask, &wa);
00749   XMapWindow(__glutDisplay, entry->win);
00750   __glutCurrentMenu->num++;
00751   entry->next = __glutCurrentMenu->list;
00752   __glutCurrentMenu->list = entry;
00753 }

void glutAddSubMenu char *    label,
int    submenu
 

Definition at line 756 of file glut_menu.c.

References __glutFatalError(), fontHeight, _GLUTmenu::list, malloc, _GLUTmenuItem::menu, MENU_GAP, menuModificationError(), _GLUTmenuItem::next, _GLUTmenu::num, _GLUTmenuItem::pixwidth, setMenuItem(), _GLUTmenu::submenus, _GLUTmenuItem::win, and _GLUTmenu::win.

00757 {
00758   XSetWindowAttributes wa;
00759   GLUTmenuItem *submenu;
00760 
00761   if (__glutMappedMenu)
00762     menuModificationError();
00763   submenu = (GLUTmenuItem *) malloc(sizeof(GLUTmenuItem));
00764   if (!submenu)
00765     __glutFatalError("out of memory.");
00766   __glutCurrentMenu->submenus++;
00767   submenu->menu = __glutCurrentMenu;
00768   setMenuItem(submenu, label, /* base 0 */ menu - 1, True);
00769   wa.event_mask = EnterWindowMask | LeaveWindowMask;
00770   submenu->win = XCreateWindow(__glutDisplay,
00771     __glutCurrentMenu->win, MENU_GAP,
00772     __glutCurrentMenu->num * fontHeight + MENU_GAP,  /* x & y */
00773     submenu->pixwidth, fontHeight,  /* width & height */
00774     0, CopyFromParent, InputOnly, CopyFromParent,
00775     CWEventMask, &wa);
00776   XMapWindow(__glutDisplay, submenu->win);
00777   __glutCurrentMenu->num++;
00778   submenu->next = __glutCurrentMenu->list;
00779   __glutCurrentMenu->list = submenu;
00780 }

void glutAttachMenu int    button
 

Definition at line 888 of file glut_menu.c.

References __glutChangeWindowEventMask(), _GLUTmenu::id, and menuModificationError().

00889 {
00890   if (__glutMappedMenu)
00891     menuModificationError();
00892   if (__glutCurrentWindow->menu[button] < 1) {
00893     __glutCurrentWindow->buttonUses++;
00894   }
00895   __glutChangeWindowEventMask(
00896     ButtonPressMask | ButtonReleaseMask, True);
00897   __glutCurrentWindow->menu[button] = __glutCurrentMenu->id + 1;
00898 }

void glutBitmapCharacter void *    font,
int    character
 

int glutBitmapWidth void *    font,
int    character
 

void glutButtonBoxFunc void(*   )(int button, int state)
 

void glutChangeToMenuEntry int    item,
char *    label,
int    value
 

Definition at line 783 of file glut_menu.c.

References __glutWarning(), free, i, _GLUTmenuItem::isTrigger, _GLUTmenuItem::label, _GLUTmenu::list, _GLUTmenuItem::menu, menuModificationError(), _GLUTmenuItem::next, _GLUTmenu::num, setMenuItem(), and _GLUTmenu::submenus.

00784 {
00785   GLUTmenuItem *item;
00786   int i;
00787 
00788   if (__glutMappedMenu)
00789     menuModificationError();
00790   i = __glutCurrentMenu->num;
00791   item = __glutCurrentMenu->list;
00792   while (item) {
00793     if (i == num) {
00794       if (item->isTrigger) {
00795         /* If changing a submenu trigger to a menu entry, we
00796            need to account for submenus.  */
00797         item->menu->submenus--;
00798       }
00799       free(item->label);
00800       setMenuItem(item, label, value, False);
00801       return;
00802     }
00803     i--;
00804     item = item->next;
00805   }
00806   __glutWarning("Current menu has no %d item.", num);
00807 }

void glutChangeToSubMenu int    item,
char *    label,
int    submenu
 

Definition at line 810 of file glut_menu.c.

References __glutWarning(), free, i, _GLUTmenuItem::isTrigger, _GLUTmenuItem::label, _GLUTmenu::list, _GLUTmenuItem::menu, menuModificationError(), _GLUTmenuItem::next, _GLUTmenu::num, setMenuItem(), and _GLUTmenu::submenus.

00811 {
00812   GLUTmenuItem *item;
00813   int i;
00814 
00815   if (__glutMappedMenu)
00816     menuModificationError();
00817   i = __glutCurrentMenu->num;
00818   item = __glutCurrentMenu->list;
00819   while (item) {
00820     if (i == num) {
00821       if (!item->isTrigger) {
00822         /* If changing a menu entry to as submenu trigger, we
00823            need to account for submenus.  */
00824         item->menu->submenus++;
00825       }
00826       free(item->label);
00827       setMenuItem(item, label, /* base 0 */ menu - 1, True);
00828       return;
00829     }
00830     i--;
00831     item = item->next;
00832   }
00833   __glutWarning("Current menu has no %d item.", num);
00834 }

void glutCopyColormap int    win
 

Definition at line 237 of file glut_cindex.c.

References __glutFreeColormap(), __glutPutOnWorkList(), __glutToplevelOf(), __glutWarning(), associateNewColormap(), _GLUTcolormap::cells, _GLUTcolormap::cmap, color, _GLUTwindow::colormap, _GLUToverlay::colormap, GLUT_BLUE, GLUT_COLORMAP_WORK, GLUT_GREEN, GLUT_RED, i, _GLUTwindow::overlay, _GLUTcolormap::refcnt, _GLUTcolormap::size, and _GLUTcolormap::visual.

00238 {
00239   GLUTwindow *window = __glutWindowList[winnum - 1];
00240   GLUTcolormap *oldcmap, *newcmap, *copycmap;
00241   XVisualInfo *dstvis;
00242   XColor color;
00243   int i, last;
00244 
00245   if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
00246     oldcmap = __glutCurrentWindow->colormap;
00247     dstvis = __glutCurrentWindow->vis;
00248     newcmap = window->colormap;
00249   } else {
00250     oldcmap = __glutCurrentWindow->overlay->colormap;
00251     dstvis = __glutCurrentWindow->overlay->vis;
00252     if (!window->overlay) {
00253       __glutWarning("glutCopyColormap: window %d has no overlay", winnum);
00254       return;
00255     }
00256     newcmap = window->overlay->colormap;
00257   }
00258 
00259   if (!oldcmap) {
00260     __glutWarning("glutCopyColormap: destination colormap must be color index");
00261     return;
00262   }
00263   if (!newcmap) {
00264     __glutWarning(
00265       "glutCopyColormap: source colormap of window %d must be color index",
00266       winnum);
00267     return;
00268   }
00269   if (newcmap == oldcmap) {
00270     /* Source and destination are the same; now copy needed. */
00271     return;
00272   }
00273   /* Play safe: compare visual IDs, not Visual*'s */
00274   if (newcmap->visual->visualid == oldcmap->visual->visualid) {
00275     /* Visuals match!  "Copy" by reference...  */
00276     __glutFreeColormap(oldcmap);
00277     newcmap->refcnt++;
00278     if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
00279       __glutCurrentWindow->colormap = newcmap;
00280       __glutCurrentWindow->cmap = newcmap->cmap;
00281     } else {
00282       __glutCurrentWindow->overlay->colormap = newcmap;
00283       __glutCurrentWindow->overlay->cmap = newcmap->cmap;
00284     }
00285     XSetWindowColormap(__glutDisplay, __glutCurrentWindow->renderWin,
00286       newcmap->cmap);
00287     __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
00288   } else {
00289     /* Visuals different - need a distinct X colormap! */
00290     copycmap = associateNewColormap(dstvis);
00291     /* Wouldn't it be nice if XCopyColormapAndFree could be
00292        told not to free the old colormap's entries! */
00293     last = newcmap->size;
00294     if (last > copycmap->size) {
00295       last = copycmap->size;
00296     }
00297     for (i = last - 1; i >= 0; i--) {
00298       if (newcmap->cells[i].component[GLUT_RED] >= 0.0) {
00299         color.pixel = i;
00300         copycmap->cells[i].component[GLUT_RED] =
00301           newcmap->cells[i].component[GLUT_RED];
00302         color.red = (GLfloat) 0xffff *
00303           newcmap->cells[i].component[GLUT_RED];
00304         copycmap->cells[i].component[GLUT_GREEN] =
00305           newcmap->cells[i].component[GLUT_GREEN];
00306         color.green = (GLfloat) 0xffff *
00307           newcmap->cells[i].component[GLUT_GREEN];
00308         copycmap->cells[i].component[GLUT_BLUE] =
00309           newcmap->cells[i].component[GLUT_BLUE];
00310         color.blue = (GLfloat) 0xffff *
00311           newcmap->cells[i].component[GLUT_BLUE];
00312         color.flags = DoRed | DoGreen | DoBlue;
00313         XStoreColor(__glutDisplay, copycmap->cmap, &color);
00314       }
00315     }
00316   }
00317 }

int glutCreateMenu void(*   )(int)
 

int glutCreateSubWindow int    win,
int    x,
int    y,
int    width,
int    height
 

Definition at line 722 of file glut_win.c.

References __glutCreateWindow(), __glutPutOnWorkList(), __glutToplevelOf(), _GLUTwindow::cmap, GLUT_COLORMAP_WORK, _GLUTwindow::num, and win.

00723 {
00724   GLUTwindow *window, *toplevel;
00725 
00726   window = __glutCreateWindow(__glutWindowList[win - 1],
00727     x, y, width, height);
00728   toplevel = __glutToplevelOf(window);
00729   if (toplevel->cmap != window->cmap) {
00730     __glutPutOnWorkList(toplevel, GLUT_COLORMAP_WORK);
00731   }
00732   return window->num + 1;
00733 }

int glutCreateWindow char *    title
 

Definition at line 689 of file glut_win.c.

References __glutCreateWindow(), _GLUTwindow::num, win, and _GLUTwindow::win.

00690 {
00691   static int firstWindow = 1;
00692   GLUTwindow *window;
00693   XWMHints *wmHints;
00694   Window win;
00695   XTextProperty textprop;
00696 
00697   window = __glutCreateWindow(NULL,
00698     __glutSizeHints.x, __glutSizeHints.y,
00699     __glutInitWidth, __glutInitHeight);
00700   win = window->win;
00701   /* setup ICCCM properties */
00702   textprop.value = (unsigned char *) title;
00703   textprop.encoding = XA_STRING;
00704   textprop.format = 8;
00705   textprop.nitems = strlen(title);
00706   wmHints = XAllocWMHints();
00707   wmHints->initial_state =
00708     __glutIconic ? IconicState : NormalState;
00709   wmHints->flags = StateHint;
00710   XSetWMProperties(__glutDisplay, win, &textprop, &textprop,
00711   /* only put WM_COMMAND property on first window */
00712     firstWindow ? __glutArgv : NULL,
00713     firstWindow ? __glutArgc : 0,
00714     &__glutSizeHints, wmHints, NULL);
00715   firstWindow = 0;
00716   XFree(wmHints);
00717   XSetWMProtocols(__glutDisplay, win, &__glutWMDeleteWindow, 1);
00718   return window->num + 1;
00719 }

void glutDestroyMenu int    menu
 

Definition at line 656 of file glut_menu.c.

References __glutGetMenuByNum(), free, _GLUTmenu::id, _GLUTmenuItem::label, _GLUTmenu::list, _GLUTmenuItem::menu, menuModificationError(), _GLUTmenuItem::next, and _GLUTmenu::win.

00657 {
00658   GLUTmenu *menu = __glutGetMenuByNum(menunum);
00659   GLUTmenuItem *item, *next;
00660 
00661   if (__glutMappedMenu)
00662     menuModificationError();
00663   assert(menu->id == menunum - 1);
00664   XDestroySubwindows(__glutDisplay, menu->win);
00665   XDestroyWindow(__glutDisplay, menu->win);
00666   menuList[menunum - 1] = NULL;
00667   /* free all menu entries */
00668   item = menu->list;
00669   while (item) {
00670     assert(item->menu == menu);
00671     next = item->next;
00672     free(item->label);
00673     free(item);
00674     item = next;
00675   }
00676   if (__glutCurrentMenu == menu) {
00677     __glutCurrentMenu = NULL;
00678   }
00679   free(menu);
00680 }

void glutDestroyWindow int    win
 

Definition at line 794 of file glut_win.c.

References __glutFatalUsage(), __glutPutOnWorkList(), __glutToplevelOf(), destroyWindow(), GLUT_COLORMAP_WORK, _GLUTwindow::parent, and win.

00795 {
00796   GLUTwindow *window = __glutWindowList[win - 1];
00797 
00798   if (__glutMappedMenu && __glutMenuWindow == window) {
00799     __glutFatalUsage("destroying menu window not allowed while menus in use");
00800   }
00801   /* if not a toplevel window... */
00802   if (window->parent) {
00803     /* destroying subwindows may change colormap requirements;
00804        recalculate toplevel window's WM_COLORMAP_WINDOWS
00805        property */
00806     __glutPutOnWorkList(__glutToplevelOf(window->parent),
00807       GLUT_COLORMAP_WORK);
00808   }
00809   destroyWindow(window, window);
00810 }

void glutDetachMenu int    button
 

Definition at line 901 of file glut_menu.c.

References __glutChangeWindowEventMask(), and menuModificationError().

00902 {
00903   if (__glutMappedMenu)
00904     menuModificationError();
00905   if (__glutCurrentWindow->menu[button] > 0) {
00906     __glutCurrentWindow->buttonUses--;
00907     __glutChangeWindowEventMask(ButtonPressMask | ButtonReleaseMask,
00908       __glutCurrentWindow->buttonUses > 0);
00909     __glutCurrentWindow->menu[button] = 0;
00910   }
00911 }

int glutDeviceGet GLenum    type
 

Definition at line 506 of file glut_input.c.

References __glutDials, __glutNumButtonBoxButtons, __glutNumDials, __glutNumMouseButtons, __glutNumSpaceballButtons, __glutNumTabletButtons, __glutSpaceball, __glutTablet, __glutWarning(), GLUT_HAS_DIAL_AND_BUTTON_BOX, GLUT_HAS_KEYBOARD, GLUT_HAS_MOUSE, GLUT_HAS_SPACEBALL, GLUT_HAS_TABLET, GLUT_NUM_BUTTON_BOX_BUTTONS, GLUT_NUM_DIALS, GLUT_NUM_MOUSE_BUTTONS, GLUT_NUM_SPACEBALL_BUTTONS, GLUT_NUM_TABLET_BUTTONS, param, and probeDevices().

00507 {
00508   probeDevices();
00509   switch (param) {
00510   case GLUT_HAS_KEYBOARD:
00511   case GLUT_HAS_MOUSE:
00512     /* Assume X always has mouse and keyboard. */
00513     return 1;
00514   case GLUT_HAS_SPACEBALL:
00515     return __glutSpaceball != NULL;
00516   case GLUT_HAS_DIAL_AND_BUTTON_BOX:
00517     return __glutDials != NULL;
00518   case GLUT_HAS_TABLET:
00519     return __glutTablet != NULL;
00520   case GLUT_NUM_MOUSE_BUTTONS:
00521     return __glutNumMouseButtons;
00522   case GLUT_NUM_SPACEBALL_BUTTONS:
00523     return __glutNumSpaceballButtons;
00524   case GLUT_NUM_BUTTON_BOX_BUTTONS:
00525     return __glutNumButtonBoxButtons;
00526   case GLUT_NUM_DIALS:
00527     return __glutNumDials;
00528   case GLUT_NUM_TABLET_BUTTONS:
00529     return __glutNumTabletButtons;
00530   default:
00531     __glutWarning("invalid glutDeviceGet parameter: %d", param);
00532     return -1;
00533   }
00534 }

void glutDialsFunc void(*   )(int dial, int value)
 

void glutDisplayFunc void(*   )(void)
 

void glutEntryFunc void(*   )(int state)
 

void glutEstablishOverlay void   
 

Definition at line 284 of file glut_overlay.c.

References __glutDetermineVisual(), __glutFatalError(), __glutFreeOverlay(), __glutGetTransparentPixel(), __glutPutOnWorkList(), __glutSetupColormap(), __glutToplevelOf(), addStaleWindow(), _GLUTwindow::children, _GLUToverlay::cmap, _GLUToverlay::colormap, _GLUToverlay::ctx, _GLUToverlay::damaged, _GLUToverlay::display, _GLUTwindow::eventMask, _GLUToverlay::fakeSingle, _GLUTwindow::forceReshape, getOverlayVisualInfo(), GLUT_COLORMAP_WORK, GLUT_OVERLAY_EVENT_FILTER_MASK, glutUseLayer(), _GLUTwindow::height, _GLUToverlay::isDirect, malloc, overlay, _GLUTwindow::overlay, _GLUToverlay::shownState, _GLUToverlay::transparentPixel, _GLUToverlay::vis, _GLUTwindow::width, _GLUToverlay::win, and _GLUTwindow::win.

00285 {
00286   GLUToverlay *overlay;
00287   GLUTwindow *window;
00288   XSetWindowAttributes wa;
00289 
00290   /* Register a routine to free an overlay with glut_win.c;
00291      this keeps glut_win.c from pulling in all of
00292      glut_overlay.c when no overlay functionality is used by
00293      the application. */
00294   __glutFreeOverlayFunc = __glutFreeOverlay;
00295 
00296   window = __glutCurrentWindow;
00297 
00298   /* Allow for an existant overlay to be re-established perhaps
00299      if you wanted a different display mode. */
00300   if (window->overlay) {
00301     addStaleWindow(window, window->overlay->win);
00302     __glutFreeOverlay(window->overlay);
00303   }
00304   overlay = (GLUToverlay *) malloc(sizeof(GLUToverlay));
00305   if (!overlay)
00306     __glutFatalError("out of memory.");
00307 
00308   overlay->vis = __glutDetermineVisual(__glutDisplayMode,
00309     &overlay->fakeSingle, getOverlayVisualInfo);
00310   if (!overlay->vis) {
00311     __glutFatalError("lacks overlay support.");
00312   }
00313   overlay->ctx = glXCreateContext(__glutDisplay, overlay->vis,
00314     None, __glutTryDirect);
00315   overlay->isDirect = glXIsDirect(__glutDisplay, overlay->ctx);
00316   if (__glutForceDirect) {
00317     if (!overlay->isDirect) {
00318       __glutFatalError("direct rendering not possible.");
00319     }
00320   }
00321   __glutSetupColormap(overlay->vis, &(overlay->colormap), &(overlay->cmap));
00322   overlay->transparentPixel = __glutGetTransparentPixel(__glutDisplay,
00323     overlay->vis);
00324 
00325   wa.colormap = overlay->cmap;
00326   wa.background_pixel = overlay->transparentPixel;
00327   wa.event_mask = window->eventMask & GLUT_OVERLAY_EVENT_FILTER_MASK;
00328   wa.border_pixel = 0;
00329   overlay->win = XCreateWindow(__glutDisplay,
00330     window->win,
00331     0, 0, window->width, window->height, 0,
00332     overlay->vis->depth, InputOutput, overlay->vis->visual,
00333     CWBackPixel | CWBorderPixel | CWEventMask | CWColormap,
00334     &wa);
00335   if (window->children) {
00336     /* Overlay window must be lowered below any GLUT
00337        subwindows. */
00338     XLowerWindow(__glutDisplay, overlay->win);
00339   }
00340   XMapWindow(__glutDisplay, overlay->win);
00341   overlay->shownState = 1;
00342 
00343   overlay->damaged = 0;
00344   overlay->display = NULL;
00345 
00346   /* Make sure a reshape gets delivered. */
00347   window->forceReshape = True;
00348 
00349   __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
00350 
00351   window->overlay = overlay;
00352   glutUseLayer(GLUT_OVERLAY);
00353 }

int glutExtensionSupported char *    name
 

Definition at line 14 of file glut_ext.c.

00015 {
00016   static const GLubyte *extensions = NULL;
00017   const GLubyte *start;
00018   GLubyte *where, *terminator;
00019 
00020   /* Extension names should not have spaces. */
00021   where = (GLubyte *) strchr(extension, ' ');
00022   if (where || *extension == '\0')
00023     return 0;
00024 
00025   if (!extensions)
00026     extensions = glGetString(GL_EXTENSIONS);
00027   /* It takes a bit of care to be fool-proof about parsing the
00028      OpenGL extensions string.  Don't be fooled by sub-strings, 
00029      etc. */
00030   start = extensions;
00031   for (;;) {
00032     where = (GLubyte *) strstr((const char *)start, extension);
00033     if (!where)
00034       break;
00035     terminator = where + strlen(extension);
00036     if (where == start || *(where - 1) == ' ') {
00037       if (*terminator == ' ' || *terminator == '\0') {
00038         return 1;
00039       }
00040     }
00041     start = terminator;
00042   }
00043   return 0;
00044 }

void glutFullScreen void   
 

Definition at line 13 of file glut_fullscrn.c.

References __glutPutOnWorkList(), __glutWarning(), GLUT_CONFIGURE_WORK, and GLUT_FULL_SCREEN_WORK.

00014 {
00015   if (__glutMotifHints == None) {
00016     __glutMotifHints = XInternAtom(__glutDisplay, "_MOTIF_WM_HINTS", 0);
00017     if (__glutMotifHints == None) {
00018       __glutWarning("Could not intern X atom for WM_COLORMAP_WINDOWS.");
00019     }
00020   }
00021   __glutCurrentWindow->desiredX = 0;
00022   __glutCurrentWindow->desiredY = 0;
00023   __glutCurrentWindow->desiredWidth = __glutScreenWidth;
00024   __glutCurrentWindow->desiredHeight = __glutScreenHeight;
00025   __glutCurrentWindow->desiredConfMask |= CWX | CWY | CWWidth | CWHeight;
00026   __glutPutOnWorkList(__glutCurrentWindow,
00027     GLUT_CONFIGURE_WORK | GLUT_FULL_SCREEN_WORK);
00028 }

int glutGet GLenum    type
 

Definition at line 12 of file glut_get.c.

References __glutDetermineVisual(), __glutInitTime(), __glutIsSupportedByGLX(), __glutWarning(), Bool, border, dummy, GETTIMEOFDAY, GLUT_DISPLAY_MODE_POSSIBLE, GLUT_ELAPSED_TIME, GLUT_INIT_DISPLAY_MODE, GLUT_INIT_WINDOW_HEIGHT, GLUT_INIT_WINDOW_WIDTH, GLUT_INIT_WINDOW_X, GLUT_INIT_WINDOW_Y, GLUT_MENU_NUM_ITEMS, GLUT_SCREEN_HEIGHT, GLUT_SCREEN_HEIGHT_MM, GLUT_SCREEN_WIDTH, GLUT_SCREEN_WIDTH_MM, GLUT_WINDOW_ACCUM_ALPHA_SIZE, GLUT_WINDOW_ACCUM_BLUE_SIZE, GLUT_WINDOW_ACCUM_GREEN_SIZE, GLUT_WINDOW_ACCUM_RED_SIZE, GLUT_WINDOW_ALPHA_SIZE, GLUT_WINDOW_BLUE_SIZE, GLUT_WINDOW_BUFFER_SIZE, GLUT_WINDOW_COLORMAP_SIZE, GLUT_WINDOW_CURSOR, GLUT_WINDOW_DEPTH_SIZE, GLUT_WINDOW_DOUBLEBUFFER, GLUT_WINDOW_GREEN_SIZE, GLUT_WINDOW_HEIGHT, GLUT_WINDOW_NUM_CHILDREN, GLUT_WINDOW_NUM_SAMPLES, GLUT_WINDOW_PARENT, GLUT_WINDOW_RED_SIZE, GLUT_WINDOW_RGBA, GLUT_WINDOW_STENCIL_SIZE, GLUT_WINDOW_STEREO, GLUT_WINDOW_WIDTH, GLUT_WINDOW_X, GLUT_WINDOW_Y, param, _GLUTwindow::siblings, TIMEDELTA, and win.

00013 {
00014   Window win, root;
00015   int x, y, value;
00016   unsigned int width, height, border, depth;
00017 
00018   switch (param) {
00019   case GLUT_INIT_WINDOW_X:
00020     return __glutInitX;
00021   case GLUT_INIT_WINDOW_Y:
00022     return __glutInitY;
00023   case GLUT_INIT_WINDOW_WIDTH:
00024     return __glutInitWidth;
00025   case GLUT_INIT_WINDOW_HEIGHT:
00026     return __glutInitHeight;
00027   case GLUT_INIT_DISPLAY_MODE:
00028     return __glutDisplayMode;
00029   case GLUT_WINDOW_X:
00030     XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win,
00031       __glutRoot, 0, 0, &x, &y, &win);
00032     return x;
00033   case GLUT_WINDOW_Y:
00034     XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win,
00035       __glutRoot, 0, 0, &x, &y, &win);
00036     return y;
00037   case GLUT_WINDOW_WIDTH:
00038     if (!__glutCurrentWindow->reshape) {
00039       XGetGeometry(__glutDisplay, __glutCurrentWindow->win,
00040         &root, &x, &y,
00041         &width, &height, &border, &depth);
00042       return width;
00043     }
00044     return __glutCurrentWindow->width;
00045   case GLUT_WINDOW_HEIGHT:
00046     if (!__glutCurrentWindow->reshape) {
00047       XGetGeometry(__glutDisplay, __glutCurrentWindow->win,
00048         &root, &x, &y,
00049         &width, &height, &border, &depth);
00050       return height;
00051     }
00052     return __glutCurrentWindow->height;
00053 
00054 #define GET_CONFIG(attrib) { \
00055   if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) { \
00056     glXGetConfig(__glutDisplay, __glutCurrentWindow->vis, \
00057       attrib, &value); \
00058   } else { \
00059     glXGetConfig(__glutDisplay, __glutCurrentWindow->overlay->vis, \
00060       attrib, &value); \
00061   } \
00062 }
00063 
00064   case GLUT_WINDOW_BUFFER_SIZE:
00065     GET_CONFIG(GLX_BUFFER_SIZE);
00066     return value;
00067   case GLUT_WINDOW_STENCIL_SIZE:
00068     GET_CONFIG(GLX_STENCIL_SIZE);
00069     return value;
00070   case GLUT_WINDOW_DEPTH_SIZE:
00071     GET_CONFIG(GLX_DEPTH_SIZE);
00072     return value;
00073   case GLUT_WINDOW_RED_SIZE:
00074     GET_CONFIG(GLX_RED_SIZE);
00075     return value;
00076   case GLUT_WINDOW_GREEN_SIZE:
00077     GET_CONFIG(GLX_GREEN_SIZE);
00078     return value;
00079   case GLUT_WINDOW_BLUE_SIZE:
00080     GET_CONFIG(GLX_BLUE_SIZE);
00081     return value;
00082   case GLUT_WINDOW_ALPHA_SIZE:
00083     GET_CONFIG(GLX_ALPHA_SIZE);
00084     return value;
00085   case GLUT_WINDOW_ACCUM_RED_SIZE:
00086     GET_CONFIG(GLX_ACCUM_RED_SIZE);
00087     return value;
00088   case GLUT_WINDOW_ACCUM_GREEN_SIZE:
00089     GET_CONFIG(GLX_ACCUM_GREEN_SIZE);
00090     return value;
00091   case GLUT_WINDOW_ACCUM_BLUE_SIZE:
00092     GET_CONFIG(GLX_ACCUM_BLUE_SIZE);
00093     return value;
00094   case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
00095     GET_CONFIG(GLX_ACCUM_ALPHA_SIZE);
00096     return value;
00097   case GLUT_WINDOW_DOUBLEBUFFER:
00098     GET_CONFIG(GLX_DOUBLEBUFFER);
00099     return value;
00100   case GLUT_WINDOW_RGBA:
00101     GET_CONFIG(GLX_RGBA);
00102     return value;
00103   case GLUT_WINDOW_COLORMAP_SIZE:
00104     GET_CONFIG(GLX_RGBA);
00105     if (value) {
00106       return 0;
00107     } else {
00108       return __glutCurrentWindow->vis->visual->map_entries;
00109     }
00110   case GLUT_WINDOW_PARENT:
00111     return __glutCurrentWindow->parent ?
00112       __glutCurrentWindow->parent->num + 1 : 0;
00113   case GLUT_WINDOW_NUM_CHILDREN:
00114     {
00115       int num = 0;
00116       GLUTwindow *children = __glutCurrentWindow->children;
00117 
00118       while (children) {
00119         num++;
00120         children = children->siblings;
00121       }
00122       return num;
00123     }
00124   case GLUT_WINDOW_NUM_SAMPLES:
00125 #if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample)
00126     if (__glutIsSupportedByGLX("GLX_SGIS_multisample")) {
00127       GET_CONFIG(GLX_SAMPLES_SGIS);
00128       return value;
00129     } else {
00130       return 0;
00131     }
00132 #else
00133     /* Independent of GLX server support, multisampling not
00134        supported by GLX client-side. */
00135     return 0;
00136 #endif
00137   case GLUT_WINDOW_STEREO:
00138     GET_CONFIG(GLX_STEREO);
00139     return value;
00140   case GLUT_WINDOW_CURSOR:
00141     return __glutCurrentWindow->cursor;
00142   case GLUT_SCREEN_WIDTH:
00143     return DisplayWidth(__glutDisplay, __glutScreen);
00144   case GLUT_SCREEN_HEIGHT:
00145     return DisplayHeight(__glutDisplay, __glutScreen);
00146   case GLUT_SCREEN_WIDTH_MM:
00147     return DisplayWidthMM(__glutDisplay, __glutScreen);
00148   case GLUT_SCREEN_HEIGHT_MM:
00149     return DisplayHeightMM(__glutDisplay, __glutScreen);
00150   case GLUT_MENU_NUM_ITEMS:
00151     return __glutCurrentMenu->num;
00152   case GLUT_DISPLAY_MODE_POSSIBLE:
00153     {
00154       XVisualInfo *vi;
00155       Bool dummy;
00156 
00157       vi = __glutDetermineVisual(__glutDisplayMode, &dummy, __glutGetVisualInfo);
00158       if (vi) {
00159         XFree(vi);
00160         return 1;
00161       }
00162       return 0;
00163     }
00164   case GLUT_ELAPSED_TIME:
00165     {
00166       struct timeval elapsed, beginning, now;
00167 
00168       __glutInitTime(&beginning);
00169       GETTIMEOFDAY(&now);
00170       TIMEDELTA(elapsed, now, beginning);
00171       /* Return elapsed milliseconds. */
00172 #if defined(__vms)
00173       return (int) (elapsed.val / TICKS_PER_MILLISECOND);
00174 #else
00175       return (int) ((elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000));
00176 #endif
00177     }
00178   default:
00179     __glutWarning("invalid glutGet parameter: %d", param);
00180     return -1;
00181   }
00182 }

GLfloat glutGetColor int    ndx,
int    component
 

Definition at line 182 of file glut_cindex.c.

References __glutWarning(), _GLUTcolormap::cells, and _GLUTcolorcell::component.

00183 {
00184   GLUTcolormap *colormap;
00185   XVisualInfo *vis;
00186 
00187   if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
00188     colormap = __glutCurrentWindow->colormap;
00189     vis = __glutCurrentWindow->vis;
00190   } else {
00191     colormap = __glutCurrentWindow->overlay->colormap;
00192     vis = __glutCurrentWindow->overlay->vis;
00193     if (ndx == __glutCurrentWindow->overlay->transparentPixel) {
00194       __glutWarning("glutGetColor: requesting overlay transparent index %d\n",
00195         ndx);
00196       return -1.0;
00197     }
00198   }
00199 
00200   if (!colormap) {
00201     __glutWarning("glutGetColor: current window is RGBA");
00202     return -1.0;
00203   }
00204   if (ndx >= vis->visual->map_entries || ndx < 0) {
00205     __glutWarning("glutGetColor: index %d out of range", ndx);
00206     return -1.0;
00207   }
00208   return colormap->cells[ndx].component[comp];
00209 }

int glutGetMenu void   
 

Definition at line 683 of file glut_menu.c.

References _GLUTmenu::id.

00684 {
00685   if (__glutCurrentMenu) {
00686     return __glutCurrentMenu->id + 1;
00687   } else {
00688     return 0;
00689   }
00690 }

int glutGetModifiers void   
 

Definition at line 13 of file glut_modifier.c.

References __glutWarning(), GLUT_ACTIVE_ALT, GLUT_ACTIVE_CTRL, and GLUT_ACTIVE_SHIFT.

00014 {
00015   int modifiers;
00016 
00017   if(__glutModifierMask == (unsigned int) ~0) {
00018     __glutWarning(
00019       "glutCurrentModifiers: do not call outside core input callback.");
00020     return 0;
00021   }
00022   modifiers = 0;
00023   if(__glutModifierMask & (ShiftMask|LockMask))
00024     modifiers |= GLUT_ACTIVE_SHIFT;
00025   if(__glutModifierMask & ControlMask)
00026     modifiers |= GLUT_ACTIVE_CTRL;
00027   if(__glutModifierMask & Mod1Mask)
00028     modifiers |= GLUT_ACTIVE_ALT;
00029   return modifiers;
00030 }

int glutGetWindow void   
 

Definition at line 111 of file glut_win.c.

References _GLUTwindow::num.

00112 {
00113   if (__glutCurrentWindow) {
00114     return __glutCurrentWindow->num + 1;
00115   } else {
00116     return 0;
00117   }
00118 }

void glutHideOverlay void   
 

Definition at line 412 of file glut_overlay.c.

References __glutWarning().

00413 {
00414   if (!__glutCurrentWindow->overlay) {
00415     __glutWarning("glutHideOverlay: window has no overlay established");
00416     return;
00417   }
00418   XUnmapWindow(__glutDisplay, __glutCurrentWindow->overlay->win);
00419   __glutCurrentWindow->overlay->shownState = 0;
00420 }

void glutHideWindow void   
 

Definition at line 102 of file glut_winmisc.c.

References __glutPutOnWorkList(), and GLUT_MAP_WORK.

00103 {
00104   __glutCurrentWindow->desiredMapState = WithdrawnState;
00105   __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
00106 }

void glutIconifyWindow void   
 

Definition at line 87 of file glut_winmisc.c.

References __glutPutOnWorkList(), and GLUT_MAP_WORK.

00088 {
00089   assert(!__glutCurrentWindow->parent);
00090   __glutCurrentWindow->desiredMapState = IconicState;
00091   __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
00092 }

void glutIdleFunc void(*   )(void)
 

void glutInit int *    argcp,
char **    argv
 

Definition at line 105 of file glut_init.c.

References __glutArgc, __glutArgv, __glutDebug, __glutDisplay, __glutFatalError(), __glutForceDirect, __glutIconic, __glutInitHeight, __glutInitTime(), __glutInitWidth, __glutInitX, __glutInitY, __glutOpenXConnection(), __glutProgramName, __glutScreen, __glutSizeHints, __glutTryDirect, __glutWarning(), display, flags, glutInitWindowPosition(), glutInitWindowSize(), i, malloc, removeArgs(), and synchronize.

00106 {
00107   char *display = NULL;
00108   char *str;
00109   struct timeval unused;
00110   int i;
00111 
00112   if (__glutDisplay) {
00113     __glutWarning("glutInit being called a second time.");
00114     return;
00115   }
00116   /* determine temporary program name */
00117   str = strrchr(argv[0], '/');
00118   if (str == NULL) {
00119     __glutProgramName = argv[0];
00120   } else {
00121     __glutProgramName = str + 1;
00122   }
00123 
00124   /* make private copy of command line arguments */
00125   __glutArgc = *argcp;
00126   __glutArgv = (char **) malloc(__glutArgc * sizeof(char *));
00127   if (!__glutArgv)
00128     __glutFatalError("out of memory.");
00129   for (i = 0; i < __glutArgc; i++) {
00130     __glutArgv[i] = strdup(argv[i]);
00131     if (!__glutArgv[i])
00132       __glutFatalError("out of memory.");
00133   }
00134 
00135   /* determine permanent program name */
00136   str = strrchr(__glutArgv[0], '/');
00137   if (str == NULL) {
00138     __glutProgramName = __glutArgv[0];
00139   } else {
00140     __glutProgramName = str + 1;
00141   }
00142 
00143   /* parse arguments for standard options */
00144   for (i = 1; i < __glutArgc; i++) {
00145     if (!strcmp(__glutArgv[i], "-display")) {
00146       if (++i >= __glutArgc) {
00147         __glutFatalError(
00148           "follow -display option with X display name.");
00149       }
00150       display = __glutArgv[i];
00151       removeArgs(argcp, &argv[1], 2);
00152     } else if (!strcmp(__glutArgv[i], "-geometry")) {
00153       int flags, x, y, width, height;
00154 
00155       if (++i >= __glutArgc) {
00156         __glutFatalError(
00157           "follow -geometry option with geometry parameter.");
00158       }
00159       /* Fix bogus "{width|height} may be used before set"
00160          warning */
00161       width = 0;
00162       height = 0;
00163 
00164       flags = XParseGeometry(__glutArgv[i], &x, &y,
00165         (unsigned int *) &width, (unsigned int *) &height);
00166       if (WidthValue & flags) {
00167         /* Careful because X does not allow zero or negative
00168            width windows */
00169         if (width > 0)
00170           __glutInitWidth = width;
00171       }
00172       if (HeightValue & flags) {
00173         /* Careful because X does not allow zero or negative
00174            height windows */
00175         if (height > 0)
00176           __glutInitHeight = height;
00177       }
00178       glutInitWindowSize(__glutInitWidth, __glutInitHeight);
00179       if (XValue & flags) {
00180         if (XNegative & flags)
00181           x = DisplayWidth(__glutDisplay, __glutScreen) +
00182             x - __glutSizeHints.width;
00183         /* Play safe: reject negative X locations */
00184         if (x >= 0)
00185           __glutInitX = x;
00186       }
00187       if (YValue & flags) {
00188         if (YNegative & flags)
00189           y = DisplayHeight(__glutDisplay, __glutScreen) +
00190             y - __glutSizeHints.height;
00191         /* Play safe: reject negative Y locations */
00192         if (y >= 0)
00193           __glutInitY = y;
00194       }
00195       glutInitWindowPosition(__glutInitX, __glutInitY);
00196       removeArgs(argcp, &argv[1], 2);
00197     } else if (!strcmp(__glutArgv[i], "-direct")) {
00198       if (!__glutTryDirect)
00199         __glutFatalError(
00200           "cannot force both direct and indirect rendering.");
00201       __glutForceDirect = GL_TRUE;
00202       removeArgs(argcp, &argv[1], 1);
00203     } else if (!strcmp(__glutArgv[i], "-indirect")) {
00204       if (__glutForceDirect)
00205         __glutFatalError(
00206           "cannot force both direct and indirect rendering.");
00207       __glutTryDirect = GL_FALSE;
00208       removeArgs(argcp, &argv[1], 1);
00209     } else if (!strcmp(__glutArgv[i], "-iconic")) {
00210       __glutIconic = GL_TRUE;
00211       removeArgs(argcp, &argv[1], 1);
00212     } else if (!strcmp(__glutArgv[i], "-gldebug")) {
00213       __glutDebug = GL_TRUE;
00214       removeArgs(argcp, &argv[1], 1);
00215     } else if (!strcmp(__glutArgv[i], "-sync")) {
00216       synchronize = GL_TRUE;
00217       removeArgs(argcp, &argv[1], 1);
00218     } else {
00219       /* once unknown option encountered, stop command line
00220          processing */
00221       break;
00222     }
00223   }
00224   __glutOpenXConnection(display);
00225   __glutInitTime(&unused);
00226 }

void glutInitDisplayMode unsigned int    mode
 

Definition at line 257 of file glut_init.c.

References __glutDisplayMode.

00258 {
00259   __glutDisplayMode = mask;
00260 }

void glutInitWindowPosition int    x,
int    y
 

Definition at line 229 of file glut_init.c.

References __glutInitX, __glutInitY, and __glutSizeHints.

Referenced by glutInit().

00230 {
00231   __glutInitX = x;
00232   __glutInitY = y;
00233   if (x >= 0 && y >= 0) {
00234     __glutSizeHints.x = x;
00235     __glutSizeHints.y = y;
00236     __glutSizeHints.flags |= USPosition;
00237   } else {
00238     __glutSizeHints.flags &= ~USPosition;
00239   }
00240 }

void glutInitWindowSize int    width,
int    height
 

Definition at line 243 of file glut_init.c.

References __glutInitHeight, __glutInitWidth, and __glutSizeHints.

Referenced by glutInit().

00244 {
00245   __glutInitWidth = width;
00246   __glutInitHeight = height;
00247   if (width > 0 && height > 0) {
00248     __glutSizeHints.width = width;
00249     __glutSizeHints.height = height;
00250     __glutSizeHints.flags |= USSize;
00251   } else {
00252     __glutSizeHints.flags &= ~USSize;
00253   }
00254 }

void glutKeyboardFunc void(*   )(unsigned char key, int x, int y)
 

int glutLayerGet GLenum    type
 

Definition at line 434 of file glut_overlay.c.

References __glutDetermineVisual(), __glutWarning(), Bool, dummy, getOverlayVisualInfo(), GLUT_HAS_OVERLAY, GLUT_LAYER_IN_USE, GLUT_NORMAL_DAMAGED, GLUT_OVERLAY_DAMAGED, GLUT_OVERLAY_POSSIBLE, GLUT_TRANSPARENT_INDEX, and param.

00435 {
00436   switch (param) {
00437   case GLUT_OVERLAY_POSSIBLE:
00438     {
00439       XVisualInfo *vi;
00440       Bool dummy;
00441 
00442       vi = __glutDetermineVisual(__glutDisplayMode, &dummy, getOverlayVisualInfo);
00443       if (vi) {
00444         XFree(vi);
00445         return 1;
00446       }
00447       return 0;
00448     }
00449   case GLUT_LAYER_IN_USE:
00450     return __glutCurrentWindow->renderWin != __glutCurrentWindow->win;
00451   case GLUT_HAS_OVERLAY:
00452     return __glutCurrentWindow->overlay != NULL;
00453   case GLUT_TRANSPARENT_INDEX:
00454     if (__glutCurrentWindow->overlay) {
00455       return __glutCurrentWindow->overlay->transparentPixel;
00456     } else {
00457       return -1;
00458     }
00459   case GLUT_NORMAL_DAMAGED:
00460     /* __glutWindowDamaged is used so the damage state within
00461        the window (or overlay belwo) can be cleared before
00462        calling a display callback so on return, the state does
00463        not have to be cleared (since upon return from the
00464        callback the window could be destroyed (or layer
00465        removed). */
00466     return __glutCurrentWindow->damaged || __glutWindowDamaged;
00467   case GLUT_OVERLAY_DAMAGED:
00468     if (__glutCurrentWindow->overlay) {
00469       return __glutCurrentWindow->overlay->damaged || __glutWindowDamaged;
00470     } else {
00471       return -1;
00472     }
00473   default:
00474     __glutWarning("invalid glutLayerGet param: %d", param);
00475     return -1;
00476   }
00477 }

void glutMainLoop void   
 

Definition at line 945 of file glut_event.c.

References __glutFatalUsage(), __glutIdleFunc, idleWait(), processEvents(), processWindowWorkList(), and waitForSomething().

00946 {
00947   if (!__glutDisplay)
00948     __glutFatalUsage("main loop entered with out X connection.");
00949   if (!__glutWindowListSize)
00950     __glutFatalUsage(
00951       "main loop entered with no windows created.");
00952   for (;;) {
00953     if (__glutWindowWorkList) {
00954       GLUTwindow *remainder, *work;
00955 
00956       work = __glutWindowWorkList;
00957       __glutWindowWorkList = NULL;
00958       if (work) {
00959         remainder = processWindowWorkList(work);
00960         if (remainder) {
00961           *beforeEnd = __glutWindowWorkList;
00962           __glutWindowWorkList = remainder;
00963         }
00964       }
00965     }
00966     if (__glutIdleFunc || __glutWindowWorkList) {
00967       idleWait();
00968     } else {
00969       if (__glutTimerList) {
00970         waitForSomething();
00971       } else {
00972         processEvents();
00973       }
00974     }
00975   }
00976 }

void glutMenuStateFunc void(*   )(int state)
 

void glutMenuStatusFunc void(*   )(int status, int x, int y)
 

void glutMotionFunc void(*   )(int x, int y)
 

void glutMouseFunc void(*   )(int button, int state, int x, int y)
 

void glutOverlayDisplayFunc void(*   )(void)
 

void glutPassiveMotionFunc void(*   )(int x, int y)
 

void glutPopWindow void   
 

Definition at line 71 of file glut_winmisc.c.

References __glutPutOnWorkList(), and GLUT_CONFIGURE_WORK.

00072 {
00073   __glutCurrentWindow->desiredStack = Above;
00074   __glutCurrentWindow->desiredConfMask |= CWStackMode;
00075   __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
00076 }

void glutPositionWindow int    x,
int    y
 

Definition at line 50 of file glut_winmisc.c.

References __glutPutOnWorkList(), and GLUT_CONFIGURE_WORK.

00051 {
00052   __glutCurrentWindow->desiredX = x;
00053   __glutCurrentWindow->desiredY = y;
00054   __glutCurrentWindow->desiredConfMask |= CWX | CWY;
00055   __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
00056 }

void glutPostOverlayRedisplay void   
 

Definition at line 396 of file glut_overlay.c.

References __glutPostRedisplay(), and GLUT_OVERLAY_REDISPLAY_WORK.

00397 {
00398   __glutPostRedisplay(__glutCurrentWindow, GLUT_OVERLAY_REDISPLAY_WORK);
00399 }

void glutPostRedisplay void   
 

Definition at line 156 of file glut_event.c.

References __glutPostRedisplay(), and GLUT_REDISPLAY_WORK.

00157 {
00158   __glutPostRedisplay(__glutCurrentWindow, GLUT_REDISPLAY_WORK);
00159 }

void glutPushWindow void   
 

Definition at line 79 of file glut_winmisc.c.

References __glutPutOnWorkList(), and GLUT_CONFIGURE_WORK.

00080 {
00081   __glutCurrentWindow->desiredStack = Below;
00082   __glutCurrentWindow->desiredConfMask |= CWStackMode;
00083   __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
00084 }

void glutRemoveMenuItem int    item
 

Definition at line 837 of file glut_menu.c.

References __glutWarning(), free, i, _GLUTmenuItem::label, _GLUTmenu::list, _GLUTmenu::managed, menuModificationError(), _GLUTmenuItem::next, _GLUTmenu::num, _GLUTmenuItem::pixwidth, and _GLUTmenu::pixwidth.

00838 {
00839   GLUTmenuItem *item, **prev, *remaining;
00840   int pixwidth, i;
00841 
00842   if (__glutMappedMenu)
00843     menuModificationError();
00844   i = __glutCurrentMenu->num;
00845   prev = &__glutCurrentMenu->list;
00846   item = __glutCurrentMenu->list;
00847   /* If menu item is removed, the menu's pixwidth may need to
00848      be recomputed. */
00849   pixwidth = 0;
00850   while (item) {
00851     if (i == num) {
00852       /* If this menu item's pixwidth is as wide as the menu's
00853          pixwidth, removing this menu item will necessitate
00854          shrinking the menu's pixwidth. */
00855       if (item->pixwidth >= __glutCurrentMenu->pixwidth) {
00856         /* Continue recalculating menu pixwidth, first skipping
00857            the removed item. */
00858         remaining = item->next;
00859         while (remaining) {
00860           if (remaining->pixwidth > pixwidth) {
00861             pixwidth = remaining->pixwidth;
00862           }
00863           remaining = remaining->next;
00864         }
00865       }
00866       __glutCurrentMenu->num--;
00867       __glutCurrentMenu->managed = False;
00868       __glutCurrentMenu->pixwidth = pixwidth;
00869 
00870       /* Patch up menu's item list. */
00871       *prev = item->next;
00872 
00873       free(item->label);
00874       free(item);
00875       return;
00876     }
00877     if (item->pixwidth > pixwidth) {
00878       pixwidth = item->pixwidth;
00879     }
00880     i--;
00881     prev = &item->next;
00882     item = item->next;
00883   }
00884   __glutWarning("Current menu has no %d item.", num);
00885 }

void glutRemoveOverlay void   
 

Definition at line 356 of file glut_overlay.c.

References __glutFreeOverlay(), __glutPutOnWorkList(), __glutToplevelOf(), addStaleWindow(), GLUT_COLORMAP_WORK, glutUseLayer(), overlay, _GLUTwindow::overlay, _GLUTwindow::renderWin, and _GLUToverlay::win.

00357 {
00358   GLUTwindow *window = __glutCurrentWindow;
00359   GLUToverlay *overlay = __glutCurrentWindow->overlay;
00360 
00361   if (!window->overlay)
00362     return;
00363 
00364   /* If using overlay, switch to the normal layer. */
00365   if (window->renderWin == overlay->win) {
00366     glutUseLayer(GLUT_NORMAL);
00367   }
00368   addStaleWindow(window, overlay->win);
00369   __glutFreeOverlay(overlay);
00370   window->overlay = NULL;
00371   __glutPutOnWorkList(__glutToplevelOf(window), GLUT_COLORMAP_WORK);
00372 }

void glutReshapeFunc void(*   )(int width, int height)
 

void glutReshapeWindow int    width,
int    height
 

Definition at line 59 of file glut_winmisc.c.

References __glutPutOnWorkList(), __glutWarning(), and GLUT_CONFIGURE_WORK.

00060 {
00061   if(w <= 0 || h <= 0) 
00062     __glutWarning("glutReshapeWindow: non-positive width or height not allowed");
00063 
00064   __glutCurrentWindow->desiredWidth = w;
00065   __glutCurrentWindow->desiredHeight = h;
00066   __glutCurrentWindow->desiredConfMask |= CWWidth | CWHeight;
00067   __glutPutOnWorkList(__glutCurrentWindow, GLUT_CONFIGURE_WORK);
00068 }

void glutSetColor int   ,
GLfloat    red,
GLfloat    green,
GLfloat    blue
 

Definition at line 90 of file glut_cindex.c.

References __glutPutOnWorkList(), __glutToplevelOf(), __glutWarning(), associateNewColormap(), _GLUTcolormap::cells, CLAMP, cmap, _GLUTcolormap::cmap, _GLUTwindow::cmap, color, _GLUTcolorcell::component, GLUT_BLUE, GLUT_COLORMAP_WORK, GLUT_GREEN, GLUT_RED, i, _GLUTcolormap::refcnt, and _GLUTcolormap::size.

00091 {
00092   GLUTcolormap *cmap, *newcmap;
00093   XVisualInfo *vis;
00094   XColor color;
00095   int i;
00096 
00097   if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
00098     cmap = __glutCurrentWindow->colormap;
00099     vis = __glutCurrentWindow->vis;
00100   } else {
00101     cmap = __glutCurrentWindow->overlay->colormap;
00102     vis = __glutCurrentWindow->overlay->vis;
00103     if (ndx == __glutCurrentWindow->overlay->transparentPixel) {
00104       __glutWarning(
00105         "glutSetColor: cannot set color of overlay transparent index %d\n",
00106         ndx);
00107       return;
00108     }
00109   }
00110 
00111   if (!cmap) {
00112     __glutWarning("glutSetColor: current window is RGBA");
00113     return;
00114   }
00115   if (ndx >= vis->visual->map_entries ||
00116     ndx < 0) {
00117     __glutWarning("glutSetColor: index %d out of range", ndx);
00118     return;
00119   }
00120   if (cmap->refcnt > 1) {
00121     GLUTwindow *toplevel;
00122 
00123     newcmap = associateNewColormap(vis);
00124     cmap->refcnt--;
00125     /* Wouldn't it be nice if XCopyColormapAndFree could be
00126        told not to free the old colormap's entries! */
00127     for (i = cmap->size - 1; i >= 0; i--) {
00128       if (i == ndx) {
00129         /* We are going to set this cell shortly! */
00130         continue;
00131       }
00132       if (cmap->cells[i].component[GLUT_RED] >= 0.0) {
00133         color.pixel = i;
00134         newcmap->cells[i].component[GLUT_RED] =
00135           cmap->cells[i].component[GLUT_RED];
00136         color.red = (GLfloat) 0xffff *
00137           cmap->cells[i].component[GLUT_RED];
00138         newcmap->cells[i].component[GLUT_GREEN] =
00139           cmap->cells[i].component[GLUT_GREEN];
00140         color.green = (GLfloat) 0xffff *
00141           cmap->cells[i].component[GLUT_GREEN];
00142         newcmap->cells[i].component[GLUT_BLUE] =
00143           cmap->cells[i].component[GLUT_BLUE];
00144         color.blue = (GLfloat) 0xffff *
00145           cmap->cells[i].component[GLUT_BLUE];
00146         color.flags = DoRed | DoGreen | DoBlue;
00147         XStoreColor(__glutDisplay, newcmap->cmap, &color);
00148       } else {
00149         /* leave unallocated entries unallocated */
00150       }
00151     }
00152     cmap = newcmap;
00153     if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) {
00154       __glutCurrentWindow->colormap = cmap;
00155       __glutCurrentWindow->cmap = cmap->cmap;
00156     } else {
00157       __glutCurrentWindow->overlay->colormap = cmap;
00158       __glutCurrentWindow->overlay->cmap = cmap->cmap;
00159     }
00160     XSetWindowColormap(__glutDisplay, __glutCurrentWindow->renderWin, cmap->cmap);
00161 
00162     toplevel = __glutToplevelOf(__glutCurrentWindow);
00163     if (toplevel->cmap != cmap->cmap) {
00164       __glutPutOnWorkList(toplevel, GLUT_COLORMAP_WORK);
00165     }
00166   }
00167   color.pixel = ndx;
00168   red = CLAMP(red);
00169   cmap->cells[ndx].component[GLUT_RED] = red;
00170   color.red = (GLfloat) 0xffff *red;
00171   green = CLAMP(green);
00172   cmap->cells[ndx].component[GLUT_GREEN] = green;
00173   color.green = (GLfloat) 0xffff *green;
00174   blue = CLAMP(blue);
00175   cmap->cells[ndx].component[GLUT_BLUE] = blue;
00176   color.blue = (GLfloat) 0xffff *blue;
00177   color.flags = DoRed | DoGreen | DoBlue;
00178   XStoreColor(__glutDisplay, cmap->cmap, &color);
00179 }

void glutSetCursor int    cursor
 

Definition at line 92 of file glut_cursor.c.

References blankCursor, _CursorTable::cursor, fullCrosshairCusor, getFullCrosshairCursor(), GLUT_CURSOR_FULL_CROSSHAIR, GLUT_CURSOR_INHERIT, GLUT_CURSOR_NONE, and makeBlankCursor().

00093 {
00094   Cursor xcursor;
00095 
00096   if (cursor >= 0 &&
00097     cursor < sizeof(cursorTable) / sizeof(cursorTable[0])) {
00098     if (cursorTable[cursor].cursor == None)
00099       cursorTable[cursor].cursor = XCreateFontCursor(__glutDisplay,
00100         cursorTable[cursor].glyph);
00101     xcursor = cursorTable[cursor].cursor;
00102   } else {
00103     /* Special cases. */
00104     switch (cursor) {
00105     case GLUT_CURSOR_INHERIT:
00106       xcursor = None;
00107       break;
00108     case GLUT_CURSOR_NONE:
00109       if (blankCursor == None)
00110         blankCursor = makeBlankCursor();
00111       xcursor = blankCursor;
00112       break;
00113     case GLUT_CURSOR_FULL_CROSSHAIR:
00114       if (fullCrosshairCusor == None)
00115         fullCrosshairCusor = getFullCrosshairCursor();
00116       xcursor = fullCrosshairCusor;
00117       break;
00118     }
00119   }
00120   __glutCurrentWindow->cursor = cursor;
00121   XDefineCursor(__glutDisplay,
00122     __glutCurrentWindow->win, xcursor);
00123   XFlush(__glutDisplay);
00124 }

void glutSetIconTitle char *    title
 

Definition at line 35 of file glut_winmisc.c.

00036 {
00037   XTextProperty textprop;
00038 
00039   assert(!__glutCurrentWindow->parent);
00040   textprop.value = (unsigned char *) title;
00041   textprop.encoding = XA_STRING;
00042   textprop.format = 8;
00043   textprop.nitems = strlen(title);
00044   XSetWMIconName(__glutDisplay,
00045     __glutCurrentWindow->win, &textprop);
00046   XFlush(__glutDisplay);
00047 }

void glutSetMenu int    menu
 

Definition at line 693 of file glut_menu.c.

References __glutSetMenu(), __glutWarning(), and menuListSize.

00694 {
00695   GLUTmenu *menu;
00696 
00697   if (menuid < 1 || menuid > menuListSize) {
00698     __glutWarning("glutSetMenu attempted on bogus menu.");
00699     return;
00700   }
00701   menu = menuList[menuid - 1];
00702   if (!menu) {
00703     __glutWarning("glutSetMenu attempted on bogus menu.");
00704     return;
00705   }
00706   __glutSetMenu(menu);
00707 }

void glutSetWindow int    win
 

Definition at line 153 of file glut_win.c.

References __glutSetWindow(), __glutWarning(), __glutWindowListSize, and win.

00154 {
00155   GLUTwindow *window;
00156 
00157   if (win < 1 || win > __glutWindowListSize) {
00158     __glutWarning("glutWindowSet attempted on bogus window.");
00159     return;
00160   }
00161   window = __glutWindowList[win - 1];
00162   if (!window) {
00163     __glutWarning("glutWindowSet attempted on bogus window.");
00164     return;
00165   }
00166   __glutSetWindow(window);
00167 }

void glutSetWindowTitle char *    title
 

Definition at line 20 of file glut_winmisc.c.

00021 {
00022   XTextProperty textprop;
00023 
00024   assert(!__glutCurrentWindow->parent);
00025   textprop.value = (unsigned char *) title;
00026   textprop.encoding = XA_STRING;
00027   textprop.format = 8;
00028   textprop.nitems = strlen(title);
00029   XSetWMName(__glutDisplay,
00030     __glutCurrentWindow->win, &textprop);
00031   XFlush(__glutDisplay);
00032 }

void glutShowOverlay void   
 

Definition at line 423 of file glut_overlay.c.

References __glutWarning().

00424 {
00425   if (!__glutCurrentWindow->overlay) {
00426     __glutWarning("glutShowOverlay: window has no overlay established");
00427     return;
00428   }
00429   XMapWindow(__glutDisplay, __glutCurrentWindow->overlay->win);
00430   __glutCurrentWindow->overlay->shownState = 1;
00431 }

void glutShowWindow void   
 

Definition at line 95 of file glut_winmisc.c.

References __glutPutOnWorkList(), and GLUT_MAP_WORK.

00096 {
00097   __glutCurrentWindow->desiredMapState = NormalState;
00098   __glutPutOnWorkList(__glutCurrentWindow, GLUT_MAP_WORK);
00099 }

void glutSolidCone GLdouble    base,
GLdouble    height,
GLint    slices,
GLint    stacks
 

Definition at line 103 of file glut_shapes.c.

References base, QUAD_OBJ_INIT, and quadObj.

00105 {
00106   QUAD_OBJ_INIT();
00107   gluQuadricDrawStyle(quadObj, GLU_FILL);
00108   gluQuadricNormals(quadObj, GLU_SMOOTH);
00109   /* If we ever changed/used the texture or orientation state
00110      of quadObj, we'd need to change it to the defaults here
00111      with gluQuadricTexture and/or gluQuadricOrientation. */
00112   gluCylinder(quadObj, base, 0.0, height, slices, stacks);
00113 }

void glutSolidCube GLdouble    size
 

Definition at line 183 of file glut_shapes.c.

References drawBox().

00184 {
00185   drawBox(-size / 2., size / 2.,
00186     -size / 2., size / 2.,
00187     -size / 2., size / 2.,
00188     GL_QUADS);
00189 }

void glutSolidDodecahedron void   
 

Definition at line 385 of file glut_shapes.c.

References dodecahedron().

00386 {
00387   dodecahedron(GL_TRIANGLE_FAN);
00388 }

void glutSolidIcosahedron void   
 

Definition at line 567 of file glut_shapes.c.

References icosahedron().

00568 {
00569   icosahedron(GL_TRIANGLES);
00570 }

void glutSolidOctahedron void   
 

Definition at line 499 of file glut_shapes.c.

References octahedron().

00500 {
00501   octahedron(GL_TRIANGLES);
00502 }

void glutSolidSphere GLdouble    radius,
GLint    slices,
GLint    stacks
 

Definition at line 78 of file glut_shapes.c.

References QUAD_OBJ_INIT, and quadObj.

00079 {
00080   QUAD_OBJ_INIT();
00081   gluQuadricDrawStyle(quadObj, GLU_FILL);
00082   gluQuadricNormals(quadObj, GLU_SMOOTH);
00083   /* If we ever changed/used the texture or orientation state
00084      of quadObj, we'd need to change it to the defaults here
00085      with gluQuadricTexture and/or gluQuadricOrientation. */
00086   gluSphere(quadObj, radius, slices, stacks);
00087 }

void glutSolidTeapot GLdouble    size
 

Definition at line 196 of file glut_teapot.c.

References scale, and teapot().

00197 {
00198   teapot(14, scale, GL_FILL);
00199 }

void glutSolidTetrahedron void   
 

Definition at line 608 of file glut_shapes.c.

References tetrahedron().

00609 {
00610   tetrahedron(GL_TRIANGLES);
00611 }

void glutSolidTorus GLdouble    innerRadius,
GLdouble    outerRadius,
GLint    sides,
GLint    rings
 

Definition at line 262 of file glut_shapes.c.

References doughnut().

00264 {
00265   doughnut(innerRadius, outerRadius, nsides, rings, GL_QUADS);
00266 }

void glutSpaceballButtonFunc void(*   )(int button, int state)
 

void glutSpaceballMotionFunc void(*   )(int x, int y, int z)
 

void glutSpaceballRotateFunc void(*   )(int x, int y, int z)
 

void glutSpecialFunc void(*   )(int key, int x, int y)
 

void glutStrokeCharacter void *    font,
int    character
 

int glutStrokeWidth void *    font,
int    character
 

void glutSwapBuffers void   
 

Definition at line 813 of file glut_win.c.

References _GLUTwindow::fakeSingle, _GLUToverlay::fakeSingle, _GLUTwindow::overlay, _GLUTwindow::renderWin, and _GLUTwindow::win.

00814 {
00815   GLUTwindow *window = __glutCurrentWindow;
00816 
00817   if (window->renderWin == window->win) {
00818     if (__glutCurrentWindow->fakeSingle) {
00819       /* Pretend the double buffered window is single buffered,
00820          so treat glutSwapBuffers as a no-op */
00821       return;
00822     }
00823   } else {
00824     if (__glutCurrentWindow->overlay->fakeSingle) {
00825       /* Pretend the double buffered overlay is single
00826          buffered,  so treat glutSwapBuffers as a no-op. */
00827       return;
00828     }
00829   }
00830   glXSwapBuffers(__glutDisplay, __glutCurrentWindow->renderWin);
00831 }

void glutTabletButtonFunc void(*   )(int button, int state, int x, int y)
 

void glutTabletMotionFunc void(*   )(int x, int y)
 

void glutTimerFunc unsigned int    millis,
void(*   )(int value),
int    value
 

void glutUseLayer GLenum    layer
 

Definition at line 375 of file glut_overlay.c.

References __glutSetWindow(), __glutWarning(), _GLUTwindow::ctx, _GLUToverlay::ctx, _GLUTwindow::overlay, _GLUTwindow::renderCtx, _GLUTwindow::renderWin, _GLUTwindow::win, and _GLUToverlay::win.

Referenced by glutEstablishOverlay(), and glutRemoveOverlay().

00376 {
00377   GLUTwindow *window = __glutCurrentWindow;
00378 
00379   switch (layer) {
00380   case GLUT_NORMAL:
00381     window->renderWin = window->win;
00382     window->renderCtx = window->ctx;
00383     break;
00384   case GLUT_OVERLAY:
00385     window->renderWin = window->overlay->win;
00386     window->renderCtx = window->overlay->ctx;
00387     break;
00388   default:
00389     __glutWarning("glutUseLayer: unknown layer, %d.", layer);
00390     break;
00391   }
00392   __glutSetWindow(window);
00393 }

void glutVisibilityFunc void(*   )(int state)
 

void glutWireCone GLdouble    base,
GLdouble    height,
GLint    slices,
GLint    stacks
 

Definition at line 90 of file glut_shapes.c.

References base, QUAD_OBJ_INIT, and quadObj.

00092 {
00093   QUAD_OBJ_INIT();
00094   gluQuadricDrawStyle(quadObj, GLU_LINE);
00095   gluQuadricNormals(quadObj, GLU_SMOOTH);
00096   /* If we ever changed/used the texture or orientation state
00097      of quadObj, we'd need to change it to the defaults here
00098      with gluQuadricTexture and/or gluQuadricOrientation. */
00099   gluCylinder(quadObj, base, 0.0, height, slices, stacks);
00100 }

void glutWireCube GLdouble    size
 

Definition at line 174 of file glut_shapes.c.

References drawBox().

00175 {
00176   drawBox(-size / 2., size / 2.,
00177     -size / 2., size / 2.,
00178     -size / 2., size / 2.,
00179     GL_LINE_LOOP);
00180 }

void glutWireDodecahedron void   
 

Definition at line 379 of file glut_shapes.c.

References dodecahedron().

00380 {
00381   dodecahedron(GL_LINE_LOOP);
00382 }

void glutWireIcosahedron void   
 

Definition at line 561 of file glut_shapes.c.

References icosahedron().

00562 {
00563   icosahedron(GL_LINE_LOOP);
00564 }

void glutWireOctahedron void   
 

Definition at line 493 of file glut_shapes.c.

References octahedron().

00494 {
00495   octahedron(GL_LINE_LOOP);
00496 }

void glutWireSphere GLdouble    radius,
GLint    slices,
GLint    stacks
 

Definition at line 66 of file glut_shapes.c.

References QUAD_OBJ_INIT, and quadObj.

00067 {
00068   QUAD_OBJ_INIT();
00069   gluQuadricDrawStyle(quadObj, GLU_LINE);
00070   gluQuadricNormals(quadObj, GLU_SMOOTH);
00071   /* If we ever changed/used the texture or orientation state
00072      of quadObj, we'd need to change it to the defaults here
00073      with gluQuadricTexture and/or gluQuadricOrientation. */
00074   gluSphere(quadObj, radius, slices, stacks);
00075 }

void glutWireTeapot GLdouble    size
 

Definition at line 202 of file glut_teapot.c.

References scale, and teapot().

00203 {
00204   teapot(10, scale, GL_LINE);
00205 }

void glutWireTetrahedron void   
 

Definition at line 602 of file glut_shapes.c.

References tetrahedron().

00603 {
00604   tetrahedron(GL_LINE_LOOP);
00605 }

void glutWireTorus GLdouble    innerRadius,
GLdouble    outerRadius,
GLint    sides,
GLint    rings
 

Definition at line 254 of file glut_shapes.c.

References doughnut().

00256 {
00257   doughnut(innerRadius, outerRadius,
00258     nsides, rings, GL_LINE_LOOP);
00259 }

Variable Documentation

void* glutBitmap8By13
 

Definition at line 146 of file glut.h.

void* glutBitmap9By15
 

Definition at line 145 of file glut.h.

void* glutBitmapHelvetica10
 

Definition at line 149 of file glut.h.

void* glutBitmapHelvetica12
 

Definition at line 150 of file glut.h.

void* glutBitmapHelvetica18
 

Definition at line 151 of file glut.h.

void* glutBitmapTimesRoman10
 

Definition at line 147 of file glut.h.

void* glutBitmapTimesRoman24
 

Definition at line 148 of file glut.h.

void* glutStrokeMonoRoman
 

Definition at line 138 of file glut.h.

void* glutStrokeRoman
 

Definition at line 137 of file glut.h.

 

Powered by Plone

This site conforms to the following standards: