gi-poppler-0.18.17: GI/Poppler/Structs/ActionRendition.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)
/No description available in the introspection data./
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Poppler.Structs.ActionRendition
(
-- * Exported types
ActionRendition(..) ,
newZeroActionRendition ,
noActionRendition ,
-- * Properties
-- ** media #attr:media#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
actionRendition_media ,
#endif
clearActionRenditionMedia ,
getActionRenditionMedia ,
setActionRenditionMedia ,
-- ** op #attr:op#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
actionRendition_op ,
#endif
getActionRenditionOp ,
setActionRenditionOp ,
-- ** title #attr:title#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
actionRendition_title ,
#endif
clearActionRenditionTitle ,
getActionRenditionTitle ,
setActionRenditionTitle ,
-- ** type #attr:type#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
actionRendition_type ,
#endif
getActionRenditionType ,
setActionRenditionType ,
) 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.Poppler.Enums as Poppler.Enums
import {-# SOURCE #-} qualified GI.Poppler.Objects.Media as Poppler.Media
-- | Memory-managed wrapper type.
newtype ActionRendition = ActionRendition (ManagedPtr ActionRendition)
instance WrappedPtr ActionRendition where
wrappedPtrCalloc = callocBytes 32
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr ActionRendition)
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `ActionRendition` struct initialized to zero.
newZeroActionRendition :: MonadIO m => m ActionRendition
newZeroActionRendition = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionRendition
instance tag ~ 'AttrSet => Constructible ActionRendition tag where
new _ attrs = do
o <- newZeroActionRendition
GI.Attributes.set o attrs
return o
-- | A convenience alias for `Nothing` :: `Maybe` `ActionRendition`.
noActionRendition :: Maybe ActionRendition
noActionRendition = Nothing
{- |
Get the value of the “@type@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' actionRendition #type
@
-}
getActionRenditionType :: MonadIO m => ActionRendition -> m Poppler.Enums.ActionType
getActionRenditionType s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
{- |
Set the value of the “@type@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' actionRendition [ #type 'Data.GI.Base.Attributes.:=' value ]
@
-}
setActionRenditionType :: MonadIO m => ActionRendition -> Poppler.Enums.ActionType -> m ()
setActionRenditionType s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 0) (val' :: CUInt)
#if ENABLE_OVERLOADING
data ActionRenditionTypeFieldInfo
instance AttrInfo ActionRenditionTypeFieldInfo where
type AttrAllowedOps ActionRenditionTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ActionRenditionTypeFieldInfo = (~) Poppler.Enums.ActionType
type AttrBaseTypeConstraint ActionRenditionTypeFieldInfo = (~) ActionRendition
type AttrGetType ActionRenditionTypeFieldInfo = Poppler.Enums.ActionType
type AttrLabel ActionRenditionTypeFieldInfo = "type"
type AttrOrigin ActionRenditionTypeFieldInfo = ActionRendition
attrGet _ = getActionRenditionType
attrSet _ = setActionRenditionType
attrConstruct = undefined
attrClear _ = undefined
actionRendition_type :: AttrLabelProxy "type"
actionRendition_type = AttrLabelProxy
#endif
{- |
Get the value of the “@title@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' actionRendition #title
@
-}
getActionRenditionTitle :: MonadIO m => ActionRendition -> m (Maybe T.Text)
getActionRenditionTitle s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
{- |
Set the value of the “@title@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' actionRendition [ #title 'Data.GI.Base.Attributes.:=' value ]
@
-}
setActionRenditionTitle :: MonadIO m => ActionRendition -> CString -> m ()
setActionRenditionTitle s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: CString)
{- |
Set the value of the “@title@” 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' #title
@
-}
clearActionRenditionTitle :: MonadIO m => ActionRendition -> m ()
clearActionRenditionTitle s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
#if ENABLE_OVERLOADING
data ActionRenditionTitleFieldInfo
instance AttrInfo ActionRenditionTitleFieldInfo where
type AttrAllowedOps ActionRenditionTitleFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ActionRenditionTitleFieldInfo = (~) CString
type AttrBaseTypeConstraint ActionRenditionTitleFieldInfo = (~) ActionRendition
type AttrGetType ActionRenditionTitleFieldInfo = Maybe T.Text
type AttrLabel ActionRenditionTitleFieldInfo = "title"
type AttrOrigin ActionRenditionTitleFieldInfo = ActionRendition
attrGet _ = getActionRenditionTitle
attrSet _ = setActionRenditionTitle
attrConstruct = undefined
attrClear _ = clearActionRenditionTitle
actionRendition_title :: AttrLabelProxy "title"
actionRendition_title = AttrLabelProxy
#endif
{- |
Get the value of the “@op@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' actionRendition #op
@
-}
getActionRenditionOp :: MonadIO m => ActionRendition -> m Int32
getActionRenditionOp s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO Int32
return val
{- |
Set the value of the “@op@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' actionRendition [ #op 'Data.GI.Base.Attributes.:=' value ]
@
-}
setActionRenditionOp :: MonadIO m => ActionRendition -> Int32 -> m ()
setActionRenditionOp s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: Int32)
#if ENABLE_OVERLOADING
data ActionRenditionOpFieldInfo
instance AttrInfo ActionRenditionOpFieldInfo where
type AttrAllowedOps ActionRenditionOpFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ActionRenditionOpFieldInfo = (~) Int32
type AttrBaseTypeConstraint ActionRenditionOpFieldInfo = (~) ActionRendition
type AttrGetType ActionRenditionOpFieldInfo = Int32
type AttrLabel ActionRenditionOpFieldInfo = "op"
type AttrOrigin ActionRenditionOpFieldInfo = ActionRendition
attrGet _ = getActionRenditionOp
attrSet _ = setActionRenditionOp
attrConstruct = undefined
attrClear _ = undefined
actionRendition_op :: AttrLabelProxy "op"
actionRendition_op = AttrLabelProxy
#endif
{- |
Get the value of the “@media@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' actionRendition #media
@
-}
getActionRenditionMedia :: MonadIO m => ActionRendition -> m (Maybe Poppler.Media.Media)
getActionRenditionMedia s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO (Ptr Poppler.Media.Media)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newObject Poppler.Media.Media) val'
return val''
return result
{- |
Set the value of the “@media@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' actionRendition [ #media 'Data.GI.Base.Attributes.:=' value ]
@
-}
setActionRenditionMedia :: MonadIO m => ActionRendition -> Ptr Poppler.Media.Media -> m ()
setActionRenditionMedia s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (val :: Ptr Poppler.Media.Media)
{- |
Set the value of the “@media@” 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' #media
@
-}
clearActionRenditionMedia :: MonadIO m => ActionRendition -> m ()
clearActionRenditionMedia s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Poppler.Media.Media)
#if ENABLE_OVERLOADING
data ActionRenditionMediaFieldInfo
instance AttrInfo ActionRenditionMediaFieldInfo where
type AttrAllowedOps ActionRenditionMediaFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ActionRenditionMediaFieldInfo = (~) (Ptr Poppler.Media.Media)
type AttrBaseTypeConstraint ActionRenditionMediaFieldInfo = (~) ActionRendition
type AttrGetType ActionRenditionMediaFieldInfo = Maybe Poppler.Media.Media
type AttrLabel ActionRenditionMediaFieldInfo = "media"
type AttrOrigin ActionRenditionMediaFieldInfo = ActionRendition
attrGet _ = getActionRenditionMedia
attrSet _ = setActionRenditionMedia
attrConstruct = undefined
attrClear _ = clearActionRenditionMedia
actionRendition_media :: AttrLabelProxy "media"
actionRendition_media = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList ActionRendition
type instance O.AttributeList ActionRendition = ActionRenditionAttributeList
type ActionRenditionAttributeList = ('[ '("type", ActionRenditionTypeFieldInfo), '("title", ActionRenditionTitleFieldInfo), '("op", ActionRenditionOpFieldInfo), '("media", ActionRenditionMediaFieldInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
type family ResolveActionRenditionMethod (t :: Symbol) (o :: *) :: * where
ResolveActionRenditionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveActionRenditionMethod t ActionRendition, O.MethodInfo info ActionRendition p) => OL.IsLabel t (ActionRendition -> 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