summaryrefslogtreecommitdiff
path: root/Triangle.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Triangle.hs')
-rw-r--r--Triangle.hs13
1 files changed, 12 insertions, 1 deletions
diff --git a/Triangle.hs b/Triangle.hs
index 175446c..1a7a58e 100644
--- a/Triangle.hs
+++ b/Triangle.hs
@@ -1,6 +1,7 @@
1{-# LANGUAGE QuasiQuotes #-} 1{-# LANGUAGE QuasiQuotes, LambdaCase #-}
2module Triangle where 2module Triangle where
3 3
4import Data.GI.Base.ManagedPtr (newManagedPtr)
4import Graphics.Rendering.OpenGL as GL 5import Graphics.Rendering.OpenGL as GL
5import GI.Gtk as Gtk 6import GI.Gtk as Gtk
6import GI.Gdk.Objects 7import GI.Gdk.Objects
@@ -115,3 +116,13 @@ realize svar w = do
115unrealize :: MVar State -> GLArea -> IO () 116unrealize :: MVar State -> GLArea -> IO ()
116unrealize _ _ = do 117unrealize _ _ = do
117 putStrLn "unrealize!" 118 putStrLn "unrealize!"
119
120createContext :: MVar State -> GLArea -> IO GLContext
121createContext st glarea = do
122 st <- readMVar st
123 widgetGetWindow glarea >>= \case
124 Just win -> windowCreateGlContext win
125 Nothing -> do
126 putStrLn "createContext: GLArea has no window."
127 mptr <- newManagedPtr nullPtr (return ())
128 return $ GLContext mptr