#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstVideo.Structs.VideoColorimetry
(
VideoColorimetry(..) ,
newZeroVideoColorimetry ,
noVideoColorimetry ,
#if ENABLE_OVERLOADING
VideoColorimetryFromStringMethodInfo ,
#endif
videoColorimetryFromString ,
#if ENABLE_OVERLOADING
VideoColorimetryIsEqualMethodInfo ,
#endif
videoColorimetryIsEqual ,
#if ENABLE_OVERLOADING
VideoColorimetryMatchesMethodInfo ,
#endif
videoColorimetryMatches ,
#if ENABLE_OVERLOADING
VideoColorimetryToStringMethodInfo ,
#endif
videoColorimetryToString ,
getVideoColorimetryMatrix ,
setVideoColorimetryMatrix ,
#if ENABLE_OVERLOADING
videoColorimetry_matrix ,
#endif
getVideoColorimetryPrimaries ,
setVideoColorimetryPrimaries ,
#if ENABLE_OVERLOADING
videoColorimetry_primaries ,
#endif
getVideoColorimetryRange ,
setVideoColorimetryRange ,
#if ENABLE_OVERLOADING
videoColorimetry_range ,
#endif
getVideoColorimetryTransfer ,
setVideoColorimetryTransfer ,
#if ENABLE_OVERLOADING
videoColorimetry_transfer ,
#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 {-# SOURCE #-} qualified GI.GstVideo.Enums as GstVideo.Enums
newtype VideoColorimetry = VideoColorimetry (ManagedPtr VideoColorimetry)
instance WrappedPtr VideoColorimetry where
wrappedPtrCalloc = callocBytes 16
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr VideoColorimetry)
wrappedPtrFree = Just ptr_to_g_free
newZeroVideoColorimetry :: MonadIO m => m VideoColorimetry
newZeroVideoColorimetry = liftIO $ wrappedPtrCalloc >>= wrapPtr VideoColorimetry
instance tag ~ 'AttrSet => Constructible VideoColorimetry tag where
new _ attrs = do
o <- newZeroVideoColorimetry
GI.Attributes.set o attrs
return o
noVideoColorimetry :: Maybe VideoColorimetry
noVideoColorimetry = Nothing
getVideoColorimetryRange :: MonadIO m => VideoColorimetry -> m GstVideo.Enums.VideoColorRange
getVideoColorimetryRange s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setVideoColorimetryRange :: MonadIO m => VideoColorimetry -> GstVideo.Enums.VideoColorRange -> m ()
setVideoColorimetryRange s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 0) (val' :: CUInt)
#if ENABLE_OVERLOADING
data VideoColorimetryRangeFieldInfo
instance AttrInfo VideoColorimetryRangeFieldInfo where
type AttrAllowedOps VideoColorimetryRangeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoColorimetryRangeFieldInfo = (~) GstVideo.Enums.VideoColorRange
type AttrBaseTypeConstraint VideoColorimetryRangeFieldInfo = (~) VideoColorimetry
type AttrGetType VideoColorimetryRangeFieldInfo = GstVideo.Enums.VideoColorRange
type AttrLabel VideoColorimetryRangeFieldInfo = "range"
type AttrOrigin VideoColorimetryRangeFieldInfo = VideoColorimetry
attrGet _ = getVideoColorimetryRange
attrSet _ = setVideoColorimetryRange
attrConstruct = undefined
attrClear _ = undefined
videoColorimetry_range :: AttrLabelProxy "range"
videoColorimetry_range = AttrLabelProxy
#endif
getVideoColorimetryMatrix :: MonadIO m => VideoColorimetry -> m GstVideo.Enums.VideoColorMatrix
getVideoColorimetryMatrix s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 4) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setVideoColorimetryMatrix :: MonadIO m => VideoColorimetry -> GstVideo.Enums.VideoColorMatrix -> m ()
setVideoColorimetryMatrix s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 4) (val' :: CUInt)
#if ENABLE_OVERLOADING
data VideoColorimetryMatrixFieldInfo
instance AttrInfo VideoColorimetryMatrixFieldInfo where
type AttrAllowedOps VideoColorimetryMatrixFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoColorimetryMatrixFieldInfo = (~) GstVideo.Enums.VideoColorMatrix
type AttrBaseTypeConstraint VideoColorimetryMatrixFieldInfo = (~) VideoColorimetry
type AttrGetType VideoColorimetryMatrixFieldInfo = GstVideo.Enums.VideoColorMatrix
type AttrLabel VideoColorimetryMatrixFieldInfo = "matrix"
type AttrOrigin VideoColorimetryMatrixFieldInfo = VideoColorimetry
attrGet _ = getVideoColorimetryMatrix
attrSet _ = setVideoColorimetryMatrix
attrConstruct = undefined
attrClear _ = undefined
videoColorimetry_matrix :: AttrLabelProxy "matrix"
videoColorimetry_matrix = AttrLabelProxy
#endif
getVideoColorimetryTransfer :: MonadIO m => VideoColorimetry -> m GstVideo.Enums.VideoTransferFunction
getVideoColorimetryTransfer s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setVideoColorimetryTransfer :: MonadIO m => VideoColorimetry -> GstVideo.Enums.VideoTransferFunction -> m ()
setVideoColorimetryTransfer s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 8) (val' :: CUInt)
#if ENABLE_OVERLOADING
data VideoColorimetryTransferFieldInfo
instance AttrInfo VideoColorimetryTransferFieldInfo where
type AttrAllowedOps VideoColorimetryTransferFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoColorimetryTransferFieldInfo = (~) GstVideo.Enums.VideoTransferFunction
type AttrBaseTypeConstraint VideoColorimetryTransferFieldInfo = (~) VideoColorimetry
type AttrGetType VideoColorimetryTransferFieldInfo = GstVideo.Enums.VideoTransferFunction
type AttrLabel VideoColorimetryTransferFieldInfo = "transfer"
type AttrOrigin VideoColorimetryTransferFieldInfo = VideoColorimetry
attrGet _ = getVideoColorimetryTransfer
attrSet _ = setVideoColorimetryTransfer
attrConstruct = undefined
attrClear _ = undefined
videoColorimetry_transfer :: AttrLabelProxy "transfer"
videoColorimetry_transfer = AttrLabelProxy
#endif
getVideoColorimetryPrimaries :: MonadIO m => VideoColorimetry -> m GstVideo.Enums.VideoColorPrimaries
getVideoColorimetryPrimaries s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 12) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setVideoColorimetryPrimaries :: MonadIO m => VideoColorimetry -> GstVideo.Enums.VideoColorPrimaries -> m ()
setVideoColorimetryPrimaries s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 12) (val' :: CUInt)
#if ENABLE_OVERLOADING
data VideoColorimetryPrimariesFieldInfo
instance AttrInfo VideoColorimetryPrimariesFieldInfo where
type AttrAllowedOps VideoColorimetryPrimariesFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint VideoColorimetryPrimariesFieldInfo = (~) GstVideo.Enums.VideoColorPrimaries
type AttrBaseTypeConstraint VideoColorimetryPrimariesFieldInfo = (~) VideoColorimetry
type AttrGetType VideoColorimetryPrimariesFieldInfo = GstVideo.Enums.VideoColorPrimaries
type AttrLabel VideoColorimetryPrimariesFieldInfo = "primaries"
type AttrOrigin VideoColorimetryPrimariesFieldInfo = VideoColorimetry
attrGet _ = getVideoColorimetryPrimaries
attrSet _ = setVideoColorimetryPrimaries
attrConstruct = undefined
attrClear _ = undefined
videoColorimetry_primaries :: AttrLabelProxy "primaries"
videoColorimetry_primaries = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList VideoColorimetry
type instance O.AttributeList VideoColorimetry = VideoColorimetryAttributeList
type VideoColorimetryAttributeList = ('[ '("range", VideoColorimetryRangeFieldInfo), '("matrix", VideoColorimetryMatrixFieldInfo), '("transfer", VideoColorimetryTransferFieldInfo), '("primaries", VideoColorimetryPrimariesFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_video_colorimetry_from_string" gst_video_colorimetry_from_string ::
Ptr VideoColorimetry ->
CString ->
IO CInt
videoColorimetryFromString ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoColorimetry
-> T.Text
-> m Bool
videoColorimetryFromString cinfo color = liftIO $ do
cinfo' <- unsafeManagedPtrGetPtr cinfo
color' <- textToCString color
result <- gst_video_colorimetry_from_string cinfo' color'
let result' = (/= 0) result
touchManagedPtr cinfo
freeMem color'
return result'
#if ENABLE_OVERLOADING
data VideoColorimetryFromStringMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo VideoColorimetryFromStringMethodInfo VideoColorimetry signature where
overloadedMethod _ = videoColorimetryFromString
#endif
foreign import ccall "gst_video_colorimetry_is_equal" gst_video_colorimetry_is_equal ::
Ptr VideoColorimetry ->
Ptr VideoColorimetry ->
IO CInt
videoColorimetryIsEqual ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoColorimetry
-> VideoColorimetry
-> m Bool
videoColorimetryIsEqual cinfo other = liftIO $ do
cinfo' <- unsafeManagedPtrGetPtr cinfo
other' <- unsafeManagedPtrGetPtr other
result <- gst_video_colorimetry_is_equal cinfo' other'
let result' = (/= 0) result
touchManagedPtr cinfo
touchManagedPtr other
return result'
#if ENABLE_OVERLOADING
data VideoColorimetryIsEqualMethodInfo
instance (signature ~ (VideoColorimetry -> m Bool), MonadIO m) => O.MethodInfo VideoColorimetryIsEqualMethodInfo VideoColorimetry signature where
overloadedMethod _ = videoColorimetryIsEqual
#endif
foreign import ccall "gst_video_colorimetry_matches" gst_video_colorimetry_matches ::
Ptr VideoColorimetry ->
CString ->
IO CInt
videoColorimetryMatches ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoColorimetry
-> T.Text
-> m Bool
videoColorimetryMatches cinfo color = liftIO $ do
cinfo' <- unsafeManagedPtrGetPtr cinfo
color' <- textToCString color
result <- gst_video_colorimetry_matches cinfo' color'
let result' = (/= 0) result
touchManagedPtr cinfo
freeMem color'
return result'
#if ENABLE_OVERLOADING
data VideoColorimetryMatchesMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo VideoColorimetryMatchesMethodInfo VideoColorimetry signature where
overloadedMethod _ = videoColorimetryMatches
#endif
foreign import ccall "gst_video_colorimetry_to_string" gst_video_colorimetry_to_string ::
Ptr VideoColorimetry ->
IO CString
videoColorimetryToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
VideoColorimetry
-> m T.Text
videoColorimetryToString cinfo = liftIO $ do
cinfo' <- unsafeManagedPtrGetPtr cinfo
result <- gst_video_colorimetry_to_string cinfo'
checkUnexpectedReturnNULL "videoColorimetryToString" result
result' <- cstringToText result
freeMem result
touchManagedPtr cinfo
return result'
#if ENABLE_OVERLOADING
data VideoColorimetryToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo VideoColorimetryToStringMethodInfo VideoColorimetry signature where
overloadedMethod _ = videoColorimetryToString
#endif
#if ENABLE_OVERLOADING
type family ResolveVideoColorimetryMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoColorimetryMethod "fromString" o = VideoColorimetryFromStringMethodInfo
ResolveVideoColorimetryMethod "isEqual" o = VideoColorimetryIsEqualMethodInfo
ResolveVideoColorimetryMethod "matches" o = VideoColorimetryMatchesMethodInfo
ResolveVideoColorimetryMethod "toString" o = VideoColorimetryToStringMethodInfo
ResolveVideoColorimetryMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoColorimetryMethod t VideoColorimetry, O.MethodInfo info VideoColorimetry p) => OL.IsLabel t (VideoColorimetry -> 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