{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstVideo.Structs.VideoOverlayComposition
(
VideoOverlayComposition(..) ,
#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.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.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 {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoFrame as GstVideo.VideoFrame
import {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoOverlayRectangle as GstVideo.VideoOverlayRectangle
newtype VideoOverlayComposition = VideoOverlayComposition (SP.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)
instance SP.ManagedPtrNewtype VideoOverlayComposition where
toManagedPtr :: VideoOverlayComposition -> ManagedPtr VideoOverlayComposition
toManagedPtr (VideoOverlayComposition ManagedPtr VideoOverlayComposition
p) = ManagedPtr VideoOverlayComposition
p
foreign import ccall "gst_video_overlay_composition_get_type" c_gst_video_overlay_composition_get_type ::
IO GType
type instance O.ParentTypes VideoOverlayComposition = '[]
instance O.HasParentTypes VideoOverlayComposition
instance B.Types.TypedObject VideoOverlayComposition where
glibType :: IO GType
glibType = IO GType
c_gst_video_overlay_composition_get_type
instance B.Types.GBoxed VideoOverlayComposition
instance B.GValue.IsGValue (Maybe VideoOverlayComposition) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_video_overlay_composition_get_type
gvalueSet_ :: Ptr GValue -> Maybe VideoOverlayComposition -> IO ()
gvalueSet_ Ptr GValue
gv Maybe VideoOverlayComposition
P.Nothing = Ptr GValue -> Ptr VideoOverlayComposition -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr VideoOverlayComposition
forall a. Ptr a
FP.nullPtr :: FP.Ptr VideoOverlayComposition)
gvalueSet_ Ptr GValue
gv (P.Just VideoOverlayComposition
obj) = VideoOverlayComposition
-> (Ptr VideoOverlayComposition -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr VideoOverlayComposition
obj (Ptr GValue -> Ptr VideoOverlayComposition -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe VideoOverlayComposition)
gvalueGet_ Ptr GValue
gv = do
Ptr VideoOverlayComposition
ptr <- Ptr GValue -> IO (Ptr VideoOverlayComposition)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr VideoOverlayComposition)
if Ptr VideoOverlayComposition
ptr Ptr VideoOverlayComposition -> Ptr VideoOverlayComposition -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr VideoOverlayComposition
forall a. Ptr a
FP.nullPtr
then VideoOverlayComposition -> Maybe VideoOverlayComposition
forall a. a -> Maybe a
P.Just (VideoOverlayComposition -> Maybe VideoOverlayComposition)
-> IO VideoOverlayComposition -> IO (Maybe VideoOverlayComposition)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr VideoOverlayComposition -> VideoOverlayComposition
VideoOverlayComposition Ptr VideoOverlayComposition
ptr
else Maybe VideoOverlayComposition -> IO (Maybe VideoOverlayComposition)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe VideoOverlayComposition
forall a. Maybe a
P.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) =>
Maybe (GstVideo.VideoOverlayRectangle.VideoOverlayRectangle)
-> m VideoOverlayComposition
videoOverlayCompositionNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe VideoOverlayRectangle -> m VideoOverlayComposition
videoOverlayCompositionNew Maybe 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
maybeRectangle <- case Maybe VideoOverlayRectangle
rectangle of
Maybe VideoOverlayRectangle
Nothing -> Ptr VideoOverlayRectangle -> IO (Ptr VideoOverlayRectangle)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr VideoOverlayRectangle
forall a. Ptr a
nullPtr
Just VideoOverlayRectangle
jRectangle -> do
Ptr VideoOverlayRectangle
jRectangle' <- VideoOverlayRectangle -> IO (Ptr VideoOverlayRectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoOverlayRectangle
jRectangle
Ptr VideoOverlayRectangle -> IO (Ptr VideoOverlayRectangle)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr VideoOverlayRectangle
jRectangle'
Ptr VideoOverlayComposition
result <- Ptr VideoOverlayRectangle -> IO (Ptr VideoOverlayComposition)
gst_video_overlay_composition_new Ptr VideoOverlayRectangle
maybeRectangle
Text -> Ptr VideoOverlayComposition -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"videoOverlayCompositionNew" Ptr VideoOverlayComposition
result
VideoOverlayComposition
result' <- ((ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr VideoOverlayComposition -> VideoOverlayComposition
VideoOverlayComposition) Ptr VideoOverlayComposition
result
Maybe VideoOverlayRectangle
-> (VideoOverlayRectangle -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe VideoOverlayRectangle
rectangle VideoOverlayRectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> VideoOverlayRectangle -> m ()
videoOverlayCompositionAddRectangle VideoOverlayComposition
comp 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.OverloadedMethod VideoOverlayCompositionAddRectangleMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionAddRectangle
instance O.OverloadedMethodInfo VideoOverlayCompositionAddRectangleMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionAddRectangle",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> VideoFrame -> m Bool
videoOverlayCompositionBlend VideoOverlayComposition
comp 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
/= CInt
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.OverloadedMethod VideoOverlayCompositionBlendMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionBlend
instance O.OverloadedMethodInfo VideoOverlayCompositionBlendMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionBlend",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> m VideoOverlayComposition
videoOverlayCompositionCopy 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 Text
"videoOverlayCompositionCopy" Ptr VideoOverlayComposition
result
VideoOverlayComposition
result' <- ((ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, GBoxed 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.OverloadedMethod VideoOverlayCompositionCopyMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionCopy
instance O.OverloadedMethodInfo VideoOverlayCompositionCopyMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> Word32 -> m VideoOverlayRectangle
videoOverlayCompositionGetRectangle VideoOverlayComposition
comp 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 Text
"videoOverlayCompositionGetRectangle" Ptr VideoOverlayRectangle
result
VideoOverlayRectangle
result' <- ((ManagedPtr VideoOverlayRectangle -> VideoOverlayRectangle)
-> Ptr VideoOverlayRectangle -> IO VideoOverlayRectangle
forall a.
(HasCallStack, GBoxed 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.OverloadedMethod VideoOverlayCompositionGetRectangleMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionGetRectangle
instance O.OverloadedMethodInfo VideoOverlayCompositionGetRectangleMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionGetRectangle",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> m Word32
videoOverlayCompositionGetSeqnum 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.OverloadedMethod VideoOverlayCompositionGetSeqnumMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionGetSeqnum
instance O.OverloadedMethodInfo VideoOverlayCompositionGetSeqnumMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionGetSeqnum",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> m VideoOverlayComposition
videoOverlayCompositionMakeWritable 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, GBoxed 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 Text
"videoOverlayCompositionMakeWritable" Ptr VideoOverlayComposition
result
VideoOverlayComposition
result' <- ((ManagedPtr VideoOverlayComposition -> VideoOverlayComposition)
-> Ptr VideoOverlayComposition -> IO VideoOverlayComposition
forall a.
(HasCallStack, GBoxed 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.OverloadedMethod VideoOverlayCompositionMakeWritableMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionMakeWritable
instance O.OverloadedMethodInfo VideoOverlayCompositionMakeWritableMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionMakeWritable",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
VideoOverlayComposition -> m Word32
videoOverlayCompositionNRectangles 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.OverloadedMethod VideoOverlayCompositionNRectanglesMethodInfo VideoOverlayComposition signature where
overloadedMethod = videoOverlayCompositionNRectangles
instance O.OverloadedMethodInfo VideoOverlayCompositionNRectanglesMethodInfo VideoOverlayComposition where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoOverlayComposition.videoOverlayCompositionNRectangles",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoOverlayComposition.html#v: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.OverloadedMethod 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
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveVideoOverlayCompositionMethod t VideoOverlayComposition, O.OverloadedMethod info VideoOverlayComposition p, R.HasField t VideoOverlayComposition p) => R.HasField t VideoOverlayComposition p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveVideoOverlayCompositionMethod t VideoOverlayComposition, O.OverloadedMethodInfo info VideoOverlayComposition) => OL.IsLabel t (O.MethodProxy info VideoOverlayComposition) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif