-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Bindings to GLFW OpenGL library
--   
--   Bindings to GLFW (<a>http://www.glfw.org/</a>), an open source,
--   multi-platform library for creating windows with OpenGL contexts and
--   managing input and events.
--   
--   GLFW-b depends on bindings-GLFW
--   (<a>http://hackage.haskell.org/package/bindings-GLFW</a>), which, as
--   of the time of this writing, binds to GLFW 3.1, released 2015-01-18
--   (<a>http://www.glfw.org/Version-3.1-released.html</a>
--   <a>http://www.glfw.org/changelog.html</a>).
--   
--   If you've used GLFW &lt; 3 before, you should read the transition
--   guide (<a>http://www.glfw.org/docs/3.0/moving.html</a>).
@package GLFW-b
@version 1.4.8.1

module Graphics.UI.GLFW
data Error
Error'NotInitialized :: Error
Error'NoCurrentContext :: Error
Error'InvalidEnum :: Error
Error'InvalidValue :: Error
Error'OutOfMemory :: Error
Error'ApiUnavailable :: Error
Error'VersionUnavailable :: Error
Error'PlatformError :: Error
Error'FormatUnavailable :: Error
setErrorCallback :: Maybe ErrorCallback -> IO ()
type ErrorCallback = Error -> String -> IO ()
data Version
Version :: Int -> Int -> Int -> Version
[versionMajor] :: Version -> Int
[versionMinor] :: Version -> Int
[versionRevision] :: Version -> Int
init :: IO Bool
terminate :: IO ()
getVersion :: IO Version
getVersionString :: IO (Maybe String)
data Monitor
data MonitorState
MonitorState'Connected :: MonitorState
MonitorState'Disconnected :: MonitorState
data VideoMode
VideoMode :: Int -> Int -> Int -> Int -> Int -> Int -> VideoMode
[videoModeWidth] :: VideoMode -> Int
[videoModeHeight] :: VideoMode -> Int
[videoModeRedBits] :: VideoMode -> Int
[videoModeGreenBits] :: VideoMode -> Int
[videoModeBlueBits] :: VideoMode -> Int
[videoModeRefreshRate] :: VideoMode -> Int
data GammaRamp
makeGammaRamp :: [Int] -> [Int] -> [Int] -> Maybe GammaRamp
getMonitors :: IO (Maybe [Monitor])
getPrimaryMonitor :: IO (Maybe Monitor)
getMonitorPos :: Monitor -> IO (Int, Int)
getMonitorPhysicalSize :: Monitor -> IO (Int, Int)
getMonitorName :: Monitor -> IO (Maybe String)
setMonitorCallback :: Maybe MonitorCallback -> IO ()
type MonitorCallback = Monitor -> MonitorState -> IO ()
getVideoModes :: Monitor -> IO (Maybe [VideoMode])
getVideoMode :: Monitor -> IO (Maybe VideoMode)
setGamma :: Monitor -> Double -> IO ()
getGammaRamp :: Monitor -> IO (Maybe GammaRamp)
setGammaRamp :: Monitor -> GammaRamp -> IO ()
data Window
data WindowHint
WindowHint'Resizable :: Bool -> WindowHint
WindowHint'Visible :: Bool -> WindowHint
WindowHint'Decorated :: Bool -> WindowHint
WindowHint'RedBits :: Int -> WindowHint
WindowHint'GreenBits :: Int -> WindowHint
WindowHint'BlueBits :: Int -> WindowHint
WindowHint'AlphaBits :: Int -> WindowHint
WindowHint'DepthBits :: Int -> WindowHint
WindowHint'StencilBits :: Int -> WindowHint
WindowHint'AccumRedBits :: Int -> WindowHint
WindowHint'AccumGreenBits :: Int -> WindowHint
WindowHint'AccumBlueBits :: Int -> WindowHint
WindowHint'AccumAlphaBits :: Int -> WindowHint
WindowHint'AuxBuffers :: Int -> WindowHint
WindowHint'Samples :: Int -> WindowHint
WindowHint'RefreshRate :: Int -> WindowHint
WindowHint'Stereo :: Bool -> WindowHint
WindowHint'sRGBCapable :: Bool -> WindowHint
WindowHint'ClientAPI :: ClientAPI -> WindowHint
WindowHint'ContextVersionMajor :: Int -> WindowHint
WindowHint'ContextVersionMinor :: Int -> WindowHint
WindowHint'ContextRobustness :: ContextRobustness -> WindowHint
WindowHint'OpenGLForwardCompat :: Bool -> WindowHint
WindowHint'OpenGLDebugContext :: Bool -> WindowHint
WindowHint'OpenGLProfile :: OpenGLProfile -> WindowHint
data FocusState
FocusState'Focused :: FocusState
FocusState'Defocused :: FocusState
data IconifyState
IconifyState'Iconified :: IconifyState
IconifyState'NotIconified :: IconifyState
data ContextRobustness
ContextRobustness'NoRobustness :: ContextRobustness
ContextRobustness'NoResetNotification :: ContextRobustness
ContextRobustness'LoseContextOnReset :: ContextRobustness
data OpenGLProfile
OpenGLProfile'Any :: OpenGLProfile
OpenGLProfile'Compat :: OpenGLProfile
OpenGLProfile'Core :: OpenGLProfile
data ClientAPI
ClientAPI'OpenGL :: ClientAPI
ClientAPI'OpenGLES :: ClientAPI
defaultWindowHints :: IO ()
windowHint :: WindowHint -> IO ()

-- | Creates a new window. Note: If running in GHCI don't forget to `:set
--   -fno-ghci-sandbox` or you may run into an assertion failure, segfault
--   or other nasty crash.
createWindow :: Int -> Int -> String -> Maybe Monitor -> Maybe Window -> IO (Maybe Window)
destroyWindow :: Window -> IO ()
windowShouldClose :: Window -> IO Bool
setWindowShouldClose :: Window -> Bool -> IO ()
setWindowTitle :: Window -> String -> IO ()
getWindowPos :: Window -> IO (Int, Int)
setWindowPos :: Window -> Int -> Int -> IO ()
getWindowSize :: Window -> IO (Int, Int)
setWindowSize :: Window -> Int -> Int -> IO ()
getFramebufferSize :: Window -> IO (Int, Int)
iconifyWindow :: Window -> IO ()
restoreWindow :: Window -> IO ()
showWindow :: Window -> IO ()
hideWindow :: Window -> IO ()
getWindowMonitor :: Window -> IO (Maybe Monitor)
setCursorPos :: Window -> Double -> Double -> IO ()
getWindowFocused :: Window -> IO FocusState
getWindowIconified :: Window -> IO IconifyState
getWindowResizable :: Window -> IO Bool
getWindowDecorated :: Window -> IO Bool
getWindowVisible :: Window -> IO Bool
getWindowClientAPI :: Window -> IO ClientAPI
getWindowContextVersionMajor :: Window -> IO Int
getWindowContextVersionMinor :: Window -> IO Int
getWindowContextVersionRevision :: Window -> IO Int
getWindowContextRobustness :: Window -> IO ContextRobustness
getWindowOpenGLForwardCompat :: Window -> IO Bool
getWindowOpenGLDebugContext :: Window -> IO Bool
getWindowOpenGLProfile :: Window -> IO OpenGLProfile
setWindowPosCallback :: Window -> Maybe WindowPosCallback -> IO ()
type WindowPosCallback = Window -> Int -> Int -> IO ()
setWindowSizeCallback :: Window -> Maybe WindowSizeCallback -> IO ()
type WindowSizeCallback = Window -> Int -> Int -> IO ()
setWindowCloseCallback :: Window -> Maybe WindowCloseCallback -> IO ()
type WindowCloseCallback = Window -> IO ()
setWindowRefreshCallback :: Window -> Maybe WindowRefreshCallback -> IO ()
type WindowRefreshCallback = Window -> IO ()
setWindowFocusCallback :: Window -> Maybe WindowFocusCallback -> IO ()
type WindowFocusCallback = Window -> FocusState -> IO ()
setWindowIconifyCallback :: Window -> Maybe WindowIconifyCallback -> IO ()
type WindowIconifyCallback = Window -> IconifyState -> IO ()
setFramebufferSizeCallback :: Window -> Maybe FramebufferSizeCallback -> IO ()
type FramebufferSizeCallback = Window -> Int -> Int -> IO ()
pollEvents :: IO ()
waitEvents :: IO ()
postEmptyEvent :: IO ()
data Key
Key'Unknown :: Key
Key'Space :: Key
Key'Apostrophe :: Key
Key'Comma :: Key
Key'Minus :: Key
Key'Period :: Key
Key'Slash :: Key
Key'0 :: Key
Key'1 :: Key
Key'2 :: Key
Key'3 :: Key
Key'4 :: Key
Key'5 :: Key
Key'6 :: Key
Key'7 :: Key
Key'8 :: Key
Key'9 :: Key
Key'Semicolon :: Key
Key'Equal :: Key
Key'A :: Key
Key'B :: Key
Key'C :: Key
Key'D :: Key
Key'E :: Key
Key'F :: Key
Key'G :: Key
Key'H :: Key
Key'I :: Key
Key'J :: Key
Key'K :: Key
Key'L :: Key
Key'M :: Key
Key'N :: Key
Key'O :: Key
Key'P :: Key
Key'Q :: Key
Key'R :: Key
Key'S :: Key
Key'T :: Key
Key'U :: Key
Key'V :: Key
Key'W :: Key
Key'X :: Key
Key'Y :: Key
Key'Z :: Key
Key'LeftBracket :: Key
Key'Backslash :: Key
Key'RightBracket :: Key
Key'GraveAccent :: Key
Key'World1 :: Key
Key'World2 :: Key
Key'Escape :: Key
Key'Enter :: Key
Key'Tab :: Key
Key'Backspace :: Key
Key'Insert :: Key
Key'Delete :: Key
Key'Right :: Key
Key'Left :: Key
Key'Down :: Key
Key'Up :: Key
Key'PageUp :: Key
Key'PageDown :: Key
Key'Home :: Key
Key'End :: Key
Key'CapsLock :: Key
Key'ScrollLock :: Key
Key'NumLock :: Key
Key'PrintScreen :: Key
Key'Pause :: Key
Key'F1 :: Key
Key'F2 :: Key
Key'F3 :: Key
Key'F4 :: Key
Key'F5 :: Key
Key'F6 :: Key
Key'F7 :: Key
Key'F8 :: Key
Key'F9 :: Key
Key'F10 :: Key
Key'F11 :: Key
Key'F12 :: Key
Key'F13 :: Key
Key'F14 :: Key
Key'F15 :: Key
Key'F16 :: Key
Key'F17 :: Key
Key'F18 :: Key
Key'F19 :: Key
Key'F20 :: Key
Key'F21 :: Key
Key'F22 :: Key
Key'F23 :: Key
Key'F24 :: Key
Key'F25 :: Key
Key'Pad0 :: Key
Key'Pad1 :: Key
Key'Pad2 :: Key
Key'Pad3 :: Key
Key'Pad4 :: Key
Key'Pad5 :: Key
Key'Pad6 :: Key
Key'Pad7 :: Key
Key'Pad8 :: Key
Key'Pad9 :: Key
Key'PadDecimal :: Key
Key'PadDivide :: Key
Key'PadMultiply :: Key
Key'PadSubtract :: Key
Key'PadAdd :: Key
Key'PadEnter :: Key
Key'PadEqual :: Key
Key'LeftShift :: Key
Key'LeftControl :: Key
Key'LeftAlt :: Key
Key'LeftSuper :: Key
Key'RightShift :: Key
Key'RightControl :: Key
Key'RightAlt :: Key
Key'RightSuper :: Key
Key'Menu :: Key
data KeyState
KeyState'Pressed :: KeyState
KeyState'Released :: KeyState
KeyState'Repeating :: KeyState
data Joystick
Joystick'1 :: Joystick
Joystick'2 :: Joystick
Joystick'3 :: Joystick
Joystick'4 :: Joystick
Joystick'5 :: Joystick
Joystick'6 :: Joystick
Joystick'7 :: Joystick
Joystick'8 :: Joystick
Joystick'9 :: Joystick
Joystick'10 :: Joystick
Joystick'11 :: Joystick
Joystick'12 :: Joystick
Joystick'13 :: Joystick
Joystick'14 :: Joystick
Joystick'15 :: Joystick
Joystick'16 :: Joystick
data JoystickButtonState
JoystickButtonState'Pressed :: JoystickButtonState
JoystickButtonState'Released :: JoystickButtonState
data MouseButton
MouseButton'1 :: MouseButton
MouseButton'2 :: MouseButton
MouseButton'3 :: MouseButton
MouseButton'4 :: MouseButton
MouseButton'5 :: MouseButton
MouseButton'6 :: MouseButton
MouseButton'7 :: MouseButton
MouseButton'8 :: MouseButton
data MouseButtonState
MouseButtonState'Pressed :: MouseButtonState
MouseButtonState'Released :: MouseButtonState
data CursorState
CursorState'InWindow :: CursorState
CursorState'NotInWindow :: CursorState
data CursorInputMode
CursorInputMode'Normal :: CursorInputMode
CursorInputMode'Hidden :: CursorInputMode
CursorInputMode'Disabled :: CursorInputMode
data StickyKeysInputMode
StickyKeysInputMode'Enabled :: StickyKeysInputMode
StickyKeysInputMode'Disabled :: StickyKeysInputMode
data StickyMouseButtonsInputMode
StickyMouseButtonsInputMode'Enabled :: StickyMouseButtonsInputMode
StickyMouseButtonsInputMode'Disabled :: StickyMouseButtonsInputMode
data ModifierKeys
ModifierKeys :: Bool -> Bool -> Bool -> Bool -> ModifierKeys
[modifierKeysShift] :: ModifierKeys -> Bool
[modifierKeysControl] :: ModifierKeys -> Bool
[modifierKeysAlt] :: ModifierKeys -> Bool
[modifierKeysSuper] :: ModifierKeys -> Bool
data Image
Image :: Int -> Int -> [CUChar] -> Image
[imageWidth] :: Image -> Int
[imageHeight] :: Image -> Int
[imagePixels] :: Image -> [CUChar]
newtype Cursor
Cursor :: Ptr C'GLFWcursor -> Cursor
[unCursor] :: Cursor -> Ptr C'GLFWcursor
data StandardCursorShape
StandardCursorShape'Arrow :: StandardCursorShape
StandardCursorShape'IBeam :: StandardCursorShape
StandardCursorShape'Crosshair :: StandardCursorShape
StandardCursorShape'Hand :: StandardCursorShape
StandardCursorShape'HResize :: StandardCursorShape
StandardCursorShape'VResize :: StandardCursorShape
getCursorInputMode :: Window -> IO CursorInputMode
setCursorInputMode :: Window -> CursorInputMode -> IO ()
getStickyKeysInputMode :: Window -> IO StickyKeysInputMode
setStickyKeysInputMode :: Window -> StickyKeysInputMode -> IO ()
getStickyMouseButtonsInputMode :: Window -> IO StickyMouseButtonsInputMode
setStickyMouseButtonsInputMode :: Window -> StickyMouseButtonsInputMode -> IO ()
getKey :: Window -> Key -> IO KeyState
getMouseButton :: Window -> MouseButton -> IO MouseButtonState
getCursorPos :: Window -> IO (Double, Double)
setKeyCallback :: Window -> Maybe KeyCallback -> IO ()
type KeyCallback = Window -> Key -> Int -> KeyState -> ModifierKeys -> IO ()
setCharCallback :: Window -> Maybe CharCallback -> IO ()
type CharCallback = Window -> Char -> IO ()
setMouseButtonCallback :: Window -> Maybe MouseButtonCallback -> IO ()
type MouseButtonCallback = Window -> MouseButton -> MouseButtonState -> ModifierKeys -> IO ()
setCursorPosCallback :: Window -> Maybe CursorPosCallback -> IO ()
type CursorPosCallback = Window -> Double -> Double -> IO ()
setCursorEnterCallback :: Window -> Maybe CursorEnterCallback -> IO ()
type CursorEnterCallback = Window -> CursorState -> IO ()

-- | Creates a new cursor.
createCursor :: Image -> Int -> Int -> IO Cursor

-- | Creates a cursor with a standard shape that can be set for a window
--   with setCursor.
createStandardCursor :: StandardCursorShape -> IO Cursor

-- | Sets the cursor image to be used when the cursor is over the client
--   area of the specified window. The set cursor will only be visible when
--   the cursor mode of the window is GLFW_CURSOR_NORMAL.
setCursor :: Window -> Cursor -> IO ()

-- | Destroys a cursor previously created with <a>createCursor</a>. Any
--   remaining cursors will be destroyed by <a>terminate</a>.
destroyCursor :: Cursor -> IO ()
setScrollCallback :: Window -> Maybe ScrollCallback -> IO ()
type ScrollCallback = Window -> Double -> Double -> IO ()

-- | Sets the file drop callback of the specified window, which is called
--   when one or more dragged files are dropped on the window.
setDropCallback :: Window -> Maybe DropCallback -> IO ()
type DropCallback = Window  The window that received the event. -> [String]  The file and/or directory path names -> IO ()
joystickPresent :: Joystick -> IO Bool
getJoystickAxes :: Joystick -> IO (Maybe [Double])
getJoystickButtons :: Joystick -> IO (Maybe [JoystickButtonState])
getJoystickName :: Joystick -> IO (Maybe String)
getTime :: IO (Maybe Double)
setTime :: Double -> IO ()
makeContextCurrent :: Maybe Window -> IO ()
getCurrentContext :: IO (Maybe Window)
swapBuffers :: Window -> IO ()
swapInterval :: Int -> IO ()
extensionSupported :: String -> IO Bool
getClipboardString :: Window -> IO (Maybe String)
setClipboardString :: Window -> String -> IO ()
