summaryrefslogtreecommitdiff
path: root/lib/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Main.hs')
-rw-r--r--lib/Main.hs38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/Main.hs b/lib/Main.hs
new file mode 100644
index 0000000..cbed60f
--- /dev/null
+++ b/lib/Main.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE CApiFFI #-}
+
+module Main (main) where
+
+import Data.Bits (shiftL, (.|.))
+import Foreign
+import Foreign.C.String
+import Foreign.C.Types
+
+import Lib
+
+--------------------------------------------------------------------------------
+-- main
+--------------------------------------------------------------------------------
+
+main :: IO ()
+main = do
+ window <- withCString "a window" (\name ->
+ rgfwCreateWindow
+ name
+ 0
+ 0
+ 800
+ 600
+ $ mkWindowFlags
+ [ WindowNoResize
+ , WindowOpenGL
+ , WindowFullscreen
+ ]
+ )
+ let loop ctr = do
+ shouldClose <- rgfwWindowShouldClose window
+ if 0 /= shouldClose
+ then return shouldClose
+ else loop $ ctr + 1
+ exitCode <- loop 0
+ putStrLn $ show exitCode
+ return ()