From d4db00ce9bce4410becfc4ee71264fc607b96c5b Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 2 Mar 2010 06:10:34 +0100 Subject: Implemented correct turning --- GLDriver.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'GLDriver.hs') diff --git a/GLDriver.hs b/GLDriver.hs index 2b55c6f..44964d8 100644 --- a/GLDriver.hs +++ b/GLDriver.hs @@ -35,26 +35,28 @@ instance Driver SomeDriver where nextEvent (SomeDriver d) = nextEvent d -class Typeable a => Event a +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 +data QuitEvent = QuitEvent deriving (Typeable, Show) instance Event QuitEvent -data ResizeEvent = ResizeEvent Int Int deriving Typeable +data ResizeEvent = ResizeEvent Int Int deriving (Typeable, Show) instance Event ResizeEvent data Key = KeyLeft | KeyRight | KeyUp | KeyDown deriving (Eq, Ord, Show) -data KeyPressEvent = KeyPressEvent Key deriving Typeable +data KeyPressEvent = KeyPressEvent Key deriving (Typeable, Show) instance Event KeyPressEvent -data KeyReleaseEvent = KeyReleaseEvent Key deriving Typeable +data KeyReleaseEvent = KeyReleaseEvent Key deriving (Typeable, Show) instance Event KeyReleaseEvent -- cgit v1.2.3