{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) Extra buffer metadata describing an image region of interest -} module GI.GstVideo.Structs.VideoRegionOfInterestMeta ( -- * Exported types VideoRegionOfInterestMeta(..) , newZeroVideoRegionOfInterestMeta , noVideoRegionOfInterestMeta , -- * Methods -- ** videoRegionOfInterestMetaGetInfo videoRegionOfInterestMetaGetInfo , -- * Properties -- ** H videoRegionOfInterestMetaReadH , -- ** Id videoRegionOfInterestMetaReadId , -- ** Meta videoRegionOfInterestMetaReadMeta , -- ** ParentId videoRegionOfInterestMetaReadParentId , -- ** RoiType videoRegionOfInterestMetaReadRoiType , -- ** W videoRegionOfInterestMetaReadW , -- ** X videoRegionOfInterestMetaReadX , -- ** Y videoRegionOfInterestMetaReadY , ) 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 import qualified GI.Gst as Gst newtype VideoRegionOfInterestMeta = VideoRegionOfInterestMeta (ForeignPtr VideoRegionOfInterestMeta) -- | Construct a `VideoRegionOfInterestMeta` struct initialized to zero. newZeroVideoRegionOfInterestMeta :: MonadIO m => m VideoRegionOfInterestMeta newZeroVideoRegionOfInterestMeta = liftIO $ callocBytes 48 >>= wrapPtr VideoRegionOfInterestMeta noVideoRegionOfInterestMeta :: Maybe VideoRegionOfInterestMeta noVideoRegionOfInterestMeta = Nothing videoRegionOfInterestMetaReadMeta :: VideoRegionOfInterestMeta -> IO Gst.Meta videoRegionOfInterestMetaReadMeta s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Meta) val' <- (newPtr 16 Gst.Meta) val return val' videoRegionOfInterestMetaReadRoiType :: VideoRegionOfInterestMeta -> IO Word32 videoRegionOfInterestMetaReadRoiType s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Word32 return val videoRegionOfInterestMetaReadId :: VideoRegionOfInterestMeta -> IO Int32 videoRegionOfInterestMetaReadId s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 20) :: IO Int32 return val videoRegionOfInterestMetaReadParentId :: VideoRegionOfInterestMeta -> IO Int32 videoRegionOfInterestMetaReadParentId s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO Int32 return val videoRegionOfInterestMetaReadX :: VideoRegionOfInterestMeta -> IO Word32 videoRegionOfInterestMetaReadX s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 28) :: IO Word32 return val videoRegionOfInterestMetaReadY :: VideoRegionOfInterestMeta -> IO Word32 videoRegionOfInterestMetaReadY s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 32) :: IO Word32 return val videoRegionOfInterestMetaReadW :: VideoRegionOfInterestMeta -> IO Word32 videoRegionOfInterestMetaReadW s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 36) :: IO Word32 return val videoRegionOfInterestMetaReadH :: VideoRegionOfInterestMeta -> IO Word32 videoRegionOfInterestMetaReadH s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 40) :: IO Word32 return val -- method VideoRegionOfInterestMeta::get_info -- method type : MemberFunction -- Args : [] -- Lengths : [] -- returnType : TInterface "Gst" "MetaInfo" -- throws : False -- Skip return : False foreign import ccall "gst_video_region_of_interest_meta_get_info" gst_video_region_of_interest_meta_get_info :: IO (Ptr Gst.MetaInfo) videoRegionOfInterestMetaGetInfo :: (MonadIO m) => m Gst.MetaInfo -- result videoRegionOfInterestMetaGetInfo = liftIO $ do result <- gst_video_region_of_interest_meta_get_info checkUnexpectedReturnNULL "gst_video_region_of_interest_meta_get_info" result result' <- (newPtr 80 Gst.MetaInfo) result return result' type family ResolveVideoRegionOfInterestMetaMethod (t :: Symbol) (o :: *) :: * where ResolveVideoRegionOfInterestMetaMethod l o = MethodResolutionFailed l o instance (info ~ ResolveVideoRegionOfInterestMetaMethod t VideoRegionOfInterestMeta, MethodInfo info VideoRegionOfInterestMeta p) => IsLabelProxy t (VideoRegionOfInterestMeta -> p) where fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info) #if MIN_VERSION_base(4,9,0) instance (info ~ ResolveVideoRegionOfInterestMetaMethod t VideoRegionOfInterestMeta, MethodInfo info VideoRegionOfInterestMeta p) => IsLabel t (VideoRegionOfInterestMeta -> p) where fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info) #endif