XNOc*      !"#$%&'()None*8A list of all mouse buttons available via the GLFW api. + A map from ,( to externals created for every button. - Creating the . of a / from , to 0 from a / of +. 1 Making a / from , to sink from a / of +. *+-12*+-1*+-12None32A list of all possible keys used in the GLFW API. 4 A Map from 50 to the externals created for every single key. 6 Creating the . of a / from 5 to 0 from a / of 4. 7 Making a / from 5 to sink from a / of 4. 346734673467None8 Given an 9s indicating whether or not the program should close, it either returns the delta time since the last call, or a :/, indicating that the program should close. 888NoneLA datatype that houses two values of a given type. It is provided with a ;{ instance so that, when used with number types it can function similarly (though not exactly) to a mathematical vector. <Maps over both values in the  =8Performs operations on the matching fields of the other . >Displaying the . ?The default for the . <=>?<=>?None@.Creating the external for the mouse position. A5Getting the signal from the mouse position external. B3Getting the sink from the mouse position external. @AB@AB@ABNone None Converting a C to a D  NoneElA type to purely contain the information for any kind of render call (that has been implemented so far.) FConverting an E into its matching OpenGL call. EGHFEGHFEHGF None%The commonly used instance of SceneT I0For composing a scene out of a set of elements. /Constructing a SceneT from a list of elements. Rendering a whole  (renders each E) from first in list to last in list.) J\Used for being able to compose Scenes in a do-notation. Not very useful outside of that. KGApplicative instance to satisfy the monad instance. Not advised to use L2Functor instance to satisfy applicative instance. IMJKLIMJKL NoneNA function to be ran on a  I's render function to provide a bit of a framework around it. It runs O$ before the render function, and P / Q afterwards. NNNNone  Representing a Color using four CH representing reg, green, blue, and the alpha mask respectively. The C+s are in a range from 0-1, representing Rs from 0-255. %Converting a color to an action in a . A synonym for the  constructor. Constructing a  from 3 C%s, defaulting the alpha mask to 1.0.  Creating a  from 4 Rs. The ints, similarly to  u represent red, green, blue, and the alpha mask respectively. The ints should be in the range of 0-255. (Note:  is functionally equivalent (and also equivalent in source code) to calling color4f with each of its arguments divided by 255.) Constructing a  from 3 R%s, defaulting the alpha mask to 255. The color black. The color white. The color red. The color green. The color blue.     NoneRendering a point. Rendering a rectangle. Rendering a square. None  None>A container for all of the states themselves. It is used as a Signal  in the InputContainer@ (which is necessary to use it within Elerea's FRP network).  None%The class which is to be used in the  function. ; provides the API to update on every tick (purely), an  ) provides the API to render every frame. !=A synonym to make the update function more self-documenting.  ! ! !NoneS#Driving a network created with the $ function and a function such as . SSSNoneTThe raw update function that U calls. U*Creating a network to be used with the  function. TUTUTUNone"UA datatype to configure the window settings when creating an OpenGL context using  in the engine. (The default for " getWindowWidth = 640 getWindowHeight = 480 getWindowFullscreen = False getWindowResizeable = False getWindowTitle = "Spice Application" "#$%&'(V"#$%&'("#$%&'(VNoneWA container around X and . - so that one needn't pass around a tuple. XcA wrapper around the sinks for the mouse position, the key states, and the mouse button states. Y Making an W& filled with all necessary externals. Z:Creating a callback to update the mouse position's state. [5Creating a callback to update the keyboard's states. \9Creating a callback to update the mouse buttons' states. W]^_X`abcYZ[\ W]^_X`abcYZ[\W]^_X`abcYZ[\None)CStarting the spice engine with the parameters prescribed in the ". It updates and renders the 6 automatically so all you need to to is set up the ", and make a datatype with an instance of . defg))defg)NoneZhi5jklmnopqrstuvwxyz{|}~, !"#$%&'()"#$%&'()!       !"#$%&'()*+,-./0122345  6 7 899:;<=>?@ABCDEFGHIJKLMNOP@ABQDNRSTRUVRWXYZ[\@DNKL]^_` a b c d e f g h e ijkljmnABoKLpqrstuvwxsyzt{|}~ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABHI spice-0.3.2.0FRP.Spice.MathFRP.Spice.Graphics FRP.SpiceFRP.Spice.Input.MouseFRP.Spice.Input.KeyboardFRP.Spice.Engine.RunInputFRP.Spice.Math.VectorFRP.Spice.Input.MousePositionFRP.Spice.Graphics.UtilsFRP.Spice.Graphics.ElementFRP.Spice.Graphics.SceneFRP.Spice.Engine.RenderWrapperFRP.Spice.GameGameFRP.Spice.Graphics.ColorFRP.Spice.Graphics.GeometryFRP.Spice.InputFRP.Spice.Engine startEngineFRP.Spice.Engine.DriverFRP.Spice.Engine.Network makeNetworkrunInput driveNetworkFRP.Spice.ConfigFRP.Spice.Input.BackendVectortoglScene fromElements renderSceneColorgetRedgetGreengetBluegetAlpha bindColorcolor4fcolor3fcolor4icolor3iblackwhiteredgreenblue renderPointrenderRectangle renderSquareInput mousePositionkeyboardmouseupdaterender DeltaTime WindowConfiggetWindowWidthgetWindowHeightgetWindowFullscreengetWindowTitledefaultWindowConfigbuttons externals GLFW-0.5.2.2Graphics.UI.GLFW MouseButtonsignalselerea-2.7.0.2FRP.Elerea.ParamSignalcontainers-0.5.5.1 Data.Map.BaseMapghc-prim GHC.TypesBoolsinks$fOrdMouseButtonkeysKeybase GHC.IORefIORef Data.MaybeNothingGHC.NumNum$fFunctorVector $fNumVector $fShowVector$fDefaultVectorFloatOpenGLRaw-1.5.0.0#Graphics.Rendering.OpenGL.Raw.TypesGLfloatElement renderElementSetColorRenderPrimitiveSceneT $fMonadSceneT$fApplicativeSceneT$fFunctorSceneT renderWrapperOpenGL-2.9.2.0(Graphics.Rendering.OpenGL.GL.Framebufferclear(Graphics.Rendering.OpenGL.GL.FlushFinishflush swapBuffersIntupdateFn$fDefaultWindowConfigInputContainerSinksmakeInputContainermakeMousePositionCallbackmakeKeyboardCallbackmakeMouseCallbackgetSinksgetInputmousePositionSinks keyboardSinks mouseSinksmakeSizemakeDisplayBitsmakeWindowModeresizeCallbackCharKey SpecialKeyUNKNOWNESCF1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24F25UPDOWNLEFTRIGHTLSHIFTRSHIFTLCTRLRCTRLLALTRALTTABENTER BACKSPACEINSERTDELPAGEUPPAGEDOWNHOMEENDKP_0KP_1KP_2KP_3KP_4KP_5KP_6KP_7KP_8KP_9 KP_DIVIDE KP_MULTIPLY KP_SUBTRACTKP_ADD KP_DECIMALKP_EQUALKP_ENTER ButtonLeft ButtonRight ButtonMiddleButtonNo!