gi-gstvideo-0.1.6.13: GI/GstVideo/Interfaces/VideoOverlay.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.GstVideo.Interfaces.VideoOverlay
(
-- * Exported types
VideoOverlay(..) ,
noVideoOverlay ,
VideoOverlayK ,
-- * Methods
-- ** videoOverlayExpose
VideoOverlayExposeMethodInfo ,
videoOverlayExpose ,
-- ** videoOverlayGotWindowHandle
VideoOverlayGotWindowHandleMethodInfo ,
videoOverlayGotWindowHandle ,
-- ** videoOverlayHandleEvents
VideoOverlayHandleEventsMethodInfo ,
videoOverlayHandleEvents ,
-- ** videoOverlayPrepareWindowHandle
VideoOverlayPrepareWindowHandleMethodInfo,
videoOverlayPrepareWindowHandle ,
-- ** videoOverlaySetRenderRectangle
VideoOverlaySetRenderRectangleMethodInfo,
videoOverlaySetRenderRectangle ,
-- ** videoOverlaySetWindowHandle
VideoOverlaySetWindowHandleMethodInfo ,
videoOverlaySetWindowHandle ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.GstVideo.Types
import GI.GstVideo.Callbacks
-- interface VideoOverlay
newtype VideoOverlay = VideoOverlay (ForeignPtr VideoOverlay)
noVideoOverlay :: Maybe VideoOverlay
noVideoOverlay = Nothing
type family ResolveVideoOverlayMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoOverlayMethod "expose" o = VideoOverlayExposeMethodInfo
ResolveVideoOverlayMethod "gotWindowHandle" o = VideoOverlayGotWindowHandleMethodInfo
ResolveVideoOverlayMethod "handleEvents" o = VideoOverlayHandleEventsMethodInfo
ResolveVideoOverlayMethod "prepareWindowHandle" o = VideoOverlayPrepareWindowHandleMethodInfo
ResolveVideoOverlayMethod "setRenderRectangle" o = VideoOverlaySetRenderRectangleMethodInfo
ResolveVideoOverlayMethod "setWindowHandle" o = VideoOverlaySetWindowHandleMethodInfo
ResolveVideoOverlayMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveVideoOverlayMethod t VideoOverlay, MethodInfo info VideoOverlay p) => IsLabelProxy t (VideoOverlay -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveVideoOverlayMethod t VideoOverlay, MethodInfo info VideoOverlay p) => IsLabel t (VideoOverlay -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
type instance AttributeList VideoOverlay = VideoOverlayAttributeList
type VideoOverlayAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList VideoOverlay = VideoOverlaySignalList
type VideoOverlaySignalList = ('[ ] :: [(Symbol, *)])
class ForeignPtrNewtype a => VideoOverlayK a
instance (ForeignPtrNewtype o, IsDescendantOf VideoOverlay o) => VideoOverlayK o
type instance ParentTypes VideoOverlay = VideoOverlayParentTypes
type VideoOverlayParentTypes = '[]
-- method VideoOverlay::expose
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstVideo" "VideoOverlay", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_overlay_expose" gst_video_overlay_expose ::
Ptr VideoOverlay -> -- _obj : TInterface "GstVideo" "VideoOverlay"
IO ()
videoOverlayExpose ::
(MonadIO m, VideoOverlayK a) =>
a -- _obj
-> m () -- result
videoOverlayExpose _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_video_overlay_expose _obj'
touchManagedPtr _obj
return ()
data VideoOverlayExposeMethodInfo
instance (signature ~ (m ()), MonadIO m, VideoOverlayK a) => MethodInfo VideoOverlayExposeMethodInfo a signature where
overloadedMethod _ = videoOverlayExpose
-- method VideoOverlay::got_window_handle
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstVideo" "VideoOverlay", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handle", argType = TBasicType TUIntPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_overlay_got_window_handle" gst_video_overlay_got_window_handle ::
Ptr VideoOverlay -> -- _obj : TInterface "GstVideo" "VideoOverlay"
CUIntPtr -> -- handle : TBasicType TUIntPtr
IO ()
videoOverlayGotWindowHandle ::
(MonadIO m, VideoOverlayK a) =>
a -- _obj
-> CUIntPtr -- handle
-> m () -- result
videoOverlayGotWindowHandle _obj handle = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_video_overlay_got_window_handle _obj' handle
touchManagedPtr _obj
return ()
data VideoOverlayGotWindowHandleMethodInfo
instance (signature ~ (CUIntPtr -> m ()), MonadIO m, VideoOverlayK a) => MethodInfo VideoOverlayGotWindowHandleMethodInfo a signature where
overloadedMethod _ = videoOverlayGotWindowHandle
-- method VideoOverlay::handle_events
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstVideo" "VideoOverlay", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handle_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_overlay_handle_events" gst_video_overlay_handle_events ::
Ptr VideoOverlay -> -- _obj : TInterface "GstVideo" "VideoOverlay"
CInt -> -- handle_events : TBasicType TBoolean
IO ()
videoOverlayHandleEvents ::
(MonadIO m, VideoOverlayK a) =>
a -- _obj
-> Bool -- handleEvents
-> m () -- result
videoOverlayHandleEvents _obj handleEvents = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let handleEvents' = (fromIntegral . fromEnum) handleEvents
gst_video_overlay_handle_events _obj' handleEvents'
touchManagedPtr _obj
return ()
data VideoOverlayHandleEventsMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, VideoOverlayK a) => MethodInfo VideoOverlayHandleEventsMethodInfo a signature where
overloadedMethod _ = videoOverlayHandleEvents
-- method VideoOverlay::prepare_window_handle
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstVideo" "VideoOverlay", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_overlay_prepare_window_handle" gst_video_overlay_prepare_window_handle ::
Ptr VideoOverlay -> -- _obj : TInterface "GstVideo" "VideoOverlay"
IO ()
videoOverlayPrepareWindowHandle ::
(MonadIO m, VideoOverlayK a) =>
a -- _obj
-> m () -- result
videoOverlayPrepareWindowHandle _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_video_overlay_prepare_window_handle _obj'
touchManagedPtr _obj
return ()
data VideoOverlayPrepareWindowHandleMethodInfo
instance (signature ~ (m ()), MonadIO m, VideoOverlayK a) => MethodInfo VideoOverlayPrepareWindowHandleMethodInfo a signature where
overloadedMethod _ = videoOverlayPrepareWindowHandle
-- method VideoOverlay::set_render_rectangle
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstVideo" "VideoOverlay", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_overlay_set_render_rectangle" gst_video_overlay_set_render_rectangle ::
Ptr VideoOverlay -> -- _obj : TInterface "GstVideo" "VideoOverlay"
Int32 -> -- x : TBasicType TInt32
Int32 -> -- y : TBasicType TInt32
Int32 -> -- width : TBasicType TInt32
Int32 -> -- height : TBasicType TInt32
IO CInt
videoOverlaySetRenderRectangle ::
(MonadIO m, VideoOverlayK a) =>
a -- _obj
-> Int32 -- x
-> Int32 -- y
-> Int32 -- width
-> Int32 -- height
-> m Bool -- result
videoOverlaySetRenderRectangle _obj x y width height = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_video_overlay_set_render_rectangle _obj' x y width height
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data VideoOverlaySetRenderRectangleMethodInfo
instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m Bool), MonadIO m, VideoOverlayK a) => MethodInfo VideoOverlaySetRenderRectangleMethodInfo a signature where
overloadedMethod _ = videoOverlaySetRenderRectangle
-- method VideoOverlay::set_window_handle
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstVideo" "VideoOverlay", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handle", argType = TBasicType TUIntPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_overlay_set_window_handle" gst_video_overlay_set_window_handle ::
Ptr VideoOverlay -> -- _obj : TInterface "GstVideo" "VideoOverlay"
CUIntPtr -> -- handle : TBasicType TUIntPtr
IO ()
videoOverlaySetWindowHandle ::
(MonadIO m, VideoOverlayK a) =>
a -- _obj
-> CUIntPtr -- handle
-> m () -- result
videoOverlaySetWindowHandle _obj handle = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_video_overlay_set_window_handle _obj' handle
touchManagedPtr _obj
return ()
data VideoOverlaySetWindowHandleMethodInfo
instance (signature ~ (CUIntPtr -> m ()), MonadIO m, VideoOverlayK a) => MethodInfo VideoOverlaySetWindowHandleMethodInfo a signature where
overloadedMethod _ = videoOverlaySetWindowHandle