#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Poppler.Structs.Quadrilateral
(
Quadrilateral(..) ,
newZeroQuadrilateral ,
noQuadrilateral ,
#if ENABLE_OVERLOADING
QuadrilateralCopyMethodInfo ,
#endif
quadrilateralCopy ,
#if ENABLE_OVERLOADING
QuadrilateralFreeMethodInfo ,
#endif
quadrilateralFree ,
quadrilateralNew ,
getQuadrilateralP1 ,
#if ENABLE_OVERLOADING
quadrilateral_p1 ,
#endif
getQuadrilateralP2 ,
#if ENABLE_OVERLOADING
quadrilateral_p2 ,
#endif
getQuadrilateralP3 ,
#if ENABLE_OVERLOADING
quadrilateral_p3 ,
#endif
getQuadrilateralP4 ,
#if ENABLE_OVERLOADING
quadrilateral_p4 ,
#endif
) 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.Point as Poppler.Point
newtype Quadrilateral = Quadrilateral (ManagedPtr Quadrilateral)
foreign import ccall "poppler_quadrilateral_get_type" c_poppler_quadrilateral_get_type ::
IO GType
instance BoxedObject Quadrilateral where
boxedType _ = c_poppler_quadrilateral_get_type
newZeroQuadrilateral :: MonadIO m => m Quadrilateral
newZeroQuadrilateral = liftIO $ callocBoxedBytes 64 >>= wrapBoxed Quadrilateral
instance tag ~ 'AttrSet => Constructible Quadrilateral tag where
new _ attrs = do
o <- newZeroQuadrilateral
GI.Attributes.set o attrs
return o
noQuadrilateral :: Maybe Quadrilateral
noQuadrilateral = Nothing
getQuadrilateralP1 :: MonadIO m => Quadrilateral -> m Poppler.Point.Point
getQuadrilateralP1 s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 0 :: (Ptr Poppler.Point.Point)
val' <- (newBoxed Poppler.Point.Point) val
return val'
#if ENABLE_OVERLOADING
data QuadrilateralP1FieldInfo
instance AttrInfo QuadrilateralP1FieldInfo where
type AttrAllowedOps QuadrilateralP1FieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint QuadrilateralP1FieldInfo = (~) (Ptr Poppler.Point.Point)
type AttrBaseTypeConstraint QuadrilateralP1FieldInfo = (~) Quadrilateral
type AttrGetType QuadrilateralP1FieldInfo = Poppler.Point.Point
type AttrLabel QuadrilateralP1FieldInfo = "p1"
type AttrOrigin QuadrilateralP1FieldInfo = Quadrilateral
attrGet _ = getQuadrilateralP1
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
quadrilateral_p1 :: AttrLabelProxy "p1"
quadrilateral_p1 = AttrLabelProxy
#endif
getQuadrilateralP2 :: MonadIO m => Quadrilateral -> m Poppler.Point.Point
getQuadrilateralP2 s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 16 :: (Ptr Poppler.Point.Point)
val' <- (newBoxed Poppler.Point.Point) val
return val'
#if ENABLE_OVERLOADING
data QuadrilateralP2FieldInfo
instance AttrInfo QuadrilateralP2FieldInfo where
type AttrAllowedOps QuadrilateralP2FieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint QuadrilateralP2FieldInfo = (~) (Ptr Poppler.Point.Point)
type AttrBaseTypeConstraint QuadrilateralP2FieldInfo = (~) Quadrilateral
type AttrGetType QuadrilateralP2FieldInfo = Poppler.Point.Point
type AttrLabel QuadrilateralP2FieldInfo = "p2"
type AttrOrigin QuadrilateralP2FieldInfo = Quadrilateral
attrGet _ = getQuadrilateralP2
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
quadrilateral_p2 :: AttrLabelProxy "p2"
quadrilateral_p2 = AttrLabelProxy
#endif
getQuadrilateralP3 :: MonadIO m => Quadrilateral -> m Poppler.Point.Point
getQuadrilateralP3 s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 32 :: (Ptr Poppler.Point.Point)
val' <- (newBoxed Poppler.Point.Point) val
return val'
#if ENABLE_OVERLOADING
data QuadrilateralP3FieldInfo
instance AttrInfo QuadrilateralP3FieldInfo where
type AttrAllowedOps QuadrilateralP3FieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint QuadrilateralP3FieldInfo = (~) (Ptr Poppler.Point.Point)
type AttrBaseTypeConstraint QuadrilateralP3FieldInfo = (~) Quadrilateral
type AttrGetType QuadrilateralP3FieldInfo = Poppler.Point.Point
type AttrLabel QuadrilateralP3FieldInfo = "p3"
type AttrOrigin QuadrilateralP3FieldInfo = Quadrilateral
attrGet _ = getQuadrilateralP3
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
quadrilateral_p3 :: AttrLabelProxy "p3"
quadrilateral_p3 = AttrLabelProxy
#endif
getQuadrilateralP4 :: MonadIO m => Quadrilateral -> m Poppler.Point.Point
getQuadrilateralP4 s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 48 :: (Ptr Poppler.Point.Point)
val' <- (newBoxed Poppler.Point.Point) val
return val'
#if ENABLE_OVERLOADING
data QuadrilateralP4FieldInfo
instance AttrInfo QuadrilateralP4FieldInfo where
type AttrAllowedOps QuadrilateralP4FieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint QuadrilateralP4FieldInfo = (~) (Ptr Poppler.Point.Point)
type AttrBaseTypeConstraint QuadrilateralP4FieldInfo = (~) Quadrilateral
type AttrGetType QuadrilateralP4FieldInfo = Poppler.Point.Point
type AttrLabel QuadrilateralP4FieldInfo = "p4"
type AttrOrigin QuadrilateralP4FieldInfo = Quadrilateral
attrGet _ = getQuadrilateralP4
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
quadrilateral_p4 :: AttrLabelProxy "p4"
quadrilateral_p4 = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList Quadrilateral
type instance O.AttributeList Quadrilateral = QuadrilateralAttributeList
type QuadrilateralAttributeList = ('[ '("p1", QuadrilateralP1FieldInfo), '("p2", QuadrilateralP2FieldInfo), '("p3", QuadrilateralP3FieldInfo), '("p4", QuadrilateralP4FieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "poppler_quadrilateral_new" poppler_quadrilateral_new ::
IO (Ptr Quadrilateral)
quadrilateralNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Quadrilateral
quadrilateralNew = liftIO $ do
result <- poppler_quadrilateral_new
checkUnexpectedReturnNULL "quadrilateralNew" result
result' <- (wrapBoxed Quadrilateral) result
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "poppler_quadrilateral_copy" poppler_quadrilateral_copy ::
Ptr Quadrilateral ->
IO (Ptr Quadrilateral)
quadrilateralCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
Quadrilateral
-> m Quadrilateral
quadrilateralCopy quad = liftIO $ do
quad' <- unsafeManagedPtrGetPtr quad
result <- poppler_quadrilateral_copy quad'
checkUnexpectedReturnNULL "quadrilateralCopy" result
result' <- (wrapBoxed Quadrilateral) result
touchManagedPtr quad
return result'
#if ENABLE_OVERLOADING
data QuadrilateralCopyMethodInfo
instance (signature ~ (m Quadrilateral), MonadIO m) => O.MethodInfo QuadrilateralCopyMethodInfo Quadrilateral signature where
overloadedMethod _ = quadrilateralCopy
#endif
foreign import ccall "poppler_quadrilateral_free" poppler_quadrilateral_free ::
Ptr Quadrilateral ->
IO ()
quadrilateralFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Quadrilateral
-> m ()
quadrilateralFree quad = liftIO $ do
quad' <- unsafeManagedPtrGetPtr quad
poppler_quadrilateral_free quad'
touchManagedPtr quad
return ()
#if ENABLE_OVERLOADING
data QuadrilateralFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QuadrilateralFreeMethodInfo Quadrilateral signature where
overloadedMethod _ = quadrilateralFree
#endif
#if ENABLE_OVERLOADING
type family ResolveQuadrilateralMethod (t :: Symbol) (o :: *) :: * where
ResolveQuadrilateralMethod "copy" o = QuadrilateralCopyMethodInfo
ResolveQuadrilateralMethod "free" o = QuadrilateralFreeMethodInfo
ResolveQuadrilateralMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveQuadrilateralMethod t Quadrilateral, O.MethodInfo info Quadrilateral p) => OL.IsLabel t (Quadrilateral -> 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