gi-gst-1.0.18: GI/Gst/Structs/ParamSpecFraction.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
A GParamSpec derived structure that contains the meta data for fractional
properties.
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Structs.ParamSpecFraction
(
-- * Exported types
ParamSpecFraction(..) ,
newZeroParamSpecFraction ,
noParamSpecFraction ,
-- * Properties
-- ** defDen #attr:defDen#
{- | default denominator
-}
getParamSpecFractionDefDen ,
#if ENABLE_OVERLOADING
paramSpecFraction_defDen ,
#endif
setParamSpecFractionDefDen ,
-- ** defNum #attr:defNum#
{- | default numerator
-}
getParamSpecFractionDefNum ,
#if ENABLE_OVERLOADING
paramSpecFraction_defNum ,
#endif
setParamSpecFractionDefNum ,
-- ** maxDen #attr:maxDen#
{- | maximal denominator
-}
getParamSpecFractionMaxDen ,
#if ENABLE_OVERLOADING
paramSpecFraction_maxDen ,
#endif
setParamSpecFractionMaxDen ,
-- ** maxNum #attr:maxNum#
{- | maximal numerator
-}
getParamSpecFractionMaxNum ,
#if ENABLE_OVERLOADING
paramSpecFraction_maxNum ,
#endif
setParamSpecFractionMaxNum ,
-- ** minDen #attr:minDen#
{- | minimal denominator
-}
getParamSpecFractionMinDen ,
#if ENABLE_OVERLOADING
paramSpecFraction_minDen ,
#endif
setParamSpecFractionMinDen ,
-- ** minNum #attr:minNum#
{- | minimal numerator
-}
getParamSpecFractionMinNum ,
#if ENABLE_OVERLOADING
paramSpecFraction_minNum ,
#endif
setParamSpecFractionMinNum ,
-- ** parentInstance #attr:parentInstance#
{- | super class
-}
clearParamSpecFractionParentInstance ,
getParamSpecFractionParentInstance ,
#if ENABLE_OVERLOADING
paramSpecFraction_parentInstance ,
#endif
setParamSpecFractionParentInstance ,
) 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
-- | Memory-managed wrapper type.
newtype ParamSpecFraction = ParamSpecFraction (ManagedPtr ParamSpecFraction)
instance WrappedPtr ParamSpecFraction where
wrappedPtrCalloc = callocBytes 96
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 96 >=> wrapPtr ParamSpecFraction)
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `ParamSpecFraction` struct initialized to zero.
newZeroParamSpecFraction :: MonadIO m => m ParamSpecFraction
newZeroParamSpecFraction = liftIO $ wrappedPtrCalloc >>= wrapPtr ParamSpecFraction
instance tag ~ 'AttrSet => Constructible ParamSpecFraction tag where
new _ attrs = do
o <- newZeroParamSpecFraction
GI.Attributes.set o attrs
return o
-- | A convenience alias for `Nothing` :: `Maybe` `ParamSpecFraction`.
noParamSpecFraction :: Maybe ParamSpecFraction
noParamSpecFraction = Nothing
{- |
Get the value of the “@parent_instance@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #parentInstance
@
-}
getParamSpecFractionParentInstance :: MonadIO m => ParamSpecFraction -> m (Maybe GParamSpec)
getParamSpecFractionParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr GParamSpec)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- B.GParamSpec.newGParamSpecFromPtr val'
return val''
return result
{- |
Set the value of the “@parent_instance@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #parentInstance 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionParentInstance :: MonadIO m => ParamSpecFraction -> Ptr GParamSpec -> m ()
setParamSpecFractionParentInstance s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr GParamSpec)
{- |
Set the value of the “@parent_instance@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.clear' #parentInstance
@
-}
clearParamSpecFractionParentInstance :: MonadIO m => ParamSpecFraction -> m ()
clearParamSpecFractionParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr GParamSpec)
#if ENABLE_OVERLOADING
data ParamSpecFractionParentInstanceFieldInfo
instance AttrInfo ParamSpecFractionParentInstanceFieldInfo where
type AttrAllowedOps ParamSpecFractionParentInstanceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ParamSpecFractionParentInstanceFieldInfo = (~) (Ptr GParamSpec)
type AttrBaseTypeConstraint ParamSpecFractionParentInstanceFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionParentInstanceFieldInfo = Maybe GParamSpec
type AttrLabel ParamSpecFractionParentInstanceFieldInfo = "parent_instance"
type AttrOrigin ParamSpecFractionParentInstanceFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionParentInstance
attrSet _ = setParamSpecFractionParentInstance
attrConstruct = undefined
attrClear _ = clearParamSpecFractionParentInstance
paramSpecFraction_parentInstance :: AttrLabelProxy "parentInstance"
paramSpecFraction_parentInstance = AttrLabelProxy
#endif
{- |
Get the value of the “@min_num@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #minNum
@
-}
getParamSpecFractionMinNum :: MonadIO m => ParamSpecFraction -> m Int32
getParamSpecFractionMinNum s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 72) :: IO Int32
return val
{- |
Set the value of the “@min_num@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #minNum 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionMinNum :: MonadIO m => ParamSpecFraction -> Int32 -> m ()
setParamSpecFractionMinNum s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 72) (val :: Int32)
#if ENABLE_OVERLOADING
data ParamSpecFractionMinNumFieldInfo
instance AttrInfo ParamSpecFractionMinNumFieldInfo where
type AttrAllowedOps ParamSpecFractionMinNumFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ParamSpecFractionMinNumFieldInfo = (~) Int32
type AttrBaseTypeConstraint ParamSpecFractionMinNumFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionMinNumFieldInfo = Int32
type AttrLabel ParamSpecFractionMinNumFieldInfo = "min_num"
type AttrOrigin ParamSpecFractionMinNumFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionMinNum
attrSet _ = setParamSpecFractionMinNum
attrConstruct = undefined
attrClear _ = undefined
paramSpecFraction_minNum :: AttrLabelProxy "minNum"
paramSpecFraction_minNum = AttrLabelProxy
#endif
{- |
Get the value of the “@min_den@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #minDen
@
-}
getParamSpecFractionMinDen :: MonadIO m => ParamSpecFraction -> m Int32
getParamSpecFractionMinDen s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 76) :: IO Int32
return val
{- |
Set the value of the “@min_den@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #minDen 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionMinDen :: MonadIO m => ParamSpecFraction -> Int32 -> m ()
setParamSpecFractionMinDen s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 76) (val :: Int32)
#if ENABLE_OVERLOADING
data ParamSpecFractionMinDenFieldInfo
instance AttrInfo ParamSpecFractionMinDenFieldInfo where
type AttrAllowedOps ParamSpecFractionMinDenFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ParamSpecFractionMinDenFieldInfo = (~) Int32
type AttrBaseTypeConstraint ParamSpecFractionMinDenFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionMinDenFieldInfo = Int32
type AttrLabel ParamSpecFractionMinDenFieldInfo = "min_den"
type AttrOrigin ParamSpecFractionMinDenFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionMinDen
attrSet _ = setParamSpecFractionMinDen
attrConstruct = undefined
attrClear _ = undefined
paramSpecFraction_minDen :: AttrLabelProxy "minDen"
paramSpecFraction_minDen = AttrLabelProxy
#endif
{- |
Get the value of the “@max_num@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #maxNum
@
-}
getParamSpecFractionMaxNum :: MonadIO m => ParamSpecFraction -> m Int32
getParamSpecFractionMaxNum s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 80) :: IO Int32
return val
{- |
Set the value of the “@max_num@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #maxNum 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionMaxNum :: MonadIO m => ParamSpecFraction -> Int32 -> m ()
setParamSpecFractionMaxNum s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 80) (val :: Int32)
#if ENABLE_OVERLOADING
data ParamSpecFractionMaxNumFieldInfo
instance AttrInfo ParamSpecFractionMaxNumFieldInfo where
type AttrAllowedOps ParamSpecFractionMaxNumFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ParamSpecFractionMaxNumFieldInfo = (~) Int32
type AttrBaseTypeConstraint ParamSpecFractionMaxNumFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionMaxNumFieldInfo = Int32
type AttrLabel ParamSpecFractionMaxNumFieldInfo = "max_num"
type AttrOrigin ParamSpecFractionMaxNumFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionMaxNum
attrSet _ = setParamSpecFractionMaxNum
attrConstruct = undefined
attrClear _ = undefined
paramSpecFraction_maxNum :: AttrLabelProxy "maxNum"
paramSpecFraction_maxNum = AttrLabelProxy
#endif
{- |
Get the value of the “@max_den@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #maxDen
@
-}
getParamSpecFractionMaxDen :: MonadIO m => ParamSpecFraction -> m Int32
getParamSpecFractionMaxDen s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 84) :: IO Int32
return val
{- |
Set the value of the “@max_den@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #maxDen 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionMaxDen :: MonadIO m => ParamSpecFraction -> Int32 -> m ()
setParamSpecFractionMaxDen s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 84) (val :: Int32)
#if ENABLE_OVERLOADING
data ParamSpecFractionMaxDenFieldInfo
instance AttrInfo ParamSpecFractionMaxDenFieldInfo where
type AttrAllowedOps ParamSpecFractionMaxDenFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ParamSpecFractionMaxDenFieldInfo = (~) Int32
type AttrBaseTypeConstraint ParamSpecFractionMaxDenFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionMaxDenFieldInfo = Int32
type AttrLabel ParamSpecFractionMaxDenFieldInfo = "max_den"
type AttrOrigin ParamSpecFractionMaxDenFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionMaxDen
attrSet _ = setParamSpecFractionMaxDen
attrConstruct = undefined
attrClear _ = undefined
paramSpecFraction_maxDen :: AttrLabelProxy "maxDen"
paramSpecFraction_maxDen = AttrLabelProxy
#endif
{- |
Get the value of the “@def_num@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #defNum
@
-}
getParamSpecFractionDefNum :: MonadIO m => ParamSpecFraction -> m Int32
getParamSpecFractionDefNum s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 88) :: IO Int32
return val
{- |
Set the value of the “@def_num@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #defNum 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionDefNum :: MonadIO m => ParamSpecFraction -> Int32 -> m ()
setParamSpecFractionDefNum s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 88) (val :: Int32)
#if ENABLE_OVERLOADING
data ParamSpecFractionDefNumFieldInfo
instance AttrInfo ParamSpecFractionDefNumFieldInfo where
type AttrAllowedOps ParamSpecFractionDefNumFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ParamSpecFractionDefNumFieldInfo = (~) Int32
type AttrBaseTypeConstraint ParamSpecFractionDefNumFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionDefNumFieldInfo = Int32
type AttrLabel ParamSpecFractionDefNumFieldInfo = "def_num"
type AttrOrigin ParamSpecFractionDefNumFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionDefNum
attrSet _ = setParamSpecFractionDefNum
attrConstruct = undefined
attrClear _ = undefined
paramSpecFraction_defNum :: AttrLabelProxy "defNum"
paramSpecFraction_defNum = AttrLabelProxy
#endif
{- |
Get the value of the “@def_den@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' paramSpecFraction #defDen
@
-}
getParamSpecFractionDefDen :: MonadIO m => ParamSpecFraction -> m Int32
getParamSpecFractionDefDen s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 92) :: IO Int32
return val
{- |
Set the value of the “@def_den@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' paramSpecFraction [ #defDen 'Data.GI.Base.Attributes.:=' value ]
@
-}
setParamSpecFractionDefDen :: MonadIO m => ParamSpecFraction -> Int32 -> m ()
setParamSpecFractionDefDen s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 92) (val :: Int32)
#if ENABLE_OVERLOADING
data ParamSpecFractionDefDenFieldInfo
instance AttrInfo ParamSpecFractionDefDenFieldInfo where
type AttrAllowedOps ParamSpecFractionDefDenFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ParamSpecFractionDefDenFieldInfo = (~) Int32
type AttrBaseTypeConstraint ParamSpecFractionDefDenFieldInfo = (~) ParamSpecFraction
type AttrGetType ParamSpecFractionDefDenFieldInfo = Int32
type AttrLabel ParamSpecFractionDefDenFieldInfo = "def_den"
type AttrOrigin ParamSpecFractionDefDenFieldInfo = ParamSpecFraction
attrGet _ = getParamSpecFractionDefDen
attrSet _ = setParamSpecFractionDefDen
attrConstruct = undefined
attrClear _ = undefined
paramSpecFraction_defDen :: AttrLabelProxy "defDen"
paramSpecFraction_defDen = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList ParamSpecFraction
type instance O.AttributeList ParamSpecFraction = ParamSpecFractionAttributeList
type ParamSpecFractionAttributeList = ('[ '("parentInstance", ParamSpecFractionParentInstanceFieldInfo), '("minNum", ParamSpecFractionMinNumFieldInfo), '("minDen", ParamSpecFractionMinDenFieldInfo), '("maxNum", ParamSpecFractionMaxNumFieldInfo), '("maxDen", ParamSpecFractionMaxDenFieldInfo), '("defNum", ParamSpecFractionDefNumFieldInfo), '("defDen", ParamSpecFractionDefDenFieldInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
type family ResolveParamSpecFractionMethod (t :: Symbol) (o :: *) :: * where
ResolveParamSpecFractionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveParamSpecFractionMethod t ParamSpecFraction, O.MethodInfo info ParamSpecFraction p) => OL.IsLabel t (ParamSpecFraction -> 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