{-| Module : EventLoop Description : Complete import of all the exposed features of this library. Copyright : (c) Sebastiaan la Fleur, 2014 License : BSD3 Maintainer : sebastiaan.la.fleur@gmail.com Stability : experimental Portability : All Complete import of all the exposed features of this library. The Eventloop package is used to express the communication between a Haskell server and a program modelling an \'IO Device'. This package contains an example implementation of how such a server would like when a browser is used as a graphical IO device also containing a mouse and keyboard. The 'EventLoop.Input.InputEvents.InputEvent' models the possible mouse and keyboard events. The 'EventLoop.Output.OutputEvents.OutputEvent' models the possible graphical output events. There are also input and output systemmessages to communicate metadata between the Haskell server and the graphical IO browser. The starting point for this example implementation is 'EventLoop.Main.start'. -} module EventLoop( start, Pos, Dimension, Element, InputEvent(..), Keyboard(..), KeyboardButton, Mouse(..), MouseButton(..), SystemMessageIn(..), OutputEvent(..), SystemMessageOut(..), Graphical(..), GObject(..), Primitive(..), Name, Groupname, Color, Font, Relative, outSingle ) where import EventLoop.Main import EventLoop.CommonTypes import EventLoop.Input import EventLoop.Output