package lablgl

  1. Overview
  2. Docs
type button_t =
  1. | LEFT_BUTTON
  2. | MIDDLE_BUTTON
  3. | RIGHT_BUTTON
  4. | OTHER_BUTTON of int
type mouse_button_state_t =
  1. | DOWN
  2. | UP
type special_key_t =
  1. | KEY_F1
  2. | KEY_F2
  3. | KEY_F3
  4. | KEY_F4
  5. | KEY_F5
  6. | KEY_F6
  7. | KEY_F7
  8. | KEY_F8
  9. | KEY_F9
  10. | KEY_F10
  11. | KEY_F11
  12. | KEY_F12
  13. | KEY_LEFT
  14. | KEY_UP
  15. | KEY_RIGHT
  16. | KEY_DOWN
  17. | KEY_PAGE_UP
  18. | KEY_PAGE_DOWN
  19. | KEY_HOME
  20. | KEY_END
  21. | KEY_INSERT
  22. | KEY_OTHER of int
type entry_exit_state_t =
  1. | LEFT
  2. | ENTERED
type menu_state_t =
  1. | MENU_NOT_IN_USE
  2. | MENU_IN_USE
type visibility_state_t =
  1. | NOT_VISIBLE
  2. | VISIBLE
type window_status_t =
  1. | HIDDEN
  2. | FULLY_RETAINED
  3. | PARTIALLY_RETAINED
  4. | FULLY_COVERED
type color_index_component_t =
  1. | RED
  2. | GREEN
  3. | BLUE
type layer_t =
  1. | NORMAL
  2. | OVERLAY
type font_t =
  1. | STROKE_ROMAN
  2. | STROKE_MONO_ROMAN
  3. | BITMAP_9_BY_15
  4. | BITMAP_8_BY_13
  5. | BITMAP_TIMES_ROMAN_10
  6. | BITMAP_TIMES_ROMAN_24
  7. | BITMAP_HELVETICA_10
  8. | BITMAP_HELVETICA_12
  9. | BITMAP_HELVETICA_18
type glut_get_t =
  1. | WINDOW_X
  2. | WINDOW_Y
  3. | WINDOW_WIDTH
  4. | WINDOW_HEIGHT
  5. | WINDOW_BUFFER_SIZE
  6. | WINDOW_STENCIL_SIZE
  7. | WINDOW_DEPTH_SIZE
  8. | WINDOW_RED_SIZE
  9. | WINDOW_GREEN_SIZE
  10. | WINDOW_BLUE_SIZE
  11. | WINDOW_ALPHA_SIZE
  12. | WINDOW_ACCUM_RED_SIZE
  13. | WINDOW_ACCUM_GREEN_SIZE
  14. | WINDOW_ACCUM_BLUE_SIZE
  15. | WINDOW_ACCUM_ALPHA_SIZE
  16. | WINDOW_DOUBLEBUFFER
  17. | WINDOW_RGBA
  18. | WINDOW_PARENT
  19. | WINDOW_NUM_CHILDREN
  20. | WINDOW_COLORMAP_SIZE
  21. | WINDOW_NUM_SAMPLES
  22. | WINDOW_STEREO
  23. | WINDOW_CURSOR
  24. | SCREEN_WIDTH
  25. | SCREEN_HEIGHT
  26. | SCREEN_WIDTH_MM
  27. | SCREEN_HEIGHT_MM
  28. | MENU_NUM_ITEMS
  29. | INIT_WINDOW_X
  30. | INIT_WINDOW_Y
  31. | INIT_WINDOW_WIDTH
  32. | INIT_WINDOW_HEIGHT
  33. | INIT_DISPLAY_MODE
  34. | ELAPSED_TIME
  35. | WINDOW_FORMAT_ID
type glut_get_bool_t =
  1. | DISPLAY_MODE_POSSIBLE
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 =
  1. | HAS_KEYBOARD
  2. | HAS_MOUSE
  3. | HAS_SPACEBALL
  4. | HAS_DIAL_AND_BUTTON_BOX
  5. | HAS_TABLET
  6. | NUM_MOUSE_BUTTONS
  7. | NUM_SPACEBALL_BUTTONS
  8. | NUM_BUTTON_BOX_BUTTONS
  9. | NUM_DIALS
  10. | NUM_TABLET_BUTTONS
  11. | DEVICE_IGNORE_KEY_REPEAT
  12. | DEVICE_KEY_REPEAT
  13. | HAS_JOYSTICK
  14. | OWNS_JOYSTICK
  15. | JOYSTICK_BUTTONS
  16. | JOYSTICK_AXES
  17. | JOYSTICK_POLL_RATE
type layerget_t =
  1. | OVERLAY_POSSIBLE
  2. | HAS_OVERLAY
  3. | NORMAL_DAMAGED
  4. | OVERLAY_DAMAGED
type video_resize_t =
  1. | VIDEO_RESIZE_POSSIBLE
  2. | VIDEO_RESIZE_IN_USE
  3. | VIDEO_RESIZE_X_DELTA
  4. | VIDEO_RESIZE_Y_DELTA
  5. | VIDEO_RESIZE_WIDTH_DELTA
  6. | VIDEO_RESIZE_HEIGHT_DELTA
  7. | VIDEO_RESIZE_X
  8. | VIDEO_RESIZE_Y
  9. | VIDEO_RESIZE_WIDTH
  10. | VIDEO_RESIZE_HEIGHT
val active_shift : int
val active_ctrl : int
val active_alt : int
type cursor_t =
  1. | CURSOR_RIGHT_ARROW
  2. | CURSOR_LEFT_ARROW
  3. | CURSOR_INFO
  4. | CURSOR_DESTROY
  5. | CURSOR_HELP
  6. | CURSOR_CYCLE
  7. | CURSOR_SPRAY
  8. | CURSOR_WAIT
  9. | CURSOR_TEXT
  10. | CURSOR_CROSSHAIR
  11. | CURSOR_UP_DOWN
  12. | CURSOR_LEFT_RIGHT
  13. | CURSOR_TOP_SIDE
  14. | CURSOR_BOTTOM_SIDE
  15. | CURSOR_LEFT_SIDE
  16. | CURSOR_RIGHT_SIDE
  17. | CURSOR_TOP_LEFT_CORNER
  18. | CURSOR_TOP_RIGHT_CORNER
  19. | CURSOR_BOTTOM_RIGHT_CORNER
  20. | CURSOR_BOTTOM_LEFT_CORNER
  21. | CURSOR_INHERIT
  22. | CURSOR_NONE
  23. | CURSOR_FULL_CROSSHAIR
type game_mode_t =
  1. | GAME_MODE_ACTIVE
  2. | GAME_MODE_POSSIBLE
  3. | GAME_MODE_WIDTH
  4. | GAME_MODE_HEIGHT
  5. | GAME_MODE_PIXEL_DEPTH
  6. | GAME_MODE_REFRESH_RATE
  7. | GAME_MODE_DISPLAY_CHANGED
type key_repeat_t =
  1. | KEY_REPEAT_OFF
  2. | KEY_REPEAT_ON
  3. | KEY_REPEAT_DEFAULT
exception BadEnum of string
exception InvalidState of string
val init : argv:string array -> string array
val initDisplayMode : ?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
val createWindow : title:string -> int
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
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
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
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
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
val setColor : cell:int -> red:float -> green:float -> blue:float -> unit
val getColor : index:int -> component:int -> float
val copyColormap : win:int -> unit
val get : gtype:glut_get_t -> int
val getBool : gtype:glut_get_bool_t -> bool
val deviceGet : dgtype:device_get_t -> int
val extensionSupported : name:string -> bool
val getModifiers : unit -> int
val layerGetTransparentIndex : unit -> int
val layerGetInUse : unit -> layer_t
val layerGet : lgtype:layerget_t -> bool
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
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
val gameModeString : str:string -> unit
val enterGameMode : unit -> unit
val leaveGameMode : unit -> unit
val gameModeGet : mode:game_mode_t -> int
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
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
val reportErrors : unit -> unit
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