2z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None :=KMtCallback type for .Callback type for .Callback type for .Callback type for .Callback type for .Callback type for .Callback type for . The callback should return  to close the window, and  otherwise.Callback type for .Built-in bitmap font used in . 8x16 fixed width font. Texture flag used in  and . GTreat single component images as alpha maps rather than luminance maps. 1Automatically build and upload all mipmap levels. wSpecifies that the origin of the loaded image should be in the upper left corner (default is the lower left corner).3Do not rescale to the closest 2^m x 2^n resolution.Special features used in  and .When enabled, # is automatically called each time L is called, immediately after the buffer swap itself. Enabled by default.When enabled, the key and character callback functions are called repeatedly when a key is held down long enough (according to the system key repeat configuration).yWhen enabled, pressing standard system key combinations, such as ALT+TAB under Windows, will give the normal behavior.zWhen enabled, mouse buttons which are pressed will not be released until they are physically released and checked with .qWhen enabled, keys which are pressed will not be released until they are physically released and checked with .When enabled, the mouse cursor is visible and mouse coordinates are relative to the upper left corner of the client area of the GLFW window. The coordinates are limited to the client area of the window.Joystick parameters,Number of buttons supported by the joystick.)Number of axes supported by the joystick.*Indicates whether the joystick is present.-Joystick is represent a number from 0 to 15. Differs from the C API.OMouse button is represented by left, right, middle or a number from 0 to 7. Differs from the C API.!KSpecial key is a key not represented in the 32 - 127 printable ASCII range.a>Key is represented by either a character key or a special key.dKey or button state.g'Video modes used in gettable variables  and .nOpenGL profiles, used in  with r.NWe use type families to organize Window params that can be retrieved using  of the  class. The value of a param a is of type  a , where & is a type family defined as follows:  ParamVal Opened = Bool ParamVal Active = Bool ParamVal Iconified = Bool ParamVal Accelerated = Bool ParamVal RedBits = Int ParamVal GreenBits = Int ParamVal BlueBits = Int ParamVal AlphaBits = Int ParamVal DepthBits = Int ParamVal StencilBits = IntBThe following are both params and hints that can be set using  of the  class. ParamVal RefreshRate = Int ParamVal AccumRedBits = Int ParamVal AccumGreenBits = Int ParamVal AccumBlueBits = Int ParamVal AccumAlphaBits = Int ParamVal AuxBuffers = Int ParamVal Stereo = Bool ParamVal NoResize = Bool ParamVal FSAASamples = Int ParamVal OpenGLVersionMajor = Int ParamVal OpenGLVersionMinor = Int ParamVal OpenGLForwardCompat = Bool ParamVal OpenGLDebugContext = Bool ParamVal OpenGLProfile = Profile#Window or Fullscreen mode, used in .)Bit depth of GL display buffers, used in .QVersion is represented by (major, minor, revision), used in gettable variable .OPut the calling thread to sleep for the requested period of time in seconds.\The minimum amount of time it is possible to sleep is generally in the range 1ms to 20ms.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 .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 . is called implicitly from  if % is enabled (as it is by default).8Swap the back and front color buffers of the window. If  is enabled by M (which is the default), it also polls for new events before the swapping.'Restore the window after iconification.Iconify the window.@Close the open window and destroy the associated OpenGL context.!Initialize GLFW library. Returns  if successful, > otherwise. Must be called before any other GLFW functions.Terminate GLFW library after use. Before a program terminates, GLFW has to be terminated in order to free up resources, etc.+Returns the GLFW C library version numbers.Open a window. Returns  if successful, : otherwise. GLFW applications can only open one window.SIf width is zero and height is not, width will be calculated as width = 4/3 height.TIf height is zero and width is not, height will be calculated as height = 3/4 width.IIf both width and height are zero, width is set to 640 and height to 480.bDisplay bits default to 0 if no value is specified, meaning that particular buffer is not created.]In fullscreen mode a resolution that best matches the given window dimensions will be chosen.pIn fullscreen mode the mouse cursor is hidden by default. To change the visibility of the mouse cursor, see,  and .#Set the title of the opened window.)Get or set the size of the opened window.wThe dimensions denote the size of the client area of the window (i.e. excluding any window borders and decorations).If the window is in fullscreen mode when setting new dimensions, the video mode will be changed to a resolution that closest matches the given dimensions.4The setter has no effect if the window is iconified.LThe OpenGL context is guaranteed to be preserved when the window is resized.&Set the position of the opened window.JThe setter has no effect in fullscreen mode or if the window is iconified.DOn multi-monitor systems, the behavior of the setter is ill-defined.YSet the minimum number of monitor retraces between each each buffer swap performed by b. If set to zero, buffer swaps will not be synchronized to the vertical refresh of the monitor.HSet the function that will be called every time the window size changes.?Set the function that will be called when the window is closed.%Set the 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 visible).Get a list of detected g8s, the max number of which is limited to 256 for now.Get the g of current desktop. Return a d , either f or e, of the indicated key.AA window must be opened for the function to have any effect, and ,  or  (with T enabled) must be called before any keyboard events are recorded and reported by . Return a d , either f or e#, of the indicated mouse button.AA window must be opened for the function to have any effect, and ,  or  (with Q enabled) must be called before any mouse events are recorded and reported by .Set or get the mouse position.?A window must be opened for the getter to have any effect, and ,  or  (with T enabled) must be called before any mouse movements are recorded and reported by .FWhen setting the mouse position, if the cursor is visible (not disabled), the cursor will be moved to the specified position, relative to the upper left corner of the window client area and with the Y-axis down. If the cursor is hidden (disabled), only the mouse position that is reported by the getter is changed.$Set or get the mouse wheel position.?A window must be opened for the getter to have any effect, and ,  or  (with T enabled) must be called before any wheel movements are recorded and reported by .Get joystick parameters.EThe joystick information is updated every time the getter is queried.DNo window has to be opened for joystick information to be available.Get a certain number of axis positions for the given joystick. If the number of positions requested is is greater than the number available, the unavailable positions will be 0.?The joystick state is updated every time the getter is queried.>No window has to be opened for joystick input to be available.rGet joystick positions. The returned list contains the positions for all available axes for the given joystick.?The joystick state is updated every time the getter is queried.>No window has to be opened for joystick input to be available.vGet joystick button states. The returned list contains the states for all available buttons for the given joystick.?The joystick state is updated every time the getter is queried.>No window has to be opened for joystick input to be available.Set the function that will be called when there is a key event, i.e., every time the state of a single key is changed. The reported keys are unaffected by any modifiers (such as SHIFT or ALT).Set the function that will be called when there is a character event, i.e., every time a key that results in a printable Unicode character is pressed or released. Characters are affected by modifiers (such as SHIFT or ALT).Set the function that will be called when there is a mouse button event, i.e., every time a mouse button is pressed or released.qSet the function that will be called when there is a mouse motion event, i.e., every time they mouse is moved.vSet the function that will be called when there is a mouse wheel event, i.e., every time 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 floating point number.yUnless the timer has been set by the programmer, the time is measured as the number of seconds that have passed since  was called.NThe resolution of the timer depends on which system the program is running on.Return  if the extension is supported,  otherwise.IReturns the version numbers for the currently used OpenGL implementation. Enable a . Disable a .iRead an image from a file specified by the given string and upload the image to OpenGL texture memory.xIf 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.VPaletted images are translated into true color or true color + alpha pixel formats.|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 to .%Render a text string using the given O. Text is rendered through texture, and is only possible with alpha enabled.Query the OpenGL n$ implemented by the current context.<Query whether the current OpenGL context is a debug context.?Query whether the current OpenGL context is forward-compatible.Query the OpenGL minor version.Query the OpenGL major version.3Query the number used for the multisampling buffer.4Query whether the window can be resized by the user.3Query whether the window supports stereo rendering.&Query the number of auxiliary buffers.JQuery the number of bits for the alpha channel of the accumulation buffer.IQuery the number of bits for the blue channel of the accumulation buffer.JQuery the number of bits for the green channel of the accumulation buffer.HQuery the number of bits for the red channel of the accumulation buffer.QQuery the vertical monitor refresh rate in Hz (only used for fullscreen windows).0Query the number of bits for the stencil buffer..Query the number of bits for the depth buffer..Query the number of bits for the alpha buffer.6Query the number of bits for the blue color component.7Query the number of bits for the green color component.5Query the number of bits for the red color component.-Query the window hardware accelerated status."Query the window iconified status.Query the window active status.Query the window opened status.TSpecify the OpenGL profile the context should implement. For available profiles see n.2Specify whether a debug context should be created.Specify whether the OpenGL context should be forward-compatible (i.e. disallow legacy functionality). This should only be used when requesting OpenGL version 3.0 or above.?Specify the minor number of the desired minimum OpenGL version.?Specify the major number of the desired minimum OpenGL version.BSpecify the number of samples to use for the multisampling buffer.6Specify whether the window can be resized by the user.XSpecify if stereo rendering should be supported. If Stereo is requested on a call to P, but no stereo rendering pixel formats / framebuffer configs are available,  will fail.(Specify the number of auxiliary buffers.LSpecify the number of bits for the alpha channel of the accumulation buffer.KSpecify the number of bits for the blue channel of the accumulation buffer.LSpecify the number of bits for the green channel of the accumulation buffer.JSpecify the number of bits for the red channel of the accumulation buffer.Vertical monitor refresh rate in Hz (only used for fullscreen windows). Zero means system default. Use with caution: specifying a refresh rate can override the system's settings, in which case the display may be suboptimal, fail or even damage the monitor.n  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ghijklmdfeacb!`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"    ~|}z{xyvwtursnqpo   !?`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"acbdfeghijklmnqporstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab"cdefgghijklmnopqqrrssttuuvvwwxxyyzz{{||}}~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY GLFW-0.5.2.4Graphics.UI.GLFWMouseWheelCallbackMousePosCallbackMouseButtonCallback CharCallback KeyCallbackWindowRefreshCallbackWindowCloseCallbackWindowSizeCallback BitmapFont Fixed8x16 TextureFlagAlphaMap BuildMipMapsOriginUL NoRescaleSpecialFeature AutoPollEvent KeyRepeat SystemKeyStickyMouseButton StickyKey MouseCursor JoystickParamButtonsAxesPresentJoystick MouseButtonButtonNo ButtonMiddle ButtonRight ButtonLeft SpecialKeyKP_ENTERKP_EQUAL KP_DECIMALKP_ADD KP_SUBTRACT KP_MULTIPLY KP_DIVIDEKP_9KP_8KP_7KP_6KP_5KP_4KP_3KP_2KP_1KP_0ENDHOMEPAGEDOWNPAGEUPDELINSERT BACKSPACEENTERTABRALTLALTRCTRLLCTRLRSHIFTLSHIFTRIGHTLEFTDOWNUPF25F24F23F22F21F20F19F18F17F16F15F14F13F12F11F10F9F8F7F6F5F4F3F2F1ESCUNKNOWNKeyCharKeyKeyButtonStatePressRelease VideoMode videoWidth videoHeight videoRedBits videoBlueBitsvideoGreenBitsProfileOpenGLCompatProfileOpenGLCoreProfileDefaultProfile OpenGLProfileOpenGLDebugContextOpenGLForwardCompatOpenGLVersionMinorOpenGLVersionMajor FSAASamplesNoResizeStereo AuxBuffersAccumAlphaBits AccumBlueBitsAccumGreenBits AccumRedBits RefreshRate StencilBits DepthBits AlphaBitsBlueBits GreenBitsRedBits Accelerated IconifiedActiveOpenedHintopenWindowHintParamgetParamParamVal WindowMode FullScreenWindow DisplayBitsDisplayStencilBitsDisplayDepthBitsDisplayAlphaBitsDisplayRGBBitsVersionsleep waitEvents pollEvents swapBuffers restoreWindow iconifyWindow closeWindow initialize terminateversion openWindow windowTitle windowSize windowPos swapIntervalwindowSizeCallbackwindowCloseCallbackwindowRefreshCallback videoModes desktopModegetKeygetMouseButtonmousePos mouseWheel joystickParam joystickPos joystickPos'joystickButtons keyCallback charCallbackmouseButtonCallbackmousePosCallbackmouseWheelCallbacktimeextensionSupported glVersion enableSpecialdisableSpecial loadTexture2DloadMemoryTexture2D renderStringghc-prim GHC.TypesTrueFalse$fParamOpenGLProfile$fParamOpenGLDebugContext$fParamOpenGLForwardCompat$fParamOpenGLVersionMinor$fParamOpenGLVersionMajor$fParamFSAASamples$fParamNoResize $fParamStereo$fParamAuxBuffers$fParamAccumAlphaBits$fParamAccumBlueBits$fParamAccumGreenBits$fParamAccumRedBits$fParamRefreshRate$fParamStencilBits$fParamDepthBits$fParamAlphaBits$fParamBlueBits$fParamGreenBits$fParamRedBits$fParamAccelerated$fParamIconified $fParamActive $fParamOpened$fHintOpenGLProfile$fHintOpenGLDebugContext$fHintOpenGLForwardCompat$fHintOpenGLVersionMinor$fHintOpenGLVersionMajor$fHintFSAASamples$fHintNoResize $fHintStereo$fHintAuxBuffers$fHintAccumAlphaBits$fHintAccumBlueBits$fHintAccumGreenBits$fHintAccumRedBits$fHintRefreshRate GLFWcharfun GLFWkeyfunGLFWmousewheelfunGLFWmouseposfunGLFWmousebuttonfunGLFWwindowrefreshfunGLFWwindowclosefunGLFWwindowsizefun glfwWrapFun0 glfwWrapFunB glfwWrapFun1 glfwWrapFun2glfwLoadMemoryTexture2DglfwLoadTexture2D glfwDisable glfwEnableglfwGetGLVersionglfwExtensionSupported glfwSetTime glfwGetTimeglfwSetMouseWheelCallbackglfwSetMousePosCallbackglfwSetMouseButtonCallbackglfwSetCharCallbackglfwSetKeyCallbackglfwGetJoystickButtonsglfwGetJoystickPosglfwGetJoystickParamglfwSetMouseWheelglfwGetMouseWheelglfwSetMousePosglfwGetMousePosglfwGetMouseButton glfwGetKeyglfwGetDesktopModeglfwGetVideoModesglfwSetWindowRefreshCallbackglfwSetWindowCloseCallbackglfwSetWindowSizeCallbackglfwGetWindowParamglfwSwapIntervalglfwSetWindowPosCglfwSetWindowSizeglfwGetWindowSizeglfwSetWindowTitleglfwOpenWindowHintglfwOpenWindowglfwGetVersion glfwTerminateglfwInit_GLFW_MOUSE_BUTTON_LAST_GLFW_JOYSTICK_LAST_GLFW_INFINITYtoEnum' fromEnum'glfwSetWindowPossizeOfVideoModemaxCount videoModereadFlagglfwWindowsizefunglfwWindowclosefunglfwWindowrefreshfunglfwMousebuttonfunglfwMouseposfunglfwMousewheelfun glfwKeyfun glfwCharfunglfwSetCallbackIORef glfwCleanup fontTexturesloadFont renderCharpeek3vector3vertex3 texCoord2 bitmap8x16$fEnumTextureFlag$fEnumSpecialFeature$fEnumJoystickParam$fEnumJoystick$fEnumMouseButton$fEnumSpecialKey $fEnumKey $fEnumProfileTFCo:R:ParamValOpenGLProfile!TFCo:R:ParamValOpenGLDebugContext"TFCo:R:ParamValOpenGLForwardCompat!TFCo:R:ParamValOpenGLVersionMinor!TFCo:R:ParamValOpenGLVersionMajorTFCo:R:ParamValFSAASamplesTFCo:R:ParamValNoResizeTFCo:R:ParamValStereoTFCo:R:ParamValAuxBuffersTFCo:R:ParamValAccumAlphaBitsTFCo:R:ParamValAccumBlueBitsTFCo:R:ParamValAccumGreenBitsTFCo:R:ParamValAccumRedBitsTFCo:R:ParamValRefreshRateTFCo:R:ParamValStencilBitsTFCo:R:ParamValDepthBitsTFCo:R:ParamValAlphaBitsTFCo:R:ParamValBlueBitsTFCo:R:ParamValGreenBitsTFCo:R:ParamValRedBitsTFCo:R:ParamValAcceleratedTFCo:R:ParamValIconifiedTFCo:R:ParamValActiveTFCo:R:ParamValOpened$fEnumWindowMode