{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Poppler.Structs.FormFieldMapping
(
FormFieldMapping(..) ,
newZeroFormFieldMapping ,
#if defined(ENABLE_OVERLOADING)
ResolveFormFieldMappingMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FormFieldMappingCopyMethodInfo ,
#endif
formFieldMappingCopy ,
#if defined(ENABLE_OVERLOADING)
FormFieldMappingFreeMethodInfo ,
#endif
formFieldMappingFree ,
formFieldMappingNew ,
#if defined(ENABLE_OVERLOADING)
formFieldMapping_area ,
#endif
getFormFieldMappingArea ,
clearFormFieldMappingField ,
#if defined(ENABLE_OVERLOADING)
formFieldMapping_field ,
#endif
getFormFieldMappingField ,
setFormFieldMappingField ,
) 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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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.Objects.FormField as Poppler.FormField
import {-# SOURCE #-} qualified GI.Poppler.Structs.Rectangle as Poppler.Rectangle
newtype FormFieldMapping = FormFieldMapping (ManagedPtr FormFieldMapping)
deriving (FormFieldMapping -> FormFieldMapping -> Bool
(FormFieldMapping -> FormFieldMapping -> Bool)
-> (FormFieldMapping -> FormFieldMapping -> Bool)
-> Eq FormFieldMapping
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FormFieldMapping -> FormFieldMapping -> Bool
$c/= :: FormFieldMapping -> FormFieldMapping -> Bool
== :: FormFieldMapping -> FormFieldMapping -> Bool
$c== :: FormFieldMapping -> FormFieldMapping -> Bool
Eq)
foreign import ccall "poppler_form_field_mapping_get_type" c_poppler_form_field_mapping_get_type ::
IO GType
instance BoxedObject FormFieldMapping where
boxedType :: FormFieldMapping -> IO GType
boxedType FormFieldMapping
_ = IO GType
c_poppler_form_field_mapping_get_type
instance B.GValue.IsGValue FormFieldMapping where
toGValue :: FormFieldMapping -> IO GValue
toGValue FormFieldMapping
o = do
GType
gtype <- IO GType
c_poppler_form_field_mapping_get_type
FormFieldMapping
-> (Ptr FormFieldMapping -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FormFieldMapping
o (GType
-> (GValue -> Ptr FormFieldMapping -> IO ())
-> Ptr FormFieldMapping
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr FormFieldMapping -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO FormFieldMapping
fromGValue GValue
gv = do
Ptr FormFieldMapping
ptr <- GValue -> IO (Ptr FormFieldMapping)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr FormFieldMapping)
(ManagedPtr FormFieldMapping -> FormFieldMapping)
-> Ptr FormFieldMapping -> IO FormFieldMapping
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr FormFieldMapping -> FormFieldMapping
FormFieldMapping Ptr FormFieldMapping
ptr
newZeroFormFieldMapping :: MonadIO m => m FormFieldMapping
newZeroFormFieldMapping :: m FormFieldMapping
newZeroFormFieldMapping = IO FormFieldMapping -> m FormFieldMapping
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FormFieldMapping -> m FormFieldMapping)
-> IO FormFieldMapping -> m FormFieldMapping
forall a b. (a -> b) -> a -> b
$ Int -> IO (Ptr FormFieldMapping)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes Int
40 IO (Ptr FormFieldMapping)
-> (Ptr FormFieldMapping -> IO FormFieldMapping)
-> IO FormFieldMapping
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr FormFieldMapping -> FormFieldMapping)
-> Ptr FormFieldMapping -> IO FormFieldMapping
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FormFieldMapping -> FormFieldMapping
FormFieldMapping
instance tag ~ 'AttrSet => Constructible FormFieldMapping tag where
new :: (ManagedPtr FormFieldMapping -> FormFieldMapping)
-> [AttrOp FormFieldMapping tag] -> m FormFieldMapping
new ManagedPtr FormFieldMapping -> FormFieldMapping
_ [AttrOp FormFieldMapping tag]
attrs = do
FormFieldMapping
o <- m FormFieldMapping
forall (m :: * -> *). MonadIO m => m FormFieldMapping
newZeroFormFieldMapping
FormFieldMapping -> [AttrOp FormFieldMapping 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set FormFieldMapping
o [AttrOp FormFieldMapping tag]
[AttrOp FormFieldMapping 'AttrSet]
attrs
FormFieldMapping -> m FormFieldMapping
forall (m :: * -> *) a. Monad m => a -> m a
return FormFieldMapping
o
getFormFieldMappingArea :: MonadIO m => FormFieldMapping -> m Poppler.Rectangle.Rectangle
getFormFieldMappingArea :: FormFieldMapping -> m Rectangle
getFormFieldMappingArea FormFieldMapping
s = IO Rectangle -> m Rectangle
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Rectangle -> m Rectangle) -> IO Rectangle -> m Rectangle
forall a b. (a -> b) -> a -> b
$ FormFieldMapping
-> (Ptr FormFieldMapping -> IO Rectangle) -> IO Rectangle
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FormFieldMapping
s ((Ptr FormFieldMapping -> IO Rectangle) -> IO Rectangle)
-> (Ptr FormFieldMapping -> IO Rectangle) -> IO Rectangle
forall a b. (a -> b) -> a -> b
$ \Ptr FormFieldMapping
ptr -> do
let val :: Ptr Rectangle
val = Ptr FormFieldMapping
ptr Ptr FormFieldMapping -> Int -> Ptr Rectangle
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: (Ptr Poppler.Rectangle.Rectangle)
Rectangle
val' <- ((ManagedPtr Rectangle -> Rectangle)
-> Ptr Rectangle -> IO Rectangle
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Rectangle -> Rectangle
Poppler.Rectangle.Rectangle) Ptr Rectangle
val
Rectangle -> IO Rectangle
forall (m :: * -> *) a. Monad m => a -> m a
return Rectangle
val'
#if defined(ENABLE_OVERLOADING)
data FormFieldMappingAreaFieldInfo
instance AttrInfo FormFieldMappingAreaFieldInfo where
type AttrBaseTypeConstraint FormFieldMappingAreaFieldInfo = (~) FormFieldMapping
type AttrAllowedOps FormFieldMappingAreaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint FormFieldMappingAreaFieldInfo = (~) (Ptr Poppler.Rectangle.Rectangle)
type AttrTransferTypeConstraint FormFieldMappingAreaFieldInfo = (~)(Ptr Poppler.Rectangle.Rectangle)
type AttrTransferType FormFieldMappingAreaFieldInfo = (Ptr Poppler.Rectangle.Rectangle)
type AttrGetType FormFieldMappingAreaFieldInfo = Poppler.Rectangle.Rectangle
type AttrLabel FormFieldMappingAreaFieldInfo = "area"
type AttrOrigin FormFieldMappingAreaFieldInfo = FormFieldMapping
attrGet = getFormFieldMappingArea
attrSet = undefined
attrConstruct = undefined
attrClear = undefined
attrTransfer = undefined
formFieldMapping_area :: AttrLabelProxy "area"
formFieldMapping_area = AttrLabelProxy
#endif
getFormFieldMappingField :: MonadIO m => FormFieldMapping -> m (Maybe Poppler.FormField.FormField)
getFormFieldMappingField :: FormFieldMapping -> m (Maybe FormField)
getFormFieldMappingField FormFieldMapping
s = IO (Maybe FormField) -> m (Maybe FormField)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe FormField) -> m (Maybe FormField))
-> IO (Maybe FormField) -> m (Maybe FormField)
forall a b. (a -> b) -> a -> b
$ FormFieldMapping
-> (Ptr FormFieldMapping -> IO (Maybe FormField))
-> IO (Maybe FormField)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FormFieldMapping
s ((Ptr FormFieldMapping -> IO (Maybe FormField))
-> IO (Maybe FormField))
-> (Ptr FormFieldMapping -> IO (Maybe FormField))
-> IO (Maybe FormField)
forall a b. (a -> b) -> a -> b
$ \Ptr FormFieldMapping
ptr -> do
Ptr FormField
val <- Ptr (Ptr FormField) -> IO (Ptr FormField)
forall a. Storable a => Ptr a -> IO a
peek (Ptr FormFieldMapping
ptr Ptr FormFieldMapping -> Int -> Ptr (Ptr FormField)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) :: IO (Ptr Poppler.FormField.FormField)
Maybe FormField
result <- Ptr FormField
-> (Ptr FormField -> IO FormField) -> IO (Maybe FormField)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr FormField
val ((Ptr FormField -> IO FormField) -> IO (Maybe FormField))
-> (Ptr FormField -> IO FormField) -> IO (Maybe FormField)
forall a b. (a -> b) -> a -> b
$ \Ptr FormField
val' -> do
FormField
val'' <- ((ManagedPtr FormField -> FormField)
-> Ptr FormField -> IO FormField
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr FormField -> FormField
Poppler.FormField.FormField) Ptr FormField
val'
FormField -> IO FormField
forall (m :: * -> *) a. Monad m => a -> m a
return FormField
val''
Maybe FormField -> IO (Maybe FormField)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe FormField
result
setFormFieldMappingField :: MonadIO m => FormFieldMapping -> Ptr Poppler.FormField.FormField -> m ()
setFormFieldMappingField :: FormFieldMapping -> Ptr FormField -> m ()
setFormFieldMappingField FormFieldMapping
s Ptr FormField
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FormFieldMapping -> (Ptr FormFieldMapping -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FormFieldMapping
s ((Ptr FormFieldMapping -> IO ()) -> IO ())
-> (Ptr FormFieldMapping -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FormFieldMapping
ptr -> do
Ptr (Ptr FormField) -> Ptr FormField -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FormFieldMapping
ptr Ptr FormFieldMapping -> Int -> Ptr (Ptr FormField)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Ptr FormField
val :: Ptr Poppler.FormField.FormField)
clearFormFieldMappingField :: MonadIO m => FormFieldMapping -> m ()
clearFormFieldMappingField :: FormFieldMapping -> m ()
clearFormFieldMappingField FormFieldMapping
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ FormFieldMapping -> (Ptr FormFieldMapping -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr FormFieldMapping
s ((Ptr FormFieldMapping -> IO ()) -> IO ())
-> (Ptr FormFieldMapping -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr FormFieldMapping
ptr -> do
Ptr (Ptr FormField) -> Ptr FormField -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr FormFieldMapping
ptr Ptr FormFieldMapping -> Int -> Ptr (Ptr FormField)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Ptr FormField
forall a. Ptr a
FP.nullPtr :: Ptr Poppler.FormField.FormField)
#if defined(ENABLE_OVERLOADING)
data FormFieldMappingFieldFieldInfo
instance AttrInfo FormFieldMappingFieldFieldInfo where
type AttrBaseTypeConstraint FormFieldMappingFieldFieldInfo = (~) FormFieldMapping
type AttrAllowedOps FormFieldMappingFieldFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint FormFieldMappingFieldFieldInfo = (~) (Ptr Poppler.FormField.FormField)
type AttrTransferTypeConstraint FormFieldMappingFieldFieldInfo = (~)(Ptr Poppler.FormField.FormField)
type AttrTransferType FormFieldMappingFieldFieldInfo = (Ptr Poppler.FormField.FormField)
type AttrGetType FormFieldMappingFieldFieldInfo = Maybe Poppler.FormField.FormField
type AttrLabel FormFieldMappingFieldFieldInfo = "field"
type AttrOrigin FormFieldMappingFieldFieldInfo = FormFieldMapping
attrGet = getFormFieldMappingField
attrSet = setFormFieldMappingField
attrConstruct = undefined
attrClear = clearFormFieldMappingField
attrTransfer _ v = do
return v
formFieldMapping_field :: AttrLabelProxy "field"
formFieldMapping_field = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FormFieldMapping
type instance O.AttributeList FormFieldMapping = FormFieldMappingAttributeList
type FormFieldMappingAttributeList = ('[ '("area", FormFieldMappingAreaFieldInfo), '("field", FormFieldMappingFieldFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "poppler_form_field_mapping_new" poppler_form_field_mapping_new ::
IO (Ptr FormFieldMapping)
formFieldMappingNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m FormFieldMapping
formFieldMappingNew :: m FormFieldMapping
formFieldMappingNew = IO FormFieldMapping -> m FormFieldMapping
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FormFieldMapping -> m FormFieldMapping)
-> IO FormFieldMapping -> m FormFieldMapping
forall a b. (a -> b) -> a -> b
$ do
Ptr FormFieldMapping
result <- IO (Ptr FormFieldMapping)
poppler_form_field_mapping_new
Text -> Ptr FormFieldMapping -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"formFieldMappingNew" Ptr FormFieldMapping
result
FormFieldMapping
result' <- ((ManagedPtr FormFieldMapping -> FormFieldMapping)
-> Ptr FormFieldMapping -> IO FormFieldMapping
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FormFieldMapping -> FormFieldMapping
FormFieldMapping) Ptr FormFieldMapping
result
FormFieldMapping -> IO FormFieldMapping
forall (m :: * -> *) a. Monad m => a -> m a
return FormFieldMapping
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "poppler_form_field_mapping_copy" poppler_form_field_mapping_copy ::
Ptr FormFieldMapping ->
IO (Ptr FormFieldMapping)
formFieldMappingCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
FormFieldMapping
-> m FormFieldMapping
formFieldMappingCopy :: FormFieldMapping -> m FormFieldMapping
formFieldMappingCopy FormFieldMapping
mapping = IO FormFieldMapping -> m FormFieldMapping
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FormFieldMapping -> m FormFieldMapping)
-> IO FormFieldMapping -> m FormFieldMapping
forall a b. (a -> b) -> a -> b
$ do
Ptr FormFieldMapping
mapping' <- FormFieldMapping -> IO (Ptr FormFieldMapping)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FormFieldMapping
mapping
Ptr FormFieldMapping
result <- Ptr FormFieldMapping -> IO (Ptr FormFieldMapping)
poppler_form_field_mapping_copy Ptr FormFieldMapping
mapping'
Text -> Ptr FormFieldMapping -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"formFieldMappingCopy" Ptr FormFieldMapping
result
FormFieldMapping
result' <- ((ManagedPtr FormFieldMapping -> FormFieldMapping)
-> Ptr FormFieldMapping -> IO FormFieldMapping
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr FormFieldMapping -> FormFieldMapping
FormFieldMapping) Ptr FormFieldMapping
result
FormFieldMapping -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FormFieldMapping
mapping
FormFieldMapping -> IO FormFieldMapping
forall (m :: * -> *) a. Monad m => a -> m a
return FormFieldMapping
result'
#if defined(ENABLE_OVERLOADING)
data FormFieldMappingCopyMethodInfo
instance (signature ~ (m FormFieldMapping), MonadIO m) => O.MethodInfo FormFieldMappingCopyMethodInfo FormFieldMapping signature where
overloadedMethod = formFieldMappingCopy
#endif
foreign import ccall "poppler_form_field_mapping_free" poppler_form_field_mapping_free ::
Ptr FormFieldMapping ->
IO ()
formFieldMappingFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
FormFieldMapping
-> m ()
formFieldMappingFree :: FormFieldMapping -> m ()
formFieldMappingFree FormFieldMapping
mapping = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FormFieldMapping
mapping' <- FormFieldMapping -> IO (Ptr FormFieldMapping)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr FormFieldMapping
mapping
Ptr FormFieldMapping -> IO ()
poppler_form_field_mapping_free Ptr FormFieldMapping
mapping'
FormFieldMapping -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr FormFieldMapping
mapping
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FormFieldMappingFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FormFieldMappingFreeMethodInfo FormFieldMapping signature where
overloadedMethod = formFieldMappingFree
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveFormFieldMappingMethod (t :: Symbol) (o :: *) :: * where
ResolveFormFieldMappingMethod "copy" o = FormFieldMappingCopyMethodInfo
ResolveFormFieldMappingMethod "free" o = FormFieldMappingFreeMethodInfo
ResolveFormFieldMappingMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFormFieldMappingMethod t FormFieldMapping, O.MethodInfo info FormFieldMapping p) => OL.IsLabel t (FormFieldMapping -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif