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