From b9fc5716d124fae681598a1987461ca4a279f02e Mon Sep 17 00:00:00 2001 From: Jeanne-Kamikaze Date: Fri, 10 May 2013 23:09:07 +0200 Subject: onResize no longer sets viewport --- Spear/App/Application.hs | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/Spear/App/Application.hs b/Spear/App/Application.hs index ce1d5cb..5886502 100644 --- a/Spear/App/Application.hs +++ b/Spear/App/Application.hs @@ -47,7 +47,7 @@ data SpearWindow = SpearWindow withWindow :: MonadIO m => Dimensions -> [DisplayBits] -> WindowMode -> Context -> Maybe WindowTitle -> WindowSizeCallback -> (SpearWindow -> Game () a) -> m (Either String a) -withWindow dim displayBits windowMode glVersion windowTitle onResize game = do +withWindow dim@(w,h) displayBits windowMode glVersion windowTitle onResize game = do result <- liftIO . flip runGame () $ do glfwInit window <- setup dim displayBits windowMode glVersion windowTitle onResize @@ -62,25 +62,22 @@ withWindow dim displayBits windowMode glVersion windowTitle onResize game = do -- Set up an application 'SpearWindow'. setup :: Dimensions -> [DisplayBits] -> WindowMode -> Context -> Maybe WindowTitle -> WindowSizeCallback -> Game s SpearWindow -setup (w, h) displayBits windowMode (major, minor) wndTitle onResize' = do +setup (w, h) displayBits windowMode (major, minor) wndTitle onResize = do closeRequest <- gameIO $ newEmptyMVar gameIO $ do openWindowHint OpenGLVersionMajor major openWindowHint OpenGLVersionMinor minor openWindowHint OpenGLProfile OpenGLCompatProfile disableSpecial AutoPollEvent - let dimensions = GL.Size (fromIntegral w) (fromIntegral h) result <- openWindow dimensions displayBits windowMode windowTitle $= case wndTitle of Nothing -> "Spear Game Framework" Just title -> title GL.viewport $= (Position 0 0, Size (fromIntegral w) (fromIntegral h)) - - windowSizeCallback $= (onResize onResize') + windowSizeCallback $= onResize windowCloseCallback $= (onWindowClose closeRequest) - onResize' (Size (fromIntegral w) (fromIntegral h)) - + onResize (Size (fromIntegral w) (fromIntegral h)) return $ SpearWindow closeRequest glfwInit :: Game s () @@ -138,10 +135,5 @@ getRequest mvar = tryTakeMVar mvar >>= \x -> return $ case x of Nothing -> False Just x -> x -onResize :: WindowSizeCallback -> Size -> IO () -onResize callback s@(Size w h) = do - GL.viewport $= (Position 0 0, Size (fromIntegral w) (fromIntegral h)) - callback s - onWindowClose :: MVar Bool -> WindowCloseCallback onWindowClose closeRequest = putMVar closeRequest True >> return False -- cgit v1.2.3