#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstVideo.Structs.VideoAffineTransformationMeta
(
VideoAffineTransformationMeta(..) ,
newZeroVideoAffineTransformationMeta ,
noVideoAffineTransformationMeta ,
#if ENABLE_OVERLOADING
VideoAffineTransformationMetaApplyMatrixMethodInfo,
#endif
videoAffineTransformationMetaApplyMatrix,
videoAffineTransformationMetaGetInfo ,
getVideoAffineTransformationMetaMeta ,
#if ENABLE_OVERLOADING
videoAffineTransformationMeta_meta ,
#endif
) 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.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.Gst.Structs.Meta as Gst.Meta
import qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
newtype VideoAffineTransformationMeta = VideoAffineTransformationMeta (ManagedPtr VideoAffineTransformationMeta)
instance WrappedPtr VideoAffineTransformationMeta where
wrappedPtrCalloc = callocBytes 80
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr VideoAffineTransformationMeta)
wrappedPtrFree = Just ptr_to_g_free
newZeroVideoAffineTransformationMeta :: MonadIO m => m VideoAffineTransformationMeta
newZeroVideoAffineTransformationMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr VideoAffineTransformationMeta
instance tag ~ 'AttrSet => Constructible VideoAffineTransformationMeta tag where
new _ attrs = do
o <- newZeroVideoAffineTransformationMeta
GI.Attributes.set o attrs
return o
noVideoAffineTransformationMeta :: Maybe VideoAffineTransformationMeta
noVideoAffineTransformationMeta = Nothing
getVideoAffineTransformationMetaMeta :: MonadIO m => VideoAffineTransformationMeta -> m Gst.Meta.Meta
getVideoAffineTransformationMetaMeta s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 0 :: (Ptr Gst.Meta.Meta)
val' <- (newPtr Gst.Meta.Meta) val
return val'
#if ENABLE_OVERLOADING
data VideoAffineTransformationMetaMetaFieldInfo
instance AttrInfo VideoAffineTransformationMetaMetaFieldInfo where
type AttrAllowedOps VideoAffineTransformationMetaMetaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint VideoAffineTransformationMetaMetaFieldInfo = (~) (Ptr Gst.Meta.Meta)
type AttrBaseTypeConstraint VideoAffineTransformationMetaMetaFieldInfo = (~) VideoAffineTransformationMeta
type AttrGetType VideoAffineTransformationMetaMetaFieldInfo = Gst.Meta.Meta
type AttrLabel VideoAffineTransformationMetaMetaFieldInfo = "meta"
type AttrOrigin VideoAffineTransformationMetaMetaFieldInfo = VideoAffineTransformationMeta
attrGet _ = getVideoAffineTransformationMetaMeta
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
videoAffineTransformationMeta_meta :: AttrLabelProxy "meta"
videoAffineTransformationMeta_meta = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList VideoAffineTransformationMeta
type instance O.AttributeList VideoAffineTransformationMeta = VideoAffineTransformationMetaAttributeList
type VideoAffineTransformationMetaAttributeList = ('[ '("meta", VideoAffineTransformationMetaMetaFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_video_affine_transformation_meta_apply_matrix" gst_video_affine_transformation_meta_apply_matrix ::
Ptr VideoAffineTransformationMeta ->
CFloat ->
IO ()
videoAffineTransformationMetaApplyMatrix ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoAffineTransformationMeta
-> Float
-> m ()
videoAffineTransformationMetaApplyMatrix meta matrix = liftIO $ do
meta' <- unsafeManagedPtrGetPtr meta
let matrix' = realToFrac matrix
gst_video_affine_transformation_meta_apply_matrix meta' matrix'
touchManagedPtr meta
return ()
#if ENABLE_OVERLOADING
data VideoAffineTransformationMetaApplyMatrixMethodInfo
instance (signature ~ (Float -> m ()), MonadIO m) => O.MethodInfo VideoAffineTransformationMetaApplyMatrixMethodInfo VideoAffineTransformationMeta signature where
overloadedMethod _ = videoAffineTransformationMetaApplyMatrix
#endif
foreign import ccall "gst_video_affine_transformation_meta_get_info" gst_video_affine_transformation_meta_get_info ::
IO (Ptr Gst.MetaInfo.MetaInfo)
videoAffineTransformationMetaGetInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.MetaInfo.MetaInfo
videoAffineTransformationMetaGetInfo = liftIO $ do
result <- gst_video_affine_transformation_meta_get_info
checkUnexpectedReturnNULL "videoAffineTransformationMetaGetInfo" result
result' <- (newPtr Gst.MetaInfo.MetaInfo) result
return result'
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type family ResolveVideoAffineTransformationMetaMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoAffineTransformationMetaMethod "applyMatrix" o = VideoAffineTransformationMetaApplyMatrixMethodInfo
ResolveVideoAffineTransformationMetaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoAffineTransformationMetaMethod t VideoAffineTransformationMeta, O.MethodInfo info VideoAffineTransformationMeta p) => OL.IsLabel t (VideoAffineTransformationMeta -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif