    {-# LINE 2 "./Graphics/Rendering/Pango/Types.chs" #-}
    {-# OPTIONS_HADDOCK hide #-}
    {-# OPTIONS_GHC -fno-warn-unused-imports #-}
    -- -*-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.Rendering.Pango.Types (

      module System.Glib.GObject,
      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
      ) where

    import Foreign.ForeignPtr (ForeignPtr, castForeignPtr)
    -- TODO work around cpphs https:

    import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)

    import Foreign.C.Types (CULong(..), CUInt(..), CULLong(..))
    import System.Glib.GType (GType, typeInstanceIsA)
    import System.Glib.GObject
    {-# LINE 81 "./Graphics/Rendering/Pango/Types.chs" #-}

    {-# LINE 83 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- 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 :: forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gtype String
    objTypeName obj
    obj =
      case obj -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject obj
    obj of
        gobj :: GObject
    gobj@(GObject ForeignPtr GObject
    objFPtr)
          | Ptr () -> GType -> Bool
    typeInstanceIsA ((ForeignPtr () -> Ptr ()
    forall a. ForeignPtr a -> Ptr a
    unsafeForeignPtrToPtr(ForeignPtr () -> Ptr ())
    -> (ForeignPtr GObject -> ForeignPtr ())
    -> ForeignPtr GObject
    -> Ptr ()
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    .ForeignPtr GObject -> ForeignPtr ()
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr) ForeignPtr GObject
    objFPtr) GType
    gtype
                      -> GObject -> obj'
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject GObject
    gobj
          | Bool
    otherwise -> String -> obj'
    forall a. HasCallStack => String -> a
    error (String -> obj') -> String -> obj'
    forall a b. (a -> b) -> a -> b
    $ String
    "Cannot cast object to " String -> String -> String
    forall a. [a] -> [a] -> [a]
    ++ String
    objTypeName

    -- *************************************************************** PangoContext

    newtype PangoContext = PangoContext (ForeignPtr (PangoContext)) deriving (PangoContext -> PangoContext -> Bool
    (PangoContext -> PangoContext -> Bool)
    -> (PangoContext -> PangoContext -> Bool) -> Eq PangoContext
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: PangoContext -> PangoContext -> Bool
    == :: PangoContext -> PangoContext -> Bool
    $c/= :: PangoContext -> PangoContext -> Bool
    /= :: PangoContext -> PangoContext -> Bool
    Eq,Eq PangoContext
    Eq PangoContext =>
    (PangoContext -> PangoContext -> Ordering)
    -> (PangoContext -> PangoContext -> Bool)
    -> (PangoContext -> PangoContext -> Bool)
    -> (PangoContext -> PangoContext -> Bool)
    -> (PangoContext -> PangoContext -> Bool)
    -> (PangoContext -> PangoContext -> PangoContext)
    -> (PangoContext -> PangoContext -> PangoContext)
    -> Ord PangoContext
    PangoContext -> PangoContext -> Bool
    PangoContext -> PangoContext -> Ordering
    PangoContext -> PangoContext -> PangoContext
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: PangoContext -> PangoContext -> Ordering
    compare :: PangoContext -> PangoContext -> Ordering
    $c< :: PangoContext -> PangoContext -> Bool
    < :: PangoContext -> PangoContext -> Bool
    $c<= :: PangoContext -> PangoContext -> Bool
    <= :: PangoContext -> PangoContext -> Bool
    $c> :: PangoContext -> PangoContext -> Bool
    > :: PangoContext -> PangoContext -> Bool
    $c>= :: PangoContext -> PangoContext -> Bool
    >= :: PangoContext -> PangoContext -> Bool
    $cmax :: PangoContext -> PangoContext -> PangoContext
    max :: PangoContext -> PangoContext -> PangoContext
    $cmin :: PangoContext -> PangoContext -> PangoContext
    min :: PangoContext -> PangoContext -> PangoContext
    Ord)

    mkPangoContext :: (ForeignPtr PangoContext -> PangoContext, FinalizerPtr a)
    mkPangoContext = (ForeignPtr PangoContext -> PangoContext
    PangoContext, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unPangoContext :: PangoContext -> ForeignPtr PangoContext
    unPangoContext (PangoContext ForeignPtr PangoContext
    o) = ForeignPtr PangoContext
    o

    class GObjectClass o => PangoContextClass o
    toPangoContext :: PangoContextClass o => o -> PangoContext
    toPangoContext :: forall o. PangoContextClass o => o -> PangoContext
    toPangoContext = GObject -> PangoContext
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> PangoContext) -> (o -> GObject) -> o -> PangoContext
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance PangoContextClass PangoContext
    instance GObjectClass PangoContext where
      toGObject :: PangoContext -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (PangoContext -> ForeignPtr GObject) -> PangoContext -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr PangoContext -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr PangoContext -> ForeignPtr GObject)
    -> (PangoContext -> ForeignPtr PangoContext)
    -> PangoContext
    -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . PangoContext -> ForeignPtr PangoContext
    unPangoContext
      unsafeCastGObject :: GObject -> PangoContext
    unsafeCastGObject = ForeignPtr PangoContext -> PangoContext
    PangoContext (ForeignPtr PangoContext -> PangoContext)
    -> (GObject -> ForeignPtr PangoContext) -> GObject -> PangoContext
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr PangoContext
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr PangoContext)
    -> (GObject -> ForeignPtr GObject)
    -> GObject
    -> ForeignPtr PangoContext
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToPangoContext :: GObjectClass obj => obj -> PangoContext
    castToPangoContext :: forall obj. GObjectClass obj => obj -> PangoContext
    castToPangoContext = GType -> String -> obj -> PangoContext
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypePangoContext String
    "PangoContext"

    gTypePangoContext :: GType
    gTypePangoContext :: GType
    gTypePangoContext =
      GType
    pango_context_get_type
    {-# LINE 119 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- ************************************************************* PangoLayoutRaw

    newtype PangoLayoutRaw = PangoLayoutRaw (ForeignPtr (PangoLayoutRaw)) deriving (PangoLayoutRaw -> PangoLayoutRaw -> Bool
    (PangoLayoutRaw -> PangoLayoutRaw -> Bool)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> Bool) -> Eq PangoLayoutRaw
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    == :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    $c/= :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    /= :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    Eq,Eq PangoLayoutRaw
    Eq PangoLayoutRaw =>
    (PangoLayoutRaw -> PangoLayoutRaw -> Ordering)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> Bool)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> Bool)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> Bool)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> Bool)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw)
    -> (PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw)
    -> Ord PangoLayoutRaw
    PangoLayoutRaw -> PangoLayoutRaw -> Bool
    PangoLayoutRaw -> PangoLayoutRaw -> Ordering
    PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: PangoLayoutRaw -> PangoLayoutRaw -> Ordering
    compare :: PangoLayoutRaw -> PangoLayoutRaw -> Ordering
    $c< :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    < :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    $c<= :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    <= :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    $c> :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    > :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    $c>= :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    >= :: PangoLayoutRaw -> PangoLayoutRaw -> Bool
    $cmax :: PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw
    max :: PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw
    $cmin :: PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw
    min :: PangoLayoutRaw -> PangoLayoutRaw -> PangoLayoutRaw
    Ord)

    mkPangoLayoutRaw :: (ForeignPtr PangoLayoutRaw -> PangoLayoutRaw, FinalizerPtr a)
    mkPangoLayoutRaw = (ForeignPtr PangoLayoutRaw -> PangoLayoutRaw
    PangoLayoutRaw, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unPangoLayoutRaw :: PangoLayoutRaw -> ForeignPtr PangoLayoutRaw
    unPangoLayoutRaw (PangoLayoutRaw ForeignPtr PangoLayoutRaw
    o) = ForeignPtr PangoLayoutRaw
    o

    class GObjectClass o => PangoLayoutRawClass o
    toPangoLayoutRaw :: PangoLayoutRawClass o => o -> PangoLayoutRaw
    toPangoLayoutRaw :: forall o. PangoLayoutRawClass o => o -> PangoLayoutRaw
    toPangoLayoutRaw = GObject -> PangoLayoutRaw
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> PangoLayoutRaw)
    -> (o -> GObject) -> o -> PangoLayoutRaw
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance PangoLayoutRawClass PangoLayoutRaw
    instance GObjectClass PangoLayoutRaw where
      toGObject :: PangoLayoutRaw -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (PangoLayoutRaw -> ForeignPtr GObject)
    -> PangoLayoutRaw
    -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr PangoLayoutRaw -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr PangoLayoutRaw -> ForeignPtr GObject)
    -> (PangoLayoutRaw -> ForeignPtr PangoLayoutRaw)
    -> PangoLayoutRaw
    -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . PangoLayoutRaw -> ForeignPtr PangoLayoutRaw
    unPangoLayoutRaw
      unsafeCastGObject :: GObject -> PangoLayoutRaw
    unsafeCastGObject = ForeignPtr PangoLayoutRaw -> PangoLayoutRaw
    PangoLayoutRaw (ForeignPtr PangoLayoutRaw -> PangoLayoutRaw)
    -> (GObject -> ForeignPtr PangoLayoutRaw)
    -> GObject
    -> PangoLayoutRaw
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr PangoLayoutRaw
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr PangoLayoutRaw)
    -> (GObject -> ForeignPtr GObject)
    -> GObject
    -> ForeignPtr PangoLayoutRaw
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToPangoLayoutRaw :: GObjectClass obj => obj -> PangoLayoutRaw
    castToPangoLayoutRaw :: forall obj. GObjectClass obj => obj -> PangoLayoutRaw
    castToPangoLayoutRaw = GType -> String -> obj -> PangoLayoutRaw
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypePangoLayoutRaw String
    "PangoLayoutRaw"

    gTypePangoLayoutRaw :: GType
    gTypePangoLayoutRaw :: GType
    gTypePangoLayoutRaw =
      GType
    pango_layout_get_type
    {-# LINE 142 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- *********************************************************************** Font

    newtype Font = Font (ForeignPtr (Font)) deriving (Font -> Font -> Bool
    (Font -> Font -> Bool) -> (Font -> Font -> Bool) -> Eq Font
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: Font -> Font -> Bool
    == :: Font -> Font -> Bool
    $c/= :: Font -> Font -> Bool
    /= :: Font -> Font -> Bool
    Eq,Eq Font
    Eq Font =>
    (Font -> Font -> Ordering)
    -> (Font -> Font -> Bool)
    -> (Font -> Font -> Bool)
    -> (Font -> Font -> Bool)
    -> (Font -> Font -> Bool)
    -> (Font -> Font -> Font)
    -> (Font -> Font -> Font)
    -> Ord Font
    Font -> Font -> Bool
    Font -> Font -> Ordering
    Font -> Font -> Font
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: Font -> Font -> Ordering
    compare :: Font -> Font -> Ordering
    $c< :: Font -> Font -> Bool
    < :: Font -> Font -> Bool
    $c<= :: Font -> Font -> Bool
    <= :: Font -> Font -> Bool
    $c> :: Font -> Font -> Bool
    > :: Font -> Font -> Bool
    $c>= :: Font -> Font -> Bool
    >= :: Font -> Font -> Bool
    $cmax :: Font -> Font -> Font
    max :: Font -> Font -> Font
    $cmin :: Font -> Font -> Font
    min :: Font -> Font -> Font
    Ord)

    mkFont :: (ForeignPtr Font -> Font, FinalizerPtr a)
    mkFont = (ForeignPtr Font -> Font
    Font, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unFont :: Font -> ForeignPtr Font
    unFont (Font ForeignPtr Font
    o) = ForeignPtr Font
    o

    class GObjectClass o => FontClass o
    toFont :: FontClass o => o -> Font
    toFont :: forall o. FontClass o => o -> Font
    toFont = GObject -> Font
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> Font) -> (o -> GObject) -> o -> Font
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance FontClass Font
    instance GObjectClass Font where
      toGObject :: Font -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (Font -> ForeignPtr GObject) -> Font -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr Font -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr Font -> ForeignPtr GObject)
    -> (Font -> ForeignPtr Font) -> Font -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Font -> ForeignPtr Font
    unFont
      unsafeCastGObject :: GObject -> Font
    unsafeCastGObject = ForeignPtr Font -> Font
    Font (ForeignPtr Font -> Font)
    -> (GObject -> ForeignPtr Font) -> GObject -> Font
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr Font
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr Font)
    -> (GObject -> ForeignPtr GObject) -> GObject -> ForeignPtr Font
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToFont :: GObjectClass obj => obj -> Font
    castToFont :: forall obj. GObjectClass obj => obj -> Font
    castToFont = GType -> String -> obj -> Font
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypeFont String
    "Font"

    gTypeFont :: GType
    gTypeFont :: GType
    gTypeFont =
      GType
    pango_font_get_type
    {-# LINE 165 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- ***************************************************************** FontFamily

    newtype FontFamily = FontFamily (ForeignPtr (FontFamily)) deriving (FontFamily -> FontFamily -> Bool
    (FontFamily -> FontFamily -> Bool)
    -> (FontFamily -> FontFamily -> Bool) -> Eq FontFamily
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: FontFamily -> FontFamily -> Bool
    == :: FontFamily -> FontFamily -> Bool
    $c/= :: FontFamily -> FontFamily -> Bool
    /= :: FontFamily -> FontFamily -> Bool
    Eq,Eq FontFamily
    Eq FontFamily =>
    (FontFamily -> FontFamily -> Ordering)
    -> (FontFamily -> FontFamily -> Bool)
    -> (FontFamily -> FontFamily -> Bool)
    -> (FontFamily -> FontFamily -> Bool)
    -> (FontFamily -> FontFamily -> Bool)
    -> (FontFamily -> FontFamily -> FontFamily)
    -> (FontFamily -> FontFamily -> FontFamily)
    -> Ord FontFamily
    FontFamily -> FontFamily -> Bool
    FontFamily -> FontFamily -> Ordering
    FontFamily -> FontFamily -> FontFamily
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: FontFamily -> FontFamily -> Ordering
    compare :: FontFamily -> FontFamily -> Ordering
    $c< :: FontFamily -> FontFamily -> Bool
    < :: FontFamily -> FontFamily -> Bool
    $c<= :: FontFamily -> FontFamily -> Bool
    <= :: FontFamily -> FontFamily -> Bool
    $c> :: FontFamily -> FontFamily -> Bool
    > :: FontFamily -> FontFamily -> Bool
    $c>= :: FontFamily -> FontFamily -> Bool
    >= :: FontFamily -> FontFamily -> Bool
    $cmax :: FontFamily -> FontFamily -> FontFamily
    max :: FontFamily -> FontFamily -> FontFamily
    $cmin :: FontFamily -> FontFamily -> FontFamily
    min :: FontFamily -> FontFamily -> FontFamily
    Ord)

    mkFontFamily :: (ForeignPtr FontFamily -> FontFamily, FinalizerPtr a)
    mkFontFamily = (ForeignPtr FontFamily -> FontFamily
    FontFamily, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unFontFamily :: FontFamily -> ForeignPtr FontFamily
    unFontFamily (FontFamily ForeignPtr FontFamily
    o) = ForeignPtr FontFamily
    o

    class GObjectClass o => FontFamilyClass o
    toFontFamily :: FontFamilyClass o => o -> FontFamily
    toFontFamily :: forall o. FontFamilyClass o => o -> FontFamily
    toFontFamily = GObject -> FontFamily
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> FontFamily) -> (o -> GObject) -> o -> FontFamily
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance FontFamilyClass FontFamily
    instance GObjectClass FontFamily where
      toGObject :: FontFamily -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (FontFamily -> ForeignPtr GObject) -> FontFamily -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr FontFamily -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr FontFamily -> ForeignPtr GObject)
    -> (FontFamily -> ForeignPtr FontFamily)
    -> FontFamily
    -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . FontFamily -> ForeignPtr FontFamily
    unFontFamily
      unsafeCastGObject :: GObject -> FontFamily
    unsafeCastGObject = ForeignPtr FontFamily -> FontFamily
    FontFamily (ForeignPtr FontFamily -> FontFamily)
    -> (GObject -> ForeignPtr FontFamily) -> GObject -> FontFamily
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr FontFamily
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr FontFamily)
    -> (GObject -> ForeignPtr GObject)
    -> GObject
    -> ForeignPtr FontFamily
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToFontFamily :: GObjectClass obj => obj -> FontFamily
    castToFontFamily :: forall obj. GObjectClass obj => obj -> FontFamily
    castToFontFamily = GType -> String -> obj -> FontFamily
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypeFontFamily String
    "FontFamily"

    gTypeFontFamily :: GType
    gTypeFontFamily :: GType
    gTypeFontFamily =
      GType
    pango_font_family_get_type
    {-# LINE 188 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- ******************************************************************* FontFace

    newtype FontFace = FontFace (ForeignPtr (FontFace)) deriving (FontFace -> FontFace -> Bool
    (FontFace -> FontFace -> Bool)
    -> (FontFace -> FontFace -> Bool) -> Eq FontFace
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: FontFace -> FontFace -> Bool
    == :: FontFace -> FontFace -> Bool
    $c/= :: FontFace -> FontFace -> Bool
    /= :: FontFace -> FontFace -> Bool
    Eq,Eq FontFace
    Eq FontFace =>
    (FontFace -> FontFace -> Ordering)
    -> (FontFace -> FontFace -> Bool)
    -> (FontFace -> FontFace -> Bool)
    -> (FontFace -> FontFace -> Bool)
    -> (FontFace -> FontFace -> Bool)
    -> (FontFace -> FontFace -> FontFace)
    -> (FontFace -> FontFace -> FontFace)
    -> Ord FontFace
    FontFace -> FontFace -> Bool
    FontFace -> FontFace -> Ordering
    FontFace -> FontFace -> FontFace
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: FontFace -> FontFace -> Ordering
    compare :: FontFace -> FontFace -> Ordering
    $c< :: FontFace -> FontFace -> Bool
    < :: FontFace -> FontFace -> Bool
    $c<= :: FontFace -> FontFace -> Bool
    <= :: FontFace -> FontFace -> Bool
    $c> :: FontFace -> FontFace -> Bool
    > :: FontFace -> FontFace -> Bool
    $c>= :: FontFace -> FontFace -> Bool
    >= :: FontFace -> FontFace -> Bool
    $cmax :: FontFace -> FontFace -> FontFace
    max :: FontFace -> FontFace -> FontFace
    $cmin :: FontFace -> FontFace -> FontFace
    min :: FontFace -> FontFace -> FontFace
    Ord)

    mkFontFace :: (ForeignPtr FontFace -> FontFace, FinalizerPtr a)
    mkFontFace = (ForeignPtr FontFace -> FontFace
    FontFace, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unFontFace :: FontFace -> ForeignPtr FontFace
    unFontFace (FontFace ForeignPtr FontFace
    o) = ForeignPtr FontFace
    o

    class GObjectClass o => FontFaceClass o
    toFontFace :: FontFaceClass o => o -> FontFace
    toFontFace :: forall o. FontFaceClass o => o -> FontFace
    toFontFace = GObject -> FontFace
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> FontFace) -> (o -> GObject) -> o -> FontFace
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance FontFaceClass FontFace
    instance GObjectClass FontFace where
      toGObject :: FontFace -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (FontFace -> ForeignPtr GObject) -> FontFace -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr FontFace -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr FontFace -> ForeignPtr GObject)
    -> (FontFace -> ForeignPtr FontFace)
    -> FontFace
    -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . FontFace -> ForeignPtr FontFace
    unFontFace
      unsafeCastGObject :: GObject -> FontFace
    unsafeCastGObject = ForeignPtr FontFace -> FontFace
    FontFace (ForeignPtr FontFace -> FontFace)
    -> (GObject -> ForeignPtr FontFace) -> GObject -> FontFace
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr FontFace
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr FontFace)
    -> (GObject -> ForeignPtr GObject)
    -> GObject
    -> ForeignPtr FontFace
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToFontFace :: GObjectClass obj => obj -> FontFace
    castToFontFace :: forall obj. GObjectClass obj => obj -> FontFace
    castToFontFace = GType -> String -> obj -> FontFace
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypeFontFace String
    "FontFace"

    gTypeFontFace :: GType
    gTypeFontFace :: GType
    gTypeFontFace =
      GType
    pango_font_face_get_type
    {-# LINE 211 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- ******************************************************************** FontMap

    newtype FontMap = FontMap (ForeignPtr (FontMap)) deriving (FontMap -> FontMap -> Bool
    (FontMap -> FontMap -> Bool)
    -> (FontMap -> FontMap -> Bool) -> Eq FontMap
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: FontMap -> FontMap -> Bool
    == :: FontMap -> FontMap -> Bool
    $c/= :: FontMap -> FontMap -> Bool
    /= :: FontMap -> FontMap -> Bool
    Eq,Eq FontMap
    Eq FontMap =>
    (FontMap -> FontMap -> Ordering)
    -> (FontMap -> FontMap -> Bool)
    -> (FontMap -> FontMap -> Bool)
    -> (FontMap -> FontMap -> Bool)
    -> (FontMap -> FontMap -> Bool)
    -> (FontMap -> FontMap -> FontMap)
    -> (FontMap -> FontMap -> FontMap)
    -> Ord FontMap
    FontMap -> FontMap -> Bool
    FontMap -> FontMap -> Ordering
    FontMap -> FontMap -> FontMap
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: FontMap -> FontMap -> Ordering
    compare :: FontMap -> FontMap -> Ordering
    $c< :: FontMap -> FontMap -> Bool
    < :: FontMap -> FontMap -> Bool
    $c<= :: FontMap -> FontMap -> Bool
    <= :: FontMap -> FontMap -> Bool
    $c> :: FontMap -> FontMap -> Bool
    > :: FontMap -> FontMap -> Bool
    $c>= :: FontMap -> FontMap -> Bool
    >= :: FontMap -> FontMap -> Bool
    $cmax :: FontMap -> FontMap -> FontMap
    max :: FontMap -> FontMap -> FontMap
    $cmin :: FontMap -> FontMap -> FontMap
    min :: FontMap -> FontMap -> FontMap
    Ord)

    mkFontMap :: (ForeignPtr FontMap -> FontMap, FinalizerPtr a)
    mkFontMap = (ForeignPtr FontMap -> FontMap
    FontMap, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unFontMap :: FontMap -> ForeignPtr FontMap
    unFontMap (FontMap ForeignPtr FontMap
    o) = ForeignPtr FontMap
    o

    class GObjectClass o => FontMapClass o
    toFontMap :: FontMapClass o => o -> FontMap
    toFontMap :: forall o. FontMapClass o => o -> FontMap
    toFontMap = GObject -> FontMap
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> FontMap) -> (o -> GObject) -> o -> FontMap
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance FontMapClass FontMap
    instance GObjectClass FontMap where
      toGObject :: FontMap -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (FontMap -> ForeignPtr GObject) -> FontMap -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr FontMap -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr FontMap -> ForeignPtr GObject)
    -> (FontMap -> ForeignPtr FontMap) -> FontMap -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . FontMap -> ForeignPtr FontMap
    unFontMap
      unsafeCastGObject :: GObject -> FontMap
    unsafeCastGObject = ForeignPtr FontMap -> FontMap
    FontMap (ForeignPtr FontMap -> FontMap)
    -> (GObject -> ForeignPtr FontMap) -> GObject -> FontMap
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr FontMap
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr FontMap)
    -> (GObject -> ForeignPtr GObject) -> GObject -> ForeignPtr FontMap
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToFontMap :: GObjectClass obj => obj -> FontMap
    castToFontMap :: forall obj. GObjectClass obj => obj -> FontMap
    castToFontMap = GType -> String -> obj -> FontMap
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypeFontMap String
    "FontMap"

    gTypeFontMap :: GType
    gTypeFontMap :: GType
    gTypeFontMap =
      GType
    pango_font_face_get_type
    {-# LINE 234 "./Graphics/Rendering/Pango/Types.chs" #-}

    -- ******************************************************************** FontSet

    newtype FontSet = FontSet (ForeignPtr (FontSet)) deriving (FontSet -> FontSet -> Bool
    (FontSet -> FontSet -> Bool)
    -> (FontSet -> FontSet -> Bool) -> Eq FontSet
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: FontSet -> FontSet -> Bool
    == :: FontSet -> FontSet -> Bool
    $c/= :: FontSet -> FontSet -> Bool
    /= :: FontSet -> FontSet -> Bool
    Eq,Eq FontSet
    Eq FontSet =>
    (FontSet -> FontSet -> Ordering)
    -> (FontSet -> FontSet -> Bool)
    -> (FontSet -> FontSet -> Bool)
    -> (FontSet -> FontSet -> Bool)
    -> (FontSet -> FontSet -> Bool)
    -> (FontSet -> FontSet -> FontSet)
    -> (FontSet -> FontSet -> FontSet)
    -> Ord FontSet
    FontSet -> FontSet -> Bool
    FontSet -> FontSet -> Ordering
    FontSet -> FontSet -> FontSet
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: FontSet -> FontSet -> Ordering
    compare :: FontSet -> FontSet -> Ordering
    $c< :: FontSet -> FontSet -> Bool
    < :: FontSet -> FontSet -> Bool
    $c<= :: FontSet -> FontSet -> Bool
    <= :: FontSet -> FontSet -> Bool
    $c> :: FontSet -> FontSet -> Bool
    > :: FontSet -> FontSet -> Bool
    $c>= :: FontSet -> FontSet -> Bool
    >= :: FontSet -> FontSet -> Bool
    $cmax :: FontSet -> FontSet -> FontSet
    max :: FontSet -> FontSet -> FontSet
    $cmin :: FontSet -> FontSet -> FontSet
    min :: FontSet -> FontSet -> FontSet
    Ord)

    mkFontSet :: (ForeignPtr FontSet -> FontSet, FinalizerPtr a)
    mkFontSet = (ForeignPtr FontSet -> FontSet
    FontSet, FinalizerPtr a
    forall a. FinalizerPtr a
    objectUnref)
    unFontSet :: FontSet -> ForeignPtr FontSet
    unFontSet (FontSet ForeignPtr FontSet
    o) = ForeignPtr FontSet
    o

    class GObjectClass o => FontSetClass o
    toFontSet :: FontSetClass o => o -> FontSet
    toFontSet :: forall o. FontSetClass o => o -> FontSet
    toFontSet = GObject -> FontSet
    forall o. GObjectClass o => GObject -> o
    unsafeCastGObject (GObject -> FontSet) -> (o -> GObject) -> o -> FontSet
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . o -> GObject
    forall o. GObjectClass o => o -> GObject
    toGObject

    instance FontSetClass FontSet
    instance GObjectClass FontSet where
      toGObject :: FontSet -> GObject
    toGObject = ForeignPtr GObject -> GObject
    GObject (ForeignPtr GObject -> GObject)
    -> (FontSet -> ForeignPtr GObject) -> FontSet -> GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr FontSet -> ForeignPtr GObject
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr FontSet -> ForeignPtr GObject)
    -> (FontSet -> ForeignPtr FontSet) -> FontSet -> ForeignPtr GObject
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . FontSet -> ForeignPtr FontSet
    unFontSet
      unsafeCastGObject :: GObject -> FontSet
    unsafeCastGObject = ForeignPtr FontSet -> FontSet
    FontSet (ForeignPtr FontSet -> FontSet)
    -> (GObject -> ForeignPtr FontSet) -> GObject -> FontSet
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ForeignPtr GObject -> ForeignPtr FontSet
    forall a b. ForeignPtr a -> ForeignPtr b
    castForeignPtr (ForeignPtr GObject -> ForeignPtr FontSet)
    -> (GObject -> ForeignPtr GObject) -> GObject -> ForeignPtr FontSet
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . GObject -> ForeignPtr GObject
    unGObject

    castToFontSet :: GObjectClass obj => obj -> FontSet
    castToFontSet :: forall obj. GObjectClass obj => obj -> FontSet
    castToFontSet = GType -> String -> obj -> FontSet
    forall obj obj'.
    (GObjectClass obj, GObjectClass obj') =>
    GType -> String -> obj -> obj'
    castTo GType
    gTypeFontSet String
    "FontSet"

    gTypeFontSet :: GType
    gTypeFontSet :: GType
    gTypeFontSet =
      GType
    pango_fontset_get_type
    {-# LINE 257 "./Graphics/Rendering/Pango/Types.chs" #-}

    foreign import ccall unsafe "pango_context_get_type"
      pango_context_get_type :: CULong

    foreign import ccall unsafe "pango_layout_get_type"
      pango_layout_get_type :: CULong

    foreign import ccall unsafe "pango_font_get_type"
      pango_font_get_type :: CULong

    foreign import ccall unsafe "pango_font_family_get_type"
      pango_font_family_get_type :: CULong

    foreign import ccall unsafe "pango_font_face_get_type"
      pango_font_face_get_type :: CULong

    foreign import ccall unsafe "pango_fontset_get_type"
      pango_fontset_get_type :: CULong