{-# LINE 2 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
module Graphics.UI.Gtk.Gdk.GLContext (
GLContext,
GLContextClass,
castToGLContext, gTypeGLContext,
glContextGetDisplay,
glContextGetWindow,
glContextGetSharedContext,
glContextGetVersion,
glContextSetRequiredVersion,
glContextGetRequiredVersion,
glContextSetDebugEnabled,
glContextGetDebugEnabled,
glContextSetForwardCompatible,
glContextGetForwardCompatible,
glContextRealize,
glContextIsLegacy,
glContextMakeCurrent,
glContextGetCurrent,
glContextClearCurrent
) where
import Control.Monad (liftM)
import Data.Maybe (fromMaybe)
import System.Glib.FFI
import System.Glib.Flags (toFlags)
import Graphics.UI.Gtk.Types
{-# LINE 89 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
import Graphics.UI.Gtk.Gdk.Enums
{-# LINE 90 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
import Graphics.UI.Gtk.Gdk.Cursor
{-# LINE 91 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
import Graphics.UI.Gtk.General.Structs
import System.Glib.GError (propagateGError)
import System.Glib.Attributes
{-# LINE 96 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
glContextGetDisplay :: GLContextClass self => self -> IO (Maybe Display)
glContextGetDisplay :: forall self. GLContextClass self => self -> IO (Maybe Display)
glContextGetDisplay self
self = do
(IO (Ptr Display) -> IO Display)
-> IO (Ptr Display) -> IO (Maybe Display)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr Display -> Display, FinalizerPtr Display)
-> IO (Ptr Display) -> IO Display
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr Display -> Display, FinalizerPtr Display)
forall {a}. (ForeignPtr Display -> Display, FinalizerPtr a)
mkDisplay) (IO (Ptr Display) -> IO (Maybe Display))
-> IO (Ptr Display) -> IO (Maybe Display)
forall a b. (a -> b) -> a -> b
$
(\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext
-> (Ptr GLContext -> IO (Ptr Display)) -> IO (Ptr Display)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO (Ptr Display)) -> IO (Ptr Display))
-> (Ptr GLContext -> IO (Ptr Display)) -> IO (Ptr Display)
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO (Ptr Display)
gdk_gl_context_get_display Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextGetWindow :: GLContextClass self => self -> IO (Maybe DrawWindow)
glContextGetWindow :: forall self. GLContextClass self => self -> IO (Maybe DrawWindow)
glContextGetWindow self
self = do
(IO (Ptr DrawWindow) -> IO DrawWindow)
-> IO (Ptr DrawWindow) -> IO (Maybe DrawWindow)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr DrawWindow -> DrawWindow, FinalizerPtr DrawWindow)
-> IO (Ptr DrawWindow) -> IO DrawWindow
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr DrawWindow -> DrawWindow, FinalizerPtr DrawWindow)
forall {a}. (ForeignPtr DrawWindow -> DrawWindow, FinalizerPtr a)
mkDrawWindow) (IO (Ptr DrawWindow) -> IO (Maybe DrawWindow))
-> IO (Ptr DrawWindow) -> IO (Maybe DrawWindow)
forall a b. (a -> b) -> a -> b
$
(\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext
-> (Ptr GLContext -> IO (Ptr DrawWindow)) -> IO (Ptr DrawWindow)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO (Ptr DrawWindow)) -> IO (Ptr DrawWindow))
-> (Ptr GLContext -> IO (Ptr DrawWindow)) -> IO (Ptr DrawWindow)
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO (Ptr DrawWindow)
gdk_gl_context_get_window Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextGetSharedContext :: GLContextClass self => self -> IO (Maybe GLContext)
glContextGetSharedContext :: forall self. GLContextClass self => self -> IO (Maybe GLContext)
glContextGetSharedContext self
self = do
(IO (Ptr GLContext) -> IO GLContext)
-> IO (Ptr GLContext) -> IO (Maybe GLContext)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr GLContext -> GLContext, FinalizerPtr GLContext)
-> IO (Ptr GLContext) -> IO GLContext
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr GLContext -> GLContext, FinalizerPtr GLContext)
forall {a}. (ForeignPtr GLContext -> GLContext, FinalizerPtr a)
mkGLContext) (IO (Ptr GLContext) -> IO (Maybe GLContext))
-> IO (Ptr GLContext) -> IO (Maybe GLContext)
forall a b. (a -> b) -> a -> b
$
(\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext
-> (Ptr GLContext -> IO (Ptr GLContext)) -> IO (Ptr GLContext)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO (Ptr GLContext)) -> IO (Ptr GLContext))
-> (Ptr GLContext -> IO (Ptr GLContext)) -> IO (Ptr GLContext)
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO (Ptr GLContext)
gdk_gl_context_get_shared_context Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextGetVersion :: GLContextClass self => self -> IO (Int, Int)
glContextGetVersion :: forall self. GLContextClass self => self -> IO (Int, Int)
glContextGetVersion self
self = do
(Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CInt -> IO (Int, Int)) -> IO (Int, Int))
-> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CInt
majorPtr -> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CInt -> IO (Int, Int)) -> IO (Int, Int))
-> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CInt
minorPtr -> do
(\(GLContext ForeignPtr GLContext
arg1) Ptr CInt
arg2 Ptr CInt
arg3 -> ForeignPtr GLContext -> (Ptr GLContext -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO ()) -> IO ())
-> (Ptr GLContext -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> Ptr CInt -> Ptr CInt -> IO ()
gdk_gl_context_get_version Ptr GLContext
argPtr1 Ptr CInt
arg2 Ptr CInt
arg3) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self) Ptr CInt
majorPtr Ptr CInt
minorPtr
CInt
major <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
majorPtr
CInt
minor <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
minorPtr
(Int, Int) -> IO (Int, Int)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
major, CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
minor)
glContextSetRequiredVersion :: GLContextClass self => self -> Int -> Int -> IO ()
glContextSetRequiredVersion :: forall self. GLContextClass self => self -> Int -> Int -> IO ()
glContextSetRequiredVersion self
self Int
major Int
minor =
(\(GLContext ForeignPtr GLContext
arg1) CInt
arg2 CInt
arg3 -> ForeignPtr GLContext -> (Ptr GLContext -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO ()) -> IO ())
-> (Ptr GLContext -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> CInt -> CInt -> IO ()
gdk_gl_context_set_required_version Ptr GLContext
argPtr1 CInt
arg2 CInt
arg3)
{-# LINE 148 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
(self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
major) (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
minor)
glContextGetRequiredVersion :: GLContextClass self => self -> IO (Int, Int)
glContextGetRequiredVersion :: forall self. GLContextClass self => self -> IO (Int, Int)
glContextGetRequiredVersion self
self = do
(Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CInt -> IO (Int, Int)) -> IO (Int, Int))
-> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CInt
majorPtr -> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr CInt -> IO (Int, Int)) -> IO (Int, Int))
-> (Ptr CInt -> IO (Int, Int)) -> IO (Int, Int)
forall a b. (a -> b) -> a -> b
$ \Ptr CInt
minorPtr -> do
(\(GLContext ForeignPtr GLContext
arg1) Ptr CInt
arg2 Ptr CInt
arg3 -> ForeignPtr GLContext -> (Ptr GLContext -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO ()) -> IO ())
-> (Ptr GLContext -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> Ptr CInt -> Ptr CInt -> IO ()
gdk_gl_context_get_required_version Ptr GLContext
argPtr1 Ptr CInt
arg2 Ptr CInt
arg3) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self) Ptr CInt
majorPtr Ptr CInt
minorPtr
CInt
major <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
majorPtr
CInt
minor <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
minorPtr
(Int, Int) -> IO (Int, Int)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
major, CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral CInt
minor)
glContextSetDebugEnabled :: GLContextClass self => self -> Bool -> IO ()
glContextSetDebugEnabled :: forall self. GLContextClass self => self -> Bool -> IO ()
glContextSetDebugEnabled self
self Bool
enabled = do
(\(GLContext ForeignPtr GLContext
arg1) CInt
arg2 -> ForeignPtr GLContext -> (Ptr GLContext -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO ()) -> IO ())
-> (Ptr GLContext -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> CInt -> IO ()
gdk_gl_context_set_debug_enabled Ptr GLContext
argPtr1 CInt
arg2) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self) (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
enabled)
glContextGetDebugEnabled :: GLContextClass self => self -> IO Bool
glContextGetDebugEnabled :: forall self. GLContextClass self => self -> IO Bool
glContextGetDebugEnabled self
self = do
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$ (\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext -> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO CInt) -> IO CInt)
-> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO CInt
gdk_gl_context_get_debug_enabled Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextSetForwardCompatible :: GLContextClass self => self -> Bool -> IO ()
glContextSetForwardCompatible :: forall self. GLContextClass self => self -> Bool -> IO ()
glContextSetForwardCompatible self
self Bool
compatible = do
(\(GLContext ForeignPtr GLContext
arg1) CInt
arg2 -> ForeignPtr GLContext -> (Ptr GLContext -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO ()) -> IO ())
-> (Ptr GLContext -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> CInt -> IO ()
gdk_gl_context_set_forward_compatible Ptr GLContext
argPtr1 CInt
arg2) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self) (Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
compatible)
glContextGetForwardCompatible :: GLContextClass self => self -> IO Bool
glContextGetForwardCompatible :: forall self. GLContextClass self => self -> IO Bool
glContextGetForwardCompatible self
self = do
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$ (\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext -> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO CInt) -> IO CInt)
-> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO CInt
gdk_gl_context_get_forward_compatible Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextIsLegacy :: GLContextClass self => self -> IO Bool
glContextIsLegacy :: forall self. GLContextClass self => self -> IO Bool
glContextIsLegacy self
self = do
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$ (\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext -> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO CInt) -> IO CInt)
-> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO CInt
gdk_gl_context_is_legacy Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextRealize :: GLContextClass self => self -> IO Bool
glContextRealize :: forall self. GLContextClass self => self -> IO Bool
glContextRealize self
self =
(CInt -> Bool) -> IO CInt -> IO Bool
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM CInt -> Bool
forall a. (Eq a, Num a) => a -> Bool
toBool (IO CInt -> IO Bool) -> IO CInt -> IO Bool
forall a b. (a -> b) -> a -> b
$
(Ptr (Ptr ()) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr ()) -> IO a) -> IO a
propagateGError ((Ptr (Ptr ()) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr ()) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr (Ptr ())
errPtr ->
(\(GLContext ForeignPtr GLContext
arg1) Ptr (Ptr ())
arg2 -> ForeignPtr GLContext -> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO CInt) -> IO CInt)
-> (Ptr GLContext -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> Ptr (Ptr ()) -> IO CInt
gdk_gl_context_realize Ptr GLContext
argPtr1 Ptr (Ptr ())
arg2) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self) Ptr (Ptr ())
errPtr
glContextMakeCurrent :: GLContextClass self => self -> IO ()
glContextMakeCurrent :: forall self. GLContextClass self => self -> IO ()
glContextMakeCurrent self
self = do
(\(GLContext ForeignPtr GLContext
arg1) -> ForeignPtr GLContext -> (Ptr GLContext -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLContext
arg1 ((Ptr GLContext -> IO ()) -> IO ())
-> (Ptr GLContext -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLContext
argPtr1 ->Ptr GLContext -> IO ()
gdk_gl_context_make_current Ptr GLContext
argPtr1) (self -> GLContext
forall o. GLContextClass o => o -> GLContext
toGLContext self
self)
glContextGetCurrent :: IO (Maybe GLContext)
glContextGetCurrent :: IO (Maybe GLContext)
glContextGetCurrent = do
(IO (Ptr GLContext) -> IO GLContext)
-> IO (Ptr GLContext) -> IO (Maybe GLContext)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr GLContext -> GLContext, FinalizerPtr GLContext)
-> IO (Ptr GLContext) -> IO GLContext
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr GLContext -> GLContext, FinalizerPtr GLContext)
forall {a}. (ForeignPtr GLContext -> GLContext, FinalizerPtr a)
mkGLContext) (IO (Ptr GLContext) -> IO (Maybe GLContext))
-> IO (Ptr GLContext) -> IO (Maybe GLContext)
forall a b. (a -> b) -> a -> b
$
IO (Ptr GLContext)
gdk_gl_context_get_current
{-# LINE 246 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
glContextClearCurrent :: IO ()
glContextClearCurrent :: IO ()
glContextClearCurrent = do
IO ()
gdk_gl_context_clear_current
{-# LINE 256 "./Graphics/UI/Gtk/Gdk/GLContext.chs" #-}
foreign import ccall safe "gdk_gl_context_get_display"
gdk_gl_context_get_display :: ((Ptr GLContext) -> (IO (Ptr Display)))
foreign import ccall safe "gdk_gl_context_get_window"
gdk_gl_context_get_window :: ((Ptr GLContext) -> (IO (Ptr DrawWindow)))
foreign import ccall safe "gdk_gl_context_get_shared_context"
gdk_gl_context_get_shared_context :: ((Ptr GLContext) -> (IO (Ptr GLContext)))
foreign import ccall safe "gdk_gl_context_get_version"
gdk_gl_context_get_version :: ((Ptr GLContext) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "gdk_gl_context_set_required_version"
gdk_gl_context_set_required_version :: ((Ptr GLContext) -> (CInt -> (CInt -> (IO ()))))
foreign import ccall safe "gdk_gl_context_get_required_version"
gdk_gl_context_get_required_version :: ((Ptr GLContext) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "gdk_gl_context_set_debug_enabled"
gdk_gl_context_set_debug_enabled :: ((Ptr GLContext) -> (CInt -> (IO ())))
foreign import ccall safe "gdk_gl_context_get_debug_enabled"
gdk_gl_context_get_debug_enabled :: ((Ptr GLContext) -> (IO CInt))
foreign import ccall safe "gdk_gl_context_set_forward_compatible"
gdk_gl_context_set_forward_compatible :: ((Ptr GLContext) -> (CInt -> (IO ())))
foreign import ccall safe "gdk_gl_context_get_forward_compatible"
gdk_gl_context_get_forward_compatible :: ((Ptr GLContext) -> (IO CInt))
foreign import ccall safe "gdk_gl_context_is_legacy"
gdk_gl_context_is_legacy :: ((Ptr GLContext) -> (IO CInt))
foreign import ccall safe "gdk_gl_context_realize"
gdk_gl_context_realize :: ((Ptr GLContext) -> ((Ptr (Ptr ())) -> (IO CInt)))
foreign import ccall safe "gdk_gl_context_make_current"
gdk_gl_context_make_current :: ((Ptr GLContext) -> (IO ()))
foreign import ccall safe "gdk_gl_context_get_current"
gdk_gl_context_get_current :: (IO (Ptr GLContext))
foreign import ccall safe "gdk_gl_context_clear_current"
gdk_gl_context_clear_current :: (IO ())