poppler-0.11.0: Graphics/UI/Gtk/Poppler/Types.chs
{-# OPTIONS_HADDOCK hide #-}
-- -*-haskell-*-
-- -------------------- automatically generated file - do not edit ----------
-- Object hierarchy for the GIMP Toolkit (GTK) Binding for Haskell
--
-- Author : Axel Simon
--
-- Copyright (C) 2001-2005 Axel Simon
--
-- This library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- This library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- #hide
-- |
-- Maintainer : gtk2hs-users@lists.sourceforge.net
-- Stability : provisional
-- Portability : portable (depends on GHC)
--
-- This file reflects the Gtk+ object hierarchy in terms of Haskell classes.
--
-- Note: the mk... functions were originally meant to simply be an alias
-- for the constructor. However, in order to communicate the destructor
-- of an object to objectNew, the mk... functions are now a tuple containing
-- Haskell constructor and the destructor function pointer. This hack avoids
-- changing all modules that simply pass mk... to objectNew.
--
module Graphics.UI.Gtk.Poppler.Types (
PangoContext(PangoContext), PangoContextClass,
toPangoContext,
mkPangoContext, unPangoContext,
castToPangoContext, gTypePangoContext,
PangoLayoutRaw(PangoLayoutRaw), PangoLayoutRawClass,
toPangoLayoutRaw,
mkPangoLayoutRaw, unPangoLayoutRaw,
castToPangoLayoutRaw, gTypePangoLayoutRaw,
Font(Font), FontClass,
toFont,
mkFont, unFont,
castToFont, gTypeFont,
FontFamily(FontFamily), FontFamilyClass,
toFontFamily,
mkFontFamily, unFontFamily,
castToFontFamily, gTypeFontFamily,
FontFace(FontFace), FontFaceClass,
toFontFace,
mkFontFace, unFontFace,
castToFontFace, gTypeFontFace,
FontMap(FontMap), FontMapClass,
toFontMap,
mkFontMap, unFontMap,
castToFontMap, gTypeFontMap,
FontSet(FontSet), FontSetClass,
toFontSet,
mkFontSet, unFontSet,
castToFontSet, gTypeFontSet,
Document(Document), DocumentClass,
toDocument,
mkDocument, unDocument,
castToDocument, gTypeDocument,
IndexIter(IndexIter), IndexIterClass,
toIndexIter,
mkIndexIter, unIndexIter,
castToIndexIter, gTypeIndexIter,
FontsIter(FontsIter), FontsIterClass,
toFontsIter,
mkFontsIter, unFontsIter,
castToFontsIter, gTypeFontsIter,
Page(Page), PageClass,
toPage,
mkPage, unPage,
castToPage, gTypePage,
Dest(Dest), DestClass,
toDest,
mkDest, unDest,
castToDest, gTypeDest,
FormField(FormField), FormFieldClass,
toFormField,
mkFormField, unFormField,
castToFormField, gTypeFormField,
PSFile(PSFile), PSFileClass,
toPSFile,
mkPSFile, unPSFile,
castToPSFile, gTypePSFile,
PageTransition(PageTransition), PageTransitionClass,
toPageTransition,
mkPageTransition, unPageTransition,
castToPageTransition, gTypePageTransition,
LinkMapping(LinkMapping), LinkMappingClass,
toLinkMapping,
mkLinkMapping, unLinkMapping,
castToLinkMapping, gTypeLinkMapping,
ImageMapping(ImageMapping), ImageMappingClass,
toImageMapping,
mkImageMapping, unImageMapping,
castToImageMapping, gTypeImageMapping,
FormFieldMapping(FormFieldMapping), FormFieldMappingClass,
toFormFieldMapping,
mkFormFieldMapping, unFormFieldMapping,
castToFormFieldMapping, gTypeFormFieldMapping,
FontInfo(FontInfo), FontInfoClass,
toFontInfo,
mkFontInfo, unFontInfo,
castToFontInfo, gTypeFontInfo,
Attachment(Attachment), AttachmentClass,
toAttachment,
mkAttachment, unAttachment,
castToAttachment, gTypeAttachment,
Action(Action), ActionClass,
toAction,
mkAction, unAction,
castToAction, gTypeAction,
Layer(Layer), LayerClass,
toLayer,
mkLayer, unLayer,
castToLayer, gTypeLayer
) where
import Foreign.ForeignPtr (ForeignPtr, castForeignPtr, unsafeForeignPtrToPtr)
import Foreign.C.Types (CULong, CUInt)
import System.Glib.GType (GType, typeInstanceIsA)
import System.Glib.GObject
{# context lib="poppler" prefix="poppler" #}
-- The usage of foreignPtrToPtr should be safe as the evaluation will only be
-- forced if the object is used afterwards
--
castTo :: (GObjectClass obj, GObjectClass obj') => GType -> String
-> (obj -> obj')
castTo gtype objTypeName obj =
case toGObject obj of
gobj@(GObject objFPtr)
| typeInstanceIsA ((unsafeForeignPtrToPtr.castForeignPtr) objFPtr) gtype
-> unsafeCastGObject gobj
| otherwise -> error $ "Cannot cast object to " ++ objTypeName
-- *************************************************************** PangoContext
{#pointer *PangoContext foreign newtype #} deriving (Eq,Ord)
mkPangoContext = (PangoContext, objectUnref)
unPangoContext (PangoContext o) = o
class GObjectClass o => PangoContextClass o
toPangoContext :: PangoContextClass o => o -> PangoContext
toPangoContext = unsafeCastGObject . toGObject
instance PangoContextClass PangoContext
instance GObjectClass PangoContext where
toGObject = GObject . castForeignPtr . unPangoContext
unsafeCastGObject = PangoContext . castForeignPtr . unGObject
castToPangoContext :: GObjectClass obj => obj -> PangoContext
castToPangoContext = castTo gTypePangoContext "PangoContext"
gTypePangoContext :: GType
gTypePangoContext =
{# call fun unsafe pango_context_get_type #}
-- ************************************************************* PangoLayoutRaw
{#pointer *PangoLayout as PangoLayoutRaw foreign newtype #} deriving (Eq,Ord)
mkPangoLayoutRaw = (PangoLayoutRaw, objectUnref)
unPangoLayoutRaw (PangoLayoutRaw o) = o
class GObjectClass o => PangoLayoutRawClass o
toPangoLayoutRaw :: PangoLayoutRawClass o => o -> PangoLayoutRaw
toPangoLayoutRaw = unsafeCastGObject . toGObject
instance PangoLayoutRawClass PangoLayoutRaw
instance GObjectClass PangoLayoutRaw where
toGObject = GObject . castForeignPtr . unPangoLayoutRaw
unsafeCastGObject = PangoLayoutRaw . castForeignPtr . unGObject
castToPangoLayoutRaw :: GObjectClass obj => obj -> PangoLayoutRaw
castToPangoLayoutRaw = castTo gTypePangoLayoutRaw "PangoLayoutRaw"
gTypePangoLayoutRaw :: GType
gTypePangoLayoutRaw =
{# call fun unsafe pango_layout_get_type #}
-- *********************************************************************** Font
{#pointer *PangoFont as Font foreign newtype #} deriving (Eq,Ord)
mkFont = (Font, objectUnref)
unFont (Font o) = o
class GObjectClass o => FontClass o
toFont :: FontClass o => o -> Font
toFont = unsafeCastGObject . toGObject
instance FontClass Font
instance GObjectClass Font where
toGObject = GObject . castForeignPtr . unFont
unsafeCastGObject = Font . castForeignPtr . unGObject
castToFont :: GObjectClass obj => obj -> Font
castToFont = castTo gTypeFont "Font"
gTypeFont :: GType
gTypeFont =
{# call fun unsafe pango_font_get_type #}
-- ***************************************************************** FontFamily
{#pointer *PangoFontFamily as FontFamily foreign newtype #} deriving (Eq,Ord)
mkFontFamily = (FontFamily, objectUnref)
unFontFamily (FontFamily o) = o
class GObjectClass o => FontFamilyClass o
toFontFamily :: FontFamilyClass o => o -> FontFamily
toFontFamily = unsafeCastGObject . toGObject
instance FontFamilyClass FontFamily
instance GObjectClass FontFamily where
toGObject = GObject . castForeignPtr . unFontFamily
unsafeCastGObject = FontFamily . castForeignPtr . unGObject
castToFontFamily :: GObjectClass obj => obj -> FontFamily
castToFontFamily = castTo gTypeFontFamily "FontFamily"
gTypeFontFamily :: GType
gTypeFontFamily =
{# call fun unsafe pango_font_family_get_type #}
-- ******************************************************************* FontFace
{#pointer *PangoFontFace as FontFace foreign newtype #} deriving (Eq,Ord)
mkFontFace = (FontFace, objectUnref)
unFontFace (FontFace o) = o
class GObjectClass o => FontFaceClass o
toFontFace :: FontFaceClass o => o -> FontFace
toFontFace = unsafeCastGObject . toGObject
instance FontFaceClass FontFace
instance GObjectClass FontFace where
toGObject = GObject . castForeignPtr . unFontFace
unsafeCastGObject = FontFace . castForeignPtr . unGObject
castToFontFace :: GObjectClass obj => obj -> FontFace
castToFontFace = castTo gTypeFontFace "FontFace"
gTypeFontFace :: GType
gTypeFontFace =
{# call fun unsafe pango_font_face_get_type #}
-- ******************************************************************** FontMap
{#pointer *PangoFontMap as FontMap foreign newtype #} deriving (Eq,Ord)
mkFontMap = (FontMap, objectUnref)
unFontMap (FontMap o) = o
class GObjectClass o => FontMapClass o
toFontMap :: FontMapClass o => o -> FontMap
toFontMap = unsafeCastGObject . toGObject
instance FontMapClass FontMap
instance GObjectClass FontMap where
toGObject = GObject . castForeignPtr . unFontMap
unsafeCastGObject = FontMap . castForeignPtr . unGObject
castToFontMap :: GObjectClass obj => obj -> FontMap
castToFontMap = castTo gTypeFontMap "FontMap"
gTypeFontMap :: GType
gTypeFontMap =
{# call fun unsafe pango_font_face_get_type #}
-- ******************************************************************** FontSet
{#pointer *PangoFontset as FontSet foreign newtype #} deriving (Eq,Ord)
mkFontSet = (FontSet, objectUnref)
unFontSet (FontSet o) = o
class GObjectClass o => FontSetClass o
toFontSet :: FontSetClass o => o -> FontSet
toFontSet = unsafeCastGObject . toGObject
instance FontSetClass FontSet
instance GObjectClass FontSet where
toGObject = GObject . castForeignPtr . unFontSet
unsafeCastGObject = FontSet . castForeignPtr . unGObject
castToFontSet :: GObjectClass obj => obj -> FontSet
castToFontSet = castTo gTypeFontSet "FontSet"
gTypeFontSet :: GType
gTypeFontSet =
{# call fun unsafe pango_fontset_get_type #}
-- ******************************************************************* Document
{#pointer *Document foreign newtype #} deriving (Eq,Ord)
mkDocument = (Document, objectUnref)
unDocument (Document o) = o
class GObjectClass o => DocumentClass o
toDocument :: DocumentClass o => o -> Document
toDocument = unsafeCastGObject . toGObject
instance DocumentClass Document
instance GObjectClass Document where
toGObject = GObject . castForeignPtr . unDocument
unsafeCastGObject = Document . castForeignPtr . unGObject
castToDocument :: GObjectClass obj => obj -> Document
castToDocument = castTo gTypeDocument "Document"
gTypeDocument :: GType
gTypeDocument =
{# call fun unsafe poppler_document_get_type #}
-- ****************************************************************** IndexIter
{#pointer *IndexIter foreign newtype #} deriving (Eq,Ord)
mkIndexIter = (IndexIter, objectUnref)
unIndexIter (IndexIter o) = o
class GObjectClass o => IndexIterClass o
toIndexIter :: IndexIterClass o => o -> IndexIter
toIndexIter = unsafeCastGObject . toGObject
instance IndexIterClass IndexIter
instance GObjectClass IndexIter where
toGObject = GObject . castForeignPtr . unIndexIter
unsafeCastGObject = IndexIter . castForeignPtr . unGObject
castToIndexIter :: GObjectClass obj => obj -> IndexIter
castToIndexIter = castTo gTypeIndexIter "IndexIter"
gTypeIndexIter :: GType
gTypeIndexIter =
{# call fun unsafe poppler_index_iter_get_type #}
-- ****************************************************************** FontsIter
{#pointer *FontsIter foreign newtype #} deriving (Eq,Ord)
mkFontsIter = (FontsIter, objectUnref)
unFontsIter (FontsIter o) = o
class GObjectClass o => FontsIterClass o
toFontsIter :: FontsIterClass o => o -> FontsIter
toFontsIter = unsafeCastGObject . toGObject
instance FontsIterClass FontsIter
instance GObjectClass FontsIter where
toGObject = GObject . castForeignPtr . unFontsIter
unsafeCastGObject = FontsIter . castForeignPtr . unGObject
castToFontsIter :: GObjectClass obj => obj -> FontsIter
castToFontsIter = castTo gTypeFontsIter "FontsIter"
gTypeFontsIter :: GType
gTypeFontsIter =
{# call fun unsafe poppler_fonts_iter_get_type #}
-- *********************************************************************** Page
{#pointer *Page foreign newtype #} deriving (Eq,Ord)
mkPage = (Page, objectUnref)
unPage (Page o) = o
class GObjectClass o => PageClass o
toPage :: PageClass o => o -> Page
toPage = unsafeCastGObject . toGObject
instance PageClass Page
instance GObjectClass Page where
toGObject = GObject . castForeignPtr . unPage
unsafeCastGObject = Page . castForeignPtr . unGObject
castToPage :: GObjectClass obj => obj -> Page
castToPage = castTo gTypePage "Page"
gTypePage :: GType
gTypePage =
{# call fun unsafe poppler_page_get_type #}
-- *********************************************************************** Dest
{#pointer *Dest foreign newtype #} deriving (Eq,Ord)
mkDest = (Dest, objectUnref)
unDest (Dest o) = o
class GObjectClass o => DestClass o
toDest :: DestClass o => o -> Dest
toDest = unsafeCastGObject . toGObject
instance DestClass Dest
instance GObjectClass Dest where
toGObject = GObject . castForeignPtr . unDest
unsafeCastGObject = Dest . castForeignPtr . unGObject
castToDest :: GObjectClass obj => obj -> Dest
castToDest = castTo gTypeDest "Dest"
gTypeDest :: GType
gTypeDest =
{# call fun unsafe poppler_dest_get_type #}
-- ****************************************************************** FormField
{#pointer *FormField foreign newtype #} deriving (Eq,Ord)
mkFormField = (FormField, objectUnref)
unFormField (FormField o) = o
class GObjectClass o => FormFieldClass o
toFormField :: FormFieldClass o => o -> FormField
toFormField = unsafeCastGObject . toGObject
instance FormFieldClass FormField
instance GObjectClass FormField where
toGObject = GObject . castForeignPtr . unFormField
unsafeCastGObject = FormField . castForeignPtr . unGObject
castToFormField :: GObjectClass obj => obj -> FormField
castToFormField = castTo gTypeFormField "FormField"
gTypeFormField :: GType
gTypeFormField =
{# call fun unsafe poppler_form_field_get_type #}
-- ********************************************************************* PSFile
{#pointer *PSFile foreign newtype #} deriving (Eq,Ord)
mkPSFile = (PSFile, objectUnref)
unPSFile (PSFile o) = o
class GObjectClass o => PSFileClass o
toPSFile :: PSFileClass o => o -> PSFile
toPSFile = unsafeCastGObject . toGObject
instance PSFileClass PSFile
instance GObjectClass PSFile where
toGObject = GObject . castForeignPtr . unPSFile
unsafeCastGObject = PSFile . castForeignPtr . unGObject
castToPSFile :: GObjectClass obj => obj -> PSFile
castToPSFile = castTo gTypePSFile "PSFile"
gTypePSFile :: GType
gTypePSFile =
{# call fun unsafe poppler_ps_file_get_type #}
-- ************************************************************* PageTransition
{#pointer *PageTransition foreign newtype #} deriving (Eq,Ord)
mkPageTransition = (PageTransition, objectUnref)
unPageTransition (PageTransition o) = o
class GObjectClass o => PageTransitionClass o
toPageTransition :: PageTransitionClass o => o -> PageTransition
toPageTransition = unsafeCastGObject . toGObject
instance PageTransitionClass PageTransition
instance GObjectClass PageTransition where
toGObject = GObject . castForeignPtr . unPageTransition
unsafeCastGObject = PageTransition . castForeignPtr . unGObject
castToPageTransition :: GObjectClass obj => obj -> PageTransition
castToPageTransition = castTo gTypePageTransition "PageTransition"
gTypePageTransition :: GType
gTypePageTransition =
{# call fun unsafe poppler_page_transition_get_type #}
-- **************************************************************** LinkMapping
{#pointer *LinkMapping foreign newtype #} deriving (Eq,Ord)
mkLinkMapping = (LinkMapping, objectUnref)
unLinkMapping (LinkMapping o) = o
class GObjectClass o => LinkMappingClass o
toLinkMapping :: LinkMappingClass o => o -> LinkMapping
toLinkMapping = unsafeCastGObject . toGObject
instance LinkMappingClass LinkMapping
instance GObjectClass LinkMapping where
toGObject = GObject . castForeignPtr . unLinkMapping
unsafeCastGObject = LinkMapping . castForeignPtr . unGObject
castToLinkMapping :: GObjectClass obj => obj -> LinkMapping
castToLinkMapping = castTo gTypeLinkMapping "LinkMapping"
gTypeLinkMapping :: GType
gTypeLinkMapping =
{# call fun unsafe poppler_link_mapping_get_type #}
-- *************************************************************** ImageMapping
{#pointer *ImageMapping foreign newtype #} deriving (Eq,Ord)
mkImageMapping = (ImageMapping, objectUnref)
unImageMapping (ImageMapping o) = o
class GObjectClass o => ImageMappingClass o
toImageMapping :: ImageMappingClass o => o -> ImageMapping
toImageMapping = unsafeCastGObject . toGObject
instance ImageMappingClass ImageMapping
instance GObjectClass ImageMapping where
toGObject = GObject . castForeignPtr . unImageMapping
unsafeCastGObject = ImageMapping . castForeignPtr . unGObject
castToImageMapping :: GObjectClass obj => obj -> ImageMapping
castToImageMapping = castTo gTypeImageMapping "ImageMapping"
gTypeImageMapping :: GType
gTypeImageMapping =
{# call fun unsafe poppler_image_mapping_get_type #}
-- *********************************************************** FormFieldMapping
{#pointer *FormFieldMapping foreign newtype #} deriving (Eq,Ord)
mkFormFieldMapping = (FormFieldMapping, objectUnref)
unFormFieldMapping (FormFieldMapping o) = o
class GObjectClass o => FormFieldMappingClass o
toFormFieldMapping :: FormFieldMappingClass o => o -> FormFieldMapping
toFormFieldMapping = unsafeCastGObject . toGObject
instance FormFieldMappingClass FormFieldMapping
instance GObjectClass FormFieldMapping where
toGObject = GObject . castForeignPtr . unFormFieldMapping
unsafeCastGObject = FormFieldMapping . castForeignPtr . unGObject
castToFormFieldMapping :: GObjectClass obj => obj -> FormFieldMapping
castToFormFieldMapping = castTo gTypeFormFieldMapping "FormFieldMapping"
gTypeFormFieldMapping :: GType
gTypeFormFieldMapping =
{# call fun unsafe poppler_form_field_mapping_get_type #}
-- ******************************************************************* FontInfo
{#pointer *FontInfo foreign newtype #} deriving (Eq,Ord)
mkFontInfo = (FontInfo, objectUnref)
unFontInfo (FontInfo o) = o
class GObjectClass o => FontInfoClass o
toFontInfo :: FontInfoClass o => o -> FontInfo
toFontInfo = unsafeCastGObject . toGObject
instance FontInfoClass FontInfo
instance GObjectClass FontInfo where
toGObject = GObject . castForeignPtr . unFontInfo
unsafeCastGObject = FontInfo . castForeignPtr . unGObject
castToFontInfo :: GObjectClass obj => obj -> FontInfo
castToFontInfo = castTo gTypeFontInfo "FontInfo"
gTypeFontInfo :: GType
gTypeFontInfo =
{# call fun unsafe poppler_font_info_get_type #}
-- ***************************************************************** Attachment
{#pointer *Attachment foreign newtype #} deriving (Eq,Ord)
mkAttachment = (Attachment, objectUnref)
unAttachment (Attachment o) = o
class GObjectClass o => AttachmentClass o
toAttachment :: AttachmentClass o => o -> Attachment
toAttachment = unsafeCastGObject . toGObject
instance AttachmentClass Attachment
instance GObjectClass Attachment where
toGObject = GObject . castForeignPtr . unAttachment
unsafeCastGObject = Attachment . castForeignPtr . unGObject
castToAttachment :: GObjectClass obj => obj -> Attachment
castToAttachment = castTo gTypeAttachment "Attachment"
gTypeAttachment :: GType
gTypeAttachment =
{# call fun unsafe poppler_attachment_get_type #}
-- ********************************************************************* Action
{#pointer *Action foreign newtype #} deriving (Eq,Ord)
mkAction = (Action, objectUnref)
unAction (Action o) = o
class GObjectClass o => ActionClass o
toAction :: ActionClass o => o -> Action
toAction = unsafeCastGObject . toGObject
instance ActionClass Action
instance GObjectClass Action where
toGObject = GObject . castForeignPtr . unAction
unsafeCastGObject = Action . castForeignPtr . unGObject
castToAction :: GObjectClass obj => obj -> Action
castToAction = castTo gTypeAction "Action"
gTypeAction :: GType
gTypeAction =
{# call fun unsafe poppler_action_get_type #}
-- ********************************************************************** Layer
{#pointer *Layer foreign newtype #} deriving (Eq,Ord)
mkLayer = (Layer, objectUnref)
unLayer (Layer o) = o
class GObjectClass o => LayerClass o
toLayer :: LayerClass o => o -> Layer
toLayer = unsafeCastGObject . toGObject
instance LayerClass Layer
instance GObjectClass Layer where
toGObject = GObject . castForeignPtr . unLayer
unsafeCastGObject = Layer . castForeignPtr . unGObject
castToLayer :: GObjectClass obj => obj -> Layer
castToLayer = castTo gTypeLayer "Layer"
gTypeLayer :: GType
gTypeLayer =
{# call fun unsafe poppler_layer_get_type #}