summaryrefslogtreecommitdiff
path: root/Triangle.hs
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2019-04-24 13:14:57 -0400
committerJoe Crayne <joe@jerkface.net>2019-04-24 13:14:57 -0400
commitb43403d6fe16e3ab44f98f71963d462dc9598149 (patch)
treefd3721bf3691f0453f935715957f64ade1e01444 /Triangle.hs
parent158564b28f4316b4c140457d543ec4d65391a043 (diff)
Updated gix family of demos.
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