{-# LINE 1 "Bindings/GLFW.hsc" #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LINE 2 "Bindings/GLFW.hsc" #-}
{-# LANGUAGE NoImplicitPrelude  #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TemplateHaskell #-}

--------------------------------------------------------------------------------


{-# LINE 9 "Bindings/GLFW.hsc" #-}

{-# LINE 10 "Bindings/GLFW.hsc" #-}

{-# LINE 32 "Bindings/GLFW.hsc" #-}

--------------------------------------------------------------------------------

module Bindings.GLFW where

import Prelude (Eq, IO, Num, Show)
import Prelude (($), return)

import Data.Data        (Data)
import Data.Typeable    (Typeable)
import Foreign.C.Types  (CChar, CUChar, CUShort)
import Foreign.C.Types  (CDouble(..), CFloat(..), CInt(..), CUInt(..))
import Foreign.Ptr      (FunPtr, Ptr, plusPtr)
import Foreign.Storable (Storable(..))


{-# LINE 52 "Bindings/GLFW.hsc" #-}

--------------------------------------------------------------------------------

c'GL_FALSE = 0
c'GL_FALSE :: (Num a) => a

{-# LINE 56 "Bindings/GLFW.hsc" #-}
c'GL_TRUE = 1
c'GL_TRUE :: (Num a) => a

{-# LINE 57 "Bindings/GLFW.hsc" #-}

c'GLFW_VERSION_MAJOR = 3
c'GLFW_VERSION_MAJOR :: (Num a) => a

{-# LINE 59 "Bindings/GLFW.hsc" #-}
c'GLFW_VERSION_MINOR = 1
c'GLFW_VERSION_MINOR :: (Num a) => a

{-# LINE 60 "Bindings/GLFW.hsc" #-}
c'GLFW_VERSION_REVISION = 0
c'GLFW_VERSION_REVISION :: (Num a) => a

{-# LINE 61 "Bindings/GLFW.hsc" #-}

c'GLFW_RELEASE = 0
c'GLFW_RELEASE :: (Num a) => a

{-# LINE 63 "Bindings/GLFW.hsc" #-}
c'GLFW_PRESS = 1
c'GLFW_PRESS :: (Num a) => a

{-# LINE 64 "Bindings/GLFW.hsc" #-}
c'GLFW_REPEAT = 2
c'GLFW_REPEAT :: (Num a) => a

{-# LINE 65 "Bindings/GLFW.hsc" #-}

c'GLFW_KEY_UNKNOWN = -1
c'GLFW_KEY_UNKNOWN :: (Num a) => a

{-# LINE 67 "Bindings/GLFW.hsc" #-}

c'GLFW_KEY_SPACE = 32
c'GLFW_KEY_SPACE :: (Num a) => a

{-# LINE 69 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_APOSTROPHE = 39
c'GLFW_KEY_APOSTROPHE :: (Num a) => a

{-# LINE 70 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_COMMA = 44
c'GLFW_KEY_COMMA :: (Num a) => a

{-# LINE 71 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_MINUS = 45
c'GLFW_KEY_MINUS :: (Num a) => a

{-# LINE 72 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_PERIOD = 46
c'GLFW_KEY_PERIOD :: (Num a) => a

{-# LINE 73 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_SLASH = 47
c'GLFW_KEY_SLASH :: (Num a) => a

{-# LINE 74 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_0 = 48
c'GLFW_KEY_0 :: (Num a) => a

{-# LINE 75 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_1 = 49
c'GLFW_KEY_1 :: (Num a) => a

{-# LINE 76 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_2 = 50
c'GLFW_KEY_2 :: (Num a) => a

{-# LINE 77 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_3 = 51
c'GLFW_KEY_3 :: (Num a) => a

{-# LINE 78 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_4 = 52
c'GLFW_KEY_4 :: (Num a) => a

{-# LINE 79 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_5 = 53
c'GLFW_KEY_5 :: (Num a) => a

{-# LINE 80 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_6 = 54
c'GLFW_KEY_6 :: (Num a) => a

{-# LINE 81 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_7 = 55
c'GLFW_KEY_7 :: (Num a) => a

{-# LINE 82 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_8 = 56
c'GLFW_KEY_8 :: (Num a) => a

{-# LINE 83 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_9 = 57
c'GLFW_KEY_9 :: (Num a) => a

{-# LINE 84 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_SEMICOLON = 59
c'GLFW_KEY_SEMICOLON :: (Num a) => a

{-# LINE 85 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_EQUAL = 61
c'GLFW_KEY_EQUAL :: (Num a) => a

{-# LINE 86 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_A = 65
c'GLFW_KEY_A :: (Num a) => a

{-# LINE 87 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_B = 66
c'GLFW_KEY_B :: (Num a) => a

{-# LINE 88 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_C = 67
c'GLFW_KEY_C :: (Num a) => a

{-# LINE 89 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_D = 68
c'GLFW_KEY_D :: (Num a) => a

{-# LINE 90 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_E = 69
c'GLFW_KEY_E :: (Num a) => a

{-# LINE 91 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F = 70
c'GLFW_KEY_F :: (Num a) => a

{-# LINE 92 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_G = 71
c'GLFW_KEY_G :: (Num a) => a

{-# LINE 93 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_H = 72
c'GLFW_KEY_H :: (Num a) => a

{-# LINE 94 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_I = 73
c'GLFW_KEY_I :: (Num a) => a

{-# LINE 95 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_J = 74
c'GLFW_KEY_J :: (Num a) => a

{-# LINE 96 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_K = 75
c'GLFW_KEY_K :: (Num a) => a

{-# LINE 97 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_L = 76
c'GLFW_KEY_L :: (Num a) => a

{-# LINE 98 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_M = 77
c'GLFW_KEY_M :: (Num a) => a

{-# LINE 99 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_N = 78
c'GLFW_KEY_N :: (Num a) => a

{-# LINE 100 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_O = 79
c'GLFW_KEY_O :: (Num a) => a

{-# LINE 101 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_P = 80
c'GLFW_KEY_P :: (Num a) => a

{-# LINE 102 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_Q = 81
c'GLFW_KEY_Q :: (Num a) => a

{-# LINE 103 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_R = 82
c'GLFW_KEY_R :: (Num a) => a

{-# LINE 104 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_S = 83
c'GLFW_KEY_S :: (Num a) => a

{-# LINE 105 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_T = 84
c'GLFW_KEY_T :: (Num a) => a

{-# LINE 106 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_U = 85
c'GLFW_KEY_U :: (Num a) => a

{-# LINE 107 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_V = 86
c'GLFW_KEY_V :: (Num a) => a

{-# LINE 108 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_W = 87
c'GLFW_KEY_W :: (Num a) => a

{-# LINE 109 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_X = 88
c'GLFW_KEY_X :: (Num a) => a

{-# LINE 110 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_Y = 89
c'GLFW_KEY_Y :: (Num a) => a

{-# LINE 111 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_Z = 90
c'GLFW_KEY_Z :: (Num a) => a

{-# LINE 112 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LEFT_BRACKET = 91
c'GLFW_KEY_LEFT_BRACKET :: (Num a) => a

{-# LINE 113 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_BACKSLASH = 92
c'GLFW_KEY_BACKSLASH :: (Num a) => a

{-# LINE 114 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_RIGHT_BRACKET = 93
c'GLFW_KEY_RIGHT_BRACKET :: (Num a) => a

{-# LINE 115 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_GRAVE_ACCENT = 96
c'GLFW_KEY_GRAVE_ACCENT :: (Num a) => a

{-# LINE 116 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_WORLD_1 = 161
c'GLFW_KEY_WORLD_1 :: (Num a) => a

{-# LINE 117 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_WORLD_2 = 162
c'GLFW_KEY_WORLD_2 :: (Num a) => a

{-# LINE 118 "Bindings/GLFW.hsc" #-}

c'GLFW_KEY_ESCAPE = 256
c'GLFW_KEY_ESCAPE :: (Num a) => a

{-# LINE 120 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_ENTER = 257
c'GLFW_KEY_ENTER :: (Num a) => a

{-# LINE 121 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_TAB = 258
c'GLFW_KEY_TAB :: (Num a) => a

{-# LINE 122 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_BACKSPACE = 259
c'GLFW_KEY_BACKSPACE :: (Num a) => a

{-# LINE 123 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_INSERT = 260
c'GLFW_KEY_INSERT :: (Num a) => a

{-# LINE 124 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_DELETE = 261
c'GLFW_KEY_DELETE :: (Num a) => a

{-# LINE 125 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_RIGHT = 262
c'GLFW_KEY_RIGHT :: (Num a) => a

{-# LINE 126 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LEFT = 263
c'GLFW_KEY_LEFT :: (Num a) => a

{-# LINE 127 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_DOWN = 264
c'GLFW_KEY_DOWN :: (Num a) => a

{-# LINE 128 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_UP = 265
c'GLFW_KEY_UP :: (Num a) => a

{-# LINE 129 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_PAGE_UP = 266
c'GLFW_KEY_PAGE_UP :: (Num a) => a

{-# LINE 130 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_PAGE_DOWN = 267
c'GLFW_KEY_PAGE_DOWN :: (Num a) => a

{-# LINE 131 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_HOME = 268
c'GLFW_KEY_HOME :: (Num a) => a

{-# LINE 132 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_END = 269
c'GLFW_KEY_END :: (Num a) => a

{-# LINE 133 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_CAPS_LOCK = 280
c'GLFW_KEY_CAPS_LOCK :: (Num a) => a

{-# LINE 134 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_SCROLL_LOCK = 281
c'GLFW_KEY_SCROLL_LOCK :: (Num a) => a

{-# LINE 135 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_NUM_LOCK = 282
c'GLFW_KEY_NUM_LOCK :: (Num a) => a

{-# LINE 136 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_PRINT_SCREEN = 283
c'GLFW_KEY_PRINT_SCREEN :: (Num a) => a

{-# LINE 137 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_PAUSE = 284
c'GLFW_KEY_PAUSE :: (Num a) => a

{-# LINE 138 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F1 = 290
c'GLFW_KEY_F1 :: (Num a) => a

{-# LINE 139 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F2 = 291
c'GLFW_KEY_F2 :: (Num a) => a

{-# LINE 140 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F3 = 292
c'GLFW_KEY_F3 :: (Num a) => a

{-# LINE 141 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F4 = 293
c'GLFW_KEY_F4 :: (Num a) => a

{-# LINE 142 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F5 = 294
c'GLFW_KEY_F5 :: (Num a) => a

{-# LINE 143 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F6 = 295
c'GLFW_KEY_F6 :: (Num a) => a

{-# LINE 144 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F7 = 296
c'GLFW_KEY_F7 :: (Num a) => a

{-# LINE 145 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F8 = 297
c'GLFW_KEY_F8 :: (Num a) => a

{-# LINE 146 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F9 = 298
c'GLFW_KEY_F9 :: (Num a) => a

{-# LINE 147 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F10 = 299
c'GLFW_KEY_F10 :: (Num a) => a

{-# LINE 148 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F11 = 300
c'GLFW_KEY_F11 :: (Num a) => a

{-# LINE 149 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F12 = 301
c'GLFW_KEY_F12 :: (Num a) => a

{-# LINE 150 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F13 = 302
c'GLFW_KEY_F13 :: (Num a) => a

{-# LINE 151 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F14 = 303
c'GLFW_KEY_F14 :: (Num a) => a

{-# LINE 152 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F15 = 304
c'GLFW_KEY_F15 :: (Num a) => a

{-# LINE 153 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F16 = 305
c'GLFW_KEY_F16 :: (Num a) => a

{-# LINE 154 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F17 = 306
c'GLFW_KEY_F17 :: (Num a) => a

{-# LINE 155 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F18 = 307
c'GLFW_KEY_F18 :: (Num a) => a

{-# LINE 156 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F19 = 308
c'GLFW_KEY_F19 :: (Num a) => a

{-# LINE 157 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F20 = 309
c'GLFW_KEY_F20 :: (Num a) => a

{-# LINE 158 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F21 = 310
c'GLFW_KEY_F21 :: (Num a) => a

{-# LINE 159 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F22 = 311
c'GLFW_KEY_F22 :: (Num a) => a

{-# LINE 160 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F23 = 312
c'GLFW_KEY_F23 :: (Num a) => a

{-# LINE 161 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F24 = 313
c'GLFW_KEY_F24 :: (Num a) => a

{-# LINE 162 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_F25 = 314
c'GLFW_KEY_F25 :: (Num a) => a

{-# LINE 163 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_0 = 320
c'GLFW_KEY_KP_0 :: (Num a) => a

{-# LINE 164 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_1 = 321
c'GLFW_KEY_KP_1 :: (Num a) => a

{-# LINE 165 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_2 = 322
c'GLFW_KEY_KP_2 :: (Num a) => a

{-# LINE 166 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_3 = 323
c'GLFW_KEY_KP_3 :: (Num a) => a

{-# LINE 167 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_4 = 324
c'GLFW_KEY_KP_4 :: (Num a) => a

{-# LINE 168 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_5 = 325
c'GLFW_KEY_KP_5 :: (Num a) => a

{-# LINE 169 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_6 = 326
c'GLFW_KEY_KP_6 :: (Num a) => a

{-# LINE 170 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_7 = 327
c'GLFW_KEY_KP_7 :: (Num a) => a

{-# LINE 171 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_8 = 328
c'GLFW_KEY_KP_8 :: (Num a) => a

{-# LINE 172 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_9 = 329
c'GLFW_KEY_KP_9 :: (Num a) => a

{-# LINE 173 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_DECIMAL = 330
c'GLFW_KEY_KP_DECIMAL :: (Num a) => a

{-# LINE 174 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_DIVIDE = 331
c'GLFW_KEY_KP_DIVIDE :: (Num a) => a

{-# LINE 175 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_MULTIPLY = 332
c'GLFW_KEY_KP_MULTIPLY :: (Num a) => a

{-# LINE 176 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_SUBTRACT = 333
c'GLFW_KEY_KP_SUBTRACT :: (Num a) => a

{-# LINE 177 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_ADD = 334
c'GLFW_KEY_KP_ADD :: (Num a) => a

{-# LINE 178 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_ENTER = 335
c'GLFW_KEY_KP_ENTER :: (Num a) => a

{-# LINE 179 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_KP_EQUAL = 336
c'GLFW_KEY_KP_EQUAL :: (Num a) => a

{-# LINE 180 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LEFT_SHIFT = 340
c'GLFW_KEY_LEFT_SHIFT :: (Num a) => a

{-# LINE 181 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LEFT_CONTROL = 341
c'GLFW_KEY_LEFT_CONTROL :: (Num a) => a

{-# LINE 182 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LEFT_ALT = 342
c'GLFW_KEY_LEFT_ALT :: (Num a) => a

{-# LINE 183 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LEFT_SUPER = 343
c'GLFW_KEY_LEFT_SUPER :: (Num a) => a

{-# LINE 184 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_RIGHT_SHIFT = 344
c'GLFW_KEY_RIGHT_SHIFT :: (Num a) => a

{-# LINE 185 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_RIGHT_CONTROL = 345
c'GLFW_KEY_RIGHT_CONTROL :: (Num a) => a

{-# LINE 186 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_RIGHT_ALT = 346
c'GLFW_KEY_RIGHT_ALT :: (Num a) => a

{-# LINE 187 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_RIGHT_SUPER = 347
c'GLFW_KEY_RIGHT_SUPER :: (Num a) => a

{-# LINE 188 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_MENU = 348
c'GLFW_KEY_MENU :: (Num a) => a

{-# LINE 189 "Bindings/GLFW.hsc" #-}
c'GLFW_KEY_LAST = 348
c'GLFW_KEY_LAST :: (Num a) => a

{-# LINE 190 "Bindings/GLFW.hsc" #-}

c'GLFW_MOD_SHIFT = 1
c'GLFW_MOD_SHIFT :: (Num a) => a

{-# LINE 192 "Bindings/GLFW.hsc" #-}
c'GLFW_MOD_CONTROL = 2
c'GLFW_MOD_CONTROL :: (Num a) => a

{-# LINE 193 "Bindings/GLFW.hsc" #-}
c'GLFW_MOD_ALT = 4
c'GLFW_MOD_ALT :: (Num a) => a

{-# LINE 194 "Bindings/GLFW.hsc" #-}
c'GLFW_MOD_SUPER = 8
c'GLFW_MOD_SUPER :: (Num a) => a

{-# LINE 195 "Bindings/GLFW.hsc" #-}

c'GLFW_MOUSE_BUTTON_1 = 0
c'GLFW_MOUSE_BUTTON_1 :: (Num a) => a

{-# LINE 197 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_2 = 1
c'GLFW_MOUSE_BUTTON_2 :: (Num a) => a

{-# LINE 198 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_3 = 2
c'GLFW_MOUSE_BUTTON_3 :: (Num a) => a

{-# LINE 199 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_4 = 3
c'GLFW_MOUSE_BUTTON_4 :: (Num a) => a

{-# LINE 200 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_5 = 4
c'GLFW_MOUSE_BUTTON_5 :: (Num a) => a

{-# LINE 201 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_6 = 5
c'GLFW_MOUSE_BUTTON_6 :: (Num a) => a

{-# LINE 202 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_7 = 6
c'GLFW_MOUSE_BUTTON_7 :: (Num a) => a

{-# LINE 203 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_8 = 7
c'GLFW_MOUSE_BUTTON_8 :: (Num a) => a

{-# LINE 204 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_LAST = 7
c'GLFW_MOUSE_BUTTON_LAST :: (Num a) => a

{-# LINE 205 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_LEFT = 0
c'GLFW_MOUSE_BUTTON_LEFT :: (Num a) => a

{-# LINE 206 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_RIGHT = 1
c'GLFW_MOUSE_BUTTON_RIGHT :: (Num a) => a

{-# LINE 207 "Bindings/GLFW.hsc" #-}
c'GLFW_MOUSE_BUTTON_MIDDLE = 2
c'GLFW_MOUSE_BUTTON_MIDDLE :: (Num a) => a

{-# LINE 208 "Bindings/GLFW.hsc" #-}

c'GLFW_JOYSTICK_1 = 0
c'GLFW_JOYSTICK_1 :: (Num a) => a

{-# LINE 210 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_2 = 1
c'GLFW_JOYSTICK_2 :: (Num a) => a

{-# LINE 211 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_3 = 2
c'GLFW_JOYSTICK_3 :: (Num a) => a

{-# LINE 212 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_4 = 3
c'GLFW_JOYSTICK_4 :: (Num a) => a

{-# LINE 213 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_5 = 4
c'GLFW_JOYSTICK_5 :: (Num a) => a

{-# LINE 214 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_6 = 5
c'GLFW_JOYSTICK_6 :: (Num a) => a

{-# LINE 215 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_7 = 6
c'GLFW_JOYSTICK_7 :: (Num a) => a

{-# LINE 216 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_8 = 7
c'GLFW_JOYSTICK_8 :: (Num a) => a

{-# LINE 217 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_9 = 8
c'GLFW_JOYSTICK_9 :: (Num a) => a

{-# LINE 218 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_10 = 9
c'GLFW_JOYSTICK_10 :: (Num a) => a

{-# LINE 219 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_11 = 10
c'GLFW_JOYSTICK_11 :: (Num a) => a

{-# LINE 220 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_12 = 11
c'GLFW_JOYSTICK_12 :: (Num a) => a

{-# LINE 221 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_13 = 12
c'GLFW_JOYSTICK_13 :: (Num a) => a

{-# LINE 222 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_14 = 13
c'GLFW_JOYSTICK_14 :: (Num a) => a

{-# LINE 223 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_15 = 14
c'GLFW_JOYSTICK_15 :: (Num a) => a

{-# LINE 224 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_16 = 15
c'GLFW_JOYSTICK_16 :: (Num a) => a

{-# LINE 225 "Bindings/GLFW.hsc" #-}
c'GLFW_JOYSTICK_LAST = 15
c'GLFW_JOYSTICK_LAST :: (Num a) => a

{-# LINE 226 "Bindings/GLFW.hsc" #-}

c'GLFW_NOT_INITIALIZED = 65537
c'GLFW_NOT_INITIALIZED :: (Num a) => a

{-# LINE 228 "Bindings/GLFW.hsc" #-}
c'GLFW_NO_CURRENT_CONTEXT = 65538
c'GLFW_NO_CURRENT_CONTEXT :: (Num a) => a

{-# LINE 229 "Bindings/GLFW.hsc" #-}
c'GLFW_INVALID_ENUM = 65539
c'GLFW_INVALID_ENUM :: (Num a) => a

{-# LINE 230 "Bindings/GLFW.hsc" #-}
c'GLFW_INVALID_VALUE = 65540
c'GLFW_INVALID_VALUE :: (Num a) => a

{-# LINE 231 "Bindings/GLFW.hsc" #-}
c'GLFW_OUT_OF_MEMORY = 65541
c'GLFW_OUT_OF_MEMORY :: (Num a) => a

{-# LINE 232 "Bindings/GLFW.hsc" #-}
c'GLFW_API_UNAVAILABLE = 65542
c'GLFW_API_UNAVAILABLE :: (Num a) => a

{-# LINE 233 "Bindings/GLFW.hsc" #-}
c'GLFW_VERSION_UNAVAILABLE = 65543
c'GLFW_VERSION_UNAVAILABLE :: (Num a) => a

{-# LINE 234 "Bindings/GLFW.hsc" #-}
c'GLFW_PLATFORM_ERROR = 65544
c'GLFW_PLATFORM_ERROR :: (Num a) => a

{-# LINE 235 "Bindings/GLFW.hsc" #-}
c'GLFW_FORMAT_UNAVAILABLE = 65545
c'GLFW_FORMAT_UNAVAILABLE :: (Num a) => a

{-# LINE 236 "Bindings/GLFW.hsc" #-}

c'GLFW_FOCUSED = 131073
c'GLFW_FOCUSED :: (Num a) => a

{-# LINE 238 "Bindings/GLFW.hsc" #-}
c'GLFW_ICONIFIED = 131074
c'GLFW_ICONIFIED :: (Num a) => a

{-# LINE 239 "Bindings/GLFW.hsc" #-}
c'GLFW_RESIZABLE = 131075
c'GLFW_RESIZABLE :: (Num a) => a

{-# LINE 240 "Bindings/GLFW.hsc" #-}
c'GLFW_VISIBLE = 131076
c'GLFW_VISIBLE :: (Num a) => a

{-# LINE 241 "Bindings/GLFW.hsc" #-}
c'GLFW_DECORATED = 131077
c'GLFW_DECORATED :: (Num a) => a

{-# LINE 242 "Bindings/GLFW.hsc" #-}

c'GLFW_RED_BITS = 135169
c'GLFW_RED_BITS :: (Num a) => a

{-# LINE 244 "Bindings/GLFW.hsc" #-}
c'GLFW_GREEN_BITS = 135170
c'GLFW_GREEN_BITS :: (Num a) => a

{-# LINE 245 "Bindings/GLFW.hsc" #-}
c'GLFW_BLUE_BITS = 135171
c'GLFW_BLUE_BITS :: (Num a) => a

{-# LINE 246 "Bindings/GLFW.hsc" #-}
c'GLFW_ALPHA_BITS = 135172
c'GLFW_ALPHA_BITS :: (Num a) => a

{-# LINE 247 "Bindings/GLFW.hsc" #-}
c'GLFW_DEPTH_BITS = 135173
c'GLFW_DEPTH_BITS :: (Num a) => a

{-# LINE 248 "Bindings/GLFW.hsc" #-}
c'GLFW_STENCIL_BITS = 135174
c'GLFW_STENCIL_BITS :: (Num a) => a

{-# LINE 249 "Bindings/GLFW.hsc" #-}
c'GLFW_ACCUM_RED_BITS = 135175
c'GLFW_ACCUM_RED_BITS :: (Num a) => a

{-# LINE 250 "Bindings/GLFW.hsc" #-}
c'GLFW_ACCUM_GREEN_BITS = 135176
c'GLFW_ACCUM_GREEN_BITS :: (Num a) => a

{-# LINE 251 "Bindings/GLFW.hsc" #-}
c'GLFW_ACCUM_BLUE_BITS = 135177
c'GLFW_ACCUM_BLUE_BITS :: (Num a) => a

{-# LINE 252 "Bindings/GLFW.hsc" #-}
c'GLFW_ACCUM_ALPHA_BITS = 135178
c'GLFW_ACCUM_ALPHA_BITS :: (Num a) => a

{-# LINE 253 "Bindings/GLFW.hsc" #-}
c'GLFW_AUX_BUFFERS = 135179
c'GLFW_AUX_BUFFERS :: (Num a) => a

{-# LINE 254 "Bindings/GLFW.hsc" #-}
c'GLFW_STEREO = 135180
c'GLFW_STEREO :: (Num a) => a

{-# LINE 255 "Bindings/GLFW.hsc" #-}
c'GLFW_SAMPLES = 135181
c'GLFW_SAMPLES :: (Num a) => a

{-# LINE 256 "Bindings/GLFW.hsc" #-}
c'GLFW_SRGB_CAPABLE = 135182
c'GLFW_SRGB_CAPABLE :: (Num a) => a

{-# LINE 257 "Bindings/GLFW.hsc" #-}
c'GLFW_REFRESH_RATE = 135183
c'GLFW_REFRESH_RATE :: (Num a) => a

{-# LINE 258 "Bindings/GLFW.hsc" #-}

c'GLFW_CLIENT_API = 139265
c'GLFW_CLIENT_API :: (Num a) => a

{-# LINE 260 "Bindings/GLFW.hsc" #-}
c'GLFW_CONTEXT_VERSION_MAJOR = 139266
c'GLFW_CONTEXT_VERSION_MAJOR :: (Num a) => a

{-# LINE 261 "Bindings/GLFW.hsc" #-}
c'GLFW_CONTEXT_VERSION_MINOR = 139267
c'GLFW_CONTEXT_VERSION_MINOR :: (Num a) => a

{-# LINE 262 "Bindings/GLFW.hsc" #-}
c'GLFW_CONTEXT_REVISION = 139268
c'GLFW_CONTEXT_REVISION :: (Num a) => a

{-# LINE 263 "Bindings/GLFW.hsc" #-}
c'GLFW_CONTEXT_ROBUSTNESS = 139269
c'GLFW_CONTEXT_ROBUSTNESS :: (Num a) => a

{-# LINE 264 "Bindings/GLFW.hsc" #-}
c'GLFW_OPENGL_FORWARD_COMPAT = 139270
c'GLFW_OPENGL_FORWARD_COMPAT :: (Num a) => a

{-# LINE 265 "Bindings/GLFW.hsc" #-}
c'GLFW_OPENGL_DEBUG_CONTEXT = 139271
c'GLFW_OPENGL_DEBUG_CONTEXT :: (Num a) => a

{-# LINE 266 "Bindings/GLFW.hsc" #-}
c'GLFW_OPENGL_PROFILE = 139272
c'GLFW_OPENGL_PROFILE :: (Num a) => a

{-# LINE 267 "Bindings/GLFW.hsc" #-}

c'GLFW_OPENGL_API = 196609
c'GLFW_OPENGL_API :: (Num a) => a

{-# LINE 269 "Bindings/GLFW.hsc" #-}
c'GLFW_OPENGL_ES_API = 196610
c'GLFW_OPENGL_ES_API :: (Num a) => a

{-# LINE 270 "Bindings/GLFW.hsc" #-}

c'GLFW_NO_ROBUSTNESS = 0
c'GLFW_NO_ROBUSTNESS :: (Num a) => a

{-# LINE 272 "Bindings/GLFW.hsc" #-}
c'GLFW_NO_RESET_NOTIFICATION = 200705
c'GLFW_NO_RESET_NOTIFICATION :: (Num a) => a

{-# LINE 273 "Bindings/GLFW.hsc" #-}
c'GLFW_LOSE_CONTEXT_ON_RESET = 200706
c'GLFW_LOSE_CONTEXT_ON_RESET :: (Num a) => a

{-# LINE 274 "Bindings/GLFW.hsc" #-}

c'GLFW_OPENGL_ANY_PROFILE = 0
c'GLFW_OPENGL_ANY_PROFILE :: (Num a) => a

{-# LINE 276 "Bindings/GLFW.hsc" #-}
c'GLFW_OPENGL_CORE_PROFILE = 204801
c'GLFW_OPENGL_CORE_PROFILE :: (Num a) => a

{-# LINE 277 "Bindings/GLFW.hsc" #-}
c'GLFW_OPENGL_COMPAT_PROFILE = 204802
c'GLFW_OPENGL_COMPAT_PROFILE :: (Num a) => a

{-# LINE 278 "Bindings/GLFW.hsc" #-}

c'GLFW_CURSOR = 208897
c'GLFW_CURSOR :: (Num a) => a

{-# LINE 280 "Bindings/GLFW.hsc" #-}
c'GLFW_STICKY_KEYS = 208898
c'GLFW_STICKY_KEYS :: (Num a) => a

{-# LINE 281 "Bindings/GLFW.hsc" #-}
c'GLFW_STICKY_MOUSE_BUTTONS = 208899
c'GLFW_STICKY_MOUSE_BUTTONS :: (Num a) => a

{-# LINE 282 "Bindings/GLFW.hsc" #-}

c'GLFW_CURSOR_NORMAL = 212993
c'GLFW_CURSOR_NORMAL :: (Num a) => a

{-# LINE 284 "Bindings/GLFW.hsc" #-}
c'GLFW_CURSOR_HIDDEN = 212994
c'GLFW_CURSOR_HIDDEN :: (Num a) => a

{-# LINE 285 "Bindings/GLFW.hsc" #-}
c'GLFW_CURSOR_DISABLED = 212995
c'GLFW_CURSOR_DISABLED :: (Num a) => a

{-# LINE 286 "Bindings/GLFW.hsc" #-}

c'GLFW_CONNECTED = 262145
c'GLFW_CONNECTED :: (Num a) => a

{-# LINE 288 "Bindings/GLFW.hsc" #-}
c'GLFW_DISCONNECTED = 262146
c'GLFW_DISCONNECTED :: (Num a) => a

{-# LINE 289 "Bindings/GLFW.hsc" #-}

type C'GLFWglproc = FunPtr (IO ())
foreign import ccall "wrapper" mk'GLFWglproc
  :: (IO ()) -> IO C'GLFWglproc
foreign import ccall "dynamic" mK'GLFWglproc
  :: C'GLFWglproc -> (IO ())

{-# LINE 291 "Bindings/GLFW.hsc" #-}

data C'GLFWmonitor = C'GLFWmonitor

{-# LINE 293 "Bindings/GLFW.hsc" #-}
deriving instance Typeable C'GLFWmonitor
deriving instance Data     C'GLFWmonitor

data C'GLFWwindow = C'GLFWwindow

{-# LINE 297 "Bindings/GLFW.hsc" #-}
deriving instance Typeable C'GLFWwindow
deriving instance Data     C'GLFWwindow

type C'GLFWerrorfun = FunPtr (CInt -> Ptr CChar -> IO ())
foreign import ccall "wrapper" mk'GLFWerrorfun
  :: (CInt -> Ptr CChar -> IO ()) -> IO C'GLFWerrorfun
foreign import ccall "dynamic" mK'GLFWerrorfun
  :: C'GLFWerrorfun -> (CInt -> Ptr CChar -> IO ())

{-# LINE 301 "Bindings/GLFW.hsc" #-}
type C'GLFWwindowposfun = FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWwindowposfun
  :: (Ptr C'GLFWwindow -> CInt -> CInt -> IO ()) -> IO C'GLFWwindowposfun
foreign import ccall "dynamic" mK'GLFWwindowposfun
  :: C'GLFWwindowposfun -> (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())

{-# LINE 302 "Bindings/GLFW.hsc" #-}
type C'GLFWwindowsizefun = FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWwindowsizefun
  :: (Ptr C'GLFWwindow -> CInt -> CInt -> IO ()) -> IO C'GLFWwindowsizefun
foreign import ccall "dynamic" mK'GLFWwindowsizefun
  :: C'GLFWwindowsizefun -> (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())

{-# LINE 303 "Bindings/GLFW.hsc" #-}
type C'GLFWwindowclosefun = FunPtr (Ptr C'GLFWwindow -> IO ())
foreign import ccall "wrapper" mk'GLFWwindowclosefun
  :: (Ptr C'GLFWwindow -> IO ()) -> IO C'GLFWwindowclosefun
foreign import ccall "dynamic" mK'GLFWwindowclosefun
  :: C'GLFWwindowclosefun -> (Ptr C'GLFWwindow -> IO ())

{-# LINE 304 "Bindings/GLFW.hsc" #-}
type C'GLFWwindowrefreshfun = FunPtr (Ptr C'GLFWwindow -> IO ())
foreign import ccall "wrapper" mk'GLFWwindowrefreshfun
  :: (Ptr C'GLFWwindow -> IO ()) -> IO C'GLFWwindowrefreshfun
foreign import ccall "dynamic" mK'GLFWwindowrefreshfun
  :: C'GLFWwindowrefreshfun -> (Ptr C'GLFWwindow -> IO ())

{-# LINE 305 "Bindings/GLFW.hsc" #-}
type C'GLFWwindowfocusfun = FunPtr (Ptr C'GLFWwindow -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWwindowfocusfun
  :: (Ptr C'GLFWwindow -> CInt -> IO ()) -> IO C'GLFWwindowfocusfun
foreign import ccall "dynamic" mK'GLFWwindowfocusfun
  :: C'GLFWwindowfocusfun -> (Ptr C'GLFWwindow -> CInt -> IO ())

{-# LINE 306 "Bindings/GLFW.hsc" #-}
type C'GLFWwindowiconifyfun = FunPtr (Ptr C'GLFWwindow -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWwindowiconifyfun
  :: (Ptr C'GLFWwindow -> CInt -> IO ()) -> IO C'GLFWwindowiconifyfun
foreign import ccall "dynamic" mK'GLFWwindowiconifyfun
  :: C'GLFWwindowiconifyfun -> (Ptr C'GLFWwindow -> CInt -> IO ())

{-# LINE 307 "Bindings/GLFW.hsc" #-}
type C'GLFWframebuffersizefun = FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWframebuffersizefun
  :: (Ptr C'GLFWwindow -> CInt -> CInt -> IO ()) -> IO C'GLFWframebuffersizefun
foreign import ccall "dynamic" mK'GLFWframebuffersizefun
  :: C'GLFWframebuffersizefun -> (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())

{-# LINE 308 "Bindings/GLFW.hsc" #-}
type C'GLFWmousebuttonfun = FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWmousebuttonfun
  :: (Ptr C'GLFWwindow -> CInt -> CInt -> CInt -> IO ()) -> IO C'GLFWmousebuttonfun
foreign import ccall "dynamic" mK'GLFWmousebuttonfun
  :: C'GLFWmousebuttonfun -> (Ptr C'GLFWwindow -> CInt -> CInt -> CInt -> IO ())

{-# LINE 309 "Bindings/GLFW.hsc" #-}
type C'GLFWcursorposfun = FunPtr (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ())
foreign import ccall "wrapper" mk'GLFWcursorposfun
  :: (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ()) -> IO C'GLFWcursorposfun
foreign import ccall "dynamic" mK'GLFWcursorposfun
  :: C'GLFWcursorposfun -> (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ())

{-# LINE 310 "Bindings/GLFW.hsc" #-}
type C'GLFWcursorenterfun = FunPtr (Ptr C'GLFWwindow -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWcursorenterfun
  :: (Ptr C'GLFWwindow -> CInt -> IO ()) -> IO C'GLFWcursorenterfun
foreign import ccall "dynamic" mK'GLFWcursorenterfun
  :: C'GLFWcursorenterfun -> (Ptr C'GLFWwindow -> CInt -> IO ())

{-# LINE 311 "Bindings/GLFW.hsc" #-}
type C'GLFWscrollfun = FunPtr (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ())
foreign import ccall "wrapper" mk'GLFWscrollfun
  :: (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ()) -> IO C'GLFWscrollfun
foreign import ccall "dynamic" mK'GLFWscrollfun
  :: C'GLFWscrollfun -> (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ())

{-# LINE 312 "Bindings/GLFW.hsc" #-}
type C'GLFWkeyfun = FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> CInt -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWkeyfun
  :: (Ptr C'GLFWwindow -> CInt -> CInt -> CInt -> CInt -> IO ()) -> IO C'GLFWkeyfun
foreign import ccall "dynamic" mK'GLFWkeyfun
  :: C'GLFWkeyfun -> (Ptr C'GLFWwindow -> CInt -> CInt -> CInt -> CInt -> IO ())

{-# LINE 313 "Bindings/GLFW.hsc" #-}
type C'GLFWcharfun = FunPtr (Ptr C'GLFWwindow -> CUInt -> IO ())
foreign import ccall "wrapper" mk'GLFWcharfun
  :: (Ptr C'GLFWwindow -> CUInt -> IO ()) -> IO C'GLFWcharfun
foreign import ccall "dynamic" mK'GLFWcharfun
  :: C'GLFWcharfun -> (Ptr C'GLFWwindow -> CUInt -> IO ())

{-# LINE 314 "Bindings/GLFW.hsc" #-}
type C'GLFWmonitorfun = FunPtr (Ptr C'GLFWmonitor -> CInt -> IO ())
foreign import ccall "wrapper" mk'GLFWmonitorfun
  :: (Ptr C'GLFWmonitor -> CInt -> IO ()) -> IO C'GLFWmonitorfun
foreign import ccall "dynamic" mK'GLFWmonitorfun
  :: C'GLFWmonitorfun -> (Ptr C'GLFWmonitor -> CInt -> IO ())

{-# LINE 315 "Bindings/GLFW.hsc" #-}


{-# LINE 317 "Bindings/GLFW.hsc" #-}

{-# LINE 318 "Bindings/GLFW.hsc" #-}

{-# LINE 319 "Bindings/GLFW.hsc" #-}

{-# LINE 320 "Bindings/GLFW.hsc" #-}

{-# LINE 321 "Bindings/GLFW.hsc" #-}

{-# LINE 322 "Bindings/GLFW.hsc" #-}

{-# LINE 323 "Bindings/GLFW.hsc" #-}
data C'GLFWvidmode = C'GLFWvidmode{
  c'GLFWvidmode'width :: CInt,
  c'GLFWvidmode'height :: CInt,
  c'GLFWvidmode'redBits :: CInt,
  c'GLFWvidmode'greenBits :: CInt,
  c'GLFWvidmode'blueBits :: CInt,
  c'GLFWvidmode'refreshRate :: CInt
} deriving (Eq,Show)
p'GLFWvidmode'width p = plusPtr p 0
p'GLFWvidmode'width :: Ptr (C'GLFWvidmode) -> Ptr (CInt)
p'GLFWvidmode'height p = plusPtr p 4
p'GLFWvidmode'height :: Ptr (C'GLFWvidmode) -> Ptr (CInt)
p'GLFWvidmode'redBits p = plusPtr p 8
p'GLFWvidmode'redBits :: Ptr (C'GLFWvidmode) -> Ptr (CInt)
p'GLFWvidmode'greenBits p = plusPtr p 12
p'GLFWvidmode'greenBits :: Ptr (C'GLFWvidmode) -> Ptr (CInt)
p'GLFWvidmode'blueBits p = plusPtr p 16
p'GLFWvidmode'blueBits :: Ptr (C'GLFWvidmode) -> Ptr (CInt)
p'GLFWvidmode'refreshRate p = plusPtr p 20
p'GLFWvidmode'refreshRate :: Ptr (C'GLFWvidmode) -> Ptr (CInt)
instance Storable C'GLFWvidmode where
  sizeOf _ = 24
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    return $ C'GLFWvidmode v0 v1 v2 v3 v4 v5
  poke p (C'GLFWvidmode v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    return ()

{-# LINE 324 "Bindings/GLFW.hsc" #-}


{-# LINE 326 "Bindings/GLFW.hsc" #-}

{-# LINE 327 "Bindings/GLFW.hsc" #-}

{-# LINE 328 "Bindings/GLFW.hsc" #-}

{-# LINE 329 "Bindings/GLFW.hsc" #-}

{-# LINE 330 "Bindings/GLFW.hsc" #-}
data C'GLFWgammaramp = C'GLFWgammaramp{
  c'GLFWgammaramp'red :: Ptr CUShort,
  c'GLFWgammaramp'green :: Ptr CUShort,
  c'GLFWgammaramp'blue :: Ptr CUShort,
  c'GLFWgammaramp'size :: CUInt
} deriving (Eq,Show)
p'GLFWgammaramp'red p = plusPtr p 0
p'GLFWgammaramp'red :: Ptr (C'GLFWgammaramp) -> Ptr (Ptr CUShort)
p'GLFWgammaramp'green p = plusPtr p 8
p'GLFWgammaramp'green :: Ptr (C'GLFWgammaramp) -> Ptr (Ptr CUShort)
p'GLFWgammaramp'blue p = plusPtr p 16
p'GLFWgammaramp'blue :: Ptr (C'GLFWgammaramp) -> Ptr (Ptr CUShort)
p'GLFWgammaramp'size p = plusPtr p 24
p'GLFWgammaramp'size :: Ptr (C'GLFWgammaramp) -> Ptr (CUInt)
instance Storable C'GLFWgammaramp where
  sizeOf _ = 32
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 24
    return $ C'GLFWgammaramp v0 v1 v2 v3
  poke p (C'GLFWgammaramp v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    pokeByteOff p 24 v3
    return ()

{-# LINE 331 "Bindings/GLFW.hsc" #-}

foreign import ccall "glfwInit" c'glfwInit
  :: IO CInt
foreign import ccall "&glfwInit" p'glfwInit
  :: FunPtr (IO CInt)

{-# LINE 333 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwTerminate" c'glfwTerminate
  :: IO ()
foreign import ccall "&glfwTerminate" p'glfwTerminate
  :: FunPtr (IO ())

{-# LINE 334 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetVersion" c'glfwGetVersion
  :: Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&glfwGetVersion" p'glfwGetVersion
  :: FunPtr (Ptr CInt -> Ptr CInt -> Ptr CInt -> IO ())

{-# LINE 335 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetVersionString" c'glfwGetVersionString
  :: IO (Ptr CChar)
foreign import ccall "&glfwGetVersionString" p'glfwGetVersionString
  :: FunPtr (IO (Ptr CChar))

{-# LINE 336 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetErrorCallback" c'glfwSetErrorCallback
  :: C'GLFWerrorfun -> IO C'GLFWerrorfun
foreign import ccall "&glfwSetErrorCallback" p'glfwSetErrorCallback
  :: FunPtr (C'GLFWerrorfun -> IO C'GLFWerrorfun)

{-# LINE 337 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetMonitors" c'glfwGetMonitors
  :: Ptr CInt -> IO (Ptr (Ptr C'GLFWmonitor))
foreign import ccall "&glfwGetMonitors" p'glfwGetMonitors
  :: FunPtr (Ptr CInt -> IO (Ptr (Ptr C'GLFWmonitor)))

{-# LINE 338 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetPrimaryMonitor" c'glfwGetPrimaryMonitor
  :: IO (Ptr C'GLFWmonitor)
foreign import ccall "&glfwGetPrimaryMonitor" p'glfwGetPrimaryMonitor
  :: FunPtr (IO (Ptr C'GLFWmonitor))

{-# LINE 339 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetMonitorPos" c'glfwGetMonitorPos
  :: Ptr C'GLFWmonitor -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&glfwGetMonitorPos" p'glfwGetMonitorPos
  :: FunPtr (Ptr C'GLFWmonitor -> Ptr CInt -> Ptr CInt -> IO ())

{-# LINE 340 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetMonitorPhysicalSize" c'glfwGetMonitorPhysicalSize
  :: Ptr C'GLFWmonitor -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&glfwGetMonitorPhysicalSize" p'glfwGetMonitorPhysicalSize
  :: FunPtr (Ptr C'GLFWmonitor -> Ptr CInt -> Ptr CInt -> IO ())

{-# LINE 341 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetMonitorName" c'glfwGetMonitorName
  :: Ptr C'GLFWmonitor -> IO (Ptr CChar)
foreign import ccall "&glfwGetMonitorName" p'glfwGetMonitorName
  :: FunPtr (Ptr C'GLFWmonitor -> IO (Ptr CChar))

{-# LINE 342 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetMonitorCallback" c'glfwSetMonitorCallback
  :: C'GLFWmonitorfun -> IO C'GLFWmonitorfun
foreign import ccall "&glfwSetMonitorCallback" p'glfwSetMonitorCallback
  :: FunPtr (C'GLFWmonitorfun -> IO C'GLFWmonitorfun)

{-# LINE 343 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetVideoModes" c'glfwGetVideoModes
  :: Ptr C'GLFWmonitor -> Ptr CInt -> IO (Ptr C'GLFWvidmode)
foreign import ccall "&glfwGetVideoModes" p'glfwGetVideoModes
  :: FunPtr (Ptr C'GLFWmonitor -> Ptr CInt -> IO (Ptr C'GLFWvidmode))

{-# LINE 344 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetVideoMode" c'glfwGetVideoMode
  :: Ptr C'GLFWmonitor -> IO (Ptr C'GLFWvidmode)
foreign import ccall "&glfwGetVideoMode" p'glfwGetVideoMode
  :: FunPtr (Ptr C'GLFWmonitor -> IO (Ptr C'GLFWvidmode))

{-# LINE 345 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetGamma" c'glfwSetGamma
  :: Ptr C'GLFWmonitor -> CFloat -> IO ()
foreign import ccall "&glfwSetGamma" p'glfwSetGamma
  :: FunPtr (Ptr C'GLFWmonitor -> CFloat -> IO ())

{-# LINE 346 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetGammaRamp" c'glfwGetGammaRamp
  :: Ptr C'GLFWmonitor -> IO (Ptr C'GLFWgammaramp)
foreign import ccall "&glfwGetGammaRamp" p'glfwGetGammaRamp
  :: FunPtr (Ptr C'GLFWmonitor -> IO (Ptr C'GLFWgammaramp))

{-# LINE 347 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetGammaRamp" c'glfwSetGammaRamp
  :: Ptr C'GLFWmonitor -> Ptr C'GLFWgammaramp -> IO ()
foreign import ccall "&glfwSetGammaRamp" p'glfwSetGammaRamp
  :: FunPtr (Ptr C'GLFWmonitor -> Ptr C'GLFWgammaramp -> IO ())

{-# LINE 348 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwDefaultWindowHints" c'glfwDefaultWindowHints
  :: IO ()
foreign import ccall "&glfwDefaultWindowHints" p'glfwDefaultWindowHints
  :: FunPtr (IO ())

{-# LINE 349 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwWindowHint" c'glfwWindowHint
  :: CInt -> CInt -> IO ()
foreign import ccall "&glfwWindowHint" p'glfwWindowHint
  :: FunPtr (CInt -> CInt -> IO ())

{-# LINE 350 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwCreateWindow" c'glfwCreateWindow
  :: CInt -> CInt -> Ptr CChar -> Ptr C'GLFWmonitor -> Ptr C'GLFWwindow -> IO (Ptr C'GLFWwindow)
foreign import ccall "&glfwCreateWindow" p'glfwCreateWindow
  :: FunPtr (CInt -> CInt -> Ptr CChar -> Ptr C'GLFWmonitor -> Ptr C'GLFWwindow -> IO (Ptr C'GLFWwindow))

{-# LINE 351 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwDestroyWindow" c'glfwDestroyWindow
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwDestroyWindow" p'glfwDestroyWindow
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 352 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwWindowShouldClose" c'glfwWindowShouldClose
  :: Ptr C'GLFWwindow -> IO CInt
foreign import ccall "&glfwWindowShouldClose" p'glfwWindowShouldClose
  :: FunPtr (Ptr C'GLFWwindow -> IO CInt)

{-# LINE 353 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowShouldClose" c'glfwSetWindowShouldClose
  :: Ptr C'GLFWwindow -> CInt -> IO ()
foreign import ccall "&glfwSetWindowShouldClose" p'glfwSetWindowShouldClose
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> IO ())

{-# LINE 354 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowTitle" c'glfwSetWindowTitle
  :: Ptr C'GLFWwindow -> Ptr CChar -> IO ()
foreign import ccall "&glfwSetWindowTitle" p'glfwSetWindowTitle
  :: FunPtr (Ptr C'GLFWwindow -> Ptr CChar -> IO ())

{-# LINE 355 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetWindowPos" c'glfwGetWindowPos
  :: Ptr C'GLFWwindow -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&glfwGetWindowPos" p'glfwGetWindowPos
  :: FunPtr (Ptr C'GLFWwindow -> Ptr CInt -> Ptr CInt -> IO ())

{-# LINE 356 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowPos" c'glfwSetWindowPos
  :: Ptr C'GLFWwindow -> CInt -> CInt -> IO ()
foreign import ccall "&glfwSetWindowPos" p'glfwSetWindowPos
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())

{-# LINE 357 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetWindowSize" c'glfwGetWindowSize
  :: Ptr C'GLFWwindow -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&glfwGetWindowSize" p'glfwGetWindowSize
  :: FunPtr (Ptr C'GLFWwindow -> Ptr CInt -> Ptr CInt -> IO ())

{-# LINE 358 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowSize" c'glfwSetWindowSize
  :: Ptr C'GLFWwindow -> CInt -> CInt -> IO ()
foreign import ccall "&glfwSetWindowSize" p'glfwSetWindowSize
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())

{-# LINE 359 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetFramebufferSize" c'glfwGetFramebufferSize
  :: Ptr C'GLFWwindow -> Ptr CInt -> Ptr CInt -> IO ()
foreign import ccall "&glfwGetFramebufferSize" p'glfwGetFramebufferSize
  :: FunPtr (Ptr C'GLFWwindow -> Ptr CInt -> Ptr CInt -> IO ())

{-# LINE 360 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwIconifyWindow" c'glfwIconifyWindow
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwIconifyWindow" p'glfwIconifyWindow
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 361 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwRestoreWindow" c'glfwRestoreWindow
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwRestoreWindow" p'glfwRestoreWindow
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 362 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwShowWindow" c'glfwShowWindow
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwShowWindow" p'glfwShowWindow
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 363 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwHideWindow" c'glfwHideWindow
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwHideWindow" p'glfwHideWindow
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 364 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetWindowMonitor" c'glfwGetWindowMonitor
  :: Ptr C'GLFWwindow -> IO (Ptr C'GLFWmonitor)
foreign import ccall "&glfwGetWindowMonitor" p'glfwGetWindowMonitor
  :: FunPtr (Ptr C'GLFWwindow -> IO (Ptr C'GLFWmonitor))

{-# LINE 365 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetWindowAttrib" c'glfwGetWindowAttrib
  :: Ptr C'GLFWwindow -> CInt -> IO CInt
foreign import ccall "&glfwGetWindowAttrib" p'glfwGetWindowAttrib
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> IO CInt)

{-# LINE 366 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowUserPointer" c'glfwSetWindowUserPointer
  :: Ptr C'GLFWwindow -> Ptr () -> IO ()
foreign import ccall "&glfwSetWindowUserPointer" p'glfwSetWindowUserPointer
  :: FunPtr (Ptr C'GLFWwindow -> Ptr () -> IO ())

{-# LINE 367 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetWindowUserPointer" c'glfwGetWindowUserPointer
  :: Ptr C'GLFWwindow -> IO (Ptr ())
foreign import ccall "&glfwGetWindowUserPointer" p'glfwGetWindowUserPointer
  :: FunPtr (Ptr C'GLFWwindow -> IO (Ptr ()))

{-# LINE 368 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowPosCallback" c'glfwSetWindowPosCallback
  :: Ptr C'GLFWwindow -> C'GLFWwindowposfun -> IO C'GLFWwindowposfun
foreign import ccall "&glfwSetWindowPosCallback" p'glfwSetWindowPosCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWwindowposfun -> IO C'GLFWwindowposfun)

{-# LINE 369 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowSizeCallback" c'glfwSetWindowSizeCallback
  :: Ptr C'GLFWwindow -> C'GLFWwindowsizefun -> IO C'GLFWwindowsizefun
foreign import ccall "&glfwSetWindowSizeCallback" p'glfwSetWindowSizeCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWwindowsizefun -> IO C'GLFWwindowsizefun)

{-# LINE 370 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowCloseCallback" c'glfwSetWindowCloseCallback
  :: Ptr C'GLFWwindow -> C'GLFWwindowclosefun -> IO C'GLFWwindowclosefun
foreign import ccall "&glfwSetWindowCloseCallback" p'glfwSetWindowCloseCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWwindowclosefun -> IO C'GLFWwindowclosefun)

{-# LINE 371 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowRefreshCallback" c'glfwSetWindowRefreshCallback
  :: Ptr C'GLFWwindow -> C'GLFWwindowrefreshfun -> IO C'GLFWwindowrefreshfun
foreign import ccall "&glfwSetWindowRefreshCallback" p'glfwSetWindowRefreshCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWwindowrefreshfun -> IO C'GLFWwindowrefreshfun)

{-# LINE 372 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowFocusCallback" c'glfwSetWindowFocusCallback
  :: Ptr C'GLFWwindow -> C'GLFWwindowfocusfun -> IO C'GLFWwindowfocusfun
foreign import ccall "&glfwSetWindowFocusCallback" p'glfwSetWindowFocusCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWwindowfocusfun -> IO C'GLFWwindowfocusfun)

{-# LINE 373 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetWindowIconifyCallback" c'glfwSetWindowIconifyCallback
  :: Ptr C'GLFWwindow -> C'GLFWwindowiconifyfun -> IO C'GLFWwindowiconifyfun
foreign import ccall "&glfwSetWindowIconifyCallback" p'glfwSetWindowIconifyCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWwindowiconifyfun -> IO C'GLFWwindowiconifyfun)

{-# LINE 374 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetFramebufferSizeCallback" c'glfwSetFramebufferSizeCallback
  :: Ptr C'GLFWwindow -> C'GLFWframebuffersizefun -> IO C'GLFWframebuffersizefun
foreign import ccall "&glfwSetFramebufferSizeCallback" p'glfwSetFramebufferSizeCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWframebuffersizefun -> IO C'GLFWframebuffersizefun)

{-# LINE 375 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwPollEvents" c'glfwPollEvents
  :: IO ()
foreign import ccall "&glfwPollEvents" p'glfwPollEvents
  :: FunPtr (IO ())

{-# LINE 376 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwWaitEvents" c'glfwWaitEvents
  :: IO ()
foreign import ccall "&glfwWaitEvents" p'glfwWaitEvents
  :: FunPtr (IO ())

{-# LINE 377 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwPostEmptyEvent" c'glfwPostEmptyEvent
  :: IO ()
foreign import ccall "&glfwPostEmptyEvent" p'glfwPostEmptyEvent
  :: FunPtr (IO ())

{-# LINE 378 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetInputMode" c'glfwGetInputMode
  :: Ptr C'GLFWwindow -> CInt -> IO CInt
foreign import ccall "&glfwGetInputMode" p'glfwGetInputMode
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> IO CInt)

{-# LINE 379 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetInputMode" c'glfwSetInputMode
  :: Ptr C'GLFWwindow -> CInt -> CInt -> IO ()
foreign import ccall "&glfwSetInputMode" p'glfwSetInputMode
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> CInt -> IO ())

{-# LINE 380 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetKey" c'glfwGetKey
  :: Ptr C'GLFWwindow -> CInt -> IO CInt
foreign import ccall "&glfwGetKey" p'glfwGetKey
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> IO CInt)

{-# LINE 381 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetMouseButton" c'glfwGetMouseButton
  :: Ptr C'GLFWwindow -> CInt -> IO CInt
foreign import ccall "&glfwGetMouseButton" p'glfwGetMouseButton
  :: FunPtr (Ptr C'GLFWwindow -> CInt -> IO CInt)

{-# LINE 382 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetCursorPos" c'glfwGetCursorPos
  :: Ptr C'GLFWwindow -> Ptr CDouble -> Ptr CDouble -> IO ()
foreign import ccall "&glfwGetCursorPos" p'glfwGetCursorPos
  :: FunPtr (Ptr C'GLFWwindow -> Ptr CDouble -> Ptr CDouble -> IO ())

{-# LINE 383 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetCursorPos" c'glfwSetCursorPos
  :: Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ()
foreign import ccall "&glfwSetCursorPos" p'glfwSetCursorPos
  :: FunPtr (Ptr C'GLFWwindow -> CDouble -> CDouble -> IO ())

{-# LINE 384 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetKeyCallback" c'glfwSetKeyCallback
  :: Ptr C'GLFWwindow -> C'GLFWkeyfun -> IO C'GLFWkeyfun
foreign import ccall "&glfwSetKeyCallback" p'glfwSetKeyCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWkeyfun -> IO C'GLFWkeyfun)

{-# LINE 385 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetCharCallback" c'glfwSetCharCallback
  :: Ptr C'GLFWwindow -> C'GLFWcharfun -> IO C'GLFWcharfun
foreign import ccall "&glfwSetCharCallback" p'glfwSetCharCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWcharfun -> IO C'GLFWcharfun)

{-# LINE 386 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetMouseButtonCallback" c'glfwSetMouseButtonCallback
  :: Ptr C'GLFWwindow -> C'GLFWmousebuttonfun -> IO C'GLFWmousebuttonfun
foreign import ccall "&glfwSetMouseButtonCallback" p'glfwSetMouseButtonCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWmousebuttonfun -> IO C'GLFWmousebuttonfun)

{-# LINE 387 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetCursorPosCallback" c'glfwSetCursorPosCallback
  :: Ptr C'GLFWwindow -> C'GLFWcursorposfun -> IO C'GLFWcursorposfun
foreign import ccall "&glfwSetCursorPosCallback" p'glfwSetCursorPosCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWcursorposfun -> IO C'GLFWcursorposfun)

{-# LINE 388 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetCursorEnterCallback" c'glfwSetCursorEnterCallback
  :: Ptr C'GLFWwindow -> C'GLFWcursorenterfun -> IO C'GLFWcursorenterfun
foreign import ccall "&glfwSetCursorEnterCallback" p'glfwSetCursorEnterCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWcursorenterfun -> IO C'GLFWcursorenterfun)

{-# LINE 389 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetScrollCallback" c'glfwSetScrollCallback
  :: Ptr C'GLFWwindow -> C'GLFWscrollfun -> IO C'GLFWscrollfun
foreign import ccall "&glfwSetScrollCallback" p'glfwSetScrollCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWscrollfun -> IO C'GLFWscrollfun)

{-# LINE 390 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwJoystickPresent" c'glfwJoystickPresent
  :: CInt -> IO CInt
foreign import ccall "&glfwJoystickPresent" p'glfwJoystickPresent
  :: FunPtr (CInt -> IO CInt)

{-# LINE 391 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetJoystickAxes" c'glfwGetJoystickAxes
  :: CInt -> Ptr CInt -> IO (Ptr CFloat)
foreign import ccall "&glfwGetJoystickAxes" p'glfwGetJoystickAxes
  :: FunPtr (CInt -> Ptr CInt -> IO (Ptr CFloat))

{-# LINE 392 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetJoystickButtons" c'glfwGetJoystickButtons
  :: CInt -> Ptr CInt -> IO (Ptr CUChar)
foreign import ccall "&glfwGetJoystickButtons" p'glfwGetJoystickButtons
  :: FunPtr (CInt -> Ptr CInt -> IO (Ptr CUChar))

{-# LINE 393 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetJoystickName" c'glfwGetJoystickName
  :: CInt -> IO (Ptr CChar)
foreign import ccall "&glfwGetJoystickName" p'glfwGetJoystickName
  :: FunPtr (CInt -> IO (Ptr CChar))

{-# LINE 394 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetClipboardString" c'glfwSetClipboardString
  :: Ptr C'GLFWwindow -> Ptr CChar -> IO ()
foreign import ccall "&glfwSetClipboardString" p'glfwSetClipboardString
  :: FunPtr (Ptr C'GLFWwindow -> Ptr CChar -> IO ())

{-# LINE 395 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetClipboardString" c'glfwGetClipboardString
  :: Ptr C'GLFWwindow -> IO (Ptr CChar)
foreign import ccall "&glfwGetClipboardString" p'glfwGetClipboardString
  :: FunPtr (Ptr C'GLFWwindow -> IO (Ptr CChar))

{-# LINE 396 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetTime" c'glfwGetTime
  :: IO CDouble
foreign import ccall "&glfwGetTime" p'glfwGetTime
  :: FunPtr (IO CDouble)

{-# LINE 397 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetTime" c'glfwSetTime
  :: CDouble -> IO ()
foreign import ccall "&glfwSetTime" p'glfwSetTime
  :: FunPtr (CDouble -> IO ())

{-# LINE 398 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwMakeContextCurrent" c'glfwMakeContextCurrent
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwMakeContextCurrent" p'glfwMakeContextCurrent
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 399 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetCurrentContext" c'glfwGetCurrentContext
  :: IO (Ptr C'GLFWwindow)
foreign import ccall "&glfwGetCurrentContext" p'glfwGetCurrentContext
  :: FunPtr (IO (Ptr C'GLFWwindow))

{-# LINE 400 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSwapBuffers" c'glfwSwapBuffers
  :: Ptr C'GLFWwindow -> IO ()
foreign import ccall "&glfwSwapBuffers" p'glfwSwapBuffers
  :: FunPtr (Ptr C'GLFWwindow -> IO ())

{-# LINE 401 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSwapInterval" c'glfwSwapInterval
  :: CInt -> IO ()
foreign import ccall "&glfwSwapInterval" p'glfwSwapInterval
  :: FunPtr (CInt -> IO ())

{-# LINE 402 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwExtensionSupported" c'glfwExtensionSupported
  :: Ptr CChar -> IO CInt
foreign import ccall "&glfwExtensionSupported" p'glfwExtensionSupported
  :: FunPtr (Ptr CChar -> IO CInt)

{-# LINE 403 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwGetProcAddress" c'glfwGetProcAddress
  :: Ptr CChar -> IO C'GLFWglproc
foreign import ccall "&glfwGetProcAddress" p'glfwGetProcAddress
  :: FunPtr (Ptr CChar -> IO C'GLFWglproc)

{-# LINE 404 "Bindings/GLFW.hsc" #-}

--------------------------------------------------------------------------------
-- GLFW 3.1 additions
--------------------------------------------------------------------------------

c'GLFW_ARROW_CURSOR = 221185
c'GLFW_ARROW_CURSOR :: (Num a) => a

{-# LINE 410 "Bindings/GLFW.hsc" #-}
c'GLFW_IBEAM_CURSOR = 221186
c'GLFW_IBEAM_CURSOR :: (Num a) => a

{-# LINE 411 "Bindings/GLFW.hsc" #-}
c'GLFW_CROSSHAIR_CURSOR = 221187
c'GLFW_CROSSHAIR_CURSOR :: (Num a) => a

{-# LINE 412 "Bindings/GLFW.hsc" #-}
c'GLFW_HAND_CURSOR = 221188
c'GLFW_HAND_CURSOR :: (Num a) => a

{-# LINE 413 "Bindings/GLFW.hsc" #-}
c'GLFW_HRESIZE_CURSOR = 221189
c'GLFW_HRESIZE_CURSOR :: (Num a) => a

{-# LINE 414 "Bindings/GLFW.hsc" #-}
c'GLFW_VRESIZE_CURSOR = 221190
c'GLFW_VRESIZE_CURSOR :: (Num a) => a

{-# LINE 415 "Bindings/GLFW.hsc" #-}


{-# LINE 417 "Bindings/GLFW.hsc" #-}

{-# LINE 418 "Bindings/GLFW.hsc" #-}

{-# LINE 419 "Bindings/GLFW.hsc" #-}

{-# LINE 420 "Bindings/GLFW.hsc" #-}
data C'GLFWimage = C'GLFWimage{
  c'GLFWimage'width :: CInt,
  c'GLFWimage'height :: CInt,
  c'GLFWimage'pixels :: Ptr CUChar
} deriving (Eq,Show)
p'GLFWimage'width p = plusPtr p 0
p'GLFWimage'width :: Ptr (C'GLFWimage) -> Ptr (CInt)
p'GLFWimage'height p = plusPtr p 4
p'GLFWimage'height :: Ptr (C'GLFWimage) -> Ptr (CInt)
p'GLFWimage'pixels p = plusPtr p 8
p'GLFWimage'pixels :: Ptr (C'GLFWimage) -> Ptr (Ptr CUChar)
instance Storable C'GLFWimage where
  sizeOf _ = 16
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    return $ C'GLFWimage v0 v1 v2
  poke p (C'GLFWimage v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    return ()

{-# LINE 421 "Bindings/GLFW.hsc" #-}

data C'GLFWcursor = C'GLFWcursor

{-# LINE 423 "Bindings/GLFW.hsc" #-}
deriving instance Typeable C'GLFWcursor
deriving instance Data     C'GLFWcursor

type C'GLFWdropfun = FunPtr (Ptr C'GLFWwindow -> CInt -> Ptr (Ptr CChar) -> IO ())
foreign import ccall "wrapper" mk'GLFWdropfun
  :: (Ptr C'GLFWwindow -> CInt -> Ptr (Ptr CChar) -> IO ()) -> IO C'GLFWdropfun
foreign import ccall "dynamic" mK'GLFWdropfun
  :: C'GLFWdropfun -> (Ptr C'GLFWwindow -> CInt -> Ptr (Ptr CChar) -> IO ())

{-# LINE 427 "Bindings/GLFW.hsc" #-}

foreign import ccall "glfwCreateCursor" c'glfwCreateCursor
  :: Ptr C'GLFWimage -> CInt -> CInt -> IO (Ptr C'GLFWcursor)
foreign import ccall "&glfwCreateCursor" p'glfwCreateCursor
  :: FunPtr (Ptr C'GLFWimage -> CInt -> CInt -> IO (Ptr C'GLFWcursor))

{-# LINE 429 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwCreateStandardCursor" c'glfwCreateStandardCursor
  :: CInt -> IO (Ptr C'GLFWcursor)
foreign import ccall "&glfwCreateStandardCursor" p'glfwCreateStandardCursor
  :: FunPtr (CInt -> IO (Ptr C'GLFWcursor))

{-# LINE 430 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetCursor" c'glfwSetCursor
  :: Ptr C'GLFWwindow -> Ptr C'GLFWcursor -> IO ()
foreign import ccall "&glfwSetCursor" p'glfwSetCursor
  :: FunPtr (Ptr C'GLFWwindow -> Ptr C'GLFWcursor -> IO ())

{-# LINE 431 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwDestroyCursor" c'glfwDestroyCursor
  :: Ptr C'GLFWcursor -> IO ()
foreign import ccall "&glfwDestroyCursor" p'glfwDestroyCursor
  :: FunPtr (Ptr C'GLFWcursor -> IO ())

{-# LINE 432 "Bindings/GLFW.hsc" #-}
foreign import ccall "glfwSetDropCallback" c'glfwSetDropCallback
  :: Ptr C'GLFWwindow -> C'GLFWdropfun -> IO C'GLFWdropfun
foreign import ccall "&glfwSetDropCallback" p'glfwSetDropCallback
  :: FunPtr (Ptr C'GLFWwindow -> C'GLFWdropfun -> IO C'GLFWdropfun)

{-# LINE 433 "Bindings/GLFW.hsc" #-}