/usr/lib/ocaml/lablgl/glut.mli is in liblablgl-ocaml-dev 1:1.05-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | (*
glut.mli: interface for the lablglut GLUT binding.
*)
type button_t =
| LEFT_BUTTON
| MIDDLE_BUTTON
| RIGHT_BUTTON
| OTHER_BUTTON of int
type mouse_button_state_t =
| DOWN
| UP
type special_key_t =
| KEY_F1
| KEY_F2
| KEY_F3
| KEY_F4
| KEY_F5
| KEY_F6
| KEY_F7
| KEY_F8
| KEY_F9
| KEY_F10
| KEY_F11
| KEY_F12
(* directional keys *)
| KEY_LEFT
| KEY_UP
| KEY_RIGHT
| KEY_DOWN
| KEY_PAGE_UP
| KEY_PAGE_DOWN
| KEY_HOME
| KEY_END
| KEY_INSERT
(* for undefined keys *)
| KEY_OTHER of int
type entry_exit_state_t =
| LEFT
| ENTERED
type menu_state_t =
| MENU_NOT_IN_USE
| MENU_IN_USE
type visibility_state_t =
| NOT_VISIBLE
| VISIBLE
type window_status_t =
| HIDDEN
| FULLY_RETAINED
| PARTIALLY_RETAINED
| FULLY_COVERED
type color_index_component_t =
| RED
| GREEN
| BLUE
type layer_t =
| NORMAL
| OVERLAY
type font_t =
| STROKE_ROMAN
| STROKE_MONO_ROMAN
| BITMAP_9_BY_15
| BITMAP_8_BY_13
| BITMAP_TIMES_ROMAN_10
| BITMAP_TIMES_ROMAN_24
| BITMAP_HELVETICA_10
| BITMAP_HELVETICA_12
| BITMAP_HELVETICA_18
type glut_get_t =
| WINDOW_X
| WINDOW_Y
| WINDOW_WIDTH
| WINDOW_HEIGHT
| WINDOW_BUFFER_SIZE
| WINDOW_STENCIL_SIZE
| WINDOW_DEPTH_SIZE
| WINDOW_RED_SIZE
| WINDOW_GREEN_SIZE
| WINDOW_BLUE_SIZE
| WINDOW_ALPHA_SIZE
| WINDOW_ACCUM_RED_SIZE
| WINDOW_ACCUM_GREEN_SIZE
| WINDOW_ACCUM_BLUE_SIZE
| WINDOW_ACCUM_ALPHA_SIZE
| WINDOW_DOUBLEBUFFER
| WINDOW_RGBA
| WINDOW_PARENT
| WINDOW_NUM_CHILDREN
| WINDOW_COLORMAP_SIZE
| WINDOW_NUM_SAMPLES
| WINDOW_STEREO
| WINDOW_CURSOR
| SCREEN_WIDTH
| SCREEN_HEIGHT
| SCREEN_WIDTH_MM
| SCREEN_HEIGHT_MM
| MENU_NUM_ITEMS
(* | DISPLAY_MODE_POSSIBLE : use getBool *)
| INIT_WINDOW_X
| INIT_WINDOW_Y
| INIT_WINDOW_WIDTH
| INIT_WINDOW_HEIGHT
| INIT_DISPLAY_MODE
| ELAPSED_TIME
| WINDOW_FORMAT_ID
type glut_get_bool_t =
| DISPLAY_MODE_POSSIBLE
(* display mode bit masks *)
val rgb:int
val rgba:int
val index:int
val single:int
val double:int
val accum:int
val alpha:int
val depth:int
val stencil:int
val multisample:int
val stereo:int
val luminance:int
type device_get_t =
| HAS_KEYBOARD
| HAS_MOUSE
| HAS_SPACEBALL
| HAS_DIAL_AND_BUTTON_BOX
| HAS_TABLET
| NUM_MOUSE_BUTTONS
| NUM_SPACEBALL_BUTTONS
| NUM_BUTTON_BOX_BUTTONS
| NUM_DIALS
| NUM_TABLET_BUTTONS
| DEVICE_IGNORE_KEY_REPEAT
| DEVICE_KEY_REPEAT
| HAS_JOYSTICK
| OWNS_JOYSTICK
| JOYSTICK_BUTTONS
| JOYSTICK_AXES
| JOYSTICK_POLL_RATE
type layerget_t =
| OVERLAY_POSSIBLE
(* | LAYER_IN_USE : use layerGetInUse *)
| HAS_OVERLAY
(* | TRANSPARENT_INDEX : use layerGetTransparentIndex *)
| NORMAL_DAMAGED
| OVERLAY_DAMAGED
type video_resize_t =
| VIDEO_RESIZE_POSSIBLE
| VIDEO_RESIZE_IN_USE
| VIDEO_RESIZE_X_DELTA
| VIDEO_RESIZE_Y_DELTA
| VIDEO_RESIZE_WIDTH_DELTA
| VIDEO_RESIZE_HEIGHT_DELTA
| VIDEO_RESIZE_X
| VIDEO_RESIZE_Y
| VIDEO_RESIZE_WIDTH
| VIDEO_RESIZE_HEIGHT
(* key modifier bit masks *)
val active_shift:int
val active_ctrl:int
val active_alt:int
type cursor_t =
(* Basic arrows. *)
| CURSOR_RIGHT_ARROW
| CURSOR_LEFT_ARROW
(* Symbolic cursor shapes. *)
| CURSOR_INFO
| CURSOR_DESTROY
| CURSOR_HELP
| CURSOR_CYCLE
| CURSOR_SPRAY
| CURSOR_WAIT
| CURSOR_TEXT
| CURSOR_CROSSHAIR
(* Directional cursors. *)
| CURSOR_UP_DOWN
| CURSOR_LEFT_RIGHT
(* Sizing cursors. *)
| CURSOR_TOP_SIDE
| CURSOR_BOTTOM_SIDE
| CURSOR_LEFT_SIDE
| CURSOR_RIGHT_SIDE
| CURSOR_TOP_LEFT_CORNER
| CURSOR_TOP_RIGHT_CORNER
| CURSOR_BOTTOM_RIGHT_CORNER
| CURSOR_BOTTOM_LEFT_CORNER
| CURSOR_INHERIT (* inherit cursor from parent window *)
| CURSOR_NONE (* blank cursor *)
| CURSOR_FULL_CROSSHAIR (* full-screen crosshair (if available) *)
type game_mode_t =
| GAME_MODE_ACTIVE
| GAME_MODE_POSSIBLE
| GAME_MODE_WIDTH
| GAME_MODE_HEIGHT
| GAME_MODE_PIXEL_DEPTH
| GAME_MODE_REFRESH_RATE
| GAME_MODE_DISPLAY_CHANGED
type key_repeat_t =
| KEY_REPEAT_OFF
| KEY_REPEAT_ON
| KEY_REPEAT_DEFAULT
exception BadEnum of string
exception InvalidState of string
(* GLUT initialization sub-API. *)
val init: argv:(string array)->string array (* returns new argv *)
val initDisplayMode: (* The last argument must be () *)
?double_buffer:bool->
?index:bool->
?accum:bool->
?alpha:bool->
?depth:bool->
?stencil:bool->
?multisample:bool->
?stereo:bool->
?luminance:bool->
unit->
unit
val initWindowPosition: x:int->y:int->unit
val initWindowSize: w:int->h:int->unit
val mainLoop: unit->unit
(* GLUT window sub-API. *)
val createWindow: title:string->int (* returns window id *)
val postRedisplay: unit->unit
val swapBuffers: unit->unit
val createSubWindow: win:int->x:int->y:int->w:int->h:int->int
val destroyWindow: win:int->unit
val getWindow: unit->int
val setWindow: win:int->unit
val setWindowTitle: title:string->unit
val setIconTitle: title:string->unit
val positionWindow: x:int->y:int->unit
val reshapeWindow: w:int->h:int->unit
val popWindow: unit->unit
val pushWindow: unit->unit
val iconifyWindow: unit->unit
val showWindow: unit->unit
val hideWindow: unit->unit
val fullScreen: unit->unit
val setCursor: cursor_t->unit
(* GLUT overlay sub-API. *)
val establishOverlay: unit->unit
val removeOverlay: unit->unit
val useLayer: layer_t->unit
val postOverlayRedisplay: unit->unit
val showOverlay: unit->unit
val hideOverlay: unit->unit
(* GLUT menu sub-API. *)
val createMenu: cb:(value:int->unit)->int
val destroyMenu: menu:int->unit
val getMenu: unit->int
val setMenu: menu:int->unit
val addMenuEntry: label:string->value:int->unit
val addSubMenu: label:string->submenu:int->unit
val changeToMenuEntry: item:int->label:string->value:int->unit
val changeToSubMenu: item:int->label:string->submenu:int->unit
val removeMenuItem: item:int->unit
val attachMenu: button:button_t->unit
val detachMenu: button:button_t->unit
(* GLUT window callback sub-API. *)
val displayFunc: cb:(unit->unit)->unit
val reshapeFunc: cb:(w:int->h:int->unit)->unit
val keyboardFunc: cb:(key:int->x:int->y:int->unit)->unit
val mouseFunc: cb:(button:button_t->state:mouse_button_state_t->
x:int->y:int->unit)->unit
val motionFunc: cb:(x:int->y:int->unit)->unit
val passiveMotionFunc: cb:(x:int->y:int->unit)->unit
val entryFunc: cb:(state:entry_exit_state_t->unit)->unit
val visibilityFunc: cb:(state:visibility_state_t->unit)->unit
val idleFunc: cb:((unit->unit) option)->unit
(* you can set as many timer as you want simultanesouly *)
val timerFunc: ms:int->cb:(value:'a->unit)->value:'a->unit
val specialFunc: cb:(key:special_key_t->x:int->y:int->unit)->unit
val spaceballMotionFunc: cb:(x:int->y:int->z:int->unit)->unit
val spaceballRotateFunc: cb:(x:int->y:int->z:int->unit)->unit
val spaceballButtonFunc: cb:(button:int->state:int->unit)->unit
val buttonBoxFunc: cb:(button:int->state:int->unit)->unit
val dialsFunc: cb:(dial:int->value:int->unit)->unit
val tabletMotionFunc: cb:(x:int->y:int->unit)->unit
val tabletButtonFunc: cb:(button:int->state:int->x:int->y:int->unit)->unit
val menuStatusFunc: cb:(status:menu_state_t->x:int->y:int->unit)->unit
val overlayDisplayFunc: cb:(unit->unit)->unit
(* GLUT color index sub-API. *)
val setColor: cell:int->red:float->green:float->blue:float->unit
val getColor: index:int->component:int->float
val copyColormap: win:int->unit
(* GLUT state retrieval sub-API. *)
val get: gtype:glut_get_t->int
val getBool: gtype:glut_get_bool_t->bool
val deviceGet: dgtype:device_get_t->int
(* GLUT extension support sub-API *)
val extensionSupported: name:string->bool
val getModifiers: unit->int
val layerGetTransparentIndex: unit->int
val layerGetInUse: unit->layer_t
val layerGet: lgtype:layerget_t->bool
(* GLUT font sub-API *)
val bitmapCharacter: font:font_t->c:int->unit
val bitmapWidth: font:font_t->c:int->int
val strokeCharacter: font:font_t->c:int->unit
val strokeWidth: font:font_t->c:int->int
(* GLUT pre-built models sub-API *)
val wireSphere: radius:float->slices:int->stacks:int->unit
val solidSphere: radius:float->slices:int->stacks:int->unit
val wireCone: base:float->height:float->slices:int->stacks:int->unit
val solidCone: base:float->height:float->slices:int->stacks:int->unit
val wireCube: size:float->unit
val solidCube: size:float->unit
val wireTorus: innerRadius:float->outerRadius:float->sides:int->rings:int->unit
val solidTorus: innerRadius:float->outerRadius:float->sides:int->rings:int->unit
val wireDodecahedron: unit->unit
val solidDodecahedron: unit->unit
val wireTeapot: size:float->unit
val solidTeapot: size:float->unit
val wireOctahedron: unit->unit
val solidOctahedron: unit->unit
val wireTetrahedron: unit->unit
val solidTetrahedron: unit->unit
val wireIcosahedron: unit->unit
val solidIcosahedron: unit->unit
(* GLUT game mode sub-API *)
val gameModeString: str:string->unit
val enterGameMode: unit->unit
val leaveGameMode: unit->unit
val gameModeGet: mode:game_mode_t->int
(* GLUT version 4 functions included in the GLUT 3.7 distribution *)
val initDisplayString: str:string->unit
val warpPointer: x:int->y:int->unit
val bitmapLength: font:font_t->str:string->int
val strokeLength: font:font_t->str:string->int
val windowStatusFunc: cb:(state:window_status_t->unit)->unit
val postWindowRedisplay: win:int->unit
val postWindowOverlayRedisplay: win:int->unit
val keyboardUpFunc: cb:(key:int->x:int->y:int->unit)->unit
val specialUpFunc: cb:(key:special_key_t->x:int->y:int->unit)->unit
val ignoreKeyRepeat: ignore:bool->unit
val setKeyRepeat: mode:key_repeat_t->unit
val joystickFunc: cb:(buttonMask:int->x:int->y:int->z:int->unit)->
pollInterval:int->unit
val forceJoystickFunc: unit->unit
(* GLUT video resize sub-API. *)
val videoResizeGet: video_resize_t->int
val setupVideoResizing: unit->unit
val stopVideoResizing: unit->unit
val videoResize: x:int->y:int->width:int->height:int->unit
val videoPan: x:int->y:int->width:int->height:int->unit
(* GLUT debugging sub-API. *)
val reportErrors: unit->unit
(* ocaml-specific *)
val string_of_button: button_t->string
val string_of_button_state: mouse_button_state_t->string
val string_of_special: special_key_t->string
val string_of_window_status: window_status_t->string
val string_of_vis_state: visibility_state_t->string
val string_of_cursor: cursor_t->string
val int_of_cursor: cursor_t->int
|