{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstVideo.Structs.VideoOverlayComposition
(
VideoOverlayComposition(..) ,
noVideoOverlayComposition ,
#if defined(ENABLE_OVERLOADING)
ResolveVideoOverlayCompositionMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionAddRectangleMethodInfo,
#endif
videoOverlayCompositionAddRectangle ,
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionBlendMethodInfo ,
#endif
videoOverlayCompositionBlend ,
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionCopyMethodInfo ,
#endif
videoOverlayCompositionCopy ,
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionGetRectangleMethodInfo,
#endif
videoOverlayCompositionGetRectangle ,
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionGetSeqnumMethodInfo,
#endif
videoOverlayCompositionGetSeqnum ,
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionMakeWritableMethodInfo,
#endif
videoOverlayCompositionMakeWritable ,
#if defined(ENABLE_OVERLOADING)
VideoOverlayCompositionNRectanglesMethodInfo,
#endif
videoOverlayCompositionNRectangles ,
videoOverlayCompositionNew ,
) 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 {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoFrame as GstVideo.VideoFrame
import {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoOverlayRectangle as GstVideo.VideoOverlayRectangle
newtype VideoOverlayComposition = VideoOverlayComposition (ManagedPtr VideoOverlayComposition)
deriving (VideoOverlayComposition -> VideoOverlayComposition -> Bool
(VideoOverlayComposition -> VideoOverlayComposition -> Bool)
-> (VideoOverlayComposition -> VideoOverlayComposition -> Bool)
-> Eq VideoOverlayComposition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VideoOverlayComposition -> VideoOverlayComposition -> Bool
$c/= :: VideoOverlayComposition -> VideoOverlayComposition -> Bool
== :: VideoOverlayComposition -> VideoOverlayComposition -> Bool
$c== :: VideoOverlayComposition -> VideoOverlayComposition -> Bool
Eq)
foreign import ccall "gst_video_overlay_composition_get_type" c_gst_video_overlay_composition_get_type ::
IO GType
instance BoxedObject VideoOverlayComposition where
boxedType :: VideoOverlayComposition -> IO GType
boxedType _ = IO GType
c_gst_video_overlay_composition_get_type
instance B.GValue.IsGValue VideoOverlayComposition where
toGValue :: VideoOverlayComposition -> IO GValue
toGValue o :: VideoOverlayComposition
o = do
GType
gtype <- IO GType
c_gst_video_overlay_composition_get_type
VideoOverlayComposition
-> (Ptr VideoOverlayComposition -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr VideoOverlayComposition
o (GType
-> (GValue -> Ptr VideoOverlayComposition -> IO ())
-> Ptr VideoOverlayComposition
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr VideoOverlayComposition -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO VideoOverlayComposition
fromGValue gv :: GValue
gv = do
Ptr VideoOverlayComposition
ptr <- GValue -> IO (Ptr VideoOverlayComposition)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr VideoOverlayComposition)
(ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr VideoOverlayComposition -> VideoOverlayComposition
VideoOverlayComposition Ptr VideoOverlayComposition
ptr
noVideoOverlayComposition :: Maybe VideoOverlayComposition
noVideoOverlayComposition :: Maybe VideoOverlayComposition
noVideoOverlayComposition = Maybe VideoOverlayComposition
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList VideoOverlayComposition
type instance O.AttributeList VideoOverlayComposition = VideoOverlayCompositionAttributeList
type VideoOverlayCompositionAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "gst_video_overlay_composition_new" gst_video_overlay_composition_new ::
Ptr GstVideo.VideoOverlayRectangle.VideoOverlayRectangle ->
IO (Ptr VideoOverlayComposition)
videoOverlayCompositionNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
GstVideo.VideoOverlayRectangle.VideoOverlayRectangle
-> m VideoOverlayComposition
videoOverlayCompositionNew :: VideoOverlayRectangle -> m VideoOverlayComposition
videoOverlayCompositionNew rectangle :: VideoOverlayRectangle
rectangle = IO VideoOverlayComposition -> m VideoOverlayComposition
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO VideoOverlayComposition -> m VideoOverlayComposition)
-> IO VideoOverlayComposition -> m VideoOverlayComposition
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayRectangle
rectangle' <- VideoOverlayRectangle -> IO (Ptr VideoOverlayRectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayRectangle
rectangle
Ptr VideoOverlayComposition
result <- Ptr VideoOverlayRectangle -> IO (Ptr VideoOverlayComposition)
gst_video_overlay_composition_new Ptr VideoOverlayRectangle
rectangle'
Text -> Ptr VideoOverlayComposition -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "videoOverlayCompositionNew" Ptr VideoOverlayComposition
result
VideoOverlayComposition
result' <- ((ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr VideoOverlayComposition -> VideoOverlayComposition
VideoOverlayComposition) Ptr VideoOverlayComposition
result
VideoOverlayRectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayRectangle
rectangle
VideoOverlayComposition -> IO VideoOverlayComposition
forall (m :: * -> *) a. Monad m => a -> m a
return VideoOverlayComposition
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_video_overlay_composition_add_rectangle" gst_video_overlay_composition_add_rectangle ::
Ptr VideoOverlayComposition ->
Ptr GstVideo.VideoOverlayRectangle.VideoOverlayRectangle ->
IO ()
videoOverlayCompositionAddRectangle ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> GstVideo.VideoOverlayRectangle.VideoOverlayRectangle
-> m ()
videoOverlayCompositionAddRectangle :: VideoOverlayComposition -> VideoOverlayRectangle -> m ()
videoOverlayCompositionAddRectangle comp :: VideoOverlayComposition
comp rectangle :: VideoOverlayRectangle
rectangle = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayComposition
comp
Ptr VideoOverlayRectangle
rectangle' <- VideoOverlayRectangle -> IO (Ptr VideoOverlayRectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayRectangle
rectangle
Ptr VideoOverlayComposition -> Ptr VideoOverlayRectangle -> IO ()
gst_video_overlay_composition_add_rectangle Ptr VideoOverlayComposition
comp' Ptr VideoOverlayRectangle
rectangle'
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
VideoOverlayRectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayRectangle
rectangle
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionAddRectangleMethodInfo
instance (signature ~ (GstVideo.VideoOverlayRectangle.VideoOverlayRectangle -> m ()), MonadIO m) => O.MethodInfo VideoOverlayCompositionAddRectangleMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionAddRectangle
#endif
foreign import ccall "gst_video_overlay_composition_blend" gst_video_overlay_composition_blend ::
Ptr VideoOverlayComposition ->
Ptr GstVideo.VideoFrame.VideoFrame ->
IO CInt
videoOverlayCompositionBlend ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> GstVideo.VideoFrame.VideoFrame
-> m Bool
videoOverlayCompositionBlend :: VideoOverlayComposition -> VideoFrame -> m Bool
videoOverlayCompositionBlend comp :: VideoOverlayComposition
comp videoBuf :: VideoFrame
videoBuf = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayComposition
comp
Ptr VideoFrame
videoBuf' <- VideoFrame -> IO (Ptr VideoFrame)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoFrame
videoBuf
CInt
result <- Ptr VideoOverlayComposition -> Ptr VideoFrame -> IO CInt
gst_video_overlay_composition_blend Ptr VideoOverlayComposition
comp' Ptr VideoFrame
videoBuf'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
VideoFrame -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoFrame
videoBuf
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionBlendMethodInfo
instance (signature ~ (GstVideo.VideoFrame.VideoFrame -> m Bool), MonadIO m) => O.MethodInfo VideoOverlayCompositionBlendMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionBlend
#endif
foreign import ccall "gst_video_overlay_composition_copy" gst_video_overlay_composition_copy ::
Ptr VideoOverlayComposition ->
IO (Ptr VideoOverlayComposition)
videoOverlayCompositionCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> m VideoOverlayComposition
videoOverlayCompositionCopy :: VideoOverlayComposition -> m VideoOverlayComposition
videoOverlayCompositionCopy comp :: VideoOverlayComposition
comp = IO VideoOverlayComposition -> m VideoOverlayComposition
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO VideoOverlayComposition -> m VideoOverlayComposition)
-> IO VideoOverlayComposition -> m VideoOverlayComposition
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayComposition
comp
Ptr VideoOverlayComposition
result <- Ptr VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
gst_video_overlay_composition_copy Ptr VideoOverlayComposition
comp'
Text -> Ptr VideoOverlayComposition -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "videoOverlayCompositionCopy" Ptr VideoOverlayComposition
result
VideoOverlayComposition
result' <- ((ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr VideoOverlayComposition -> VideoOverlayComposition
VideoOverlayComposition) Ptr VideoOverlayComposition
result
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
VideoOverlayComposition -> IO VideoOverlayComposition
forall (m :: * -> *) a. Monad m => a -> m a
return VideoOverlayComposition
result'
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionCopyMethodInfo
instance (signature ~ (m VideoOverlayComposition), MonadIO m) => O.MethodInfo VideoOverlayCompositionCopyMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionCopy
#endif
foreign import ccall "gst_video_overlay_composition_get_rectangle" gst_video_overlay_composition_get_rectangle ::
Ptr VideoOverlayComposition ->
Word32 ->
IO (Ptr GstVideo.VideoOverlayRectangle.VideoOverlayRectangle)
videoOverlayCompositionGetRectangle ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> Word32
-> m GstVideo.VideoOverlayRectangle.VideoOverlayRectangle
videoOverlayCompositionGetRectangle :: VideoOverlayComposition -> Word32 -> m VideoOverlayRectangle
videoOverlayCompositionGetRectangle comp :: VideoOverlayComposition
comp n :: Word32
n = IO VideoOverlayRectangle -> m VideoOverlayRectangle
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO VideoOverlayRectangle -> m VideoOverlayRectangle)
-> IO VideoOverlayRectangle -> m VideoOverlayRectangle
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayComposition
comp
Ptr VideoOverlayRectangle
result <- Ptr VideoOverlayComposition
-> Word32 -> IO (Ptr VideoOverlayRectangle)
gst_video_overlay_composition_get_rectangle Ptr VideoOverlayComposition
comp' Word32
n
Text -> Ptr VideoOverlayRectangle -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "videoOverlayCompositionGetRectangle" Ptr VideoOverlayRectangle
result
VideoOverlayRectangle
result' <- ((ManagedPtr VideoOverlayRectangle -> VideoOverlayRectangle)
-> Ptr VideoOverlayRectangle -> IO VideoOverlayRectangle
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr VideoOverlayRectangle -> VideoOverlayRectangle
GstVideo.VideoOverlayRectangle.VideoOverlayRectangle) Ptr VideoOverlayRectangle
result
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
VideoOverlayRectangle -> IO VideoOverlayRectangle
forall (m :: * -> *) a. Monad m => a -> m a
return VideoOverlayRectangle
result'
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionGetRectangleMethodInfo
instance (signature ~ (Word32 -> m GstVideo.VideoOverlayRectangle.VideoOverlayRectangle), MonadIO m) => O.MethodInfo VideoOverlayCompositionGetRectangleMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionGetRectangle
#endif
foreign import ccall "gst_video_overlay_composition_get_seqnum" gst_video_overlay_composition_get_seqnum ::
Ptr VideoOverlayComposition ->
IO Word32
videoOverlayCompositionGetSeqnum ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> m Word32
videoOverlayCompositionGetSeqnum :: VideoOverlayComposition -> m Word32
videoOverlayCompositionGetSeqnum comp :: VideoOverlayComposition
comp = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayComposition
comp
Word32
result <- Ptr VideoOverlayComposition -> IO Word32
gst_video_overlay_composition_get_seqnum Ptr VideoOverlayComposition
comp'
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionGetSeqnumMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo VideoOverlayCompositionGetSeqnumMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionGetSeqnum
#endif
foreign import ccall "gst_video_overlay_composition_make_writable" gst_video_overlay_composition_make_writable ::
Ptr VideoOverlayComposition ->
IO (Ptr VideoOverlayComposition)
videoOverlayCompositionMakeWritable ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> m VideoOverlayComposition
videoOverlayCompositionMakeWritable :: VideoOverlayComposition -> m VideoOverlayComposition
videoOverlayCompositionMakeWritable comp :: VideoOverlayComposition
comp = IO VideoOverlayComposition -> m VideoOverlayComposition
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO VideoOverlayComposition -> m VideoOverlayComposition)
-> IO VideoOverlayComposition -> m VideoOverlayComposition
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, BoxedObject a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed VideoOverlayComposition
comp
Ptr VideoOverlayComposition
result <- Ptr VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
gst_video_overlay_composition_make_writable Ptr VideoOverlayComposition
comp'
Text -> Ptr VideoOverlayComposition -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "videoOverlayCompositionMakeWritable" Ptr VideoOverlayComposition
result
VideoOverlayComposition
result' <- ((ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr VideoOverlayComposition -> VideoOverlayComposition
VideoOverlayComposition) Ptr VideoOverlayComposition
result
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
VideoOverlayComposition -> IO VideoOverlayComposition
forall (m :: * -> *) a. Monad m => a -> m a
return VideoOverlayComposition
result'
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionMakeWritableMethodInfo
instance (signature ~ (m VideoOverlayComposition), MonadIO m) => O.MethodInfo VideoOverlayCompositionMakeWritableMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionMakeWritable
#endif
foreign import ccall "gst_video_overlay_composition_n_rectangles" gst_video_overlay_composition_n_rectangles ::
Ptr VideoOverlayComposition ->
IO Word32
videoOverlayCompositionNRectangles ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoOverlayComposition
-> m Word32
videoOverlayCompositionNRectangles :: VideoOverlayComposition -> m Word32
videoOverlayCompositionNRectangles comp :: VideoOverlayComposition
comp = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoOverlayComposition
comp' <- VideoOverlayComposition -> IO (Ptr VideoOverlayComposition)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayComposition
comp
Word32
result <- Ptr VideoOverlayComposition -> IO Word32
gst_video_overlay_composition_n_rectangles Ptr VideoOverlayComposition
comp'
VideoOverlayComposition -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoOverlayComposition
comp
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data VideoOverlayCompositionNRectanglesMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo VideoOverlayCompositionNRectanglesMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionNRectangles
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveVideoOverlayCompositionMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoOverlayCompositionMethod "addRectangle" o = VideoOverlayCompositionAddRectangleMethodInfo
ResolveVideoOverlayCompositionMethod "blend" o = VideoOverlayCompositionBlendMethodInfo
ResolveVideoOverlayCompositionMethod "copy" o = VideoOverlayCompositionCopyMethodInfo
ResolveVideoOverlayCompositionMethod "makeWritable" o = VideoOverlayCompositionMakeWritableMethodInfo
ResolveVideoOverlayCompositionMethod "nRectangles" o = VideoOverlayCompositionNRectanglesMethodInfo
ResolveVideoOverlayCompositionMethod "getRectangle" o = VideoOverlayCompositionGetRectangleMethodInfo
ResolveVideoOverlayCompositionMethod "getSeqnum" o = VideoOverlayCompositionGetSeqnumMethodInfo
ResolveVideoOverlayCompositionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoOverlayCompositionMethod t VideoOverlayComposition, O.MethodInfo info VideoOverlayComposition p) => OL.IsLabel t (VideoOverlayComposition -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif