Interface to GLFW - An OpenGL Framework.
It provides an alternative to GLUT for OpenGL based Haskell programs,
and currently supports GLFW API version 2.6 http://glfw.sourceforge.net.
|Version is represented by (major, minor, revision), used
in gettable variable version.
|Bit depth of GL display buffers, used in openWindow.
|DisplayRGBBits !Int !Int !Int|
|Window or Fullscreen mode, used in openWindow.
|Window hints, used in settable variable openWindowHint.
|Window parameters used in gettable variable windowParam.
|Video modes used in gettable variables videoModes and desktopMode.
|videoWidth :: !Int|
|videoHeight :: !Int|
|videoRedBits :: !Int|
|videoBlueBits :: !Int|
|videoGreenBits :: !Int|
|Key or button state.
|Key is represented by either a character key or a special key.
|Special key is a key not represented in the 32 - 127 printable ASCII range.
|Mouse button is represented by left, right, middle or a number
from 0 to 7 (note the difference from the GLFW C library).
|Joystick is represent a number from 0 to 15 (note the difference from the
GLFW C library).
|Special features used in enableSpecial and disableSpecial.
|Build-in bitmap font used in renderString.
|Fixed8x16||8x16 fixed width font.
|Callback type for windowCloseCallback.
|Callback type for windowSizeCallback.
|Callback type for windowRefreshCallback.
|Callback type for keyCallback.
|Callback type for charCallback.
|Callback type for mouseButtonCallback.
|Callback type for mousePosCallback.
|Callback type for mouseWheelCallback.
|Initialization and Window functions
Initialize GLFW library before use, returns True if successful
or False otherwise.
Before any GLFW functions can be used, GLFW must be initialized
to ensure proper functionality.
|Get a list of deteced VideoModes, the max number of which is limited
to 256 for now.
|Get the VideoMode of current desktop.
|Returns the supported GLFW C library version numbers.
Open the Window of the given size and other parameters, returns True if
successful or False otherwise.
GLFW applications can only open one Window, which is assumed to be the
default place where renderings take place.
|Set the Window hints, i.e., additional Window properties, before openWindow.
|Close the open Window and destroys the associated OpenGL context.
|Set the title of the opened Window.
|Get or set the size of the opened Window.
|Iconify the Window which can later by retored.
|Restore the Window after iconification.
|Swap the back and front color buffers of the Window. If AutoPollEvent
is enabled by enableSpecial (which is the default), it also polls for
new events before the swapping.
|Set the minimum number of monitor retraces between each each buffer swap
performed by swapBuffers. If set to zero, buffer swaps will not be
synchronized to the vertical refresh of the monitor.
|Get the value of Window parameters.
|Get joystick parameters.
|Event Handling functions
|Poll events, such as user input and window events. Upon calling this
function, all window states, keyboard states and mouse states are updated.
If any related callback functions are registered, these are called during the
call of pollEvents.
|Wait for events, such as user input and window events. The calling thread
will be put to sleep until any event appears in the event queue.
When events are ready, the events will be processed just as they are
processed by pollEvents.
|Return a KeyButtonState, either Release or Press, of the indicated key.
|Return a KeyButtonState, either Release or Press, of the indicated mouse
|Set or get the mouse position.
|Set or get the mouse wheel position.
|Get joystick positions. The returned list contains the positions
for all available axes for the given joystick.
|Get joystick button states. The returned list contains the states
for all available buttons for the given joystick.
|Set the callback function that will be called every time the Window size changes.
|Set the callback function that will be called when the Window is closed.
|Set the callback function that will be called when the Window client area
needs to be refreshed, which occurs when any part of the window client
area is damaged and needs to be repainted (for instance, if a part
of the window that was previously occluded by another window has become
|Set the callback function that will be called when there is a key event,
i.e., everytime the state of a single key is changed. The reported keys
are unaffected by any modifiers (such as SHIFT or ALT).
|Set the callback function that will be called when there is a character event,
i.e., everytime a key that results in a printable Unicode character is
pressed or released. Characters are affected by modifiers (such as SHIFT
|Set the callback function that will be called when there is a mouse button event,
i.e., everytime a mouse button is pressed or released.
|Set the callback function that will be called when there is a mouse motion
event, i.e., everytime they mouse is moved.
|Set the callback function that will be called when there is a mouse wheel
event, i.e., everytime the mouse wheel is turned.
Get or set the value of the high precision timer. The time is measured
in seconds as a double precision floasting point number.
Unless the timer has been set by the programmer, the time is measured
as the number of seconds that have passed since initialize was called.
Put the calling thread to sleep for the requested period of time in seconds.
The time is generally in the range 1ms to 20ms, depending on thread scheduling
time slot intervals etc.
|Return True if the extension is supported, otherwise False.
|Enable a SpecialFeature.
|Disable a SpecialFeature.
|Texture Loading functions
Read an image from a file specified by the given string and
upload the image to OpenGL texture memory.
If BuildMipMaps flag is given, all mipmap levels for the loaded
texture are generated and uploaded to texture memory.
Unless the OriginUL flag is given, the origin of the texture is
the lower left corner of the loaded image. If OriginUL is given,
however, the first pixel is the upper left corner.
For single component images (i.e. gray scale), the texture is uploaded
as an alpha mask if the flag AlphaMap is set, otherwise it's uploaded
as a luminance texture.
It only supports the Truevision Targa verson 1 file (.tga). Supported
pixel formats are: 8-bit gray scale, 8-bit paletted (24/32-bit color),
24-bit true color and 32-bit true color + alpha.
Paletted images are translated into true color or tru color + alpha
The read texture is always rescaled to the nearest larger 2^m x 2^n
resolution using bilinear interpolation if necessary.
|Read an image from the memory buffer (the given byte string) and
upload the image to OpenGL texture memory. The rest is similar
|Text Rendering function (not in GLFW C library)
Render a text string using the given BitmapFont.
Text is rendered through texture, and is only possible with alpha enabled.
|GLFW Thread Support functions are omitted purposely
|Produced by Haddock version 2.4.2|