module Glut: sig
.. end
Glut interface
Online documentation of the C API
Initialization
val glutInit : argv:string array -> string array
val glutInitWindowPosition : x:int -> y:int -> unit
val glutInitWindowSize : width:int -> height:int -> unit
type
init_mode =
| |
GLUT_RGBA |
| |
GLUT_RGB |
| |
GLUT_INDEX |
| |
GLUT_SINGLE |
| |
GLUT_DOUBLE |
| |
GLUT_ACCUM |
| |
GLUT_ALPHA |
| |
GLUT_DEPTH |
| |
GLUT_STENCIL |
| |
GLUT_MULTISAMPLE |
| |
GLUT_STEREO |
| |
GLUT_LUMINANCE |
val glutInitDisplayMode : mode:init_mode list -> unit
val glutInitDisplayString : string -> unit
val glutInitContextVersion : major:int -> minor:int -> unit
type
context_profile =
| |
GLUT_CORE_PROFILE |
| |
GLUT_COMPATIBILITY_PROFILE |
val glutInitContextProfile : profile:context_profile -> unit
Beginning Event Processing
val glutMainLoop : unit -> unit
val glutLeaveMainLoop : unit -> unit
Window Management
type
window_id
val glutCreateWindow : title:string -> window_id
val glutSetWindow : win:window_id -> unit
val glutGetWindow : unit -> window_id
val glutCreateSubWindow : win:window_id ->
x:int -> y:int -> width:int -> height:int -> window_id
val glutDestroyWindow : win:window_id -> unit
val glutPostRedisplay : unit -> unit
val glutSwapBuffers : unit -> unit
val glutPositionWindow : x:int -> y:int -> unit
val glutReshapeWindow : width:int -> height:int -> unit
val glutFullScreen : unit -> unit
val glutPopWindow : unit -> unit
val glutPushWindow : unit -> unit
val glutShowWindow : unit -> unit
val glutHideWindow : unit -> unit
val glutIconifyWindow : unit -> unit
val glutSetWindowTitle : name:string -> unit
val glutSetIconTitle : name:string -> unit
type
cursor_type =
| |
GLUT_CURSOR_RIGHT_ARROW |
| |
GLUT_CURSOR_LEFT_ARROW |
| |
GLUT_CURSOR_INFO |
| |
GLUT_CURSOR_DESTROY |
| |
GLUT_CURSOR_HELP |
| |
GLUT_CURSOR_CYCLE |
| |
GLUT_CURSOR_SPRAY |
| |
GLUT_CURSOR_WAIT |
| |
GLUT_CURSOR_TEXT |
| |
GLUT_CURSOR_CROSSHAIR |
| |
GLUT_CURSOR_UP_DOWN |
| |
GLUT_CURSOR_LEFT_RIGHT |
| |
GLUT_CURSOR_TOP_SIDE |
| |
GLUT_CURSOR_BOTTOM_SIDE |
| |
GLUT_CURSOR_LEFT_SIDE |
| |
GLUT_CURSOR_RIGHT_SIDE |
| |
GLUT_CURSOR_TOP_LEFT_CORNER |
| |
GLUT_CURSOR_TOP_RIGHT_CORNER |
| |
GLUT_CURSOR_BOTTOM_RIGHT_CORNER |
| |
GLUT_CURSOR_BOTTOM_LEFT_CORNER |
| |
GLUT_CURSOR_FULL_CROSSHAIR |
| |
GLUT_CURSOR_NONE |
| |
GLUT_CURSOR_INHERIT |
val glutSetCursor : cursor:cursor_type -> unit
val glutWarpPointer : x:int -> y:int -> unit
val glutIgnoreKeyRepeat : ignore:bool -> unit
doc on opengl.org
: menu:(value:int -> unit) -> menu_id
: unit -> menu_id
: menu:menu_id -> unit
: menu:menu_id -> unit
: name:string -> value:int -> unit
: name:string -> menu:menu_id -> unit
: entry:int -> name:string -> value:int -> unit
: entry:int -> name:string -> menu:menu_id -> unit
: entry:int -> unit
type
mouse_button =
| |
GLUT_LEFT_BUTTON |
| |
GLUT_MIDDLE_BUTTON |
| |
GLUT_RIGHT_BUTTON |
| |
GLUT_WHEEL_UP |
| |
GLUT_WHEEL_DOWN |
: button:mouse_button -> unit
: button:mouse_button -> unit
Callback Registration
Index of Callback Registration on OpenGL.org
val glutDisplayFunc : display:(unit -> unit) -> unit
val glutReshapeFunc : reshape:(width:int -> height:int -> unit) -> unit
val glutKeyboardFunc : keyboard:(key:char -> x:int -> y:int -> unit) -> unit
val glutKeyboardUpFunc : keyboard_up:(key:char -> x:int -> y:int -> unit) -> unit
type
mouse_button_state =
val glutMouseFunc : mouse:(button:mouse_button ->
state:mouse_button_state -> x:int -> y:int -> unit) ->
unit
val glutMotionFunc : motion:(x:int -> y:int -> unit) -> unit
val glutPassiveMotionFunc : passive:(x:int -> y:int -> unit) -> unit
type
visibility_state =
| |
GLUT_NOT_VISIBLE |
| |
GLUT_VISIBLE |
val glutVisibilityFunc : visibility:(state:visibility_state -> unit) -> unit
type
entry_state =
| |
GLUT_LEFT |
| |
GLUT_ENTERED |
val glutEntryFunc : entry:(state:entry_state -> unit) -> unit
type
special_key =
| |
GLUT_KEY_F1 |
| |
GLUT_KEY_F2 |
| |
GLUT_KEY_F3 |
| |
GLUT_KEY_F4 |
| |
GLUT_KEY_F5 |
| |
GLUT_KEY_F6 |
| |
GLUT_KEY_F7 |
| |
GLUT_KEY_F8 |
| |
GLUT_KEY_F9 |
| |
GLUT_KEY_F10 |
| |
GLUT_KEY_F11 |
| |
GLUT_KEY_F12 |
| |
GLUT_KEY_LEFT |
| |
GLUT_KEY_UP |
| |
GLUT_KEY_RIGHT |
| |
GLUT_KEY_DOWN |
| |
GLUT_KEY_PAGE_UP |
| |
GLUT_KEY_PAGE_DOWN |
| |
GLUT_KEY_HOME |
| |
GLUT_KEY_END |
| |
GLUT_KEY_INSERT |
val glutSpecialFunc : special:(key:special_key -> x:int -> y:int -> unit) -> unit
val glutSpecialUpFunc : special_up:(key:special_key -> x:int -> y:int -> unit) -> unit
val glutIdleFunc : idle:(unit -> unit) -> unit
val glutRemoveIdleFunc : unit -> unit
val glutTimerFunc : msecs:int -> timer:(value:'a -> unit) -> value:'a -> unit
Color Index Colormap Management
val glutSetColor : cell:int -> r:float -> g:float -> b:float -> unit
val glutGetColor : cell:int -> float * float * float
State Retrieval
type
get_state =
| |
GLUT_WINDOW_X |
| |
GLUT_WINDOW_Y |
| |
GLUT_WINDOW_WIDTH |
| |
GLUT_WINDOW_HEIGHT |
| |
GLUT_WINDOW_BUFFER_SIZE |
| |
GLUT_WINDOW_STENCIL_SIZE |
| |
GLUT_WINDOW_DEPTH_SIZE |
| |
GLUT_WINDOW_RED_SIZE |
| |
GLUT_WINDOW_GREEN_SIZE |
| |
GLUT_WINDOW_BLUE_SIZE |
| |
GLUT_WINDOW_ALPHA_SIZE |
| |
GLUT_WINDOW_ACCUM_RED_SIZE |
| |
GLUT_WINDOW_ACCUM_GREEN_SIZE |
| |
GLUT_WINDOW_ACCUM_BLUE_SIZE |
| |
GLUT_WINDOW_ACCUM_ALPHA_SIZE |
| |
GLUT_WINDOW_DOUBLEBUFFER |
| |
GLUT_WINDOW_RGBA |
| |
GLUT_WINDOW_PARENT |
| |
GLUT_WINDOW_NUM_CHILDREN |
| |
GLUT_WINDOW_COLORMAP_SIZE |
| |
GLUT_WINDOW_NUM_SAMPLES |
| |
GLUT_WINDOW_STEREO |
| |
GLUT_WINDOW_CURSOR |
| |
GLUT_SCREEN_WIDTH |
| |
GLUT_SCREEN_HEIGHT |
| |
GLUT_SCREEN_WIDTH_MM |
| |
GLUT_SCREEN_HEIGHT_MM |
| |
GLUT_MENU_NUM_ITEMS |
| |
GLUT_DISPLAY_MODE_POSSIBLE |
| |
GLUT_INIT_DISPLAY_MODE |
| |
GLUT_INIT_WINDOW_X |
| |
GLUT_INIT_WINDOW_Y |
| |
GLUT_INIT_WINDOW_WIDTH |
| |
GLUT_INIT_WINDOW_HEIGHT |
| |
GLUT_ELAPSED_TIME |
val glutGet : state:get_state -> int
type
glut_device =
| |
GLUT_HAS_KEYBOARD |
| |
GLUT_HAS_MOUSE |
| |
GLUT_HAS_SPACEBALL |
| |
GLUT_HAS_DIAL_AND_BUTTON_BOX |
| |
GLUT_HAS_TABLET |
| |
GLUT_NUM_MOUSE_BUTTONS |
| |
GLUT_NUM_SPACEBALL_BUTTONS |
| |
GLUT_NUM_BUTTON_BOX_BUTTONS |
| |
GLUT_NUM_DIALS |
| |
GLUT_NUM_TABLET_BUTTONS |
val glutDeviceGet : device:glut_device -> int
type
active_modifier =
| |
GLUT_ACTIVE_SHIFT |
| |
GLUT_ACTIVE_CTRL |
| |
GLUT_ACTIVE_ALT |
val glutGetModifiers : unit -> active_modifier list
val glutGetModifiersB : unit -> bool * bool * bool
same as
glutGetModifiers
but returns a tuple
let (shift, ctrl, alt) = glutGetModifiersB() in
val glutExtensionSupported : extension:string -> bool
Font Rendering
doc on opengl.org
type
stroke_font =
| |
GLUT_STROKE_ROMAN |
| |
GLUT_STROKE_MONO_ROMAN |
type
bitmap_font =
| |
GLUT_BITMAP_9_BY_15 |
| |
GLUT_BITMAP_8_BY_13 |
| |
GLUT_BITMAP_TIMES_ROMAN_10 |
| |
GLUT_BITMAP_TIMES_ROMAN_24 |
| |
GLUT_BITMAP_HELVETICA_10 |
| |
GLUT_BITMAP_HELVETICA_12 |
| |
GLUT_BITMAP_HELVETICA_18 |
val glutBitmapCharacter : font:bitmap_font -> c:char -> unit
val glutBitmapWidth : font:bitmap_font -> c:char -> int
val glutStrokeCharacter : font:stroke_font -> c:char -> unit
val glutStrokeWidth : font:stroke_font -> c:char -> int
val glutBitmapHeight : font:bitmap_font -> int
val glutStrokeHeight : font:stroke_font -> float
val glutBitmapLength : font:bitmap_font -> str:string -> int
val glutStrokeLength : font:stroke_font -> str:string -> int
Geometric Object Rendering
doc on opengl.org
val glutWireSphere : radius:float -> slices:int -> stacks:int -> unit
val glutSolidSphere : radius:float -> slices:int -> stacks:int -> unit
val glutWireCone : base:float -> height:float -> slices:int -> stacks:int -> unit
val glutSolidCone : base:float -> height:float -> slices:int -> stacks:int -> unit
val glutWireCube : size:float -> unit
val glutSolidCube : size:float -> unit
val glutWireTorus : innerRadius:float -> outerRadius:float -> sides:int -> rings:int -> unit
val glutSolidTorus : innerRadius:float -> outerRadius:float -> sides:int -> rings:int -> unit
val glutWireDodecahedron : unit -> unit
val glutSolidDodecahedron : unit -> unit
val glutWireTeapot : size:float -> unit
val glutSolidTeapot : size:float -> unit
val glutWireOctahedron : unit -> unit
val glutSolidOctahedron : unit -> unit
val glutWireTetrahedron : unit -> unit
val glutSolidTetrahedron : unit -> unit
val glutWireIcosahedron : unit -> unit
val glutSolidIcosahedron : unit -> unit
val glutWireRhombicDodecahedron : unit -> unit
val glutSolidRhombicDodecahedron : unit -> unit
Game Mode
doc from OpenGlut
val glutGameModeString : mode:string -> unit
val glutEnterGameMode : unit -> unit
val glutLeaveGameMode : unit -> unit
type
game_mode =
| |
GLUT_GAME_MODE_ACTIVE |
| |
GLUT_GAME_MODE_POSSIBLE |
| |
GLUT_GAME_MODE_WIDTH |
| |
GLUT_GAME_MODE_HEIGHT |
| |
GLUT_GAME_MODE_PIXEL_DEPTH |
| |
GLUT_GAME_MODE_REFRESH_RATE |
| |
GLUT_GAME_MODE_DISPLAY_CHANGED |
val glutGameModeGet : game_mode:game_mode -> int