322 lines
10 KiB
C
322 lines
10 KiB
C
|
|
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 glutcreatesubwindow
|
|
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
|
|
|