-- | Non interactive applications only need to pass configuration defined here -- into GPipe's 'runContextT' and 'newWindow'. -- -- For user input, see "Graphics.GPipe.Context.GLFW.Input". All other GLFW -- functionality is being incrementally exposed in -- "Graphics.GPipe.Context.GLFW.Wrapped". module Graphics.GPipe.Context.GLFW ( -- * GPipe context handler for GLFW Handle(), GLFWWindow(), -- ** Configuration -- *** Defaults defaultHandleConfig, defaultWindowConfig, -- *** Details ContextHandlerParameters(HandleConfig, configErrorCallback, configEventPolicy), -- | Configuration for the GLFW handle. -- -- [@'HandleConfig'@] Constructor -- -- [@'configErrorCallback' :: ErrorCallback@] Specify a callback to handle errors captured by GLFW. -- -- [@'configEventPolicy' :: Maybe 'EventPolicy'@] Specify the 'EventPolicy' to use for automatic GLFW event processing. If 'Nothing' then automatic event processing is disabled and you'll need to call 'mainloop' or 'mainstep' somewhere. WindowConfig(..), EventPolicy(..), -- ** Exceptions InitException(..), CreateWindowException(..), UnsafeWindowHintsException(..), -- ** Mainthread hooks mainloop, mainstep, -- ** Reexports module Graphics.GPipe.Context.GLFW.Input, module Graphics.GPipe.Context.GLFW.Wrapped ) where -- internal import Graphics.GPipe.Context.GLFW.Format import Graphics.GPipe.Context.GLFW.Resource import Graphics.GPipe.Context.GLFW.Handler -- reexports import Graphics.GPipe.Context.GLFW.Input import Graphics.GPipe.Context.GLFW.Wrapped