#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Poppler.Structs.PageTransition
(
PageTransition(..) ,
newZeroPageTransition ,
noPageTransition ,
#if ENABLE_OVERLOADING
PageTransitionCopyMethodInfo ,
#endif
pageTransitionCopy ,
#if ENABLE_OVERLOADING
PageTransitionFreeMethodInfo ,
#endif
pageTransitionFree ,
pageTransitionNew ,
getPageTransitionAlignment ,
#if ENABLE_OVERLOADING
pageTransition_alignment ,
#endif
setPageTransitionAlignment ,
getPageTransitionAngle ,
#if ENABLE_OVERLOADING
pageTransition_angle ,
#endif
setPageTransitionAngle ,
getPageTransitionDirection ,
#if ENABLE_OVERLOADING
pageTransition_direction ,
#endif
setPageTransitionDirection ,
getPageTransitionDuration ,
#if ENABLE_OVERLOADING
pageTransition_duration ,
#endif
setPageTransitionDuration ,
getPageTransitionDurationReal ,
#if ENABLE_OVERLOADING
pageTransition_durationReal ,
#endif
setPageTransitionDurationReal ,
getPageTransitionRectangular ,
#if ENABLE_OVERLOADING
pageTransition_rectangular ,
#endif
setPageTransitionRectangular ,
getPageTransitionScale ,
#if ENABLE_OVERLOADING
pageTransition_scale ,
#endif
setPageTransitionScale ,
getPageTransitionType ,
#if ENABLE_OVERLOADING
pageTransition_type ,
#endif
setPageTransitionType ,
) 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
newtype PageTransition = PageTransition (ManagedPtr PageTransition)
foreign import ccall "poppler_page_transition_get_type" c_poppler_page_transition_get_type ::
IO GType
instance BoxedObject PageTransition where
boxedType _ = c_poppler_page_transition_get_type
newZeroPageTransition :: MonadIO m => m PageTransition
newZeroPageTransition = liftIO $ callocBoxedBytes 48 >>= wrapBoxed PageTransition
instance tag ~ 'AttrSet => Constructible PageTransition tag where
new _ attrs = do
o <- newZeroPageTransition
GI.Attributes.set o attrs
return o
noPageTransition :: Maybe PageTransition
noPageTransition = Nothing
getPageTransitionType :: MonadIO m => PageTransition -> m Poppler.Enums.PageTransitionType
getPageTransitionType s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setPageTransitionType :: MonadIO m => PageTransition -> Poppler.Enums.PageTransitionType -> m ()
setPageTransitionType s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 0) (val' :: CUInt)
#if ENABLE_OVERLOADING
data PageTransitionTypeFieldInfo
instance AttrInfo PageTransitionTypeFieldInfo where
type AttrAllowedOps PageTransitionTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionTypeFieldInfo = (~) Poppler.Enums.PageTransitionType
type AttrBaseTypeConstraint PageTransitionTypeFieldInfo = (~) PageTransition
type AttrGetType PageTransitionTypeFieldInfo = Poppler.Enums.PageTransitionType
type AttrLabel PageTransitionTypeFieldInfo = "type"
type AttrOrigin PageTransitionTypeFieldInfo = PageTransition
attrGet _ = getPageTransitionType
attrSet _ = setPageTransitionType
attrConstruct = undefined
attrClear _ = undefined
pageTransition_type :: AttrLabelProxy "type"
pageTransition_type = AttrLabelProxy
#endif
getPageTransitionAlignment :: MonadIO m => PageTransition -> m Poppler.Enums.PageTransitionAlignment
getPageTransitionAlignment s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 4) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setPageTransitionAlignment :: MonadIO m => PageTransition -> Poppler.Enums.PageTransitionAlignment -> m ()
setPageTransitionAlignment s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 4) (val' :: CUInt)
#if ENABLE_OVERLOADING
data PageTransitionAlignmentFieldInfo
instance AttrInfo PageTransitionAlignmentFieldInfo where
type AttrAllowedOps PageTransitionAlignmentFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionAlignmentFieldInfo = (~) Poppler.Enums.PageTransitionAlignment
type AttrBaseTypeConstraint PageTransitionAlignmentFieldInfo = (~) PageTransition
type AttrGetType PageTransitionAlignmentFieldInfo = Poppler.Enums.PageTransitionAlignment
type AttrLabel PageTransitionAlignmentFieldInfo = "alignment"
type AttrOrigin PageTransitionAlignmentFieldInfo = PageTransition
attrGet _ = getPageTransitionAlignment
attrSet _ = setPageTransitionAlignment
attrConstruct = undefined
attrClear _ = undefined
pageTransition_alignment :: AttrLabelProxy "alignment"
pageTransition_alignment = AttrLabelProxy
#endif
getPageTransitionDirection :: MonadIO m => PageTransition -> m Poppler.Enums.PageTransitionDirection
getPageTransitionDirection s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setPageTransitionDirection :: MonadIO m => PageTransition -> Poppler.Enums.PageTransitionDirection -> m ()
setPageTransitionDirection s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 8) (val' :: CUInt)
#if ENABLE_OVERLOADING
data PageTransitionDirectionFieldInfo
instance AttrInfo PageTransitionDirectionFieldInfo where
type AttrAllowedOps PageTransitionDirectionFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionDirectionFieldInfo = (~) Poppler.Enums.PageTransitionDirection
type AttrBaseTypeConstraint PageTransitionDirectionFieldInfo = (~) PageTransition
type AttrGetType PageTransitionDirectionFieldInfo = Poppler.Enums.PageTransitionDirection
type AttrLabel PageTransitionDirectionFieldInfo = "direction"
type AttrOrigin PageTransitionDirectionFieldInfo = PageTransition
attrGet _ = getPageTransitionDirection
attrSet _ = setPageTransitionDirection
attrConstruct = undefined
attrClear _ = undefined
pageTransition_direction :: AttrLabelProxy "direction"
pageTransition_direction = AttrLabelProxy
#endif
getPageTransitionDuration :: MonadIO m => PageTransition -> m Int32
getPageTransitionDuration s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 12) :: IO Int32
return val
setPageTransitionDuration :: MonadIO m => PageTransition -> Int32 -> m ()
setPageTransitionDuration s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 12) (val :: Int32)
#if ENABLE_OVERLOADING
data PageTransitionDurationFieldInfo
instance AttrInfo PageTransitionDurationFieldInfo where
type AttrAllowedOps PageTransitionDurationFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionDurationFieldInfo = (~) Int32
type AttrBaseTypeConstraint PageTransitionDurationFieldInfo = (~) PageTransition
type AttrGetType PageTransitionDurationFieldInfo = Int32
type AttrLabel PageTransitionDurationFieldInfo = "duration"
type AttrOrigin PageTransitionDurationFieldInfo = PageTransition
attrGet _ = getPageTransitionDuration
attrSet _ = setPageTransitionDuration
attrConstruct = undefined
attrClear _ = undefined
pageTransition_duration :: AttrLabelProxy "duration"
pageTransition_duration = AttrLabelProxy
#endif
getPageTransitionAngle :: MonadIO m => PageTransition -> m Int32
getPageTransitionAngle s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO Int32
return val
setPageTransitionAngle :: MonadIO m => PageTransition -> Int32 -> m ()
setPageTransitionAngle s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: Int32)
#if ENABLE_OVERLOADING
data PageTransitionAngleFieldInfo
instance AttrInfo PageTransitionAngleFieldInfo where
type AttrAllowedOps PageTransitionAngleFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionAngleFieldInfo = (~) Int32
type AttrBaseTypeConstraint PageTransitionAngleFieldInfo = (~) PageTransition
type AttrGetType PageTransitionAngleFieldInfo = Int32
type AttrLabel PageTransitionAngleFieldInfo = "angle"
type AttrOrigin PageTransitionAngleFieldInfo = PageTransition
attrGet _ = getPageTransitionAngle
attrSet _ = setPageTransitionAngle
attrConstruct = undefined
attrClear _ = undefined
pageTransition_angle :: AttrLabelProxy "angle"
pageTransition_angle = AttrLabelProxy
#endif
getPageTransitionScale :: MonadIO m => PageTransition -> m Double
getPageTransitionScale s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CDouble
let val' = realToFrac val
return val'
setPageTransitionScale :: MonadIO m => PageTransition -> Double -> m ()
setPageTransitionScale s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = realToFrac val
poke (ptr `plusPtr` 24) (val' :: CDouble)
#if ENABLE_OVERLOADING
data PageTransitionScaleFieldInfo
instance AttrInfo PageTransitionScaleFieldInfo where
type AttrAllowedOps PageTransitionScaleFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionScaleFieldInfo = (~) Double
type AttrBaseTypeConstraint PageTransitionScaleFieldInfo = (~) PageTransition
type AttrGetType PageTransitionScaleFieldInfo = Double
type AttrLabel PageTransitionScaleFieldInfo = "scale"
type AttrOrigin PageTransitionScaleFieldInfo = PageTransition
attrGet _ = getPageTransitionScale
attrSet _ = setPageTransitionScale
attrConstruct = undefined
attrClear _ = undefined
pageTransition_scale :: AttrLabelProxy "scale"
pageTransition_scale = AttrLabelProxy
#endif
getPageTransitionRectangular :: MonadIO m => PageTransition -> m Bool
getPageTransitionRectangular s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO CInt
let val' = (/= 0) val
return val'
setPageTransitionRectangular :: MonadIO m => PageTransition -> Bool -> m ()
setPageTransitionRectangular s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 32) (val' :: CInt)
#if ENABLE_OVERLOADING
data PageTransitionRectangularFieldInfo
instance AttrInfo PageTransitionRectangularFieldInfo where
type AttrAllowedOps PageTransitionRectangularFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionRectangularFieldInfo = (~) Bool
type AttrBaseTypeConstraint PageTransitionRectangularFieldInfo = (~) PageTransition
type AttrGetType PageTransitionRectangularFieldInfo = Bool
type AttrLabel PageTransitionRectangularFieldInfo = "rectangular"
type AttrOrigin PageTransitionRectangularFieldInfo = PageTransition
attrGet _ = getPageTransitionRectangular
attrSet _ = setPageTransitionRectangular
attrConstruct = undefined
attrClear _ = undefined
pageTransition_rectangular :: AttrLabelProxy "rectangular"
pageTransition_rectangular = AttrLabelProxy
#endif
getPageTransitionDurationReal :: MonadIO m => PageTransition -> m Double
getPageTransitionDurationReal s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 40) :: IO CDouble
let val' = realToFrac val
return val'
setPageTransitionDurationReal :: MonadIO m => PageTransition -> Double -> m ()
setPageTransitionDurationReal s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = realToFrac val
poke (ptr `plusPtr` 40) (val' :: CDouble)
#if ENABLE_OVERLOADING
data PageTransitionDurationRealFieldInfo
instance AttrInfo PageTransitionDurationRealFieldInfo where
type AttrAllowedOps PageTransitionDurationRealFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint PageTransitionDurationRealFieldInfo = (~) Double
type AttrBaseTypeConstraint PageTransitionDurationRealFieldInfo = (~) PageTransition
type AttrGetType PageTransitionDurationRealFieldInfo = Double
type AttrLabel PageTransitionDurationRealFieldInfo = "duration_real"
type AttrOrigin PageTransitionDurationRealFieldInfo = PageTransition
attrGet _ = getPageTransitionDurationReal
attrSet _ = setPageTransitionDurationReal
attrConstruct = undefined
attrClear _ = undefined
pageTransition_durationReal :: AttrLabelProxy "durationReal"
pageTransition_durationReal = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList PageTransition
type instance O.AttributeList PageTransition = PageTransitionAttributeList
type PageTransitionAttributeList = ('[ '("type", PageTransitionTypeFieldInfo), '("alignment", PageTransitionAlignmentFieldInfo), '("direction", PageTransitionDirectionFieldInfo), '("duration", PageTransitionDurationFieldInfo), '("angle", PageTransitionAngleFieldInfo), '("scale", PageTransitionScaleFieldInfo), '("rectangular", PageTransitionRectangularFieldInfo), '("durationReal", PageTransitionDurationRealFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "poppler_page_transition_new" poppler_page_transition_new ::
IO (Ptr PageTransition)
pageTransitionNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m PageTransition
pageTransitionNew = liftIO $ do
result <- poppler_page_transition_new
checkUnexpectedReturnNULL "pageTransitionNew" result
result' <- (wrapBoxed PageTransition) result
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "poppler_page_transition_copy" poppler_page_transition_copy ::
Ptr PageTransition ->
IO (Ptr PageTransition)
pageTransitionCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
PageTransition
-> m PageTransition
pageTransitionCopy transition = liftIO $ do
transition' <- unsafeManagedPtrGetPtr transition
result <- poppler_page_transition_copy transition'
checkUnexpectedReturnNULL "pageTransitionCopy" result
result' <- (wrapBoxed PageTransition) result
touchManagedPtr transition
return result'
#if ENABLE_OVERLOADING
data PageTransitionCopyMethodInfo
instance (signature ~ (m PageTransition), MonadIO m) => O.MethodInfo PageTransitionCopyMethodInfo PageTransition signature where
overloadedMethod _ = pageTransitionCopy
#endif
foreign import ccall "poppler_page_transition_free" poppler_page_transition_free ::
Ptr PageTransition ->
IO ()
pageTransitionFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
PageTransition
-> m ()
pageTransitionFree transition = liftIO $ do
transition' <- unsafeManagedPtrGetPtr transition
poppler_page_transition_free transition'
touchManagedPtr transition
return ()
#if ENABLE_OVERLOADING
data PageTransitionFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PageTransitionFreeMethodInfo PageTransition signature where
overloadedMethod _ = pageTransitionFree
#endif
#if ENABLE_OVERLOADING
type family ResolvePageTransitionMethod (t :: Symbol) (o :: *) :: * where
ResolvePageTransitionMethod "copy" o = PageTransitionCopyMethodInfo
ResolvePageTransitionMethod "free" o = PageTransitionFreeMethodInfo
ResolvePageTransitionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePageTransitionMethod t PageTransition, O.MethodInfo info PageTransition p) => OL.IsLabel t (PageTransition -> 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