{-# 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 ,
#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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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 Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
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 GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gsk.Objects.Renderer as Gsk.Renderer
newtype GLRenderer = GLRenderer (SP.ManagedPtr GLRenderer)
deriving (GLRenderer -> GLRenderer -> Bool
(GLRenderer -> GLRenderer -> Bool)
-> (GLRenderer -> GLRenderer -> Bool) -> Eq GLRenderer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GLRenderer -> GLRenderer -> Bool
== :: GLRenderer -> GLRenderer -> Bool
$c/= :: GLRenderer -> GLRenderer -> Bool
/= :: GLRenderer -> GLRenderer -> Bool
Eq)
instance SP.ManagedPtrNewtype GLRenderer where
toManagedPtr :: GLRenderer -> ManagedPtr GLRenderer
toManagedPtr (GLRenderer ManagedPtr GLRenderer
p) = ManagedPtr GLRenderer
p
foreign import ccall "gsk_gl_renderer_get_type"
c_gsk_gl_renderer_get_type :: IO B.Types.GType
instance B.Types.TypedObject GLRenderer where
glibType :: IO GType
glibType = IO GType
c_gsk_gl_renderer_get_type
instance B.Types.GObject GLRenderer
class (SP.GObject o, O.IsDescendantOf GLRenderer o) => IsGLRenderer o
instance (SP.GObject o, O.IsDescendantOf GLRenderer o) => IsGLRenderer o
instance O.HasParentTypes GLRenderer
type instance O.ParentTypes GLRenderer = '[Gsk.Renderer.Renderer, GObject.Object.Object]
toGLRenderer :: (MIO.MonadIO m, IsGLRenderer o) => o -> m GLRenderer
toGLRenderer :: forall (m :: * -> *) o.
(MonadIO m, IsGLRenderer o) =>
o -> m GLRenderer
toGLRenderer = IO GLRenderer -> m GLRenderer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr GLRenderer -> GLRenderer
GLRenderer
instance B.GValue.IsGValue (Maybe GLRenderer) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gsk_gl_renderer_get_type
gvalueSet_ :: Ptr GValue -> Maybe GLRenderer -> IO ()
gvalueSet_ Ptr GValue
gv Maybe GLRenderer
P.Nothing = Ptr GValue -> Ptr GLRenderer -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr GLRenderer
forall a. Ptr a
FP.nullPtr :: FP.Ptr GLRenderer)
gvalueSet_ Ptr GValue
gv (P.Just GLRenderer
obj) = GLRenderer -> (Ptr GLRenderer -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GLRenderer
obj (Ptr GValue -> Ptr GLRenderer -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe GLRenderer)
gvalueGet_ Ptr GValue
gv = do
Ptr GLRenderer
ptr <- Ptr GValue -> IO (Ptr GLRenderer)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr GLRenderer)
if Ptr GLRenderer
ptr Ptr GLRenderer -> Ptr GLRenderer -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr GLRenderer
forall a. Ptr a
FP.nullPtr
then GLRenderer -> Maybe GLRenderer
forall a. a -> Maybe a
P.Just (GLRenderer -> Maybe GLRenderer)
-> IO GLRenderer -> IO (Maybe GLRenderer)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (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
else Maybe GLRenderer -> IO (Maybe GLRenderer)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GLRenderer
forall a. Maybe a
P.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.OverloadedMethod 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
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveGLRendererMethod t GLRenderer, O.OverloadedMethod info GLRenderer p, R.HasField t GLRenderer p) => R.HasField t GLRenderer p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveGLRendererMethod t GLRenderer, O.OverloadedMethodInfo info GLRenderer) => OL.IsLabel t (O.MethodProxy info GLRenderer) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#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 :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m GLRenderer
gLRendererNew = IO GLRenderer -> m GLRenderer
forall a. IO a -> m a
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 Text
"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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return GLRenderer
result'
#if defined(ENABLE_OVERLOADING)
#endif