{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gsk.Objects.GLRenderer
(
GLRenderer(..) ,
IsGLRenderer ,
toGLRenderer ,
noGLRenderer ,
#if defined(ENABLE_OVERLOADING)
ResolveGLRendererMethod ,
#endif
gLRendererNew ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gsk.Objects.Renderer as Gsk.Renderer
newtype GLRenderer = GLRenderer (ManagedPtr GLRenderer)
deriving (GLRenderer -> GLRenderer -> Bool
(GLRenderer -> GLRenderer -> Bool)
-> (GLRenderer -> GLRenderer -> Bool) -> Eq GLRenderer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GLRenderer -> GLRenderer -> Bool
$c/= :: GLRenderer -> GLRenderer -> Bool
== :: GLRenderer -> GLRenderer -> Bool
$c== :: GLRenderer -> GLRenderer -> Bool
Eq)
foreign import ccall "gsk_gl_renderer_get_type"
c_gsk_gl_renderer_get_type :: IO GType
instance GObject GLRenderer where
gobjectType :: IO GType
gobjectType = IO GType
c_gsk_gl_renderer_get_type
instance B.GValue.IsGValue GLRenderer where
toGValue :: GLRenderer -> IO GValue
toGValue o :: GLRenderer
o = do
GType
gtype <- IO GType
c_gsk_gl_renderer_get_type
GLRenderer -> (Ptr GLRenderer -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GLRenderer
o (GType
-> (GValue -> Ptr GLRenderer -> IO ())
-> Ptr GLRenderer
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr GLRenderer -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO GLRenderer
fromGValue gv :: GValue
gv = do
Ptr GLRenderer
ptr <- GValue -> IO (Ptr GLRenderer)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr GLRenderer)
(ManagedPtr GLRenderer -> GLRenderer)
-> Ptr GLRenderer -> IO GLRenderer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr GLRenderer -> GLRenderer
GLRenderer Ptr GLRenderer
ptr
class (GObject o, O.IsDescendantOf GLRenderer o) => IsGLRenderer o
instance (GObject o, O.IsDescendantOf GLRenderer o) => IsGLRenderer o
instance O.HasParentTypes GLRenderer
type instance O.ParentTypes GLRenderer = '[Gsk.Renderer.Renderer, GObject.Object.Object]
toGLRenderer :: (MonadIO m, IsGLRenderer o) => o -> m GLRenderer
toGLRenderer :: o -> m GLRenderer
toGLRenderer = IO GLRenderer -> m GLRenderer
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLRenderer -> m GLRenderer)
-> (o -> IO GLRenderer) -> o -> m GLRenderer
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr GLRenderer -> GLRenderer) -> o -> IO GLRenderer
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr GLRenderer -> GLRenderer
GLRenderer
noGLRenderer :: Maybe GLRenderer
noGLRenderer :: Maybe GLRenderer
noGLRenderer = Maybe GLRenderer
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveGLRendererMethod (t :: Symbol) (o :: *) :: * where
ResolveGLRendererMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveGLRendererMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveGLRendererMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveGLRendererMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveGLRendererMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveGLRendererMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveGLRendererMethod "isRealized" o = Gsk.Renderer.RendererIsRealizedMethodInfo
ResolveGLRendererMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveGLRendererMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveGLRendererMethod "realize" o = Gsk.Renderer.RendererRealizeMethodInfo
ResolveGLRendererMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveGLRendererMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveGLRendererMethod "render" o = Gsk.Renderer.RendererRenderMethodInfo
ResolveGLRendererMethod "renderTexture" o = Gsk.Renderer.RendererRenderTextureMethodInfo
ResolveGLRendererMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveGLRendererMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveGLRendererMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveGLRendererMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveGLRendererMethod "unrealize" o = Gsk.Renderer.RendererUnrealizeMethodInfo
ResolveGLRendererMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveGLRendererMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveGLRendererMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveGLRendererMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveGLRendererMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveGLRendererMethod "getSurface" o = Gsk.Renderer.RendererGetSurfaceMethodInfo
ResolveGLRendererMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveGLRendererMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveGLRendererMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveGLRendererMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGLRendererMethod t GLRenderer, O.MethodInfo info GLRenderer p) => OL.IsLabel t (GLRenderer -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList GLRenderer
type instance O.AttributeList GLRenderer = GLRendererAttributeList
type GLRendererAttributeList = ('[ '("realized", Gsk.Renderer.RendererRealizedPropertyInfo), '("surface", Gsk.Renderer.RendererSurfacePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList GLRenderer = GLRendererSignalList
type GLRendererSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gsk_gl_renderer_new" gsk_gl_renderer_new ::
IO (Ptr GLRenderer)
gLRendererNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m GLRenderer
gLRendererNew :: m GLRenderer
gLRendererNew = IO GLRenderer -> m GLRenderer
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GLRenderer -> m GLRenderer) -> IO GLRenderer -> m GLRenderer
forall a b. (a -> b) -> a -> b
$ do
Ptr GLRenderer
result <- IO (Ptr GLRenderer)
gsk_gl_renderer_new
Text -> Ptr GLRenderer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "gLRendererNew" Ptr GLRenderer
result
GLRenderer
result' <- ((ManagedPtr GLRenderer -> GLRenderer)
-> Ptr GLRenderer -> IO GLRenderer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr GLRenderer -> GLRenderer
GLRenderer) Ptr GLRenderer
result
GLRenderer -> IO GLRenderer
forall (m :: * -> *) a. Monad m => a -> m a
return GLRenderer
result'
#if defined(ENABLE_OVERLOADING)
#endif