GLFWSourceOCaml binding for GLFW 3.3
GLFW-OCaml version numbers.
Exceptions raised by the various functions of this module.
If you ever get an InvalidEnum exception and are not using unsafe features that would be a bug in GLFW-OCaml. Please fill an issue on GitHub.
Key actions.
type key = | Unknown| Space| Apostrophe| Comma| Minus| Period| Slash| Num0| Num1| Num2| Num3| Num4| Num5| Num6| Num7| Num8| Num9| Semicolon| Equal| A| B| C| D| E| F| G| H| I| J| K| L| M| N| O| P| Q| R| S| T| U| V| W| X| Y| Z| LeftBracket| Backslash| RightBracket| GraveAccent| World1| World2| Escape| Enter| Tab| Backspace| Insert| Delete| Right| Left| Down| Up| PageUp| PageDown| Home| End| CapsLock| ScrollLock| NumLock| PrintScreen| Pause| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| F13| F14| F15| F16| F17| F18| F19| F20| F21| F22| F23| F24| F25| Kp0| Kp1| Kp2| Kp3| Kp4| Kp5| Kp6| Kp7| Kp8| Kp9| KpDecimal| KpDivide| KpMultiply| KpSubtract| KpAdd| KpEnter| KpEqual| LeftShift| LeftControl| LeftAlt| LeftSuper| RightShift| RightControl| RightAlt| RightSuper| MenuKeyboard keys.
Keyboard key and mouse button modifiers.
Maximum number of buttons handled for a mouse.
Values of common mouse buttons.
Maximum number of joysticks connected.
Client OpenGL API hint
Context robustness hint
OpenGL profile hint
Context release behavior hint
Context creation API hint
Window hints and attributes. Use with windowHint, getWindowAttrib and setWindowAttrib like this:
include module type of Atype ('a, _) window_attr = | Focused : (bool, [< `hint | `attr ]) window_attr| Iconified : (bool, [< `attr ]) window_attr| Resizable : (bool, [< `hint | `attr | `update ]) window_attr| Visible : (bool, [< `hint | `attr ]) window_attr| Decorated : (bool, [< `hint | `attr | `update ]) window_attr| AutoIconify : (bool, [< `hint | `attr | `update ]) window_attr| Floating : (bool, [< `hint | `attr | `update ]) window_attr| Maximized : (bool, [< `hint | `attr ]) window_attr| CenterCursor : (bool, [< `hint ]) window_attr| TransparentFramebuffer : (bool, [< `hint | `attr ]) window_attr| Hovered : (bool, [< `attr ]) window_attr| FocusOnShow : (bool, [< `hint | `attr | `update ]) window_attr| RedBits : (int option, [< `hint ]) window_attr| GreenBits : (int option, [< `hint ]) window_attr| BlueBits : (int option, [< `hint ]) window_attr| AlphaBits : (int option, [< `hint ]) window_attr| DepthBits : (int option, [< `hint ]) window_attr| StencilBits : (int option, [< `hint ]) window_attr| AccumRedBits : (int option, [< `hint ]) window_attr| AccumGreenBits : (int option, [< `hint ]) window_attr| AccumBlueBits : (int option, [< `hint ]) window_attr| AccumAlphaBits : (int option, [< `hint ]) window_attr| AuxBuffers : (int option, [< `hint ]) window_attr| Stereo : (bool, [< `hint ]) window_attr| Samples : (int option, [< `hint ]) window_attr| SrgbCapable : (bool, [< `hint ]) window_attr| RefreshRate : (int option, [< `hint ]) window_attr| DoubleBuffer : (bool, [< `hint ]) window_attr| ClientApi : (client_api, [< `hint | `attr ]) window_attr| ContextVersionMajor : (int, [< `hint | `attr ]) window_attr| ContextVersionMinor : (int, [< `hint | `attr ]) window_attr| ContextRevision : (int, [< `attr ]) window_attr| ContextRobustness : (context_robustness, [< `hint | `attr ]) window_attr| OpenGLForwardCompat : (bool, [< `hint | `attr ]) window_attr| OpenGLDebugContext : (bool, [< `hint | `attr ]) window_attr| OpenGLProfile : (opengl_profile, [< `hint | `attr ]) window_attr| ContextReleaseBehavior : (context_release_behavior, [< `hint ]) window_attr| ContextNoError : (bool, [< `hint ]) window_attr| ContextCreationApi : (context_creation_api, [< `hint | `attr ]) window_attr| ScaleToMonitor : (bool, [< `hint ]) window_attr| CocoaRetinaFramebuffer : (bool, [< `hint ]) window_attr| CocoaFrameName : (string, [< `hint ]) window_attr| CocoaGraphicsSwitching : (bool, [< `hint ]) window_attr| X11ClassName : (string, [< `hint ]) window_attr| X11InstanceName : (string, [< `hint ]) window_attrMouse cursor input mode.
type _ input_mode = | Cursor : cursor_mode input_mode| StickyKeys : bool input_mode| StickyMouseButtons : bool input_mode| LockKeyMods : bool input_mode| RawMouseMotion : bool input_modeInput modes. Use with setInputMode and getInputMode in a similar manner as with window hints.
Standard cursor shapes.
Joystick connection event.
Initialization hints.
Video mode description as returned by getVideoMode(s).
Hat statuses as returned by getJoystickHats.
Gamepad state data as returned by getGamepadState.
Module functions. These are mostly identical to their original GLFW counterparts.
There are no bindings for the glfwSet,Get*UserPointer functions because you would have to use unsafe features to set the correct type for your data. If you need to make user data accessible inside a callback you can instead capture it in a closure and use that closure as your callback function.
There is no binding for the glfwWindowHintString function. Simply pass your string to the windowHint function as you would for any other value type.
The window parameter of the set,getClipboardString functions has been deprecated and is no longer used. You may pass the unit value (or anything) as the window argument.
There is no binding for the glfwGetProcAddress function because it would basicaly require to write an entire OpenGL wrapper to make the functions returned by GLFW usable from OCaml. There are numerous OpenGL bindings available for OCaml that you can use instead.
The Vulkan related functions are not supported as of now but we might look into it at some point.
val setMonitorCallback :
f:(monitor -> connection_event -> unit) option ->
(monitor -> connection_event -> unit) optionval setWindowAttrib :
window:window ->
attribute:('a, [ `update ]) window_attr ->
value:'a ->
unitval setKeyCallback :
window:window ->
f:(window -> key -> int -> key_action -> key_mod list -> unit) option ->
(window -> key -> int -> key_action -> key_mod list -> unit) optionval setCharModsCallback :
window:window ->
f:(window -> int -> key_mod list -> unit) option ->
(window -> int -> key_mod list -> unit) optionval setJoystickCallback :
f:(int -> connection_event -> unit) option ->
(int -> connection_event -> unit) option