{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstVideo.Structs.VideoCropMeta
(
VideoCropMeta(..) ,
newZeroVideoCropMeta ,
#if defined(ENABLE_OVERLOADING)
ResolveVideoCropMetaMethod ,
#endif
videoCropMetaGetInfo ,
getVideoCropMetaHeight ,
setVideoCropMetaHeight ,
#if defined(ENABLE_OVERLOADING)
videoCropMeta_height ,
#endif
getVideoCropMetaMeta ,
#if defined(ENABLE_OVERLOADING)
videoCropMeta_meta ,
#endif
getVideoCropMetaWidth ,
setVideoCropMetaWidth ,
#if defined(ENABLE_OVERLOADING)
videoCropMeta_width ,
#endif
getVideoCropMetaX ,
setVideoCropMetaX ,
#if defined(ENABLE_OVERLOADING)
videoCropMeta_x ,
#endif
getVideoCropMetaY ,
setVideoCropMetaY ,
#if defined(ENABLE_OVERLOADING)
videoCropMeta_y ,
#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.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 qualified GI.Gst.Structs.Meta as Gst.Meta
import qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
newtype VideoCropMeta = VideoCropMeta (SP.ManagedPtr VideoCropMeta)
deriving (VideoCropMeta -> VideoCropMeta -> Bool
(VideoCropMeta -> VideoCropMeta -> Bool)
-> (VideoCropMeta -> VideoCropMeta -> Bool) -> Eq VideoCropMeta
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VideoCropMeta -> VideoCropMeta -> Bool
$c/= :: VideoCropMeta -> VideoCropMeta -> Bool
== :: VideoCropMeta -> VideoCropMeta -> Bool
$c== :: VideoCropMeta -> VideoCropMeta -> Bool
Eq)
instance SP.ManagedPtrNewtype VideoCropMeta where
toManagedPtr :: VideoCropMeta -> ManagedPtr VideoCropMeta
toManagedPtr (VideoCropMeta ManagedPtr VideoCropMeta
p) = ManagedPtr VideoCropMeta
p
instance BoxedPtr VideoCropMeta where
boxedPtrCopy :: VideoCropMeta -> IO VideoCropMeta
boxedPtrCopy = \VideoCropMeta
p -> VideoCropMeta
-> (Ptr VideoCropMeta -> IO VideoCropMeta) -> IO VideoCropMeta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr VideoCropMeta
p (Int -> Ptr VideoCropMeta -> IO (Ptr VideoCropMeta)
forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
32 (Ptr VideoCropMeta -> IO (Ptr VideoCropMeta))
-> (Ptr VideoCropMeta -> IO VideoCropMeta)
-> Ptr VideoCropMeta
-> IO VideoCropMeta
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr VideoCropMeta -> VideoCropMeta)
-> Ptr VideoCropMeta -> IO VideoCropMeta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr VideoCropMeta -> VideoCropMeta
VideoCropMeta)
boxedPtrFree :: VideoCropMeta -> IO ()
boxedPtrFree = \VideoCropMeta
x -> VideoCropMeta -> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr VideoCropMeta
x Ptr VideoCropMeta -> IO ()
forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr VideoCropMeta where
boxedPtrCalloc :: IO (Ptr VideoCropMeta)
boxedPtrCalloc = Int -> IO (Ptr VideoCropMeta)
forall a. Int -> IO (Ptr a)
callocBytes Int
32
newZeroVideoCropMeta :: MonadIO m => m VideoCropMeta
newZeroVideoCropMeta :: forall (m :: * -> *). MonadIO m => m VideoCropMeta
newZeroVideoCropMeta = IO VideoCropMeta -> m VideoCropMeta
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO VideoCropMeta -> m VideoCropMeta)
-> IO VideoCropMeta -> m VideoCropMeta
forall a b. (a -> b) -> a -> b
$ IO (Ptr VideoCropMeta)
forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc IO (Ptr VideoCropMeta)
-> (Ptr VideoCropMeta -> IO VideoCropMeta) -> IO VideoCropMeta
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr VideoCropMeta -> VideoCropMeta)
-> Ptr VideoCropMeta -> IO VideoCropMeta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr VideoCropMeta -> VideoCropMeta
VideoCropMeta
instance tag ~ 'AttrSet => Constructible VideoCropMeta tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr VideoCropMeta -> VideoCropMeta)
-> [AttrOp VideoCropMeta tag] -> m VideoCropMeta
new ManagedPtr VideoCropMeta -> VideoCropMeta
_ [AttrOp VideoCropMeta tag]
attrs = do
VideoCropMeta
o <- m VideoCropMeta
forall (m :: * -> *). MonadIO m => m VideoCropMeta
newZeroVideoCropMeta
VideoCropMeta -> [AttrOp VideoCropMeta 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set VideoCropMeta
o [AttrOp VideoCropMeta tag]
[AttrOp VideoCropMeta 'AttrSet]
attrs
VideoCropMeta -> m VideoCropMeta
forall (m :: * -> *) a. Monad m => a -> m a
return VideoCropMeta
o
getVideoCropMetaMeta :: MonadIO m => VideoCropMeta -> m Gst.Meta.Meta
getVideoCropMetaMeta :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> m Meta
getVideoCropMetaMeta VideoCropMeta
s = IO Meta -> m Meta
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Meta -> m Meta) -> IO Meta -> m Meta
forall a b. (a -> b) -> a -> b
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO Meta) -> IO Meta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO Meta) -> IO Meta)
-> (Ptr VideoCropMeta -> IO Meta) -> IO Meta
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
let val :: Ptr Meta
val = Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Meta
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: (Ptr Gst.Meta.Meta)
Meta
val' <- ((ManagedPtr Meta -> Meta) -> Ptr Meta -> IO Meta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr Meta -> Meta
Gst.Meta.Meta) Ptr Meta
val
Meta -> IO Meta
forall (m :: * -> *) a. Monad m => a -> m a
return Meta
val'
#if defined(ENABLE_OVERLOADING)
data VideoCropMetaMetaFieldInfo
instance AttrInfo VideoCropMetaMetaFieldInfo where
type AttrBaseTypeConstraint VideoCropMetaMetaFieldInfo = (~) VideoCropMeta
type AttrAllowedOps VideoCropMetaMetaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint VideoCropMetaMetaFieldInfo = (~) (Ptr Gst.Meta.Meta)
type AttrTransferTypeConstraint VideoCropMetaMetaFieldInfo = (~)(Ptr Gst.Meta.Meta)
type AttrTransferType VideoCropMetaMetaFieldInfo = (Ptr Gst.Meta.Meta)
type AttrGetType VideoCropMetaMetaFieldInfo = Gst.Meta.Meta
type AttrLabel VideoCropMetaMetaFieldInfo = "meta"
type AttrOrigin VideoCropMetaMetaFieldInfo = VideoCropMeta
attrGet = getVideoCropMetaMeta
attrSet = undefined
attrConstruct = undefined
attrClear = undefined
attrTransfer = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoCropMeta.meta"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoCropMeta.html#g:attr:meta"
})
videoCropMeta_meta :: AttrLabelProxy "meta"
videoCropMeta_meta = AttrLabelProxy
#endif
getVideoCropMetaX :: MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaX :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaX VideoCropMeta
s = 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
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO Word32) -> IO Word32)
-> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setVideoCropMetaX :: MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaX :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaX VideoCropMeta
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO ()) -> IO ())
-> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data VideoCropMetaXFieldInfo
instance AttrInfo VideoCropMetaXFieldInfo where
type AttrBaseTypeConstraint VideoCropMetaXFieldInfo = (~) VideoCropMeta
type AttrAllowedOps VideoCropMetaXFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoCropMetaXFieldInfo = (~) Word32
type AttrTransferTypeConstraint VideoCropMetaXFieldInfo = (~)Word32
type AttrTransferType VideoCropMetaXFieldInfo = Word32
type AttrGetType VideoCropMetaXFieldInfo = Word32
type AttrLabel VideoCropMetaXFieldInfo = "x"
type AttrOrigin VideoCropMetaXFieldInfo = VideoCropMeta
attrGet = getVideoCropMetaX
attrSet = setVideoCropMetaX
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoCropMeta.x"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoCropMeta.html#g:attr:x"
})
videoCropMeta_x :: AttrLabelProxy "x"
videoCropMeta_x = AttrLabelProxy
#endif
getVideoCropMetaY :: MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaY :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaY VideoCropMeta
s = 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
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO Word32) -> IO Word32)
-> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setVideoCropMetaY :: MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaY :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaY VideoCropMeta
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO ()) -> IO ())
-> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data VideoCropMetaYFieldInfo
instance AttrInfo VideoCropMetaYFieldInfo where
type AttrBaseTypeConstraint VideoCropMetaYFieldInfo = (~) VideoCropMeta
type AttrAllowedOps VideoCropMetaYFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoCropMetaYFieldInfo = (~) Word32
type AttrTransferTypeConstraint VideoCropMetaYFieldInfo = (~)Word32
type AttrTransferType VideoCropMetaYFieldInfo = Word32
type AttrGetType VideoCropMetaYFieldInfo = Word32
type AttrLabel VideoCropMetaYFieldInfo = "y"
type AttrOrigin VideoCropMetaYFieldInfo = VideoCropMeta
attrGet = getVideoCropMetaY
attrSet = setVideoCropMetaY
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoCropMeta.y"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoCropMeta.html#g:attr:y"
})
videoCropMeta_y :: AttrLabelProxy "y"
videoCropMeta_y = AttrLabelProxy
#endif
getVideoCropMetaWidth :: MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaWidth :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaWidth VideoCropMeta
s = 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
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO Word32) -> IO Word32)
-> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setVideoCropMetaWidth :: MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaWidth :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaWidth VideoCropMeta
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO ()) -> IO ())
-> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data VideoCropMetaWidthFieldInfo
instance AttrInfo VideoCropMetaWidthFieldInfo where
type AttrBaseTypeConstraint VideoCropMetaWidthFieldInfo = (~) VideoCropMeta
type AttrAllowedOps VideoCropMetaWidthFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoCropMetaWidthFieldInfo = (~) Word32
type AttrTransferTypeConstraint VideoCropMetaWidthFieldInfo = (~)Word32
type AttrTransferType VideoCropMetaWidthFieldInfo = Word32
type AttrGetType VideoCropMetaWidthFieldInfo = Word32
type AttrLabel VideoCropMetaWidthFieldInfo = "width"
type AttrOrigin VideoCropMetaWidthFieldInfo = VideoCropMeta
attrGet = getVideoCropMetaWidth
attrSet = setVideoCropMetaWidth
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoCropMeta.width"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoCropMeta.html#g:attr:width"
})
videoCropMeta_width :: AttrLabelProxy "width"
videoCropMeta_width = AttrLabelProxy
#endif
getVideoCropMetaHeight :: MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaHeight :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> m Word32
getVideoCropMetaHeight VideoCropMeta
s = 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
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO Word32) -> IO Word32)
-> (Ptr VideoCropMeta -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setVideoCropMetaHeight :: MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaHeight :: forall (m :: * -> *). MonadIO m => VideoCropMeta -> Word32 -> m ()
setVideoCropMetaHeight VideoCropMeta
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ VideoCropMeta -> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr VideoCropMeta
s ((Ptr VideoCropMeta -> IO ()) -> IO ())
-> (Ptr VideoCropMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr VideoCropMeta
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr VideoCropMeta
ptr Ptr VideoCropMeta -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data VideoCropMetaHeightFieldInfo
instance AttrInfo VideoCropMetaHeightFieldInfo where
type AttrBaseTypeConstraint VideoCropMetaHeightFieldInfo = (~) VideoCropMeta
type AttrAllowedOps VideoCropMetaHeightFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoCropMetaHeightFieldInfo = (~) Word32
type AttrTransferTypeConstraint VideoCropMetaHeightFieldInfo = (~)Word32
type AttrTransferType VideoCropMetaHeightFieldInfo = Word32
type AttrGetType VideoCropMetaHeightFieldInfo = Word32
type AttrLabel VideoCropMetaHeightFieldInfo = "height"
type AttrOrigin VideoCropMetaHeightFieldInfo = VideoCropMeta
attrGet = getVideoCropMetaHeight
attrSet = setVideoCropMetaHeight
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Structs.VideoCropMeta.height"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.25/docs/GI-GstVideo-Structs-VideoCropMeta.html#g:attr:height"
})
videoCropMeta_height :: AttrLabelProxy "height"
videoCropMeta_height = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList VideoCropMeta
type instance O.AttributeList VideoCropMeta = VideoCropMetaAttributeList
type VideoCropMetaAttributeList = ('[ '("meta", VideoCropMetaMetaFieldInfo), '("x", VideoCropMetaXFieldInfo), '("y", VideoCropMetaYFieldInfo), '("width", VideoCropMetaWidthFieldInfo), '("height", VideoCropMetaHeightFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_video_crop_meta_get_info" gst_video_crop_meta_get_info ::
IO (Ptr Gst.MetaInfo.MetaInfo)
videoCropMetaGetInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.MetaInfo.MetaInfo
videoCropMetaGetInfo :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m MetaInfo
videoCropMetaGetInfo = IO MetaInfo -> m MetaInfo
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO MetaInfo -> m MetaInfo) -> IO MetaInfo -> m MetaInfo
forall a b. (a -> b) -> a -> b
$ do
Ptr MetaInfo
result <- IO (Ptr MetaInfo)
gst_video_crop_meta_get_info
Text -> Ptr MetaInfo -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"videoCropMetaGetInfo" Ptr MetaInfo
result
MetaInfo
result' <- ((ManagedPtr MetaInfo -> MetaInfo) -> Ptr MetaInfo -> IO MetaInfo
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr MetaInfo -> MetaInfo
Gst.MetaInfo.MetaInfo) Ptr MetaInfo
result
MetaInfo -> IO MetaInfo
forall (m :: * -> *) a. Monad m => a -> m a
return MetaInfo
result'
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveVideoCropMetaMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoCropMetaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoCropMetaMethod t VideoCropMeta, O.OverloadedMethod info VideoCropMeta p) => OL.IsLabel t (VideoCropMeta -> 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 ~ ResolveVideoCropMetaMethod t VideoCropMeta, O.OverloadedMethod info VideoCropMeta p, R.HasField t VideoCropMeta p) => R.HasField t VideoCropMeta p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveVideoCropMetaMethod t VideoCropMeta, O.OverloadedMethodInfo info VideoCropMeta) => OL.IsLabel t (O.MethodProxy info VideoCropMeta) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif