next up previous contents index
Next: References Up: GLUT APIversion 3 Previous: B glut.h ANSI C

C fglut.h FORTRAN Header File

C  Copyright {c} Mark J. Kilgard, 1994.

C  This program is freely distributable without licensing fees
C  and is provided without guarantee or warrantee expressed or
C  implied.  This program is -not- in the public domain.

C  GLUT Fortran header file

C  display mode bit masks
        integer*4 GLUT_RGB
        parameter { GLUT_RGB = 0 }
        integer*4 GLUT_RGBA
        parameter { GLUT_RGBA = 0 }
        integer*4 GLUT_INDEX
        parameter { GLUT_INDEX = 1 }
        integer*4 GLUT_SINGLE
        parameter { GLUT_SINGLE = 0 }
        integer*4 GLUT_DOUBLE
        parameter { GLUT_DOUBLE = 2 }
        integer*4 GLUT_ACCUM
        parameter { GLUT_ACCUM = 4 }
        integer*4 GLUT_ALPHA
        parameter { GLUT_ALPHA = 8 }
        integer*4 GLUT_DEPTH
        parameter { GLUT_DEPTH = 16 }
        integer*4 GLUT_STENCIL
        parameter { GLUT_STENCIL = 32 }
        integer*4 GLUT_MULTISAMPLE
        parameter { GLUT_MULTISAMPLE = 128 }
        integer*4 GLUT_STEREO
        parameter { GLUT_STEREO = 256 }

C  mouse buttons
        integer*4 GLUT_LEFT_BUTTON
        parameter { GLUT_LEFT_BUTTON = 0 }
        integer*4 GLUT_MIDDLE_BUTTON
        parameter { GLUT_MIDDLE_BUTTON = 1 }
        integer*4 GLUT_RIGHT_BUTTON
        parameter { GLUT_RIGHT_BUTTON = 2 }

C  mouse button callback state
        integer*4 GLUT_DOWN
        parameter { GLUT_DOWN = 0 }
        integer*4 GLUT_UP
        parameter { GLUT_UP = 1 }

C  special key callback values
        integer*4 GLUT_KEY_F1
        parameter { GLUT_KEY_F1 = 1 }
        integer*4 GLUT_KEY_F2
        parameter { GLUT_KEY_F2 = 2 }
        integer*4 GLUT_KEY_F3
        parameter { GLUT_KEY_F3 = 3 }
        integer*4 GLUT_KEY_F4
        parameter { GLUT_KEY_F4 = 4 }
        integer*4 GLUT_KEY_F5
        parameter { GLUT_KEY_F5 = 5 }
        integer*4 GLUT_KEY_F6
        parameter { GLUT_KEY_F6 = 6 }
        integer*4 GLUT_KEY_F7
        parameter { GLUT_KEY_F7 = 7 }
        integer*4 GLUT_KEY_F8
        parameter { GLUT_KEY_F8 = 8 }
        integer*4 GLUT_KEY_F9
        parameter { GLUT_KEY_F9 = 9 }
        integer*4 GLUT_KEY_F10
        parameter { GLUT_KEY_F10 = 10 }
        integer*4 GLUT_KEY_F11
        parameter { GLUT_KEY_F11 = 11 }
        integer*4 GLUT_KEY_F12
        parameter { GLUT_KEY_F12 = 12 }
        integer*4 GLUT_KEY_LEFT
        parameter { GLUT_KEY_LEFT = 100 }
        integer*4 GLUT_KEY_UP
        parameter { GLUT_KEY_UP = 101 }
        integer*4 GLUT_KEY_RIGHT
        parameter { GLUT_KEY_RIGHT = 102 }
        integer*4 GLUT_KEY_DOWN
        parameter { GLUT_KEY_DOWN = 103 }
        integer*4 GLUT_KEY_PAGE_UP
        parameter { GLUT_KEY_PAGE_UP = 104 }
        integer*4 GLUT_KEY_PAGE_DOWN
        parameter { GLUT_KEY_PAGE_DOWN = 105 }
        integer*4 GLUT_KEY_HOME
        parameter { GLUT_KEY_HOME = 106 }
        integer*4 GLUT_KEY_END
        parameter { GLUT_KEY_END = 107 }
        integer*4 GLUT_KEY_INSERT
        parameter { GLUT_KEY_INSERT = 108 }

C  entry/exit callback state
        integer*4 GLUT_LEFT
        parameter { GLUT_LEFT = 0 }
        integer*4 GLUT_ENTERED
        parameter { GLUT_ENTERED = 1 }

C  menu usage callback state
        integer*4 GLUT_MENU_NOT_IN_USE
        parameter { GLUT_MENU_NOT_IN_USE = 0 }
        integer*4 GLUT_MENU_IN_USE
        parameter { GLUT_MENU_IN_USE = 1 }

C  visibility callback state
        integer*4 GLUT_NOT_VISIBLE
        parameter { GLUT_NOT_VISIBLE = 0 }
        integer*4 GLUT_VISIBLE
        parameter { GLUT_VISIBLE = 1 }

C  color index component selection values
        integer*4 GLUT_RED
        parameter { GLUT_RED = 0 }
        integer*4 GLUT_GREEN
        parameter { GLUT_GREEN = 1 }
        integer*4 GLUT_BLUE
        parameter { GLUT_BLUE = 2 }

C  XXX Unfortunately, SGI's Fortran compiler links with
C  EXTERNAL data even if it is not used.  This defeats
C  the purpose of GLUT naming fonts via opaque symbols.
C  This means GLUT Fortran programmers should explicitly
C  declared EXTERNAL GLUT fonts in subroutines where
C  the fonts are used.

C  stroke font opaque names
C       external GLUT_STROKE_ROMAN
C       external GLUT_STROKE_MONO_ROMAN

C  bitmap font opaque names
C       external GLUT_BITMAP_9_BY_15
C       external GLUT_BITMAP_8_BY_13
C       external GLUT_BITMAP_TIMES_ROMAN_10
C       external GLUT_BITMAP_TIMES_ROMAN_24
C       external GLUT_BITMAP_HELVETICA_10
C       external GLUT_BITMAP_HELVETICA_12
C       external GLUT_BITMAP_HELVETICA_18

C  glutGet parameters
        integer*4 GLUT_WINDOW_X
        parameter { GLUT_WINDOW_X = 100 }
        integer*4 GLUT_WINDOW_Y
        parameter { GLUT_WINDOW_Y = 101 }
        integer*4 GLUT_WINDOW_WIDTH
        parameter { GLUT_WINDOW_WIDTH = 102 }
        integer*4 GLUT_WINDOW_HEIGHT
        parameter { GLUT_WINDOW_HEIGHT = 103 }
        integer*4 GLUT_WINDOW_BUFFER_SIZE
        parameter { GLUT_WINDOW_BUFFER_SIZE = 104 }
        integer*4 GLUT_WINDOW_STENCIL_SIZE
        parameter { GLUT_WINDOW_STENCIL_SIZE = 105 }
        integer*4 GLUT_WINDOW_DEPTH_SIZE
        parameter { GLUT_WINDOW_DEPTH_SIZE = 106 }
        integer*4 GLUT_WINDOW_RED_SIZE
        parameter { GLUT_WINDOW_RED_SIZE = 107 }
        integer*4 GLUT_WINDOW_GREEN_SIZE
        parameter { GLUT_WINDOW_GREEN_SIZE = 108 }
        integer*4 GLUT_WINDOW_BLUE_SIZE
        parameter { GLUT_WINDOW_BLUE_SIZE = 109 }
        integer*4 GLUT_WINDOW_ALPHA_SIZE
        parameter { GLUT_WINDOW_ALPHA_SIZE = 110 }
        integer*4 GLUT_WINDOW_ACCUM_RED_SIZE
        parameter { GLUT_WINDOW_ACCUM_RED_SIZE = 111 }
        integer*4 GLUT_WINDOW_ACCUM_GREEN_SIZE
        parameter { GLUT_WINDOW_ACCUM_GREEN_SIZE = 112 }
        integer*4 GLUT_WINDOW_ACCUM_BLUE_SIZE
        parameter { GLUT_WINDOW_ACCUM_BLUE_SIZE = 113 }
        integer*4 GLUT_WINDOW_ACCUM_ALPHA_SIZE
        parameter { GLUT_WINDOW_ACCUM_ALPHA_SIZE = 114 }
        integer*4 GLUT_WINDOW_DOUBLEBUFFER
        parameter { GLUT_WINDOW_DOUBLEBUFFER = 115 }
        integer*4 GLUT_WINDOW_RGBA
        parameter { GLUT_WINDOW_RGBA = 116 }
        integer*4 GLUT_WINDOW_PARENT
        parameter { GLUT_WINDOW_PARENT = 117 }
        integer*4 GLUT_WINDOW_NUM_CHILDREN
        parameter { GLUT_WINDOW_NUM_CHILDREN = 118 }
        integer*4 GLUT_WINDOW_COLORMAP_SIZE
        parameter { GLUT_WINDOW_COLORMAP_SIZE = 119 }
        integer*4 GLUT_WINDOW_NUM_SAMPLES
        parameter { GLUT_WINDOW_NUM_SAMPLES = 120 }
        integer*4 GLUT_WINDOW_STEREO
        parameter { GLUT_WINDOW_STEREO = 121 }
        integer*4 GLUT_WINDOW_CURSOR
        parameter { GLUT_WINDOW_CURSOR = 122 }
        integer*4 GLUT_SCREEN_WIDTH
        parameter { GLUT_SCREEN_WIDTH = 200 }
        integer*4 GLUT_SCREEN_HEIGHT
        parameter { GLUT_SCREEN_HEIGHT = 201 }
        integer*4 GLUT_SCREEN_WIDTH_MM
        parameter { GLUT_SCREEN_WIDTH_MM = 202 }
        integer*4 GLUT_SCREEN_HEIGHT_MM
        parameter { GLUT_SCREEN_HEIGHT_MM = 203 }
        integer*4 GLUT_MENU_NUM_ITEMS
        parameter { GLUT_MENU_NUM_ITEMS = 300 }
        integer*4 GLUT_DISPLAY_MODE_POSSIBLE
        parameter { GLUT_DISPLAY_MODE_POSSIBLE = 400 }
        integer*4 GLUT_INIT_WINDOW_X
        parameter { GLUT_INIT_WINDOW_X = 500 }
        integer*4 GLUT_INIT_WINDOW_Y
        parameter { GLUT_INIT_WINDOW_Y = 501 }
        integer*4 GLUT_INIT_WINDOW_WIDTH
        parameter { GLUT_INIT_WINDOW_WIDTH = 502 }
        integer*4 GLUT_INIT_WINDOW_HEIGHT
        parameter { GLUT_INIT_WINDOW_HEIGHT = 503 }
        integer*4 GLUT_INIT_DISPLAY_MODE
        parameter { GLUT_INIT_DISPLAY_MODE = 504 }
        integer*4 GLUT_ELAPSED_TIME
        parameter { GLUT_ELAPSED_TIME = 700 }

C  glutDeviceGet parameters
        integer*4 GLUT_HAS_KEYBOARD
        parameter { GLUT_HAS_KEYBOARD = 600 }
        integer*4 GLUT_HAS_MOUSE
        parameter { GLUT_HAS_MOUSE = 601 }
        integer*4 GLUT_HAS_SPACEBALL
        parameter { GLUT_HAS_SPACEBALL = 602 }
        integer*4 GLUT_HAS_DIAL_AND_BUTTON_BOX
        parameter { GLUT_HAS_DIAL_AND_BUTTON_BOX = 603 }
        integer*4 GLUT_HAS_TABLET
        parameter { GLUT_HAS_TABLET = 604 }
        integer*4 GLUT_NUM_MOUSE_BUTTONS
        parameter { GLUT_NUM_MOUSE_BUTTONS = 605 }
        integer*4 GLUT_NUM_SPACEBALL_BUTTONS
        parameter { GLUT_NUM_SPACEBALL_BUTTONS = 606 }
        integer*4 GLUT_NUM_BUTTON_BOX_BUTTONS
        parameter { GLUT_NUM_BUTTON_BOX_BUTTONS = 607 }
        integer*4 GLUT_NUM_DIALS
        parameter { GLUT_NUM_DIALS = 608 }
        integer*4 GLUT_NUM_TABLET_BUTTONS
        parameter { GLUT_NUM_TABLET_BUTTONS = 609 }

C  glutLayerGet parameters

        integer*4 GLUT_OVERLAY_POSSIBLE
        parameter { GLUT_OVERLAY_POSSIBLE = 800 }
        integer*4 GLUT_LAYER_IN_USE
        parameter { GLUT_LAYER_IN_USE = 801 }
        integer*4 GLUT_HAS_OVERLAY
        parameter { GLUT_HAS_OVERLAY = 802 }
        integer*4 GLUT_TRANSPARENT_INDEX
        parameter { GLUT_TRANSPARENT_INDEX = 803 }
        integer*4 GLUT_NORMAL_DAMAGED
        parameter { GLUT_NORMAL_DAMAGED = 804 }
        integer*4 GLUT_OVERLAY_DAMAGED
        parameter { GLUT_OVERLAY_DAMAGED = 805 }

C  glutUseLayer parameters
        integer*4 GLUT_NORMAL
        parameter { GLUT_NORMAL = 0 }
        integer*4 GLUT_OVERLAY
        parameter { GLUT_OVERLAY = 1 }

C  glutGetModifiers return mask
        integer*4 GLUT_ACTIVE_SHIFT
        parameter { GLUT_ACTIVE_SHIFT = 1 }
        integer*4 GLUT_ACTIVE_CTRL
        parameter { GLUT_ACTIVE_CTRL = 2 }
        integer*4 GLUT_ACTIVE_ALT
        parameter { GLUT_ACTIVE_ALT = 4 }

C  glutSetCursor parameters
        integer*4 GLUT_CURSOR_RIGHT_ARROW
        parameter { GLUT_CURSOR_RIGHT_ARROW = 0 }
        integer*4 GLUT_CURSOR_LEFT_ARROW
        parameter { GLUT_CURSOR_LEFT_ARROW = 1 }
        integer*4 GLUT_CURSOR_INFO
        parameter { GLUT_CURSOR_INFO = 2 }
        integer*4 GLUT_CURSOR_DESTROY
        parameter { GLUT_CURSOR_DESTROY = 3 }
        integer*4 GLUT_CURSOR_HELP
        parameter { GLUT_CURSOR_HELP = 4 }
        integer*4 GLUT_CURSOR_CYCLE
        parameter { GLUT_CURSOR_CYCLE = 5 }
        integer*4 GLUT_CURSOR_SPRAY
        parameter { GLUT_CURSOR_SPRAY = 6 }
        integer*4 GLUT_CURSOR_WAIT
        parameter { GLUT_CURSOR_WAIT = 7 }
        integer*4 GLUT_CURSOR_TEXT
        parameter { GLUT_CURSOR_TEXT = 8 }
        integer*4 GLUT_CURSOR_CROSSHAIR
        parameter { GLUT_CURSOR_CROSSHAIR = 9 }
        integer*4 GLUT_CURSOR_UP_DOWN
        parameter { GLUT_CURSOR_UP_DOWN = 10 }
        integer*4 GLUT_CURSOR_LEFT_RIGHT
        parameter { GLUT_CURSOR_LEFT_RIGHT = 11 }
        integer*4 GLUT_CURSOR_TOP_SIDE
        parameter { GLUT_CURSOR_TOP_SIDE = 12 }
        integer*4 GLUT_CURSOR_BOTTOM_SIDE
        parameter { GLUT_CURSOR_BOTTOM_SIDE = 13 }
        integer*4 GLUT_CURSOR_LEFT_SIDE
        parameter { GLUT_CURSOR_LEFT_SIDE = 14 }
        integer*4 GLUT_CURSOR_RIGHT_SIDE
        parameter { GLUT_CURSOR_RIGHT_SIDE = 15 }
        integer*4 GLUT_CURSOR_TOP_LEFT_CORNER
        parameter { GLUT_CURSOR_TOP_LEFT_CORNER = 16 }
        integer*4 GLUT_CURSOR_TOP_RIGHT_CORNER
        parameter { GLUT_CURSOR_TOP_RIGHT_CORNER = 17 }
        integer*4 GLUT_CURSOR_BOTTOM_RIGHT_CORNER
        parameter { GLUT_CURSOR_BOTTOM_RIGHT_CORNER = 18 }
        integer*4 GLUT_CURSOR_BOTTOM_LEFT_CORNER
        parameter { GLUT_CURSOR_BOTTOM_LEFT_CORNER = 19 }
        integer*4 GLUT_CURSOR_INHERIT
        parameter { GLUT_CURSOR_INHERIT = 100 }
        integer*4 GLUT_CURSOR_NONE
        parameter { GLUT_CURSOR_NONE = 101 }
        integer*4 GLUT_CURSOR_FULL_CROSSHAIR
        parameter { GLUT_CURSOR_FULL_CROSSHAIR = 102 }

C  GLUT functions
        integer*4 glutcreatewindow
        integer*4 glutgetwindow
        integer*4 glutcreatemenu
        integer*4 glutgetmenu
        real glutgetcolor
        integer*4 glutget
        integer*4 glutdeviceget
        integer*4 glutextensionsupported

C  GLUT NULL name
        external glutnull



next up previous contents index
Next: References Up: GLUT APIversion 3 Previous: B glut.h ANSI C



Mark Kilgard
Fri Feb 23 08:05:02 PST 1996