#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Poppler.Structs.ImageMapping
(
ImageMapping(..) ,
newZeroImageMapping ,
noImageMapping ,
#if ENABLE_OVERLOADING
ImageMappingCopyMethodInfo ,
#endif
imageMappingCopy ,
#if ENABLE_OVERLOADING
ImageMappingFreeMethodInfo ,
#endif
imageMappingFree ,
imageMappingNew ,
getImageMappingArea ,
#if ENABLE_OVERLOADING
imageMapping_area ,
#endif
getImageMappingImageId ,
#if ENABLE_OVERLOADING
imageMapping_imageId ,
#endif
setImageMappingImageId ,
) 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.Structs.Rectangle as Poppler.Rectangle
newtype ImageMapping = ImageMapping (ManagedPtr ImageMapping)
foreign import ccall "poppler_image_mapping_get_type" c_poppler_image_mapping_get_type ::
IO GType
instance BoxedObject ImageMapping where
boxedType _ = c_poppler_image_mapping_get_type
newZeroImageMapping :: MonadIO m => m ImageMapping
newZeroImageMapping = liftIO $ callocBoxedBytes 40 >>= wrapBoxed ImageMapping
instance tag ~ 'AttrSet => Constructible ImageMapping tag where
new _ attrs = do
o <- newZeroImageMapping
GI.Attributes.set o attrs
return o
noImageMapping :: Maybe ImageMapping
noImageMapping = Nothing
getImageMappingArea :: MonadIO m => ImageMapping -> m Poppler.Rectangle.Rectangle
getImageMappingArea s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 0 :: (Ptr Poppler.Rectangle.Rectangle)
val' <- (newBoxed Poppler.Rectangle.Rectangle) val
return val'
#if ENABLE_OVERLOADING
data ImageMappingAreaFieldInfo
instance AttrInfo ImageMappingAreaFieldInfo where
type AttrAllowedOps ImageMappingAreaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint ImageMappingAreaFieldInfo = (~) (Ptr Poppler.Rectangle.Rectangle)
type AttrBaseTypeConstraint ImageMappingAreaFieldInfo = (~) ImageMapping
type AttrGetType ImageMappingAreaFieldInfo = Poppler.Rectangle.Rectangle
type AttrLabel ImageMappingAreaFieldInfo = "area"
type AttrOrigin ImageMappingAreaFieldInfo = ImageMapping
attrGet _ = getImageMappingArea
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
imageMapping_area :: AttrLabelProxy "area"
imageMapping_area = AttrLabelProxy
#endif
getImageMappingImageId :: MonadIO m => ImageMapping -> m Int32
getImageMappingImageId s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO Int32
return val
setImageMappingImageId :: MonadIO m => ImageMapping -> Int32 -> m ()
setImageMappingImageId s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (val :: Int32)
#if ENABLE_OVERLOADING
data ImageMappingImageIdFieldInfo
instance AttrInfo ImageMappingImageIdFieldInfo where
type AttrAllowedOps ImageMappingImageIdFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ImageMappingImageIdFieldInfo = (~) Int32
type AttrBaseTypeConstraint ImageMappingImageIdFieldInfo = (~) ImageMapping
type AttrGetType ImageMappingImageIdFieldInfo = Int32
type AttrLabel ImageMappingImageIdFieldInfo = "image_id"
type AttrOrigin ImageMappingImageIdFieldInfo = ImageMapping
attrGet _ = getImageMappingImageId
attrSet _ = setImageMappingImageId
attrConstruct = undefined
attrClear _ = undefined
imageMapping_imageId :: AttrLabelProxy "imageId"
imageMapping_imageId = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList ImageMapping
type instance O.AttributeList ImageMapping = ImageMappingAttributeList
type ImageMappingAttributeList = ('[ '("area", ImageMappingAreaFieldInfo), '("imageId", ImageMappingImageIdFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "poppler_image_mapping_new" poppler_image_mapping_new ::
IO (Ptr ImageMapping)
imageMappingNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ImageMapping
imageMappingNew = liftIO $ do
result <- poppler_image_mapping_new
checkUnexpectedReturnNULL "imageMappingNew" result
result' <- (wrapBoxed ImageMapping) result
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "poppler_image_mapping_copy" poppler_image_mapping_copy ::
Ptr ImageMapping ->
IO (Ptr ImageMapping)
imageMappingCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
ImageMapping
-> m ImageMapping
imageMappingCopy mapping = liftIO $ do
mapping' <- unsafeManagedPtrGetPtr mapping
result <- poppler_image_mapping_copy mapping'
checkUnexpectedReturnNULL "imageMappingCopy" result
result' <- (wrapBoxed ImageMapping) result
touchManagedPtr mapping
return result'
#if ENABLE_OVERLOADING
data ImageMappingCopyMethodInfo
instance (signature ~ (m ImageMapping), MonadIO m) => O.MethodInfo ImageMappingCopyMethodInfo ImageMapping signature where
overloadedMethod _ = imageMappingCopy
#endif
foreign import ccall "poppler_image_mapping_free" poppler_image_mapping_free ::
Ptr ImageMapping ->
IO ()
imageMappingFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
ImageMapping
-> m ()
imageMappingFree mapping = liftIO $ do
mapping' <- unsafeManagedPtrGetPtr mapping
poppler_image_mapping_free mapping'
touchManagedPtr mapping
return ()
#if ENABLE_OVERLOADING
data ImageMappingFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ImageMappingFreeMethodInfo ImageMapping signature where
overloadedMethod _ = imageMappingFree
#endif
#if ENABLE_OVERLOADING
type family ResolveImageMappingMethod (t :: Symbol) (o :: *) :: * where
ResolveImageMappingMethod "copy" o = ImageMappingCopyMethodInfo
ResolveImageMappingMethod "free" o = ImageMappingFreeMethodInfo
ResolveImageMappingMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveImageMappingMethod t ImageMapping, O.MethodInfo info ImageMapping p) => OL.IsLabel t (ImageMapping -> 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