gi-poppler-0.0.30.12: GI/Poppler/Objects/PSFile.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Poppler.Objects.PSFile
(
-- * Exported types
PSFile(..) ,
PSFileK ,
toPSFile ,
noPSFile ,
-- * Methods
-- ** pSFileFree
pSFileFree ,
-- ** pSFileNew
pSFileNew ,
-- ** pSFileSetDuplex
pSFileSetDuplex ,
-- ** pSFileSetPaperSize
pSFileSetPaperSize ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Poppler.Types
import GI.Poppler.Callbacks
import qualified GI.GObject as GObject
newtype PSFile = PSFile (ForeignPtr PSFile)
foreign import ccall "poppler_ps_file_get_type"
c_poppler_ps_file_get_type :: IO GType
type instance ParentTypes PSFile = PSFileParentTypes
type PSFileParentTypes = '[GObject.Object]
instance GObject PSFile where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_poppler_ps_file_get_type
class GObject o => PSFileK o
instance (GObject o, IsDescendantOf PSFile o) => PSFileK o
toPSFile :: PSFileK o => o -> IO PSFile
toPSFile = unsafeCastTo PSFile
noPSFile :: Maybe PSFile
noPSFile = Nothing
type instance AttributeList PSFile = PSFileAttributeList
type PSFileAttributeList = ('[ ] :: [(Symbol, *)])
type instance SignalList PSFile = PSFileSignalList
type PSFileSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method PSFile::new
-- method type : Constructor
-- Args : [Arg {argName = "document", argType = TInterface "Poppler" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_page", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_pages", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "document", argType = TInterface "Poppler" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "first_page", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_pages", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Poppler" "PSFile"
-- throws : False
-- Skip return : False
foreign import ccall "poppler_ps_file_new" poppler_ps_file_new ::
Ptr Document -> -- document : TInterface "Poppler" "Document"
CString -> -- filename : TBasicType TUTF8
Int32 -> -- first_page : TBasicType TInt32
Int32 -> -- n_pages : TBasicType TInt32
IO (Ptr PSFile)
pSFileNew ::
(MonadIO m, DocumentK a) =>
a -> -- document
T.Text -> -- filename
Int32 -> -- first_page
Int32 -> -- n_pages
m PSFile
pSFileNew document filename first_page n_pages = liftIO $ do
let document' = unsafeManagedPtrCastPtr document
filename' <- textToCString filename
result <- poppler_ps_file_new document' filename' first_page n_pages
checkUnexpectedReturnNULL "poppler_ps_file_new" result
result' <- (wrapObject PSFile) result
touchManagedPtr document
freeMem filename'
return result'
-- method PSFile::free
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Poppler" "PSFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Poppler" "PSFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "poppler_ps_file_free" poppler_ps_file_free ::
Ptr PSFile -> -- _obj : TInterface "Poppler" "PSFile"
IO ()
pSFileFree ::
(MonadIO m, PSFileK a) =>
a -> -- _obj
m ()
pSFileFree _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
poppler_ps_file_free _obj'
touchManagedPtr _obj
return ()
-- method PSFile::set_duplex
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Poppler" "PSFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "duplex", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Poppler" "PSFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "duplex", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "poppler_ps_file_set_duplex" poppler_ps_file_set_duplex ::
Ptr PSFile -> -- _obj : TInterface "Poppler" "PSFile"
CInt -> -- duplex : TBasicType TBoolean
IO ()
pSFileSetDuplex ::
(MonadIO m, PSFileK a) =>
a -> -- _obj
Bool -> -- duplex
m ()
pSFileSetDuplex _obj duplex = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let duplex' = (fromIntegral . fromEnum) duplex
poppler_ps_file_set_duplex _obj' duplex'
touchManagedPtr _obj
return ()
-- method PSFile::set_paper_size
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Poppler" "PSFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Poppler" "PSFile", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "poppler_ps_file_set_paper_size" poppler_ps_file_set_paper_size ::
Ptr PSFile -> -- _obj : TInterface "Poppler" "PSFile"
CDouble -> -- width : TBasicType TDouble
CDouble -> -- height : TBasicType TDouble
IO ()
pSFileSetPaperSize ::
(MonadIO m, PSFileK a) =>
a -> -- _obj
Double -> -- width
Double -> -- height
m ()
pSFileSetPaperSize _obj width height = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let width' = realToFrac width
let height' = realToFrac height
poppler_ps_file_set_paper_size _obj' width' height'
touchManagedPtr _obj
return ()