From 7327695ca3d9aee5da1d0bc98572d877dd8c8546 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 9 Mar 2010 03:49:15 +0100 Subject: Moved source files to src directory --- GLDriver.hs | 67 ------------------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 GLDriver.hs (limited to 'GLDriver.hs') diff --git a/GLDriver.hs b/GLDriver.hs deleted file mode 100644 index 7340075..0000000 --- a/GLDriver.hs +++ /dev/null @@ -1,67 +0,0 @@ -{-# LANGUAGE ExistentialQuantification, DeriveDataTypeable #-} - -module GLDriver ( Driver(..) - , SomeDriver(..) - , Event - , SomeEvent(..) - , fromEvent - , QuitEvent(..) - , Key(..) - , KeyPressEvent(..) - , KeyReleaseEvent(..) - , MouseMotionEvent(..) - , MousePressEvent(..) - ) where - -import Data.Typeable - - -class Driver a where - initialized :: a -> Bool - - initGL :: a -> IO a - deinitGL :: a -> IO () - - swapBuffers :: a -> IO () - - nextEvent :: a -> IO (a, Maybe SomeEvent) - -data SomeDriver = forall d. Driver d => SomeDriver d - -instance Driver SomeDriver where - initialized (SomeDriver d) = initialized d - initGL (SomeDriver d) = initGL d >>= return . SomeDriver - deinitGL (SomeDriver d) = deinitGL d - swapBuffers (SomeDriver d) = swapBuffers d - nextEvent (SomeDriver d) = nextEvent d >>= \(gl, ev) -> return (SomeDriver gl, ev) - - -class (Typeable a, Show a) => Event a - -data SomeEvent = forall a. Event a => SomeEvent a -instance Show SomeEvent where - show (SomeEvent a) = show a - -fromEvent :: Event a => SomeEvent -> Maybe a -fromEvent (SomeEvent a) = cast a - - -data QuitEvent = QuitEvent deriving (Typeable, Show) -instance Event QuitEvent - - -data Key = KeyLeft | KeyRight | KeyUp | KeyDown - deriving (Eq, Ord, Show) - -data KeyPressEvent = KeyPressEvent Key deriving (Typeable, Show) -instance Event KeyPressEvent - -data KeyReleaseEvent = KeyReleaseEvent Key deriving (Typeable, Show) -instance Event KeyReleaseEvent - - -data MouseMotionEvent = MouseMotionEvent Float Float deriving (Typeable, Show) -instance Event MouseMotionEvent - -data MousePressEvent = MousePressEvent Float Float deriving (Typeable, Show) -instance Event MousePressEvent -- cgit v1.2.3