fglut.h
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:10k
源码类别:

GIS编程

开发平台:

Visual C++

  1. C  Copyright (c) Mark J. Kilgard, 1994.
  2. C  This program is freely distributable without licensing fees
  3. C  and is provided without guarantee or warrantee expressed or
  4. C  implied.  This program is -not- in the public domain.
  5. C  GLUT Fortran header file
  6. C  display mode bit masks
  7. integer*4 GLUT_RGB
  8. parameter ( GLUT_RGB = 0 )
  9. integer*4 GLUT_RGBA
  10. parameter ( GLUT_RGBA = 0 )
  11. integer*4 GLUT_INDEX
  12. parameter ( GLUT_INDEX = 1 )
  13. integer*4 GLUT_SINGLE
  14. parameter ( GLUT_SINGLE = 0 )
  15. integer*4 GLUT_DOUBLE
  16. parameter ( GLUT_DOUBLE = 2 )
  17. integer*4 GLUT_ACCUM
  18. parameter ( GLUT_ACCUM = 4 )
  19. integer*4 GLUT_ALPHA
  20. parameter ( GLUT_ALPHA = 8 )
  21. integer*4 GLUT_DEPTH
  22. parameter ( GLUT_DEPTH = 16 )
  23. integer*4 GLUT_STENCIL
  24. parameter ( GLUT_STENCIL = 32 )
  25. integer*4 GLUT_MULTISAMPLE
  26. parameter ( GLUT_MULTISAMPLE = 128 )
  27. integer*4 GLUT_STEREO
  28. parameter ( GLUT_STEREO = 256 )
  29. C  mouse buttons
  30. integer*4 GLUT_LEFT_BUTTON
  31. parameter ( GLUT_LEFT_BUTTON = 0 )
  32. integer*4 GLUT_MIDDLE_BUTTON
  33. parameter ( GLUT_MIDDLE_BUTTON = 1 )
  34. integer*4 GLUT_RIGHT_BUTTON
  35. parameter ( GLUT_RIGHT_BUTTON = 2 )
  36. C  mouse button callback state
  37. integer*4 GLUT_DOWN
  38. parameter ( GLUT_DOWN = 0 )
  39. integer*4 GLUT_UP
  40. parameter ( GLUT_UP = 1 )
  41. C  special key callback values
  42. integer*4 GLUT_KEY_F1
  43. parameter ( GLUT_KEY_F1 = 1 )
  44. integer*4 GLUT_KEY_F2
  45. parameter ( GLUT_KEY_F2 = 2 )
  46. integer*4 GLUT_KEY_F3
  47. parameter ( GLUT_KEY_F3 = 3 )
  48. integer*4 GLUT_KEY_F4
  49. parameter ( GLUT_KEY_F4 = 4 )
  50. integer*4 GLUT_KEY_F5
  51. parameter ( GLUT_KEY_F5 = 5 )
  52. integer*4 GLUT_KEY_F6
  53. parameter ( GLUT_KEY_F6 = 6 )
  54. integer*4 GLUT_KEY_F7
  55. parameter ( GLUT_KEY_F7 = 7 )
  56. integer*4 GLUT_KEY_F8
  57. parameter ( GLUT_KEY_F8 = 8 )
  58. integer*4 GLUT_KEY_F9
  59. parameter ( GLUT_KEY_F9 = 9 )
  60. integer*4 GLUT_KEY_F10
  61. parameter ( GLUT_KEY_F10 = 10 )
  62. integer*4 GLUT_KEY_F11
  63. parameter ( GLUT_KEY_F11 = 11 )
  64. integer*4 GLUT_KEY_F12
  65. parameter ( GLUT_KEY_F12 = 12 )
  66. integer*4 GLUT_KEY_LEFT
  67. parameter ( GLUT_KEY_LEFT = 100 )
  68. integer*4 GLUT_KEY_UP
  69. parameter ( GLUT_KEY_UP = 101 )
  70. integer*4 GLUT_KEY_RIGHT
  71. parameter ( GLUT_KEY_RIGHT = 102 )
  72. integer*4 GLUT_KEY_DOWN
  73. parameter ( GLUT_KEY_DOWN = 103 )
  74. integer*4 GLUT_KEY_PAGE_UP
  75. parameter ( GLUT_KEY_PAGE_UP = 104 )
  76. integer*4 GLUT_KEY_PAGE_DOWN
  77. parameter ( GLUT_KEY_PAGE_DOWN = 105 )
  78. integer*4 GLUT_KEY_HOME
  79. parameter ( GLUT_KEY_HOME = 106 )
  80. integer*4 GLUT_KEY_END
  81. parameter ( GLUT_KEY_END = 107 )
  82. integer*4 GLUT_KEY_INSERT
  83. parameter ( GLUT_KEY_INSERT = 108 )
  84. C  entry/exit callback state
  85. integer*4 GLUT_LEFT
  86. parameter ( GLUT_LEFT = 0 )
  87. integer*4 GLUT_ENTERED
  88. parameter ( GLUT_ENTERED = 1 )
  89. C  menu usage callback state
  90. integer*4 GLUT_MENU_NOT_IN_USE
  91. parameter ( GLUT_MENU_NOT_IN_USE = 0 )
  92. integer*4 GLUT_MENU_IN_USE
  93. parameter ( GLUT_MENU_IN_USE = 1 )
  94. C  visibility callback state
  95. integer*4 GLUT_NOT_VISIBLE
  96. parameter ( GLUT_NOT_VISIBLE = 0 )
  97. integer*4 GLUT_VISIBLE
  98. parameter ( GLUT_VISIBLE = 1 )
  99. C  color index component selection values
  100. integer*4 GLUT_RED
  101. parameter ( GLUT_RED = 0 )
  102. integer*4 GLUT_GREEN
  103. parameter ( GLUT_GREEN = 1 )
  104. integer*4 GLUT_BLUE
  105. parameter ( GLUT_BLUE = 2 )
  106. C  XXX Unfortunately, SGI's Fortran compiler links with
  107. C  EXTERNAL data even if it is not used.  This defeats
  108. C  the purpose of GLUT naming fonts via opaque symbols.
  109. C  This means GLUT Fortran programmers should explicitly
  110. C  declared EXTERNAL GLUT fonts in subroutines where
  111. C  the fonts are used.
  112. C  stroke font opaque names
  113. C       external GLUT_STROKE_ROMAN
  114. C       external GLUT_STROKE_MONO_ROMAN
  115. C  bitmap font opaque names
  116. C       external GLUT_BITMAP_9_BY_15
  117. C       external GLUT_BITMAP_8_BY_13
  118. C       external GLUT_BITMAP_TIMES_ROMAN_10
  119. C       external GLUT_BITMAP_TIMES_ROMAN_24
  120. C       external GLUT_BITMAP_HELVETICA_10
  121. C       external GLUT_BITMAP_HELVETICA_12
  122. C       external GLUT_BITMAP_HELVETICA_18
  123. C  glutGet parameters
  124. integer*4 GLUT_WINDOW_X
  125. parameter ( GLUT_WINDOW_X = 100 )
  126. integer*4 GLUT_WINDOW_Y
  127. parameter ( GLUT_WINDOW_Y = 101 )
  128. integer*4 GLUT_WINDOW_WIDTH
  129. parameter ( GLUT_WINDOW_WIDTH = 102 )
  130. integer*4 GLUT_WINDOW_HEIGHT
  131. parameter ( GLUT_WINDOW_HEIGHT = 103 )
  132. integer*4 GLUT_WINDOW_BUFFER_SIZE
  133. parameter ( GLUT_WINDOW_BUFFER_SIZE = 104 )
  134. integer*4 GLUT_WINDOW_STENCIL_SIZE
  135. parameter ( GLUT_WINDOW_STENCIL_SIZE = 105 )
  136. integer*4 GLUT_WINDOW_DEPTH_SIZE
  137. parameter ( GLUT_WINDOW_DEPTH_SIZE = 106 )
  138. integer*4 GLUT_WINDOW_RED_SIZE
  139. parameter ( GLUT_WINDOW_RED_SIZE = 107 )
  140. integer*4 GLUT_WINDOW_GREEN_SIZE
  141. parameter ( GLUT_WINDOW_GREEN_SIZE = 108 )
  142. integer*4 GLUT_WINDOW_BLUE_SIZE
  143. parameter ( GLUT_WINDOW_BLUE_SIZE = 109 )
  144. integer*4 GLUT_WINDOW_ALPHA_SIZE
  145. parameter ( GLUT_WINDOW_ALPHA_SIZE = 110 )
  146. integer*4 GLUT_WINDOW_ACCUM_RED_SIZE
  147. parameter ( GLUT_WINDOW_ACCUM_RED_SIZE = 111 )
  148. integer*4 GLUT_WINDOW_ACCUM_GREEN_SIZE
  149. parameter ( GLUT_WINDOW_ACCUM_GREEN_SIZE = 112 )
  150. integer*4 GLUT_WINDOW_ACCUM_BLUE_SIZE
  151. parameter ( GLUT_WINDOW_ACCUM_BLUE_SIZE = 113 )
  152. integer*4 GLUT_WINDOW_ACCUM_ALPHA_SIZE
  153. parameter ( GLUT_WINDOW_ACCUM_ALPHA_SIZE = 114 )
  154. integer*4 GLUT_WINDOW_DOUBLEBUFFER
  155. parameter ( GLUT_WINDOW_DOUBLEBUFFER = 115 )
  156. integer*4 GLUT_WINDOW_RGBA
  157. parameter ( GLUT_WINDOW_RGBA = 116 )
  158. integer*4 GLUT_WINDOW_PARENT
  159. parameter ( GLUT_WINDOW_PARENT = 117 )
  160. integer*4 GLUT_WINDOW_NUM_CHILDREN
  161. parameter ( GLUT_WINDOW_NUM_CHILDREN = 118 )
  162. integer*4 GLUT_WINDOW_COLORMAP_SIZE
  163. parameter ( GLUT_WINDOW_COLORMAP_SIZE = 119 )
  164. integer*4 GLUT_WINDOW_NUM_SAMPLES
  165. parameter ( GLUT_WINDOW_NUM_SAMPLES = 120 )
  166. integer*4 GLUT_WINDOW_STEREO
  167. parameter ( GLUT_WINDOW_STEREO = 121 )
  168. integer*4 GLUT_WINDOW_CURSOR
  169. parameter ( GLUT_WINDOW_CURSOR = 122 )
  170. integer*4 GLUT_SCREEN_WIDTH
  171. parameter ( GLUT_SCREEN_WIDTH = 200 )
  172. integer*4 GLUT_SCREEN_HEIGHT
  173. parameter ( GLUT_SCREEN_HEIGHT = 201 )
  174. integer*4 GLUT_SCREEN_WIDTH_MM
  175. parameter ( GLUT_SCREEN_WIDTH_MM = 202 )
  176. integer*4 GLUT_SCREEN_HEIGHT_MM
  177. parameter ( GLUT_SCREEN_HEIGHT_MM = 203 )
  178. integer*4 GLUT_MENU_NUM_ITEMS
  179. parameter ( GLUT_MENU_NUM_ITEMS = 300 )
  180. integer*4 GLUT_DISPLAY_MODE_POSSIBLE
  181. parameter ( GLUT_DISPLAY_MODE_POSSIBLE = 400 )
  182. integer*4 GLUT_INIT_WINDOW_X
  183. parameter ( GLUT_INIT_WINDOW_X = 500 )
  184. integer*4 GLUT_INIT_WINDOW_Y
  185. parameter ( GLUT_INIT_WINDOW_Y = 501 )
  186. integer*4 GLUT_INIT_WINDOW_WIDTH
  187. parameter ( GLUT_INIT_WINDOW_WIDTH = 502 )
  188. integer*4 GLUT_INIT_WINDOW_HEIGHT
  189. parameter ( GLUT_INIT_WINDOW_HEIGHT = 503 )
  190. integer*4 GLUT_INIT_DISPLAY_MODE
  191. parameter ( GLUT_INIT_DISPLAY_MODE = 504 )
  192. integer*4 GLUT_ELAPSED_TIME
  193. parameter ( GLUT_ELAPSED_TIME = 700 )
  194. C  glutDeviceGet parameters
  195. integer*4 GLUT_HAS_KEYBOARD
  196. parameter ( GLUT_HAS_KEYBOARD = 600 )
  197. integer*4 GLUT_HAS_MOUSE
  198. parameter ( GLUT_HAS_MOUSE = 601 )
  199. integer*4 GLUT_HAS_SPACEBALL
  200. parameter ( GLUT_HAS_SPACEBALL = 602 )
  201. integer*4 GLUT_HAS_DIAL_AND_BUTTON_BOX
  202. parameter ( GLUT_HAS_DIAL_AND_BUTTON_BOX = 603 )
  203. integer*4 GLUT_HAS_TABLET
  204. parameter ( GLUT_HAS_TABLET = 604 )
  205. integer*4 GLUT_NUM_MOUSE_BUTTONS
  206. parameter ( GLUT_NUM_MOUSE_BUTTONS = 605 )
  207. integer*4 GLUT_NUM_SPACEBALL_BUTTONS
  208. parameter ( GLUT_NUM_SPACEBALL_BUTTONS = 606 )
  209. integer*4 GLUT_NUM_BUTTON_BOX_BUTTONS
  210. parameter ( GLUT_NUM_BUTTON_BOX_BUTTONS = 607 )
  211. integer*4 GLUT_NUM_DIALS
  212. parameter ( GLUT_NUM_DIALS = 608 )
  213. integer*4 GLUT_NUM_TABLET_BUTTONS
  214. parameter ( GLUT_NUM_TABLET_BUTTONS = 609 )
  215. C  glutLayerGet parameters
  216. integer*4 GLUT_OVERLAY_POSSIBLE
  217. parameter ( GLUT_OVERLAY_POSSIBLE = 800 )
  218. integer*4 GLUT_LAYER_IN_USE
  219. parameter ( GLUT_LAYER_IN_USE = 801 )
  220. integer*4 GLUT_HAS_OVERLAY
  221. parameter ( GLUT_HAS_OVERLAY = 802 )
  222. integer*4 GLUT_TRANSPARENT_INDEX
  223. parameter ( GLUT_TRANSPARENT_INDEX = 803 )
  224. integer*4 GLUT_NORMAL_DAMAGED
  225. parameter ( GLUT_NORMAL_DAMAGED = 804 )
  226. integer*4 GLUT_OVERLAY_DAMAGED
  227. parameter ( GLUT_OVERLAY_DAMAGED = 805 )
  228. C  glutUseLayer parameters
  229. integer*4 GLUT_NORMAL
  230. parameter ( GLUT_NORMAL = 0 )
  231. integer*4 GLUT_OVERLAY
  232. parameter ( GLUT_OVERLAY = 1 )
  233. C  glutGetModifiers return mask
  234. integer*4 GLUT_ACTIVE_SHIFT
  235. parameter ( GLUT_ACTIVE_SHIFT = 1 )
  236. integer*4 GLUT_ACTIVE_CTRL
  237. parameter ( GLUT_ACTIVE_CTRL = 2 )
  238. integer*4 GLUT_ACTIVE_ALT
  239. parameter ( GLUT_ACTIVE_ALT = 4 )
  240. C  glutSetCursor parameters
  241. integer*4 GLUT_CURSOR_RIGHT_ARROW
  242. parameter ( GLUT_CURSOR_RIGHT_ARROW = 0 )
  243. integer*4 GLUT_CURSOR_LEFT_ARROW
  244. parameter ( GLUT_CURSOR_LEFT_ARROW = 1 )
  245. integer*4 GLUT_CURSOR_INFO
  246. parameter ( GLUT_CURSOR_INFO = 2 )
  247. integer*4 GLUT_CURSOR_DESTROY
  248. parameter ( GLUT_CURSOR_DESTROY = 3 )
  249. integer*4 GLUT_CURSOR_HELP
  250. parameter ( GLUT_CURSOR_HELP = 4 )
  251. integer*4 GLUT_CURSOR_CYCLE
  252. parameter ( GLUT_CURSOR_CYCLE = 5 )
  253. integer*4 GLUT_CURSOR_SPRAY
  254. parameter ( GLUT_CURSOR_SPRAY = 6 )
  255. integer*4 GLUT_CURSOR_WAIT
  256. parameter ( GLUT_CURSOR_WAIT = 7 )
  257. integer*4 GLUT_CURSOR_TEXT
  258. parameter ( GLUT_CURSOR_TEXT = 8 )
  259. integer*4 GLUT_CURSOR_CROSSHAIR
  260. parameter ( GLUT_CURSOR_CROSSHAIR = 9 )
  261. integer*4 GLUT_CURSOR_UP_DOWN
  262. parameter ( GLUT_CURSOR_UP_DOWN = 10 )
  263. integer*4 GLUT_CURSOR_LEFT_RIGHT
  264. parameter ( GLUT_CURSOR_LEFT_RIGHT = 11 )
  265. integer*4 GLUT_CURSOR_TOP_SIDE
  266. parameter ( GLUT_CURSOR_TOP_SIDE = 12 )
  267. integer*4 GLUT_CURSOR_BOTTOM_SIDE
  268. parameter ( GLUT_CURSOR_BOTTOM_SIDE = 13 )
  269. integer*4 GLUT_CURSOR_LEFT_SIDE
  270. parameter ( GLUT_CURSOR_LEFT_SIDE = 14 )
  271. integer*4 GLUT_CURSOR_RIGHT_SIDE
  272. parameter ( GLUT_CURSOR_RIGHT_SIDE = 15 )
  273. integer*4 GLUT_CURSOR_TOP_LEFT_CORNER
  274. parameter ( GLUT_CURSOR_TOP_LEFT_CORNER = 16 )
  275. integer*4 GLUT_CURSOR_TOP_RIGHT_CORNER
  276. parameter ( GLUT_CURSOR_TOP_RIGHT_CORNER = 17 )
  277. integer*4 GLUT_CURSOR_BOTTOM_RIGHT_CORNER
  278. parameter ( GLUT_CURSOR_BOTTOM_RIGHT_CORNER = 18 )
  279. integer*4 GLUT_CURSOR_BOTTOM_LEFT_CORNER
  280. parameter ( GLUT_CURSOR_BOTTOM_LEFT_CORNER = 19 )
  281. integer*4 GLUT_CURSOR_INHERIT
  282. parameter ( GLUT_CURSOR_INHERIT = 100 )
  283. integer*4 GLUT_CURSOR_NONE
  284. parameter ( GLUT_CURSOR_NONE = 101 )
  285. integer*4 GLUT_CURSOR_FULL_CROSSHAIR
  286. parameter ( GLUT_CURSOR_FULL_CROSSHAIR = 102 )
  287. C  GLUT functions
  288. integer*4 glutcreatewindow
  289. integer*4 glutcreatesubwindow
  290. integer*4 glutgetwindow
  291. integer*4 glutcreatemenu
  292. integer*4 glutgetmenu
  293. real glutgetcolor
  294. integer*4 glutget
  295. integer*4 glutdeviceget
  296. integer*4 glutextensionsupported
  297. C  GLUT NULL name
  298. external glutnull