import Graphics.Rendering.OpenGL import Graphics.UI.GLUT import Data.IORef import Display import Idle import States import Texture import KeyboardMouseC --import MouseMoveC import qualified Data.Map as Map main = do (progname,_) <- getArgsAndInitialize initialDisplayMode $= [DoubleBuffered] createWindow "Hello World" let texTemp = Map.fromList [] eventTemp = Map.fromList [] boardcellTemp = Map.fromList [((Vector2 3 3) , SWhite) , ((Vector2 3 4) , SBlack) , ((Vector2 4 3) , SBlack) , ((Vector2 4 4) , SWhite)] dState = (DState 500 500) texObGp <- newIORef texTemp windowSize $= (Size (windowWidth dState) (windowHeight dState)) textureSet texObGp kState <- newIORef $ KState Nothing Nothing mState <- newIORef $ (MState SBlack boardcellTemp (DGameBoard (-0.8) (-0.8) 1.0 1.0) 8 8 eventTemp) keyboardMouseCallback $= Just (keyboardMouse dState kState mState) idleCallback $= Just (idle mState kState) displayCallback $= (display mState texObGp) mainLoop