{-# LINE 2 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
module Graphics.UI.Gtk.Misc.GLArea (
GLArea,
GLAreaClass,
castToGLArea, gTypeGLArea,
toGLArea,
glAreaNew,
glAreaGetContext,
glAreaMakeCurrent,
glAreaQueueRender,
glAreaAttachBuffers,
glAreaSetAutoRender,
glAreaGetAutoRender,
glAreaSetHasAlpha,
glAreaGetHasAlpha,
glAreaSetHasDepthBuffer,
glAreaGetHasDepthBuffer,
glAreaSetHasStencilBuffer,
glAreaGetHasStencilBuffer,
glAreaGetRequiredVersion,
glAreaSetRequiredVersion,
glAreaGetError,
glAreaAutoRender,
glAreaContext,
glAreaHasAlpha,
glAreaHasDepthBuffer,
glAreaHasStencilBuffer,
glAreaResize,
glAreaRender
) where
import Control.Monad (liftM)
import Control.Monad.Trans ( liftIO )
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import System.Glib.GError
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Gdk.GLContext
import Graphics.UI.Gtk.Types
{-# LINE 120 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 121 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
{-# LINE 123 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
glAreaNew :: IO GLArea
glAreaNew :: IO GLArea
glAreaNew =
(ForeignPtr GLArea -> GLArea, FinalizerPtr GLArea)
-> IO (Ptr GLArea) -> IO GLArea
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewObject (ForeignPtr GLArea -> GLArea, FinalizerPtr GLArea)
forall {a}. (ForeignPtr GLArea -> GLArea, FinalizerPtr a)
mkGLArea (IO (Ptr GLArea) -> IO GLArea) -> IO (Ptr GLArea) -> IO GLArea
forall a b. (a -> b) -> a -> b
$
(Ptr Widget -> Ptr GLArea) -> IO (Ptr Widget) -> IO (Ptr GLArea)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr Widget -> Ptr GLArea
forall a b. Ptr a -> Ptr b
castPtr :: Ptr Widget -> Ptr GLArea) (IO (Ptr Widget) -> IO (Ptr GLArea))
-> IO (Ptr Widget) -> IO (Ptr GLArea)
forall a b. (a -> b) -> a -> b
$
IO (Ptr Widget)
gtk_gl_area_new
{-# LINE 135 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
glAreaGetContext :: GLAreaClass self => self
-> IO (Maybe GLContext)
glAreaGetContext :: forall self. GLAreaClass self => self -> IO (Maybe GLContext)
glAreaGetContext 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
$
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea
-> (Ptr GLArea -> IO (Ptr GLContext)) -> IO (Ptr GLContext)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO (Ptr GLContext)) -> IO (Ptr GLContext))
-> (Ptr GLArea -> IO (Ptr GLContext)) -> IO (Ptr GLContext)
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO (Ptr GLContext)
gtk_gl_area_get_context Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaMakeCurrent :: GLAreaClass self => self -> IO ()
glAreaMakeCurrent :: forall self. GLAreaClass self => self -> IO ()
glAreaMakeCurrent self
self =
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO ()
gtk_gl_area_make_current Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaQueueRender :: GLAreaClass self => self -> IO ()
glAreaQueueRender :: forall self. GLAreaClass self => self -> IO ()
glAreaQueueRender self
self =
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO ()
gtk_gl_area_queue_render Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaAttachBuffers :: GLAreaClass self => self -> IO ()
glAreaAttachBuffers :: forall self. GLAreaClass self => self -> IO ()
glAreaAttachBuffers self
self =
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO ()
gtk_gl_area_attach_buffers Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaGetError :: GLAreaClass self => self -> IO (Maybe GError)
glAreaGetError :: forall self. GLAreaClass self => self -> IO (Maybe GError)
glAreaGetError self
self = do
Ptr ()
err <- (\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO (Ptr ())) -> IO (Ptr ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO (Ptr ())) -> IO (Ptr ()))
-> (Ptr GLArea -> IO (Ptr ())) -> IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO (Ptr ())
gtk_gl_area_get_error Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
if Ptr ()
err Ptr () -> Ptr () -> Bool
forall a. Eq a => a -> a -> Bool
== Ptr ()
forall a. Ptr a
nullPtr
then Maybe GError -> IO (Maybe GError)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GError
forall a. Maybe a
Nothing
else (GError -> Maybe GError) -> IO GError -> IO (Maybe GError)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM GError -> Maybe GError
forall a. a -> Maybe a
Just (Ptr GError -> IO GError
forall a. Storable a => Ptr a -> IO a
peek (Ptr GError -> IO GError) -> Ptr GError -> IO GError
forall a b. (a -> b) -> a -> b
$ Ptr () -> Ptr GError
forall a b. Ptr a -> Ptr b
castPtr Ptr ()
err)
glAreaSetHasAlpha :: GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasAlpha :: forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasAlpha self
self Bool
hasAlpha =
(\(GLArea ForeignPtr GLArea
arg1) CInt
arg2 -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> CInt -> IO ()
gtk_gl_area_set_has_alpha Ptr GLArea
argPtr1 CInt
arg2)
{-# LINE 205 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
(toGLArea self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
hasAlpha)
glAreaGetHasAlpha :: GLAreaClass self => self -> IO Bool
glAreaGetHasAlpha :: forall self. GLAreaClass self => self -> IO Bool
glAreaGetHasAlpha 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
$
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO CInt) -> IO CInt)
-> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO CInt
gtk_gl_area_get_has_alpha Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaSetHasDepthBuffer :: GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasDepthBuffer :: forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasDepthBuffer self
self Bool
hasDepthBuffer =
(\(GLArea ForeignPtr GLArea
arg1) CInt
arg2 -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> CInt -> IO ()
gtk_gl_area_set_has_depth_buffer Ptr GLArea
argPtr1 CInt
arg2)
{-# LINE 223 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
(toGLArea self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
hasDepthBuffer)
glAreaGetHasDepthBuffer :: GLAreaClass self => self -> IO Bool
glAreaGetHasDepthBuffer :: forall self. GLAreaClass self => self -> IO Bool
glAreaGetHasDepthBuffer 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
$
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO CInt) -> IO CInt)
-> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO CInt
gtk_gl_area_get_has_depth_buffer Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaSetHasStencilBuffer :: GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasStencilBuffer :: forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasStencilBuffer self
self Bool
hasStencilBuffer =
(\(GLArea ForeignPtr GLArea
arg1) CInt
arg2 -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> CInt -> IO ()
gtk_gl_area_set_has_stencil_buffer Ptr GLArea
argPtr1 CInt
arg2)
{-# LINE 241 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
(toGLArea self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
hasStencilBuffer)
glAreaGetHasStencilBuffer :: GLAreaClass self => self -> IO Bool
glAreaGetHasStencilBuffer :: forall self. GLAreaClass self => self -> IO Bool
glAreaGetHasStencilBuffer 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
$
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO CInt) -> IO CInt)
-> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO CInt
gtk_gl_area_get_has_stencil_buffer Ptr GLArea
argPtr1) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea self
self)
glAreaSetAutoRender :: GLAreaClass self => self -> Bool -> IO ()
glAreaSetAutoRender :: forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetAutoRender self
self Bool
autoRender =
(\(GLArea ForeignPtr GLArea
arg1) CInt
arg2 -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> CInt -> IO ()
gtk_gl_area_set_auto_render Ptr GLArea
argPtr1 CInt
arg2)
{-# LINE 264 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
(toGLArea self)
(Bool -> CInt
forall a. Num a => Bool -> a
fromBool Bool
autoRender)
glAreaGetAutoRender :: GLAreaClass self => self -> IO Bool
glAreaGetAutoRender :: forall self. GLAreaClass self => self -> IO Bool
glAreaGetAutoRender 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
$
(\(GLArea ForeignPtr GLArea
arg1) -> ForeignPtr GLArea -> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO CInt) -> IO CInt)
-> (Ptr GLArea -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> IO CInt
gtk_gl_area_get_auto_render Ptr GLArea
argPtr1)
{-# LINE 273 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
(toGLArea self)
glAreaGetRequiredVersion :: GLAreaClass self => self -> IO (Int, Int)
glAreaGetRequiredVersion :: forall self. GLAreaClass self => self -> IO (Int, Int)
glAreaGetRequiredVersion 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
(\(GLArea ForeignPtr GLArea
arg1) Ptr CInt
arg2 Ptr CInt
arg3 -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> Ptr CInt -> Ptr CInt -> IO ()
gtk_gl_area_get_required_version Ptr GLArea
argPtr1 Ptr CInt
arg2 Ptr CInt
arg3) (self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea 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)
glAreaSetRequiredVersion :: GLAreaClass self => self -> Int -> Int -> IO ()
glAreaSetRequiredVersion :: forall self. GLAreaClass self => self -> Int -> Int -> IO ()
glAreaSetRequiredVersion self
self Int
major Int
minor =
(\(GLArea ForeignPtr GLArea
arg1) CInt
arg2 CInt
arg3 -> ForeignPtr GLArea -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr GLArea
arg1 ((Ptr GLArea -> IO ()) -> IO ()) -> (Ptr GLArea -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr GLArea
argPtr1 ->Ptr GLArea -> CInt -> CInt -> IO ()
gtk_gl_area_set_required_version Ptr GLArea
argPtr1 CInt
arg2 CInt
arg3)
{-# LINE 294 "./Graphics/UI/Gtk/Misc/GLArea.chs" #-}
(self -> GLArea
forall o. GLAreaClass o => o -> GLArea
toGLArea 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)
glAreaAutoRender :: GLAreaClass self => Attr self Bool
glAreaAutoRender :: forall self. GLAreaClass self => Attr self Bool
glAreaAutoRender = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. GLAreaClass self => self -> IO Bool
glAreaGetAutoRender
self -> Bool -> IO ()
forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetAutoRender
glAreaContext :: GLAreaClass self => ReadAttr self (Maybe GLContext)
glAreaContext :: forall self. GLAreaClass self => ReadAttr self (Maybe GLContext)
glAreaContext = (self -> IO (Maybe GLContext)) -> ReadAttr self (Maybe GLContext)
forall o a. (o -> IO a) -> ReadAttr o a
readAttr self -> IO (Maybe GLContext)
forall self. GLAreaClass self => self -> IO (Maybe GLContext)
glAreaGetContext
glAreaHasAlpha :: GLAreaClass self => Attr self Bool
glAreaHasAlpha :: forall self. GLAreaClass self => Attr self Bool
glAreaHasAlpha = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. GLAreaClass self => self -> IO Bool
glAreaGetHasAlpha
self -> Bool -> IO ()
forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasAlpha
glAreaHasDepthBuffer :: GLAreaClass self => Attr self Bool
glAreaHasDepthBuffer :: forall self. GLAreaClass self => Attr self Bool
glAreaHasDepthBuffer = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. GLAreaClass self => self -> IO Bool
glAreaGetHasDepthBuffer
self -> Bool -> IO ()
forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasDepthBuffer
glAreaHasStencilBuffer :: GLAreaClass self => Attr self Bool
glAreaHasStencilBuffer :: forall self. GLAreaClass self => Attr self Bool
glAreaHasStencilBuffer = (self -> IO Bool)
-> (self -> Bool -> IO ()) -> ReadWriteAttr self Bool Bool
forall o a b.
(o -> IO a) -> (o -> b -> IO ()) -> ReadWriteAttr o a b
newAttr
self -> IO Bool
forall self. GLAreaClass self => self -> IO Bool
glAreaGetHasStencilBuffer
self -> Bool -> IO ()
forall self. GLAreaClass self => self -> Bool -> IO ()
glAreaSetHasStencilBuffer
glAreaResize :: GLAreaClass glac => Signal glac (Int -> Int -> IO ())
glAreaResize :: forall glac. GLAreaClass glac => Signal glac (Int -> Int -> IO ())
glAreaResize = (Bool -> glac -> (Int -> Int -> IO ()) -> IO (ConnectId glac))
-> Signal glac (Int -> Int -> IO ())
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (SignalName
-> Bool -> glac -> (Int -> Int -> IO ()) -> IO (ConnectId glac)
forall obj.
GObjectClass obj =>
SignalName
-> Bool -> obj -> (Int -> Int -> IO ()) -> IO (ConnectId obj)
connect_INT_INT__NONE SignalName
"resize")
glAreaRender :: GLAreaClass glac => Signal glac (Maybe GLContext -> IO (Bool))
glAreaRender :: forall glac.
GLAreaClass glac =>
Signal glac (Maybe GLContext -> IO Bool)
glAreaRender = (Bool
-> glac -> (Maybe GLContext -> IO Bool) -> IO (ConnectId glac))
-> Signal glac (Maybe GLContext -> IO Bool)
forall object handler.
(Bool -> object -> handler -> IO (ConnectId object))
-> Signal object handler
Signal (SignalName
-> (Ptr GLContext -> IO (Maybe GLContext))
-> Bool
-> glac
-> (Maybe GLContext -> IO Bool)
-> IO (ConnectId glac)
forall obj a' a.
GObjectClass obj =>
SignalName
-> (Ptr a' -> IO a)
-> Bool
-> obj
-> (a -> IO Bool)
-> IO (ConnectId obj)
connect_BOXED__BOOL SignalName
"render" Ptr GLContext -> IO (Maybe GLContext)
unwrapGLContextPtr)
unwrapGLContextPtr :: Ptr GLContext -> IO (Maybe GLContext)
unwrapGLContextPtr :: Ptr GLContext -> IO (Maybe GLContext)
unwrapGLContextPtr Ptr GLContext
ptr = 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
makeNewGObject (ForeignPtr GLContext -> GLContext, FinalizerPtr GLContext)
forall {a}. (ForeignPtr GLContext -> GLContext, FinalizerPtr a)
mkGLContext) (Ptr GLContext -> IO (Ptr GLContext)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr GLContext
ptr)
foreign import ccall unsafe "gtk_gl_area_new"
gtk_gl_area_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_gl_area_get_context"
gtk_gl_area_get_context :: ((Ptr GLArea) -> (IO (Ptr GLContext)))
foreign import ccall safe "gtk_gl_area_make_current"
gtk_gl_area_make_current :: ((Ptr GLArea) -> (IO ()))
foreign import ccall safe "gtk_gl_area_queue_render"
gtk_gl_area_queue_render :: ((Ptr GLArea) -> (IO ()))
foreign import ccall safe "gtk_gl_area_attach_buffers"
gtk_gl_area_attach_buffers :: ((Ptr GLArea) -> (IO ()))
foreign import ccall safe "gtk_gl_area_get_error"
gtk_gl_area_get_error :: ((Ptr GLArea) -> (IO (Ptr ())))
foreign import ccall safe "gtk_gl_area_set_has_alpha"
gtk_gl_area_set_has_alpha :: ((Ptr GLArea) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_gl_area_get_has_alpha"
gtk_gl_area_get_has_alpha :: ((Ptr GLArea) -> (IO CInt))
foreign import ccall safe "gtk_gl_area_set_has_depth_buffer"
gtk_gl_area_set_has_depth_buffer :: ((Ptr GLArea) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_gl_area_get_has_depth_buffer"
gtk_gl_area_get_has_depth_buffer :: ((Ptr GLArea) -> (IO CInt))
foreign import ccall safe "gtk_gl_area_set_has_stencil_buffer"
gtk_gl_area_set_has_stencil_buffer :: ((Ptr GLArea) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_gl_area_get_has_stencil_buffer"
gtk_gl_area_get_has_stencil_buffer :: ((Ptr GLArea) -> (IO CInt))
foreign import ccall safe "gtk_gl_area_set_auto_render"
gtk_gl_area_set_auto_render :: ((Ptr GLArea) -> (CInt -> (IO ())))
foreign import ccall unsafe "gtk_gl_area_get_auto_render"
gtk_gl_area_get_auto_render :: ((Ptr GLArea) -> (IO CInt))
foreign import ccall safe "gtk_gl_area_get_required_version"
gtk_gl_area_get_required_version :: ((Ptr GLArea) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "gtk_gl_area_set_required_version"
gtk_gl_area_set_required_version :: ((Ptr GLArea) -> (CInt -> (CInt -> (IO ()))))