#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Poppler.Structs.ActionRendition
(
ActionRendition(..) ,
newZeroActionRendition ,
noActionRendition ,
#if ENABLE_OVERLOADING
actionRendition_media ,
#endif
clearActionRenditionMedia ,
getActionRenditionMedia ,
setActionRenditionMedia ,
#if ENABLE_OVERLOADING
actionRendition_op ,
#endif
getActionRenditionOp ,
setActionRenditionOp ,
#if ENABLE_OVERLOADING
actionRendition_title ,
#endif
clearActionRenditionTitle ,
getActionRenditionTitle ,
setActionRenditionTitle ,
#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
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
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
noActionRendition :: Maybe ActionRendition
noActionRendition = Nothing
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'
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
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
setActionRenditionTitle :: MonadIO m => ActionRendition -> CString -> m ()
setActionRenditionTitle s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: CString)
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
getActionRenditionOp :: MonadIO m => ActionRendition -> m Int32
getActionRenditionOp s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO Int32
return val
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
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
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)
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