gi-gdk-0.3.18.13: GI/Gdk/Objects/GLContext.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gdk.Objects.GLContext
(
-- * Exported types
GLContext(..) ,
GLContextK ,
toGLContext ,
noGLContext ,
-- * Methods
-- ** Unsupported methods
GLContextGetRequiredVersionMethodInfo ,
-- ** gLContextClearCurrent
gLContextClearCurrent ,
-- ** gLContextGetCurrent
gLContextGetCurrent ,
-- ** gLContextGetDebugEnabled
GLContextGetDebugEnabledMethodInfo ,
gLContextGetDebugEnabled ,
-- ** gLContextGetDisplay
GLContextGetDisplayMethodInfo ,
gLContextGetDisplay ,
-- ** gLContextGetForwardCompatible
GLContextGetForwardCompatibleMethodInfo ,
gLContextGetForwardCompatible ,
-- ** gLContextGetSharedContext
GLContextGetSharedContextMethodInfo ,
gLContextGetSharedContext ,
-- ** gLContextGetVersion
GLContextGetVersionMethodInfo ,
gLContextGetVersion ,
-- ** gLContextGetWindow
GLContextGetWindowMethodInfo ,
gLContextGetWindow ,
-- ** gLContextMakeCurrent
GLContextMakeCurrentMethodInfo ,
gLContextMakeCurrent ,
-- ** gLContextRealize
GLContextRealizeMethodInfo ,
gLContextRealize ,
-- ** gLContextSetDebugEnabled
GLContextSetDebugEnabledMethodInfo ,
gLContextSetDebugEnabled ,
-- ** gLContextSetForwardCompatible
GLContextSetForwardCompatibleMethodInfo ,
gLContextSetForwardCompatible ,
-- ** gLContextSetRequiredVersion
GLContextSetRequiredVersionMethodInfo ,
gLContextSetRequiredVersion ,
-- * Properties
-- ** Display
GLContextDisplayPropertyInfo ,
constructGLContextDisplay ,
getGLContextDisplay ,
-- ** SharedContext
GLContextSharedContextPropertyInfo ,
constructGLContextSharedContext ,
getGLContextSharedContext ,
-- ** Window
GLContextWindowPropertyInfo ,
constructGLContextWindow ,
getGLContextWindow ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gdk.Types
import GI.Gdk.Callbacks
import qualified GI.GObject as GObject
newtype GLContext = GLContext (ForeignPtr GLContext)
foreign import ccall "gdk_gl_context_get_type"
c_gdk_gl_context_get_type :: IO GType
type instance ParentTypes GLContext = GLContextParentTypes
type GLContextParentTypes = '[GObject.Object]
instance GObject GLContext where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gdk_gl_context_get_type
class GObject o => GLContextK o
instance (GObject o, IsDescendantOf GLContext o) => GLContextK o
toGLContext :: GLContextK o => o -> IO GLContext
toGLContext = unsafeCastTo GLContext
noGLContext :: Maybe GLContext
noGLContext = Nothing
type family ResolveGLContextMethod (t :: Symbol) (o :: *) :: * where
ResolveGLContextMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveGLContextMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveGLContextMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveGLContextMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveGLContextMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveGLContextMethod "makeCurrent" o = GLContextMakeCurrentMethodInfo
ResolveGLContextMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveGLContextMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveGLContextMethod "realize" o = GLContextRealizeMethodInfo
ResolveGLContextMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveGLContextMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveGLContextMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveGLContextMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveGLContextMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveGLContextMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveGLContextMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveGLContextMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveGLContextMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveGLContextMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveGLContextMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveGLContextMethod "getDebugEnabled" o = GLContextGetDebugEnabledMethodInfo
ResolveGLContextMethod "getDisplay" o = GLContextGetDisplayMethodInfo
ResolveGLContextMethod "getForwardCompatible" o = GLContextGetForwardCompatibleMethodInfo
ResolveGLContextMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveGLContextMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveGLContextMethod "getRequiredVersion" o = GLContextGetRequiredVersionMethodInfo
ResolveGLContextMethod "getSharedContext" o = GLContextGetSharedContextMethodInfo
ResolveGLContextMethod "getVersion" o = GLContextGetVersionMethodInfo
ResolveGLContextMethod "getWindow" o = GLContextGetWindowMethodInfo
ResolveGLContextMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveGLContextMethod "setDebugEnabled" o = GLContextSetDebugEnabledMethodInfo
ResolveGLContextMethod "setForwardCompatible" o = GLContextSetForwardCompatibleMethodInfo
ResolveGLContextMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveGLContextMethod "setRequiredVersion" o = GLContextSetRequiredVersionMethodInfo
ResolveGLContextMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveGLContextMethod t GLContext, MethodInfo info GLContext p) => IsLabelProxy t (GLContext -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveGLContextMethod t GLContext, MethodInfo info GLContext p) => IsLabel t (GLContext -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- VVV Prop "display"
-- Type: TInterface "Gdk" "Display"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getGLContextDisplay :: (MonadIO m, GLContextK o) => o -> m Display
getGLContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
constructGLContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
constructGLContextDisplay val = constructObjectPropertyObject "display" val
data GLContextDisplayPropertyInfo
instance AttrInfo GLContextDisplayPropertyInfo where
type AttrAllowedOps GLContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint GLContextDisplayPropertyInfo = DisplayK
type AttrBaseTypeConstraint GLContextDisplayPropertyInfo = GLContextK
type AttrGetType GLContextDisplayPropertyInfo = Display
type AttrLabel GLContextDisplayPropertyInfo = "display"
attrGet _ = getGLContextDisplay
attrSet _ = undefined
attrConstruct _ = constructGLContextDisplay
-- VVV Prop "shared-context"
-- Type: TInterface "Gdk" "GLContext"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getGLContextSharedContext :: (MonadIO m, GLContextK o) => o -> m GLContext
getGLContextSharedContext obj = liftIO $ getObjectPropertyObject obj "shared-context" GLContext
constructGLContextSharedContext :: (GLContextK a) => a -> IO ([Char], GValue)
constructGLContextSharedContext val = constructObjectPropertyObject "shared-context" val
data GLContextSharedContextPropertyInfo
instance AttrInfo GLContextSharedContextPropertyInfo where
type AttrAllowedOps GLContextSharedContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint GLContextSharedContextPropertyInfo = GLContextK
type AttrBaseTypeConstraint GLContextSharedContextPropertyInfo = GLContextK
type AttrGetType GLContextSharedContextPropertyInfo = GLContext
type AttrLabel GLContextSharedContextPropertyInfo = "shared-context"
attrGet _ = getGLContextSharedContext
attrSet _ = undefined
attrConstruct _ = constructGLContextSharedContext
-- VVV Prop "window"
-- Type: TInterface "Gdk" "Window"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getGLContextWindow :: (MonadIO m, GLContextK o) => o -> m Window
getGLContextWindow obj = liftIO $ getObjectPropertyObject obj "window" Window
constructGLContextWindow :: (WindowK a) => a -> IO ([Char], GValue)
constructGLContextWindow val = constructObjectPropertyObject "window" val
data GLContextWindowPropertyInfo
instance AttrInfo GLContextWindowPropertyInfo where
type AttrAllowedOps GLContextWindowPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint GLContextWindowPropertyInfo = WindowK
type AttrBaseTypeConstraint GLContextWindowPropertyInfo = GLContextK
type AttrGetType GLContextWindowPropertyInfo = Window
type AttrLabel GLContextWindowPropertyInfo = "window"
attrGet _ = getGLContextWindow
attrSet _ = undefined
attrConstruct _ = constructGLContextWindow
type instance AttributeList GLContext = GLContextAttributeList
type GLContextAttributeList = ('[ '("display", GLContextDisplayPropertyInfo), '("sharedContext", GLContextSharedContextPropertyInfo), '("window", GLContextWindowPropertyInfo)] :: [(Symbol, *)])
type instance SignalList GLContext = GLContextSignalList
type GLContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method GLContext::get_debug_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_debug_enabled" gdk_gl_context_get_debug_enabled ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
IO CInt
gLContextGetDebugEnabled ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m Bool -- result
gLContextGetDebugEnabled _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_gl_context_get_debug_enabled _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data GLContextGetDebugEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, GLContextK a) => MethodInfo GLContextGetDebugEnabledMethodInfo a signature where
overloadedMethod _ = gLContextGetDebugEnabled
-- method GLContext::get_display
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gdk" "Display"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_display" gdk_gl_context_get_display ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
IO (Ptr Display)
gLContextGetDisplay ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m Display -- result
gLContextGetDisplay _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_gl_context_get_display _obj'
checkUnexpectedReturnNULL "gdk_gl_context_get_display" result
result' <- (newObject Display) result
touchManagedPtr _obj
return result'
data GLContextGetDisplayMethodInfo
instance (signature ~ (m Display), MonadIO m, GLContextK a) => MethodInfo GLContextGetDisplayMethodInfo a signature where
overloadedMethod _ = gLContextGetDisplay
-- method GLContext::get_forward_compatible
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_forward_compatible" gdk_gl_context_get_forward_compatible ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
IO CInt
gLContextGetForwardCompatible ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m Bool -- result
gLContextGetForwardCompatible _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_gl_context_get_forward_compatible _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data GLContextGetForwardCompatibleMethodInfo
instance (signature ~ (m Bool), MonadIO m, GLContextK a) => MethodInfo GLContextGetForwardCompatibleMethodInfo a signature where
overloadedMethod _ = gLContextGetForwardCompatible
-- XXX Could not generate method GLContext::get_required_version
-- Error was : Bad introspection data: "argument \"major\" is not of nullable type (TBasicType TInt32), but it is marked as such."
-- XXX: Dummy instance, since code generation failed.
-- Please file a bug at http://github.com/haskell-gi/haskell-gi.
data GLContextGetRequiredVersionMethodInfo
instance (p ~ (), o ~ MethodResolutionFailed "getRequiredVersion" GLContext) => MethodInfo GLContextGetRequiredVersionMethodInfo o p where
overloadedMethod _ = undefined
-- method GLContext::get_shared_context
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gdk" "GLContext"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_shared_context" gdk_gl_context_get_shared_context ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
IO (Ptr GLContext)
gLContextGetSharedContext ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m GLContext -- result
gLContextGetSharedContext _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_gl_context_get_shared_context _obj'
checkUnexpectedReturnNULL "gdk_gl_context_get_shared_context" result
result' <- (newObject GLContext) result
touchManagedPtr _obj
return result'
data GLContextGetSharedContextMethodInfo
instance (signature ~ (m GLContext), MonadIO m, GLContextK a) => MethodInfo GLContextGetSharedContextMethodInfo a signature where
overloadedMethod _ = gLContextGetSharedContext
-- method GLContext::get_version
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minor", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_version" gdk_gl_context_get_version ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
Ptr Int32 -> -- major : TBasicType TInt32
Ptr Int32 -> -- minor : TBasicType TInt32
IO ()
gLContextGetVersion ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m (Int32,Int32) -- result
gLContextGetVersion _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
major <- allocMem :: IO (Ptr Int32)
minor <- allocMem :: IO (Ptr Int32)
gdk_gl_context_get_version _obj' major minor
major' <- peek major
minor' <- peek minor
touchManagedPtr _obj
freeMem major
freeMem minor
return (major', minor')
data GLContextGetVersionMethodInfo
instance (signature ~ (m (Int32,Int32)), MonadIO m, GLContextK a) => MethodInfo GLContextGetVersionMethodInfo a signature where
overloadedMethod _ = gLContextGetVersion
-- method GLContext::get_window
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gdk" "Window"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_window" gdk_gl_context_get_window ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
IO (Ptr Window)
gLContextGetWindow ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m Window -- result
gLContextGetWindow _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_gl_context_get_window _obj'
checkUnexpectedReturnNULL "gdk_gl_context_get_window" result
result' <- (newObject Window) result
touchManagedPtr _obj
return result'
data GLContextGetWindowMethodInfo
instance (signature ~ (m Window), MonadIO m, GLContextK a) => MethodInfo GLContextGetWindowMethodInfo a signature where
overloadedMethod _ = gLContextGetWindow
-- method GLContext::make_current
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_make_current" gdk_gl_context_make_current ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
IO ()
gLContextMakeCurrent ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m () -- result
gLContextMakeCurrent _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gdk_gl_context_make_current _obj'
touchManagedPtr _obj
return ()
data GLContextMakeCurrentMethodInfo
instance (signature ~ (m ()), MonadIO m, GLContextK a) => MethodInfo GLContextMakeCurrentMethodInfo a signature where
overloadedMethod _ = gLContextMakeCurrent
-- method GLContext::realize
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "gdk_gl_context_realize" gdk_gl_context_realize ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
Ptr (Ptr GError) -> -- error
IO CInt
gLContextRealize ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> m () -- result
gLContextRealize _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ gdk_gl_context_realize _obj'
touchManagedPtr _obj
return ()
) (do
return ()
)
data GLContextRealizeMethodInfo
instance (signature ~ (m ()), MonadIO m, GLContextK a) => MethodInfo GLContextRealizeMethodInfo a signature where
overloadedMethod _ = gLContextRealize
-- method GLContext::set_debug_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_set_debug_enabled" gdk_gl_context_set_debug_enabled ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
CInt -> -- enabled : TBasicType TBoolean
IO ()
gLContextSetDebugEnabled ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> Bool -- enabled
-> m () -- result
gLContextSetDebugEnabled _obj enabled = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let enabled' = (fromIntegral . fromEnum) enabled
gdk_gl_context_set_debug_enabled _obj' enabled'
touchManagedPtr _obj
return ()
data GLContextSetDebugEnabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, GLContextK a) => MethodInfo GLContextSetDebugEnabledMethodInfo a signature where
overloadedMethod _ = gLContextSetDebugEnabled
-- method GLContext::set_forward_compatible
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_set_forward_compatible" gdk_gl_context_set_forward_compatible ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
CInt -> -- compatible : TBasicType TBoolean
IO ()
gLContextSetForwardCompatible ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> Bool -- compatible
-> m () -- result
gLContextSetForwardCompatible _obj compatible = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let compatible' = (fromIntegral . fromEnum) compatible
gdk_gl_context_set_forward_compatible _obj' compatible'
touchManagedPtr _obj
return ()
data GLContextSetForwardCompatibleMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, GLContextK a) => MethodInfo GLContextSetForwardCompatibleMethodInfo a signature where
overloadedMethod _ = gLContextSetForwardCompatible
-- method GLContext::set_required_version
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_set_required_version" gdk_gl_context_set_required_version ::
Ptr GLContext -> -- _obj : TInterface "Gdk" "GLContext"
Int32 -> -- major : TBasicType TInt32
Int32 -> -- minor : TBasicType TInt32
IO ()
gLContextSetRequiredVersion ::
(MonadIO m, GLContextK a) =>
a -- _obj
-> Int32 -- major
-> Int32 -- minor
-> m () -- result
gLContextSetRequiredVersion _obj major minor = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gdk_gl_context_set_required_version _obj' major minor
touchManagedPtr _obj
return ()
data GLContextSetRequiredVersionMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, GLContextK a) => MethodInfo GLContextSetRequiredVersionMethodInfo a signature where
overloadedMethod _ = gLContextSetRequiredVersion
-- method GLContext::clear_current
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_clear_current" gdk_gl_context_clear_current ::
IO ()
gLContextClearCurrent ::
(MonadIO m) =>
m () -- result
gLContextClearCurrent = liftIO $ do
gdk_gl_context_clear_current
return ()
-- method GLContext::get_current
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- returnType : TInterface "Gdk" "GLContext"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_gl_context_get_current" gdk_gl_context_get_current ::
IO (Ptr GLContext)
gLContextGetCurrent ::
(MonadIO m) =>
m GLContext -- result
gLContextGetCurrent = liftIO $ do
result <- gdk_gl_context_get_current
checkUnexpectedReturnNULL "gdk_gl_context_get_current" result
result' <- (newObject GLContext) result
return result'