packages feed

gi-pango 0.1.36.11 → 0.1.36.12

raw patch · 112 files changed

+16122/−11584 lines, 112 filesdep ~gi-glibdep ~gi-gobjectdep ~haskell-gi-base

Dependency ranges changed: gi-glib, gi-gobject, haskell-gi-base

Files

GI/Pango.hs view
@@ -1,11467 +1,38 @@--- Generated code.--{-# OPTIONS_GHC -fno-warn-unused-imports #-}--{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,-    TypeFamilies, MultiParamTypeClasses, KindSignatures,-    FlexibleInstances, UndecidableInstances, DataKinds,-    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}--module GI.Pango where--import Prelude ()-import Data.GI.Base.ShortPrelude-import Data.Char-import Data.Int-import Data.Word-import qualified Data.ByteString.Char8 as B-import Data.ByteString.Char8 (ByteString)-import qualified Data.Map as Map-import Foreign.C-import Foreign.Ptr-import Foreign.ForeignPtr-import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)-import Foreign.Storable (peek, poke, sizeOf)-import Control.Applicative ((<$>))-import Control.Exception (onException)-import Control.Monad.IO.Class-import qualified Data.Text as T--import Data.GI.Base.Attributes hiding (get, set)-import Data.GI.Base.BasicTypes-import Data.GI.Base.BasicConversions-import Data.GI.Base.Closure-import Data.GI.Base.GError-import Data.GI.Base.GHashTable-import Data.GI.Base.GParamSpec-import Data.GI.Base.GVariant-import Data.GI.Base.GValue-import Data.GI.Base.ManagedPtr-import Data.GI.Base.Overloading-import Data.GI.Base.Properties hiding (new)-import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)-import Data.GI.Base.Utils--import qualified GI.GLib as GLib-import qualified GI.GLibAttributes as GLibA-import qualified GI.GObject as GObject-import qualified GI.GObjectAttributes as GObjectA---- Enum Alignment--data Alignment = -      AlignmentLeft-    | AlignmentCenter-    | AlignmentRight-    | AnotherAlignment Int-    deriving (Show, Eq)--instance Enum Alignment where-    fromEnum AlignmentLeft = 0-    fromEnum AlignmentCenter = 1-    fromEnum AlignmentRight = 2-    fromEnum (AnotherAlignment k) = k--    toEnum 0 = AlignmentLeft-    toEnum 1 = AlignmentCenter-    toEnum 2 = AlignmentRight-    toEnum k = AnotherAlignment k--foreign import ccall "pango_alignment_get_type" c_pango_alignment_get_type :: -    IO GType--instance BoxedEnum Alignment where-    boxedEnumType _ = c_pango_alignment_get_type---- struct Analysis-newtype Analysis = Analysis (ForeignPtr Analysis)-noAnalysis :: Maybe Analysis-noAnalysis = Nothing--analysisReadShapeEngine :: Analysis -> IO EngineShape-analysisReadShapeEngine s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EngineShape)-    val' <- (newObject EngineShape) val-    return val'--analysisReadLangEngine :: Analysis -> IO EngineLang-analysisReadLangEngine s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr EngineLang)-    val' <- (newObject EngineLang) val-    return val'--analysisReadFont :: Analysis -> IO Font-analysisReadFont s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Font)-    val' <- (newObject Font) val-    return val'--analysisReadLevel :: Analysis -> IO Word8-analysisReadLevel s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word8-    return val--analysisReadGravity :: Analysis -> IO Word8-analysisReadGravity s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 25) :: IO Word8-    return val--analysisReadFlags :: Analysis -> IO Word8-analysisReadFlags s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 26) :: IO Word8-    return val--analysisReadScript :: Analysis -> IO Word8-analysisReadScript s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 27) :: IO Word8-    return val--analysisReadLanguage :: Analysis -> IO Language-analysisReadLanguage s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Language)-    val' <- (newBoxed Language) val-    return val'--analysisReadExtraAttrs :: Analysis -> IO ([Ptr ()])-analysisReadExtraAttrs s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr (GSList (Ptr ())))-    val' <- unpackGSList val-    return val'---- struct AttrClass-newtype AttrClass = AttrClass (ForeignPtr AttrClass)-noAttrClass :: Maybe AttrClass-noAttrClass = Nothing--attrClassReadType :: AttrClass -> IO AttrType-attrClassReadType s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'---- XXX Skipped getter for "AttrClass:destroy" :: Not implemented: "Wrapping foreign callbacks is not supported yet"---- XXX Skipped getter for "AttrClass:equal" :: Not implemented: "Wrapping foreign callbacks is not supported yet"---- struct AttrColor-newtype AttrColor = AttrColor (ForeignPtr AttrColor)-noAttrColor :: Maybe AttrColor-noAttrColor = Nothing--attrColorReadAttr :: AttrColor -> IO Attribute-attrColorReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrColorReadColor :: AttrColor -> IO Color-attrColorReadColor s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Color)-    val' <- (newBoxed Color) val-    return val'---- callback AttrFilterFunc-attrFilterFuncClosure :: AttrFilterFunc -> IO Closure-attrFilterFuncClosure cb = newCClosure =<< mkAttrFilterFunc wrapped-    where wrapped = attrFilterFuncWrapper Nothing cb--type AttrFilterFuncC =-    Ptr Attribute ->-    Ptr () ->-    IO CInt--foreign import ccall "wrapper"-    mkAttrFilterFunc :: AttrFilterFuncC -> IO (FunPtr AttrFilterFuncC)--type AttrFilterFunc =-    Attribute ->-    IO Bool--noAttrFilterFunc :: Maybe AttrFilterFunc-noAttrFilterFunc = Nothing--attrFilterFuncWrapper ::-    Maybe (Ptr (FunPtr (AttrFilterFuncC))) ->-    AttrFilterFunc ->-    Ptr Attribute ->-    Ptr () ->-    IO CInt-attrFilterFuncWrapper funptrptr _cb attribute _ = do-    attribute' <- (newPtr 16 Attribute) attribute-    result <- _cb  attribute'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'---- struct AttrFloat-newtype AttrFloat = AttrFloat (ForeignPtr AttrFloat)-noAttrFloat :: Maybe AttrFloat-noAttrFloat = Nothing--attrFloatReadAttr :: AttrFloat -> IO Attribute-attrFloatReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrFloatReadValue :: AttrFloat -> IO Double-attrFloatReadValue s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CDouble-    let val' = realToFrac val-    return val'---- struct AttrFontDesc-newtype AttrFontDesc = AttrFontDesc (ForeignPtr AttrFontDesc)-noAttrFontDesc :: Maybe AttrFontDesc-noAttrFontDesc = Nothing--attrFontDescReadAttr :: AttrFontDesc -> IO Attribute-attrFontDescReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrFontDescReadDesc :: AttrFontDesc -> IO FontDescription-attrFontDescReadDesc s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr FontDescription)-    val' <- (newBoxed FontDescription) val-    return val'---- struct AttrInt-newtype AttrInt = AttrInt (ForeignPtr AttrInt)-noAttrInt :: Maybe AttrInt-noAttrInt = Nothing--attrIntReadAttr :: AttrInt -> IO Attribute-attrIntReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrIntReadValue :: AttrInt -> IO Int32-attrIntReadValue s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int32-    return val---- struct AttrIterator-newtype AttrIterator = AttrIterator (ForeignPtr AttrIterator)-noAttrIterator :: Maybe AttrIterator-noAttrIterator = Nothing---- method AttrIterator::destroy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_iterator_destroy" pango_attr_iterator_destroy :: -    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"-    IO ()---attrIteratorDestroy ::-    (MonadIO m) =>-    AttrIterator ->                         -- _obj-    m ()-attrIteratorDestroy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_attr_iterator_destroy _obj'-    touchManagedPtr _obj-    return ()---- method AttrIterator::get_attrs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGSList (TInterface "Pango" "Attribute")--- throws : False--- Skip return : False--foreign import ccall "pango_attr_iterator_get_attrs" pango_attr_iterator_get_attrs :: -    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"-    IO (Ptr (GSList (Ptr Attribute)))---attrIteratorGetAttrs ::-    (MonadIO m) =>-    AttrIterator ->                         -- _obj-    m [Attribute]-attrIteratorGetAttrs _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_attr_iterator_get_attrs _obj'-    checkUnexpectedReturnNULL "pango_attr_iterator_get_attrs" result-    result' <- unpackGSList result-    result'' <- mapM (wrapPtr Attribute) result'-    g_slist_free result-    touchManagedPtr _obj-    return result''---- method AttrIterator::get_font--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_iterator_get_font" pango_attr_iterator_get_font :: -    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    Ptr (GSList (Ptr Attribute)) ->         -- extra_attrs : TGSList (TInterface "Pango" "Attribute")-    IO ()---attrIteratorGetFont ::-    (MonadIO m) =>-    AttrIterator ->                         -- _obj-    FontDescription ->                      -- desc-    Maybe (Language) ->                     -- language-    [Attribute] ->                          -- extra_attrs-    m ()-attrIteratorGetFont _obj desc language extra_attrs = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let desc' = unsafeManagedPtrGetPtr desc-    maybeLanguage <- case language of-        Nothing -> return nullPtr-        Just jLanguage -> do-            let jLanguage' = unsafeManagedPtrGetPtr jLanguage-            return jLanguage'-    let extra_attrs' = map unsafeManagedPtrGetPtr extra_attrs-    extra_attrs'' <- packGSList extra_attrs'-    pango_attr_iterator_get_font _obj' desc' maybeLanguage extra_attrs''-    touchManagedPtr _obj-    touchManagedPtr desc-    whenJust language touchManagedPtr-    mapM_ touchManagedPtr extra_attrs-    return ()---- method AttrIterator::next--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_attr_iterator_next" pango_attr_iterator_next :: -    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"-    IO CInt---attrIteratorNext ::-    (MonadIO m) =>-    AttrIterator ->                         -- _obj-    m Bool-attrIteratorNext _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_attr_iterator_next _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method AttrIterator::range--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_iterator_range" pango_attr_iterator_range :: -    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"-    Ptr Int32 ->                            -- start : TBasicType TInt32-    Ptr Int32 ->                            -- end : TBasicType TInt32-    IO ()---attrIteratorRange ::-    (MonadIO m) =>-    AttrIterator ->                         -- _obj-    m (Int32,Int32)-attrIteratorRange _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    start <- allocMem :: IO (Ptr Int32)-    end <- allocMem :: IO (Ptr Int32)-    pango_attr_iterator_range _obj' start end-    start' <- peek start-    end' <- peek end-    touchManagedPtr _obj-    freeMem start-    freeMem end-    return (start', end')---- struct AttrLanguage-newtype AttrLanguage = AttrLanguage (ForeignPtr AttrLanguage)-noAttrLanguage :: Maybe AttrLanguage-noAttrLanguage = Nothing--attrLanguageReadAttr :: AttrLanguage -> IO Attribute-attrLanguageReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrLanguageReadValue :: AttrLanguage -> IO Language-attrLanguageReadValue s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Language)-    val' <- (newBoxed Language) val-    return val'---- struct AttrList-newtype AttrList = AttrList (ForeignPtr AttrList)-noAttrList :: Maybe AttrList-noAttrList = Nothing--foreign import ccall "pango_attr_list_get_type" c_pango_attr_list_get_type :: -    IO GType--instance BoxedObject AttrList where-    boxedType _ = c_pango_attr_list_get_type---- method AttrList::new--- method type : Constructor--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "AttrList"--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_new" pango_attr_list_new :: -    IO (Ptr AttrList)---attrListNew ::-    (MonadIO m) =>-    m AttrList-attrListNew  = liftIO $ do-    result <- pango_attr_list_new-    checkUnexpectedReturnNULL "pango_attr_list_new" result-    result' <- (wrapBoxed AttrList) result-    return result'---- method AttrList::change--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_change" pango_attr_list_change :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    Ptr Attribute ->                        -- attr : TInterface "Pango" "Attribute"-    IO ()---attrListChange ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    Attribute ->                            -- attr-    m ()-attrListChange _obj attr = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let attr' = unsafeManagedPtrGetPtr attr-    pango_attr_list_change _obj' attr'-    touchManagedPtr _obj-    touchManagedPtr attr-    return ()---- method AttrList::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "AttrList"--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_copy" pango_attr_list_copy :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    IO (Ptr AttrList)---attrListCopy ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    m AttrList-attrListCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_attr_list_copy _obj'-    checkUnexpectedReturnNULL "pango_attr_list_copy" result-    result' <- (wrapBoxed AttrList) result-    touchManagedPtr _obj-    return result'---- method AttrList::filter--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "AttrList"--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_filter" pango_attr_list_filter :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    FunPtr AttrFilterFuncC ->               -- func : TInterface "Pango" "AttrFilterFunc"-    Ptr () ->                               -- data : TBasicType TVoid-    IO (Ptr AttrList)---attrListFilter ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    AttrFilterFunc ->                       -- func-    m AttrList-attrListFilter _obj func = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    func' <- mkAttrFilterFunc (attrFilterFuncWrapper Nothing func)-    let data_ = nullPtr-    result <- pango_attr_list_filter _obj' func' data_-    checkUnexpectedReturnNULL "pango_attr_list_filter" result-    result' <- (wrapBoxed AttrList) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr _obj-    return result'---- method AttrList::insert--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_insert" pango_attr_list_insert :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    Ptr Attribute ->                        -- attr : TInterface "Pango" "Attribute"-    IO ()---attrListInsert ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    Attribute ->                            -- attr-    m ()-attrListInsert _obj attr = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let attr' = unsafeManagedPtrGetPtr attr-    pango_attr_list_insert _obj' attr'-    touchManagedPtr _obj-    touchManagedPtr attr-    return ()---- method AttrList::insert_before--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_insert_before" pango_attr_list_insert_before :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    Ptr Attribute ->                        -- attr : TInterface "Pango" "Attribute"-    IO ()---attrListInsertBefore ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    Attribute ->                            -- attr-    m ()-attrListInsertBefore _obj attr = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let attr' = unsafeManagedPtrGetPtr attr-    pango_attr_list_insert_before _obj' attr'-    touchManagedPtr _obj-    touchManagedPtr attr-    return ()---- method AttrList::ref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "AttrList"--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_ref" pango_attr_list_ref :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    IO (Ptr AttrList)---attrListRef ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    m AttrList-attrListRef _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_attr_list_ref _obj'-    checkUnexpectedReturnNULL "pango_attr_list_ref" result-    result' <- (wrapBoxed AttrList) result-    touchManagedPtr _obj-    return result'---- method AttrList::splice--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_splice" pango_attr_list_splice :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    Ptr AttrList ->                         -- other : TInterface "Pango" "AttrList"-    Int32 ->                                -- pos : TBasicType TInt32-    Int32 ->                                -- len : TBasicType TInt32-    IO ()---attrListSplice ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    AttrList ->                             -- other-    Int32 ->                                -- pos-    Int32 ->                                -- len-    m ()-attrListSplice _obj other pos len = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let other' = unsafeManagedPtrGetPtr other-    pango_attr_list_splice _obj' other' pos len-    touchManagedPtr _obj-    touchManagedPtr other-    return ()---- method AttrList::unref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attr_list_unref" pango_attr_list_unref :: -    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"-    IO ()---attrListUnref ::-    (MonadIO m) =>-    AttrList ->                             -- _obj-    m ()-attrListUnref _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_attr_list_unref _obj'-    touchManagedPtr _obj-    return ()---- struct AttrShape-newtype AttrShape = AttrShape (ForeignPtr AttrShape)-noAttrShape :: Maybe AttrShape-noAttrShape = Nothing--attrShapeReadAttr :: AttrShape -> IO Attribute-attrShapeReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrShapeReadInkRect :: AttrShape -> IO Rectangle-attrShapeReadInkRect s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Rectangle)-    val' <- (newPtr 16 Rectangle) val-    return val'--attrShapeReadLogicalRect :: AttrShape -> IO Rectangle-attrShapeReadLogicalRect s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Rectangle)-    val' <- (newPtr 16 Rectangle) val-    return val'--attrShapeReadData :: AttrShape -> IO (Ptr ())-attrShapeReadData s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO (Ptr ())-    return val---- XXX Skipped getter for "AttrShape:destroy_func" :: Not implemented: "Wrapping foreign callbacks is not supported yet"---- struct AttrSize-newtype AttrSize = AttrSize (ForeignPtr AttrSize)-noAttrSize :: Maybe AttrSize-noAttrSize = Nothing--attrSizeReadAttr :: AttrSize -> IO Attribute-attrSizeReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrSizeReadSize :: AttrSize -> IO Int32-attrSizeReadSize s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int32-    return val--attrSizeReadAbsolute :: AttrSize -> IO Word32-attrSizeReadAbsolute s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 20) :: IO Word32-    return val---- struct AttrString-newtype AttrString = AttrString (ForeignPtr AttrString)-noAttrString :: Maybe AttrString-noAttrString = Nothing--attrStringReadAttr :: AttrString -> IO Attribute-attrStringReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)-    val' <- (newPtr 16 Attribute) val-    return val'--attrStringReadValue :: AttrString -> IO T.Text-attrStringReadValue s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CString-    val' <- cstringToText val-    return val'---- Enum AttrType--data AttrType = -      AttrTypeInvalid-    | AttrTypeLanguage-    | AttrTypeFamily-    | AttrTypeStyle-    | AttrTypeWeight-    | AttrTypeVariant-    | AttrTypeStretch-    | AttrTypeSize-    | AttrTypeFontDesc-    | AttrTypeForeground-    | AttrTypeBackground-    | AttrTypeUnderline-    | AttrTypeStrikethrough-    | AttrTypeRise-    | AttrTypeShape-    | AttrTypeScale-    | AttrTypeFallback-    | AttrTypeLetterSpacing-    | AttrTypeUnderlineColor-    | AttrTypeStrikethroughColor-    | AttrTypeAbsoluteSize-    | AttrTypeGravity-    | AttrTypeGravityHint-    | AnotherAttrType Int-    deriving (Show, Eq)--instance Enum AttrType where-    fromEnum AttrTypeInvalid = 0-    fromEnum AttrTypeLanguage = 1-    fromEnum AttrTypeFamily = 2-    fromEnum AttrTypeStyle = 3-    fromEnum AttrTypeWeight = 4-    fromEnum AttrTypeVariant = 5-    fromEnum AttrTypeStretch = 6-    fromEnum AttrTypeSize = 7-    fromEnum AttrTypeFontDesc = 8-    fromEnum AttrTypeForeground = 9-    fromEnum AttrTypeBackground = 10-    fromEnum AttrTypeUnderline = 11-    fromEnum AttrTypeStrikethrough = 12-    fromEnum AttrTypeRise = 13-    fromEnum AttrTypeShape = 14-    fromEnum AttrTypeScale = 15-    fromEnum AttrTypeFallback = 16-    fromEnum AttrTypeLetterSpacing = 17-    fromEnum AttrTypeUnderlineColor = 18-    fromEnum AttrTypeStrikethroughColor = 19-    fromEnum AttrTypeAbsoluteSize = 20-    fromEnum AttrTypeGravity = 21-    fromEnum AttrTypeGravityHint = 22-    fromEnum (AnotherAttrType k) = k--    toEnum 0 = AttrTypeInvalid-    toEnum 1 = AttrTypeLanguage-    toEnum 2 = AttrTypeFamily-    toEnum 3 = AttrTypeStyle-    toEnum 4 = AttrTypeWeight-    toEnum 5 = AttrTypeVariant-    toEnum 6 = AttrTypeStretch-    toEnum 7 = AttrTypeSize-    toEnum 8 = AttrTypeFontDesc-    toEnum 9 = AttrTypeForeground-    toEnum 10 = AttrTypeBackground-    toEnum 11 = AttrTypeUnderline-    toEnum 12 = AttrTypeStrikethrough-    toEnum 13 = AttrTypeRise-    toEnum 14 = AttrTypeShape-    toEnum 15 = AttrTypeScale-    toEnum 16 = AttrTypeFallback-    toEnum 17 = AttrTypeLetterSpacing-    toEnum 18 = AttrTypeUnderlineColor-    toEnum 19 = AttrTypeStrikethroughColor-    toEnum 20 = AttrTypeAbsoluteSize-    toEnum 21 = AttrTypeGravity-    toEnum 22 = AttrTypeGravityHint-    toEnum k = AnotherAttrType k--foreign import ccall "pango_attr_type_get_type" c_pango_attr_type_get_type :: -    IO GType--instance BoxedEnum AttrType where-    boxedEnumType _ = c_pango_attr_type_get_type---- struct Attribute-newtype Attribute = Attribute (ForeignPtr Attribute)-noAttribute :: Maybe Attribute-noAttribute = Nothing--attributeReadKlass :: Attribute -> IO AttrClass-attributeReadKlass s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr AttrClass)-    val' <- (newPtr 32 AttrClass) val-    return val'--attributeReadStartIndex :: Attribute -> IO Word32-attributeReadStartIndex s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--attributeReadEndIndex :: Attribute -> IO Word32-attributeReadEndIndex s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Word32-    return val---- method Attribute::destroy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attribute_destroy" pango_attribute_destroy :: -    Ptr Attribute ->                        -- _obj : TInterface "Pango" "Attribute"-    IO ()---attributeDestroy ::-    (MonadIO m) =>-    Attribute ->                            -- _obj-    m ()-attributeDestroy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_attribute_destroy _obj'-    touchManagedPtr _obj-    return ()---- method Attribute::equal--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_attribute_equal" pango_attribute_equal :: -    Ptr Attribute ->                        -- _obj : TInterface "Pango" "Attribute"-    Ptr Attribute ->                        -- attr2 : TInterface "Pango" "Attribute"-    IO CInt---attributeEqual ::-    (MonadIO m) =>-    Attribute ->                            -- _obj-    Attribute ->                            -- attr2-    m Bool-attributeEqual _obj attr2 = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let attr2' = unsafeManagedPtrGetPtr attr2-    result <- pango_attribute_equal _obj' attr2'-    let result' = (/= 0) result-    touchManagedPtr _obj-    touchManagedPtr attr2-    return result'---- method Attribute::init--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_attribute_init" pango_attribute_init :: -    Ptr Attribute ->                        -- _obj : TInterface "Pango" "Attribute"-    Ptr AttrClass ->                        -- klass : TInterface "Pango" "AttrClass"-    IO ()---attributeInit ::-    (MonadIO m) =>-    Attribute ->                            -- _obj-    AttrClass ->                            -- klass-    m ()-attributeInit _obj klass = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let klass' = unsafeManagedPtrGetPtr klass-    pango_attribute_init _obj' klass'-    touchManagedPtr _obj-    touchManagedPtr klass-    return ()---- Enum BidiType--data BidiType = -      BidiTypeL-    | BidiTypeLre-    | BidiTypeLro-    | BidiTypeR-    | BidiTypeAl-    | BidiTypeRle-    | BidiTypeRlo-    | BidiTypePdf-    | BidiTypeEn-    | BidiTypeEs-    | BidiTypeEt-    | BidiTypeAn-    | BidiTypeCs-    | BidiTypeNsm-    | BidiTypeBn-    | BidiTypeB-    | BidiTypeS-    | BidiTypeWs-    | BidiTypeOn-    | AnotherBidiType Int-    deriving (Show, Eq)--instance Enum BidiType where-    fromEnum BidiTypeL = 0-    fromEnum BidiTypeLre = 1-    fromEnum BidiTypeLro = 2-    fromEnum BidiTypeR = 3-    fromEnum BidiTypeAl = 4-    fromEnum BidiTypeRle = 5-    fromEnum BidiTypeRlo = 6-    fromEnum BidiTypePdf = 7-    fromEnum BidiTypeEn = 8-    fromEnum BidiTypeEs = 9-    fromEnum BidiTypeEt = 10-    fromEnum BidiTypeAn = 11-    fromEnum BidiTypeCs = 12-    fromEnum BidiTypeNsm = 13-    fromEnum BidiTypeBn = 14-    fromEnum BidiTypeB = 15-    fromEnum BidiTypeS = 16-    fromEnum BidiTypeWs = 17-    fromEnum BidiTypeOn = 18-    fromEnum (AnotherBidiType k) = k--    toEnum 0 = BidiTypeL-    toEnum 1 = BidiTypeLre-    toEnum 2 = BidiTypeLro-    toEnum 3 = BidiTypeR-    toEnum 4 = BidiTypeAl-    toEnum 5 = BidiTypeRle-    toEnum 6 = BidiTypeRlo-    toEnum 7 = BidiTypePdf-    toEnum 8 = BidiTypeEn-    toEnum 9 = BidiTypeEs-    toEnum 10 = BidiTypeEt-    toEnum 11 = BidiTypeAn-    toEnum 12 = BidiTypeCs-    toEnum 13 = BidiTypeNsm-    toEnum 14 = BidiTypeBn-    toEnum 15 = BidiTypeB-    toEnum 16 = BidiTypeS-    toEnum 17 = BidiTypeWs-    toEnum 18 = BidiTypeOn-    toEnum k = AnotherBidiType k--foreign import ccall "pango_bidi_type_get_type" c_pango_bidi_type_get_type :: -    IO GType--instance BoxedEnum BidiType where-    boxedEnumType _ = c_pango_bidi_type_get_type---- struct Color-newtype Color = Color (ForeignPtr Color)-noColor :: Maybe Color-noColor = Nothing--foreign import ccall "pango_color_get_type" c_pango_color_get_type :: -    IO GType--instance BoxedObject Color where-    boxedType _ = c_pango_color_get_type--colorReadRed :: Color -> IO Word16-colorReadRed s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word16-    return val--colorReadGreen :: Color -> IO Word16-colorReadGreen s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 2) :: IO Word16-    return val--colorReadBlue :: Color -> IO Word16-colorReadBlue s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Word16-    return val---- method Color::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Color"--- throws : False--- Skip return : False--foreign import ccall "pango_color_copy" pango_color_copy :: -    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"-    IO (Ptr Color)---colorCopy ::-    (MonadIO m) =>-    Color ->                                -- _obj-    m Color-colorCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_color_copy _obj'-    checkUnexpectedReturnNULL "pango_color_copy" result-    result' <- (wrapBoxed Color) result-    touchManagedPtr _obj-    return result'---- method Color::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_color_free" pango_color_free :: -    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"-    IO ()---colorFree ::-    (MonadIO m) =>-    Color ->                                -- _obj-    m ()-colorFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_color_free _obj'-    touchManagedPtr _obj-    return ()---- method Color::parse--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_color_parse" pango_color_parse :: -    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"-    CString ->                              -- spec : TBasicType TUTF8-    IO CInt---colorParse ::-    (MonadIO m) =>-    Color ->                                -- _obj-    T.Text ->                               -- spec-    m Bool-colorParse _obj spec = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    spec' <- textToCString spec-    result <- pango_color_parse _obj' spec'-    let result' = (/= 0) result-    touchManagedPtr _obj-    freeMem spec'-    return result'---- method Color::to_string--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_color_to_string" pango_color_to_string :: -    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"-    IO CString---colorToString ::-    (MonadIO m) =>-    Color ->                                -- _obj-    m T.Text-colorToString _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_color_to_string _obj'-    checkUnexpectedReturnNULL "pango_color_to_string" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr _obj-    return result'---- object Context -newtype Context = Context (ForeignPtr Context)-noContext :: Maybe Context-noContext = Nothing--foreign import ccall "pango_context_get_type"-    c_pango_context_get_type :: IO GType--type instance ParentTypes Context = '[GObject.Object]--instance GObject Context where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_context_get_type-    --class GObject o => ContextK o-instance (GObject o, IsDescendantOf Context o) => ContextK o--toContext :: ContextK o => o -> IO Context-toContext = unsafeCastTo Context---- method Context::new--- method type : Constructor--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "Context"--- throws : False--- Skip return : False--foreign import ccall "pango_context_new" pango_context_new :: -    IO (Ptr Context)---contextNew ::-    (MonadIO m) =>-    m Context-contextNew  = liftIO $ do-    result <- pango_context_new-    checkUnexpectedReturnNULL "pango_context_new" result-    result' <- (wrapObject Context) result-    return result'---- method Context::changed--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_changed" pango_context_changed :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO ()---contextChanged ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m ()-contextChanged _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_context_changed _obj'-    touchManagedPtr _obj-    return ()---- method Context::get_base_dir--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Direction"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_base_dir" pango_context_get_base_dir :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO CUInt---contextGetBaseDir ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m Direction-contextGetBaseDir _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_base_dir _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Context::get_base_gravity--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Gravity"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_base_gravity" pango_context_get_base_gravity :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO CUInt---contextGetBaseGravity ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m Gravity-contextGetBaseGravity _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_base_gravity _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Context::get_font_description--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_font_description" pango_context_get_font_description :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO (Ptr FontDescription)---contextGetFontDescription ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m FontDescription-contextGetFontDescription _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_font_description _obj'-    checkUnexpectedReturnNULL "pango_context_get_font_description" result-    result' <- (newBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method Context::get_font_map--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMap"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_font_map" pango_context_get_font_map :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO (Ptr FontMap)---contextGetFontMap ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m FontMap-contextGetFontMap _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_font_map _obj'-    checkUnexpectedReturnNULL "pango_context_get_font_map" result-    result' <- (newObject FontMap) result-    touchManagedPtr _obj-    return result'---- method Context::get_gravity--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Gravity"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_gravity" pango_context_get_gravity :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO CUInt---contextGetGravity ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m Gravity-contextGetGravity _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_gravity _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Context::get_gravity_hint--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GravityHint"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_gravity_hint" pango_context_get_gravity_hint :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO CUInt---contextGetGravityHint ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m GravityHint-contextGetGravityHint _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_gravity_hint _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Context::get_language--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Language"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_language" pango_context_get_language :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO (Ptr Language)---contextGetLanguage ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m Language-contextGetLanguage _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_language _obj'-    checkUnexpectedReturnNULL "pango_context_get_language" result-    result' <- (wrapBoxed Language) result-    touchManagedPtr _obj-    return result'---- method Context::get_matrix--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Matrix"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_matrix" pango_context_get_matrix :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO (Ptr Matrix)---contextGetMatrix ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m Matrix-contextGetMatrix _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_matrix _obj'-    checkUnexpectedReturnNULL "pango_context_get_matrix" result-    result' <- (newBoxed Matrix) result-    touchManagedPtr _obj-    return result'---- method Context::get_metrics--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMetrics"--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_metrics" pango_context_get_metrics :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    IO (Ptr FontMetrics)---contextGetMetrics ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    Maybe (FontDescription) ->              -- desc-    Maybe (Language) ->                     -- language-    m FontMetrics-contextGetMetrics _obj desc language = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeDesc <- case desc of-        Nothing -> return nullPtr-        Just jDesc -> do-            let jDesc' = unsafeManagedPtrGetPtr jDesc-            return jDesc'-    maybeLanguage <- case language of-        Nothing -> return nullPtr-        Just jLanguage -> do-            let jLanguage' = unsafeManagedPtrGetPtr jLanguage-            return jLanguage'-    result <- pango_context_get_metrics _obj' maybeDesc maybeLanguage-    checkUnexpectedReturnNULL "pango_context_get_metrics" result-    result' <- (wrapBoxed FontMetrics) result-    touchManagedPtr _obj-    whenJust desc touchManagedPtr-    whenJust language touchManagedPtr-    return result'---- method Context::get_serial--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUInt32--- throws : False--- Skip return : False--foreign import ccall "pango_context_get_serial" pango_context_get_serial :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    IO Word32---contextGetSerial ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m Word32-contextGetSerial _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_context_get_serial _obj'-    touchManagedPtr _obj-    return result---- method Context::list_families--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_list_families" pango_context_list_families :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr (Ptr (Ptr FontFamily)) ->           -- families : TCArray False (-1) 2 (TInterface "Pango" "FontFamily")-    Ptr Int32 ->                            -- n_families : TBasicType TInt32-    IO ()---contextListFamilies ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    m ([FontFamily])-contextListFamilies _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    families <- allocMem :: IO (Ptr (Ptr (Ptr FontFamily)))-    n_families <- allocMem :: IO (Ptr Int32)-    pango_context_list_families _obj' families n_families-    n_families' <- peek n_families-    families' <- peek families-    families'' <- (unpackPtrArrayWithLength n_families') families'-    families''' <- mapM (newObject FontFamily) families''-    freeMem families'-    touchManagedPtr _obj-    freeMem families-    freeMem n_families-    return families'''---- method Context::load_font--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Font"--- throws : False--- Skip return : False--foreign import ccall "pango_context_load_font" pango_context_load_font :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    IO (Ptr Font)---contextLoadFont ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    FontDescription ->                      -- desc-    m Font-contextLoadFont _obj desc = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let desc' = unsafeManagedPtrGetPtr desc-    result <- pango_context_load_font _obj' desc'-    checkUnexpectedReturnNULL "pango_context_load_font" result-    result' <- (wrapObject Font) result-    touchManagedPtr _obj-    touchManagedPtr desc-    return result'---- method Context::load_fontset--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Fontset"--- throws : False--- Skip return : False--foreign import ccall "pango_context_load_fontset" pango_context_load_fontset :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    IO (Ptr Fontset)---contextLoadFontset ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    FontDescription ->                      -- desc-    Language ->                             -- language-    m Fontset-contextLoadFontset _obj desc language = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let desc' = unsafeManagedPtrGetPtr desc-    let language' = unsafeManagedPtrGetPtr language-    result <- pango_context_load_fontset _obj' desc' language'-    checkUnexpectedReturnNULL "pango_context_load_fontset" result-    result' <- (wrapObject Fontset) result-    touchManagedPtr _obj-    touchManagedPtr desc-    touchManagedPtr language-    return result'---- method Context::set_base_dir--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_base_dir" pango_context_set_base_dir :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    CUInt ->                                -- direction : TInterface "Pango" "Direction"-    IO ()---contextSetBaseDir ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    Direction ->                            -- direction-    m ()-contextSetBaseDir _obj direction = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let direction' = (fromIntegral . fromEnum) direction-    pango_context_set_base_dir _obj' direction'-    touchManagedPtr _obj-    return ()---- method Context::set_base_gravity--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_base_gravity" pango_context_set_base_gravity :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"-    IO ()---contextSetBaseGravity ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    Gravity ->                              -- gravity-    m ()-contextSetBaseGravity _obj gravity = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let gravity' = (fromIntegral . fromEnum) gravity-    pango_context_set_base_gravity _obj' gravity'-    touchManagedPtr _obj-    return ()---- method Context::set_font_description--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_font_description" pango_context_set_font_description :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    IO ()---contextSetFontDescription ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    FontDescription ->                      -- desc-    m ()-contextSetFontDescription _obj desc = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let desc' = unsafeManagedPtrGetPtr desc-    pango_context_set_font_description _obj' desc'-    touchManagedPtr _obj-    touchManagedPtr desc-    return ()---- method Context::set_font_map--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_font_map" pango_context_set_font_map :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr FontMap ->                          -- font_map : TInterface "Pango" "FontMap"-    IO ()---contextSetFontMap ::-    (MonadIO m, ContextK a, FontMapK b) =>-    a ->                                    -- _obj-    b ->                                    -- font_map-    m ()-contextSetFontMap _obj font_map = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let font_map' = unsafeManagedPtrCastPtr font_map-    pango_context_set_font_map _obj' font_map'-    touchManagedPtr _obj-    touchManagedPtr font_map-    return ()---- method Context::set_gravity_hint--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_gravity_hint" pango_context_set_gravity_hint :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"-    IO ()---contextSetGravityHint ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    GravityHint ->                          -- hint-    m ()-contextSetGravityHint _obj hint = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let hint' = (fromIntegral . fromEnum) hint-    pango_context_set_gravity_hint _obj' hint'-    touchManagedPtr _obj-    return ()---- method Context::set_language--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_language" pango_context_set_language :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    IO ()---contextSetLanguage ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    Language ->                             -- language-    m ()-contextSetLanguage _obj language = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let language' = unsafeManagedPtrGetPtr language-    pango_context_set_language _obj' language'-    touchManagedPtr _obj-    touchManagedPtr language-    return ()---- method Context::set_matrix--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_context_set_matrix" pango_context_set_matrix :: -    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"-    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"-    IO ()---contextSetMatrix ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- _obj-    Maybe (Matrix) ->                       -- matrix-    m ()-contextSetMatrix _obj matrix = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeMatrix <- case matrix of-        Nothing -> return nullPtr-        Just jMatrix -> do-            let jMatrix' = unsafeManagedPtrGetPtr jMatrix-            return jMatrix'-    pango_context_set_matrix _obj' maybeMatrix-    touchManagedPtr _obj-    whenJust matrix touchManagedPtr-    return ()---- struct Coverage-newtype Coverage = Coverage (ForeignPtr Coverage)-noCoverage :: Maybe Coverage-noCoverage = Nothing---- method Coverage::get--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "CoverageLevel"--- throws : False--- Skip return : False--foreign import ccall "pango_coverage_get" pango_coverage_get :: -    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"-    Int32 ->                                -- index_ : TBasicType TInt32-    IO CUInt---coverageGet ::-    (MonadIO m) =>-    Coverage ->                             -- _obj-    Int32 ->                                -- index_-    m CoverageLevel-coverageGet _obj index_ = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_coverage_get _obj' index_-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Coverage::max--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_coverage_max" pango_coverage_max :: -    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"-    Ptr Coverage ->                         -- other : TInterface "Pango" "Coverage"-    IO ()---coverageMax ::-    (MonadIO m) =>-    Coverage ->                             -- _obj-    Coverage ->                             -- other-    m ()-coverageMax _obj other = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let other' = unsafeManagedPtrGetPtr other-    pango_coverage_max _obj' other'-    touchManagedPtr _obj-    touchManagedPtr other-    return ()---- method Coverage::set--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_coverage_set" pango_coverage_set :: -    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"-    Int32 ->                                -- index_ : TBasicType TInt32-    CUInt ->                                -- level : TInterface "Pango" "CoverageLevel"-    IO ()---coverageSet ::-    (MonadIO m) =>-    Coverage ->                             -- _obj-    Int32 ->                                -- index_-    CoverageLevel ->                        -- level-    m ()-coverageSet _obj index_ level = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let level' = (fromIntegral . fromEnum) level-    pango_coverage_set _obj' index_ level'-    touchManagedPtr _obj-    return ()---- method Coverage::to_bytes--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bytes", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_coverage_to_bytes" pango_coverage_to_bytes :: -    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"-    Ptr (Ptr Word8) ->                      -- bytes : TCArray False (-1) 2 (TBasicType TUInt8)-    Ptr Int32 ->                            -- n_bytes : TBasicType TInt32-    IO ()---coverageToBytes ::-    (MonadIO m) =>-    Coverage ->                             -- _obj-    m (ByteString)-coverageToBytes _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    bytes <- allocMem :: IO (Ptr (Ptr Word8))-    n_bytes <- allocMem :: IO (Ptr Int32)-    pango_coverage_to_bytes _obj' bytes n_bytes-    n_bytes' <- peek n_bytes-    bytes' <- peek bytes-    bytes'' <- (unpackByteStringWithLength n_bytes') bytes'-    freeMem bytes'-    touchManagedPtr _obj-    freeMem bytes-    freeMem n_bytes-    return bytes''---- method Coverage::unref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_coverage_unref" pango_coverage_unref :: -    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"-    IO ()---coverageUnref ::-    (MonadIO m) =>-    Coverage ->                             -- _obj-    m ()-coverageUnref _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_coverage_unref _obj'-    touchManagedPtr _obj-    return ()---- Enum CoverageLevel--data CoverageLevel = -      CoverageLevelNone-    | CoverageLevelFallback-    | CoverageLevelApproximate-    | CoverageLevelExact-    | AnotherCoverageLevel Int-    deriving (Show, Eq)--instance Enum CoverageLevel where-    fromEnum CoverageLevelNone = 0-    fromEnum CoverageLevelFallback = 1-    fromEnum CoverageLevelApproximate = 2-    fromEnum CoverageLevelExact = 3-    fromEnum (AnotherCoverageLevel k) = k--    toEnum 0 = CoverageLevelNone-    toEnum 1 = CoverageLevelFallback-    toEnum 2 = CoverageLevelApproximate-    toEnum 3 = CoverageLevelExact-    toEnum k = AnotherCoverageLevel k--foreign import ccall "pango_coverage_level_get_type" c_pango_coverage_level_get_type :: -    IO GType--instance BoxedEnum CoverageLevel where-    boxedEnumType _ = c_pango_coverage_level_get_type---- Enum Direction--data Direction = -      DirectionLtr-    | DirectionRtl-    | DirectionTtbLtr-    | DirectionTtbRtl-    | DirectionWeakLtr-    | DirectionWeakRtl-    | DirectionNeutral-    | AnotherDirection Int-    deriving (Show, Eq)--instance Enum Direction where-    fromEnum DirectionLtr = 0-    fromEnum DirectionRtl = 1-    fromEnum DirectionTtbLtr = 2-    fromEnum DirectionTtbRtl = 3-    fromEnum DirectionWeakLtr = 4-    fromEnum DirectionWeakRtl = 5-    fromEnum DirectionNeutral = 6-    fromEnum (AnotherDirection k) = k--    toEnum 0 = DirectionLtr-    toEnum 1 = DirectionRtl-    toEnum 2 = DirectionTtbLtr-    toEnum 3 = DirectionTtbRtl-    toEnum 4 = DirectionWeakLtr-    toEnum 5 = DirectionWeakRtl-    toEnum 6 = DirectionNeutral-    toEnum k = AnotherDirection k--foreign import ccall "pango_direction_get_type" c_pango_direction_get_type :: -    IO GType--instance BoxedEnum Direction where-    boxedEnumType _ = c_pango_direction_get_type---- Enum EllipsizeMode--data EllipsizeMode = -      EllipsizeModeNone-    | EllipsizeModeStart-    | EllipsizeModeMiddle-    | EllipsizeModeEnd-    | AnotherEllipsizeMode Int-    deriving (Show, Eq)--instance Enum EllipsizeMode where-    fromEnum EllipsizeModeNone = 0-    fromEnum EllipsizeModeStart = 1-    fromEnum EllipsizeModeMiddle = 2-    fromEnum EllipsizeModeEnd = 3-    fromEnum (AnotherEllipsizeMode k) = k--    toEnum 0 = EllipsizeModeNone-    toEnum 1 = EllipsizeModeStart-    toEnum 2 = EllipsizeModeMiddle-    toEnum 3 = EllipsizeModeEnd-    toEnum k = AnotherEllipsizeMode k--foreign import ccall "pango_ellipsize_mode_get_type" c_pango_ellipsize_mode_get_type :: -    IO GType--instance BoxedEnum EllipsizeMode where-    boxedEnumType _ = c_pango_ellipsize_mode_get_type---- object Engine -newtype Engine = Engine (ForeignPtr Engine)-noEngine :: Maybe Engine-noEngine = Nothing--foreign import ccall "pango_engine_get_type"-    c_pango_engine_get_type :: IO GType--type instance ParentTypes Engine = '[GObject.Object]--instance GObject Engine where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_engine_get_type-    --class GObject o => EngineK o-instance (GObject o, IsDescendantOf Engine o) => EngineK o--toEngine :: EngineK o => o -> IO Engine-toEngine = unsafeCastTo Engine---- struct EngineInfo-newtype EngineInfo = EngineInfo (ForeignPtr EngineInfo)-noEngineInfo :: Maybe EngineInfo-noEngineInfo = Nothing--engineInfoReadId :: EngineInfo -> IO T.Text-engineInfoReadId s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CString-    val' <- cstringToText val-    return val'--engineInfoReadEngineType :: EngineInfo -> IO T.Text-engineInfoReadEngineType s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    val' <- cstringToText val-    return val'--engineInfoReadRenderType :: EngineInfo -> IO T.Text-engineInfoReadRenderType s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CString-    val' <- cstringToText val-    return val'--engineInfoReadScripts :: EngineInfo -> IO EngineScriptInfo-engineInfoReadScripts s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr EngineScriptInfo)-    val' <- (newPtr 16 EngineScriptInfo) val-    return val'--engineInfoReadNScripts :: EngineInfo -> IO Int32-engineInfoReadNScripts s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Int32-    return val---- object EngineLang -newtype EngineLang = EngineLang (ForeignPtr EngineLang)-noEngineLang :: Maybe EngineLang-noEngineLang = Nothing--foreign import ccall "pango_engine_lang_get_type"-    c_pango_engine_lang_get_type :: IO GType--type instance ParentTypes EngineLang = '[Engine, GObject.Object]--instance GObject EngineLang where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_engine_lang_get_type-    --class GObject o => EngineLangK o-instance (GObject o, IsDescendantOf EngineLang o) => EngineLangK o--toEngineLang :: EngineLangK o => o -> IO EngineLang-toEngineLang = unsafeCastTo EngineLang---- struct EngineScriptInfo-newtype EngineScriptInfo = EngineScriptInfo (ForeignPtr EngineScriptInfo)-noEngineScriptInfo :: Maybe EngineScriptInfo-noEngineScriptInfo = Nothing--engineScriptInfoReadScript :: EngineScriptInfo -> IO Script-engineScriptInfoReadScript s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--engineScriptInfoReadLangs :: EngineScriptInfo -> IO T.Text-engineScriptInfoReadLangs s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    val' <- cstringToText val-    return val'---- object EngineShape -newtype EngineShape = EngineShape (ForeignPtr EngineShape)-noEngineShape :: Maybe EngineShape-noEngineShape = Nothing--foreign import ccall "pango_engine_shape_get_type"-    c_pango_engine_shape_get_type :: IO GType--type instance ParentTypes EngineShape = '[Engine, GObject.Object]--instance GObject EngineShape where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_engine_shape_get_type-    --class GObject o => EngineShapeK o-instance (GObject o, IsDescendantOf EngineShape o) => EngineShapeK o--toEngineShape :: EngineShapeK o => o -> IO EngineShape-toEngineShape = unsafeCastTo EngineShape---- object Font -newtype Font = Font (ForeignPtr Font)-noFont :: Maybe Font-noFont = Nothing--foreign import ccall "pango_font_get_type"-    c_pango_font_get_type :: IO GType--type instance ParentTypes Font = '[GObject.Object]--instance GObject Font where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_font_get_type-    --class GObject o => FontK o-instance (GObject o, IsDescendantOf Font o) => FontK o--toFont :: FontK o => o -> IO Font-toFont = unsafeCastTo Font---- method Font::describe--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_describe" pango_font_describe :: -    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"-    IO (Ptr FontDescription)---fontDescribe ::-    (MonadIO m, FontK a) =>-    a ->                                    -- _obj-    m FontDescription-fontDescribe _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_describe _obj'-    checkUnexpectedReturnNULL "pango_font_describe" result-    result' <- (wrapBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method Font::describe_with_absolute_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_describe_with_absolute_size" pango_font_describe_with_absolute_size :: -    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"-    IO (Ptr FontDescription)---fontDescribeWithAbsoluteSize ::-    (MonadIO m, FontK a) =>-    a ->                                    -- _obj-    m FontDescription-fontDescribeWithAbsoluteSize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_describe_with_absolute_size _obj'-    checkUnexpectedReturnNULL "pango_font_describe_with_absolute_size" result-    result' <- (wrapBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method Font::get_font_map--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMap"--- throws : False--- Skip return : False--foreign import ccall "pango_font_get_font_map" pango_font_get_font_map :: -    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"-    IO (Ptr FontMap)---fontGetFontMap ::-    (MonadIO m, FontK a) =>-    a ->                                    -- _obj-    m FontMap-fontGetFontMap _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_get_font_map _obj'-    checkUnexpectedReturnNULL "pango_font_get_font_map" result-    result' <- (newObject FontMap) result-    touchManagedPtr _obj-    return result'---- method Font::get_glyph_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_get_glyph_extents" pango_font_get_glyph_extents :: -    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"-    Word32 ->                               -- glyph : TBasicType TUInt32-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---fontGetGlyphExtents ::-    (MonadIO m, FontK a) =>-    a ->                                    -- _obj-    Word32 ->                               -- glyph-    m (Rectangle,Rectangle)-fontGetGlyphExtents _obj glyph = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_font_get_glyph_extents _obj' glyph ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method Font::get_metrics--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMetrics"--- throws : False--- Skip return : False--foreign import ccall "pango_font_get_metrics" pango_font_get_metrics :: -    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    IO (Ptr FontMetrics)---fontGetMetrics ::-    (MonadIO m, FontK a) =>-    a ->                                    -- _obj-    Maybe (Language) ->                     -- language-    m FontMetrics-fontGetMetrics _obj language = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeLanguage <- case language of-        Nothing -> return nullPtr-        Just jLanguage -> do-            let jLanguage' = unsafeManagedPtrGetPtr jLanguage-            return jLanguage'-    result <- pango_font_get_metrics _obj' maybeLanguage-    checkUnexpectedReturnNULL "pango_font_get_metrics" result-    result' <- (wrapBoxed FontMetrics) result-    touchManagedPtr _obj-    whenJust language touchManagedPtr-    return result'---- method Font::descriptions_free--- method type : MemberFunction--- Args : [Arg {argName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : [Arg {argName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- hInArgs : [Arg {argName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_descriptions_free" pango_font_descriptions_free :: -    Ptr (Ptr FontDescription) ->            -- descs : TCArray False (-1) 1 (TInterface "Pango" "FontDescription")-    Int32 ->                                -- n_descs : TBasicType TInt32-    IO ()---fontDescriptionsFree ::-    (MonadIO m) =>-    Maybe ([FontDescription]) ->            -- descs-    m ()-fontDescriptionsFree descs = liftIO $ do-    let n_descs = case descs of-            Nothing -> 0-            Just jDescs -> fromIntegral $ length jDescs-    maybeDescs <- case descs of-        Nothing -> return nullPtr-        Just jDescs -> do-            jDescs' <- mapM copyBoxed jDescs-            jDescs'' <- packPtrArray jDescs'-            return jDescs''-    pango_font_descriptions_free maybeDescs n_descs-    whenJust descs (mapM_ touchManagedPtr)-    return ()---- struct FontDescription-newtype FontDescription = FontDescription (ForeignPtr FontDescription)-noFontDescription :: Maybe FontDescription-noFontDescription = Nothing--foreign import ccall "pango_font_description_get_type" c_pango_font_description_get_type :: -    IO GType--instance BoxedObject FontDescription where-    boxedType _ = c_pango_font_description_get_type---- method FontDescription::new--- method type : Constructor--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_new" pango_font_description_new :: -    IO (Ptr FontDescription)---fontDescriptionNew ::-    (MonadIO m) =>-    m FontDescription-fontDescriptionNew  = liftIO $ do-    result <- pango_font_description_new-    checkUnexpectedReturnNULL "pango_font_description_new" result-    result' <- (wrapBoxed FontDescription) result-    return result'---- method FontDescription::better_match--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_better_match" pango_font_description_better_match :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    Ptr FontDescription ->                  -- old_match : TInterface "Pango" "FontDescription"-    Ptr FontDescription ->                  -- new_match : TInterface "Pango" "FontDescription"-    IO CInt---fontDescriptionBetterMatch ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Maybe (FontDescription) ->              -- old_match-    FontDescription ->                      -- new_match-    m Bool-fontDescriptionBetterMatch _obj old_match new_match = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    maybeOld_match <- case old_match of-        Nothing -> return nullPtr-        Just jOld_match -> do-            let jOld_match' = unsafeManagedPtrGetPtr jOld_match-            return jOld_match'-    let new_match' = unsafeManagedPtrGetPtr new_match-    result <- pango_font_description_better_match _obj' maybeOld_match new_match'-    let result' = (/= 0) result-    touchManagedPtr _obj-    whenJust old_match touchManagedPtr-    touchManagedPtr new_match-    return result'---- method FontDescription::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_copy" pango_font_description_copy :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO (Ptr FontDescription)---fontDescriptionCopy ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m FontDescription-fontDescriptionCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_copy _obj'-    checkUnexpectedReturnNULL "pango_font_description_copy" result-    result' <- (wrapBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method FontDescription::copy_static--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_copy_static" pango_font_description_copy_static :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO (Ptr FontDescription)---fontDescriptionCopyStatic ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m FontDescription-fontDescriptionCopyStatic _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_copy_static _obj'-    checkUnexpectedReturnNULL "pango_font_description_copy_static" result-    result' <- (wrapBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method FontDescription::equal--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_equal" pango_font_description_equal :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    Ptr FontDescription ->                  -- desc2 : TInterface "Pango" "FontDescription"-    IO CInt---fontDescriptionEqual ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    FontDescription ->                      -- desc2-    m Bool-fontDescriptionEqual _obj desc2 = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let desc2' = unsafeManagedPtrGetPtr desc2-    result <- pango_font_description_equal _obj' desc2'-    let result' = (/= 0) result-    touchManagedPtr _obj-    touchManagedPtr desc2-    return result'---- method FontDescription::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_free" pango_font_description_free :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO ()---fontDescriptionFree ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m ()-fontDescriptionFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_font_description_free _obj'-    touchManagedPtr _obj-    return ()---- method FontDescription::get_family--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_family" pango_font_description_get_family :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CString---fontDescriptionGetFamily ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m T.Text-fontDescriptionGetFamily _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_family _obj'-    checkUnexpectedReturnNULL "pango_font_description_get_family" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_gravity--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Gravity"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_gravity" pango_font_description_get_gravity :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CUInt---fontDescriptionGetGravity ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Gravity-fontDescriptionGetGravity _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_gravity _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_set_fields--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMask"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_set_fields" pango_font_description_get_set_fields :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CUInt---fontDescriptionGetSetFields ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m [FontMask]-fontDescriptionGetSetFields _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_set_fields _obj'-    let result' = wordToGFlags result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_size" pango_font_description_get_size :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO Int32---fontDescriptionGetSize ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Int32-fontDescriptionGetSize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_size _obj'-    touchManagedPtr _obj-    return result---- method FontDescription::get_size_is_absolute--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_size_is_absolute" pango_font_description_get_size_is_absolute :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CInt---fontDescriptionGetSizeIsAbsolute ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Bool-fontDescriptionGetSizeIsAbsolute _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_size_is_absolute _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_stretch--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Stretch"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_stretch" pango_font_description_get_stretch :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CUInt---fontDescriptionGetStretch ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Stretch-fontDescriptionGetStretch _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_stretch _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_style--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Style"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_style" pango_font_description_get_style :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CUInt---fontDescriptionGetStyle ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Style-fontDescriptionGetStyle _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_style _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_variant--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Variant"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_variant" pango_font_description_get_variant :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CUInt---fontDescriptionGetVariant ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Variant-fontDescriptionGetVariant _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_variant _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method FontDescription::get_weight--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Weight"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_get_weight" pango_font_description_get_weight :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CUInt---fontDescriptionGetWeight ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Weight-fontDescriptionGetWeight _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_get_weight _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method FontDescription::hash--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_hash" pango_font_description_hash :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO Word32---fontDescriptionHash ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m Word32-fontDescriptionHash _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_hash _obj'-    touchManagedPtr _obj-    return result---- method FontDescription::merge--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", 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 "pango_font_description_merge" pango_font_description_merge :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    Ptr FontDescription ->                  -- desc_to_merge : TInterface "Pango" "FontDescription"-    CInt ->                                 -- replace_existing : TBasicType TBoolean-    IO ()---fontDescriptionMerge ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Maybe (FontDescription) ->              -- desc_to_merge-    Bool ->                                 -- replace_existing-    m ()-fontDescriptionMerge _obj desc_to_merge replace_existing = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    maybeDesc_to_merge <- case desc_to_merge of-        Nothing -> return nullPtr-        Just jDesc_to_merge -> do-            let jDesc_to_merge' = unsafeManagedPtrGetPtr jDesc_to_merge-            return jDesc_to_merge'-    let replace_existing' = (fromIntegral . fromEnum) replace_existing-    pango_font_description_merge _obj' maybeDesc_to_merge replace_existing'-    touchManagedPtr _obj-    whenJust desc_to_merge touchManagedPtr-    return ()---- method FontDescription::merge_static--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", 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 "pango_font_description_merge_static" pango_font_description_merge_static :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    Ptr FontDescription ->                  -- desc_to_merge : TInterface "Pango" "FontDescription"-    CInt ->                                 -- replace_existing : TBasicType TBoolean-    IO ()---fontDescriptionMergeStatic ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    FontDescription ->                      -- desc_to_merge-    Bool ->                                 -- replace_existing-    m ()-fontDescriptionMergeStatic _obj desc_to_merge replace_existing = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let desc_to_merge' = unsafeManagedPtrGetPtr desc_to_merge-    let replace_existing' = (fromIntegral . fromEnum) replace_existing-    pango_font_description_merge_static _obj' desc_to_merge' replace_existing'-    touchManagedPtr _obj-    touchManagedPtr desc_to_merge-    return ()---- method FontDescription::set_absolute_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", 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 "pango_font_description_set_absolute_size" pango_font_description_set_absolute_size :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CDouble ->                              -- size : TBasicType TDouble-    IO ()---fontDescriptionSetAbsoluteSize ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Double ->                               -- size-    m ()-fontDescriptionSetAbsoluteSize _obj size = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let size' = realToFrac size-    pango_font_description_set_absolute_size _obj' size'-    touchManagedPtr _obj-    return ()---- method FontDescription::set_family--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_family" pango_font_description_set_family :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CString ->                              -- family : TBasicType TUTF8-    IO ()---fontDescriptionSetFamily ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    T.Text ->                               -- family-    m ()-fontDescriptionSetFamily _obj family = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    family' <- textToCString family-    pango_font_description_set_family _obj' family'-    touchManagedPtr _obj-    freeMem family'-    return ()---- method FontDescription::set_family_static--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_family_static" pango_font_description_set_family_static :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CString ->                              -- family : TBasicType TUTF8-    IO ()---fontDescriptionSetFamilyStatic ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    T.Text ->                               -- family-    m ()-fontDescriptionSetFamilyStatic _obj family = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    family' <- textToCString family-    pango_font_description_set_family_static _obj' family'-    touchManagedPtr _obj-    freeMem family'-    return ()---- method FontDescription::set_gravity--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_gravity" pango_font_description_set_gravity :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"-    IO ()---fontDescriptionSetGravity ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Gravity ->                              -- gravity-    m ()-fontDescriptionSetGravity _obj gravity = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let gravity' = (fromIntegral . fromEnum) gravity-    pango_font_description_set_gravity _obj' gravity'-    touchManagedPtr _obj-    return ()---- method FontDescription::set_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_size" pango_font_description_set_size :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    Int32 ->                                -- size : TBasicType TInt32-    IO ()---fontDescriptionSetSize ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Int32 ->                                -- size-    m ()-fontDescriptionSetSize _obj size = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_font_description_set_size _obj' size-    touchManagedPtr _obj-    return ()---- method FontDescription::set_stretch--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_stretch" pango_font_description_set_stretch :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CUInt ->                                -- stretch : TInterface "Pango" "Stretch"-    IO ()---fontDescriptionSetStretch ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Stretch ->                              -- stretch-    m ()-fontDescriptionSetStretch _obj stretch = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let stretch' = (fromIntegral . fromEnum) stretch-    pango_font_description_set_stretch _obj' stretch'-    touchManagedPtr _obj-    return ()---- method FontDescription::set_style--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_style" pango_font_description_set_style :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CUInt ->                                -- style : TInterface "Pango" "Style"-    IO ()---fontDescriptionSetStyle ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Style ->                                -- style-    m ()-fontDescriptionSetStyle _obj style = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let style' = (fromIntegral . fromEnum) style-    pango_font_description_set_style _obj' style'-    touchManagedPtr _obj-    return ()---- method FontDescription::set_variant--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_variant" pango_font_description_set_variant :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CUInt ->                                -- variant : TInterface "Pango" "Variant"-    IO ()---fontDescriptionSetVariant ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Variant ->                              -- variant-    m ()-fontDescriptionSetVariant _obj variant = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let variant' = (fromIntegral . fromEnum) variant-    pango_font_description_set_variant _obj' variant'-    touchManagedPtr _obj-    return ()---- method FontDescription::set_weight--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_set_weight" pango_font_description_set_weight :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CUInt ->                                -- weight : TInterface "Pango" "Weight"-    IO ()---fontDescriptionSetWeight ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    Weight ->                               -- weight-    m ()-fontDescriptionSetWeight _obj weight = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let weight' = (fromIntegral . fromEnum) weight-    pango_font_description_set_weight _obj' weight'-    touchManagedPtr _obj-    return ()---- method FontDescription::to_filename--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_to_filename" pango_font_description_to_filename :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CString---fontDescriptionToFilename ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m T.Text-fontDescriptionToFilename _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_to_filename _obj'-    checkUnexpectedReturnNULL "pango_font_description_to_filename" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr _obj-    return result'---- method FontDescription::to_string--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_to_string" pango_font_description_to_string :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    IO CString---fontDescriptionToString ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    m T.Text-fontDescriptionToString _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_description_to_string _obj'-    checkUnexpectedReturnNULL "pango_font_description_to_string" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr _obj-    return result'---- method FontDescription::unset_fields--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_unset_fields" pango_font_description_unset_fields :: -    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"-    CUInt ->                                -- to_unset : TInterface "Pango" "FontMask"-    IO ()---fontDescriptionUnsetFields ::-    (MonadIO m) =>-    FontDescription ->                      -- _obj-    [FontMask] ->                           -- to_unset-    m ()-fontDescriptionUnsetFields _obj to_unset = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let to_unset' = gflagsToWord to_unset-    pango_font_description_unset_fields _obj' to_unset'-    touchManagedPtr _obj-    return ()---- object FontFace -newtype FontFace = FontFace (ForeignPtr FontFace)-noFontFace :: Maybe FontFace-noFontFace = Nothing--foreign import ccall "pango_font_face_get_type"-    c_pango_font_face_get_type :: IO GType--type instance ParentTypes FontFace = '[GObject.Object]--instance GObject FontFace where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_font_face_get_type-    --class GObject o => FontFaceK o-instance (GObject o, IsDescendantOf FontFace o) => FontFaceK o--toFontFace :: FontFaceK o => o -> IO FontFace-toFontFace = unsafeCastTo FontFace---- method FontFace::describe--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_face_describe" pango_font_face_describe :: -    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"-    IO (Ptr FontDescription)---fontFaceDescribe ::-    (MonadIO m, FontFaceK a) =>-    a ->                                    -- _obj-    m FontDescription-fontFaceDescribe _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_face_describe _obj'-    checkUnexpectedReturnNULL "pango_font_face_describe" result-    result' <- (wrapBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method FontFace::get_face_name--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_font_face_get_face_name" pango_font_face_get_face_name :: -    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"-    IO CString---fontFaceGetFaceName ::-    (MonadIO m, FontFaceK a) =>-    a ->                                    -- _obj-    m T.Text-fontFaceGetFaceName _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_face_get_face_name _obj'-    checkUnexpectedReturnNULL "pango_font_face_get_face_name" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- method FontFace::is_synthesized--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_font_face_is_synthesized" pango_font_face_is_synthesized :: -    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"-    IO CInt---fontFaceIsSynthesized ::-    (MonadIO m, FontFaceK a) =>-    a ->                                    -- _obj-    m Bool-fontFaceIsSynthesized _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_face_is_synthesized _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method FontFace::list_sizes--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sizes", argType = TCArray False (-1) 2 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_face_list_sizes" pango_font_face_list_sizes :: -    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"-    Ptr (Ptr Int32) ->                      -- sizes : TCArray False (-1) 2 (TBasicType TInt32)-    Ptr Int32 ->                            -- n_sizes : TBasicType TInt32-    IO ()---fontFaceListSizes ::-    (MonadIO m, FontFaceK a) =>-    a ->                                    -- _obj-    m ([Int32])-fontFaceListSizes _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    sizes <- allocMem :: IO (Ptr (Ptr Int32))-    n_sizes <- allocMem :: IO (Ptr Int32)-    pango_font_face_list_sizes _obj' sizes n_sizes-    n_sizes' <- peek n_sizes-    sizes' <- peek sizes-    sizes'' <- (unpackStorableArrayWithLength n_sizes') sizes'-    freeMem sizes'-    touchManagedPtr _obj-    freeMem sizes-    freeMem n_sizes-    return sizes''---- object FontFamily -newtype FontFamily = FontFamily (ForeignPtr FontFamily)-noFontFamily :: Maybe FontFamily-noFontFamily = Nothing--foreign import ccall "pango_font_family_get_type"-    c_pango_font_family_get_type :: IO GType--type instance ParentTypes FontFamily = '[GObject.Object]--instance GObject FontFamily where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_font_family_get_type-    --class GObject o => FontFamilyK o-instance (GObject o, IsDescendantOf FontFamily o) => FontFamilyK o--toFontFamily :: FontFamilyK o => o -> IO FontFamily-toFontFamily = unsafeCastTo FontFamily---- method FontFamily::get_name--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_font_family_get_name" pango_font_family_get_name :: -    Ptr FontFamily ->                       -- _obj : TInterface "Pango" "FontFamily"-    IO CString---fontFamilyGetName ::-    (MonadIO m, FontFamilyK a) =>-    a ->                                    -- _obj-    m T.Text-fontFamilyGetName _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_family_get_name _obj'-    checkUnexpectedReturnNULL "pango_font_family_get_name" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- method FontFamily::is_monospace--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_font_family_is_monospace" pango_font_family_is_monospace :: -    Ptr FontFamily ->                       -- _obj : TInterface "Pango" "FontFamily"-    IO CInt---fontFamilyIsMonospace ::-    (MonadIO m, FontFamilyK a) =>-    a ->                                    -- _obj-    m Bool-fontFamilyIsMonospace _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_family_is_monospace _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method FontFamily::list_faces--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "faces", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFace"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_family_list_faces" pango_font_family_list_faces :: -    Ptr FontFamily ->                       -- _obj : TInterface "Pango" "FontFamily"-    Ptr (Ptr (Ptr FontFace)) ->             -- faces : TCArray False (-1) 2 (TInterface "Pango" "FontFace")-    Ptr Int32 ->                            -- n_faces : TBasicType TInt32-    IO ()---fontFamilyListFaces ::-    (MonadIO m, FontFamilyK a) =>-    a ->                                    -- _obj-    m ([FontFace])-fontFamilyListFaces _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    faces <- allocMem :: IO (Ptr (Ptr (Ptr FontFace)))-    n_faces <- allocMem :: IO (Ptr Int32)-    pango_font_family_list_faces _obj' faces n_faces-    n_faces' <- peek n_faces-    faces' <- peek faces-    faces'' <- (unpackPtrArrayWithLength n_faces') faces'-    faces''' <- mapM (newObject FontFace) faces''-    freeMem faces'-    touchManagedPtr _obj-    freeMem faces-    freeMem n_faces-    return faces'''---- object FontMap -newtype FontMap = FontMap (ForeignPtr FontMap)-noFontMap :: Maybe FontMap-noFontMap = Nothing--foreign import ccall "pango_font_map_get_type"-    c_pango_font_map_get_type :: IO GType--type instance ParentTypes FontMap = '[GObject.Object]--instance GObject FontMap where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_font_map_get_type-    --class GObject o => FontMapK o-instance (GObject o, IsDescendantOf FontMap o) => FontMapK o--toFontMap :: FontMapK o => o -> IO FontMap-toFontMap = unsafeCastTo FontMap---- method FontMap::changed--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_changed" pango_font_map_changed :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    IO ()---fontMapChanged ::-    (MonadIO m, FontMapK a) =>-    a ->                                    -- _obj-    m ()-fontMapChanged _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_font_map_changed _obj'-    touchManagedPtr _obj-    return ()---- method FontMap::create_context--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Context"--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_create_context" pango_font_map_create_context :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    IO (Ptr Context)---fontMapCreateContext ::-    (MonadIO m, FontMapK a) =>-    a ->                                    -- _obj-    m Context-fontMapCreateContext _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_map_create_context _obj'-    checkUnexpectedReturnNULL "pango_font_map_create_context" result-    result' <- (wrapObject Context) result-    touchManagedPtr _obj-    return result'---- method FontMap::get_serial--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_get_serial" pango_font_map_get_serial :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    IO Word32---fontMapGetSerial ::-    (MonadIO m, FontMapK a) =>-    a ->                                    -- _obj-    m Word32-fontMapGetSerial _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_map_get_serial _obj'-    touchManagedPtr _obj-    return result---- method FontMap::get_shape_engine_type--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_get_shape_engine_type" pango_font_map_get_shape_engine_type :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    IO CString---fontMapGetShapeEngineType ::-    (MonadIO m, FontMapK a) =>-    a ->                                    -- _obj-    m T.Text-fontMapGetShapeEngineType _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_font_map_get_shape_engine_type _obj'-    checkUnexpectedReturnNULL "pango_font_map_get_shape_engine_type" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- method FontMap::list_families--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_list_families" pango_font_map_list_families :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    Ptr (Ptr (Ptr FontFamily)) ->           -- families : TCArray False (-1) 2 (TInterface "Pango" "FontFamily")-    Ptr Int32 ->                            -- n_families : TBasicType TInt32-    IO ()---fontMapListFamilies ::-    (MonadIO m, FontMapK a) =>-    a ->                                    -- _obj-    m ([FontFamily])-fontMapListFamilies _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    families <- allocMem :: IO (Ptr (Ptr (Ptr FontFamily)))-    n_families <- allocMem :: IO (Ptr Int32)-    pango_font_map_list_families _obj' families n_families-    n_families' <- peek n_families-    families' <- peek families-    families'' <- (unpackPtrArrayWithLength n_families') families'-    families''' <- mapM (newObject FontFamily) families''-    freeMem families'-    touchManagedPtr _obj-    freeMem families-    freeMem n_families-    return families'''---- method FontMap::load_font--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Font"--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_load_font" pango_font_map_load_font :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    Ptr Context ->                          -- context : TInterface "Pango" "Context"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    IO (Ptr Font)---fontMapLoadFont ::-    (MonadIO m, FontMapK a, ContextK b) =>-    a ->                                    -- _obj-    b ->                                    -- context-    FontDescription ->                      -- desc-    m Font-fontMapLoadFont _obj context desc = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let context' = unsafeManagedPtrCastPtr context-    let desc' = unsafeManagedPtrGetPtr desc-    result <- pango_font_map_load_font _obj' context' desc'-    checkUnexpectedReturnNULL "pango_font_map_load_font" result-    result' <- (wrapObject Font) result-    touchManagedPtr _obj-    touchManagedPtr context-    touchManagedPtr desc-    return result'---- method FontMap::load_fontset--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Fontset"--- throws : False--- Skip return : False--foreign import ccall "pango_font_map_load_fontset" pango_font_map_load_fontset :: -    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"-    Ptr Context ->                          -- context : TInterface "Pango" "Context"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    IO (Ptr Fontset)---fontMapLoadFontset ::-    (MonadIO m, FontMapK a, ContextK b) =>-    a ->                                    -- _obj-    b ->                                    -- context-    FontDescription ->                      -- desc-    Language ->                             -- language-    m Fontset-fontMapLoadFontset _obj context desc language = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let context' = unsafeManagedPtrCastPtr context-    let desc' = unsafeManagedPtrGetPtr desc-    let language' = unsafeManagedPtrGetPtr language-    result <- pango_font_map_load_fontset _obj' context' desc' language'-    checkUnexpectedReturnNULL "pango_font_map_load_fontset" result-    result' <- (wrapObject Fontset) result-    touchManagedPtr _obj-    touchManagedPtr context-    touchManagedPtr desc-    touchManagedPtr language-    return result'---- Flags FontMask--data FontMask = -      FontMaskFamily-    | FontMaskStyle-    | FontMaskVariant-    | FontMaskWeight-    | FontMaskStretch-    | FontMaskSize-    | FontMaskGravity-    | AnotherFontMask Int-    deriving (Show, Eq)--instance Enum FontMask where-    fromEnum FontMaskFamily = 1-    fromEnum FontMaskStyle = 2-    fromEnum FontMaskVariant = 4-    fromEnum FontMaskWeight = 8-    fromEnum FontMaskStretch = 16-    fromEnum FontMaskSize = 32-    fromEnum FontMaskGravity = 64-    fromEnum (AnotherFontMask k) = k--    toEnum 1 = FontMaskFamily-    toEnum 2 = FontMaskStyle-    toEnum 4 = FontMaskVariant-    toEnum 8 = FontMaskWeight-    toEnum 16 = FontMaskStretch-    toEnum 32 = FontMaskSize-    toEnum 64 = FontMaskGravity-    toEnum k = AnotherFontMask k--foreign import ccall "pango_font_mask_get_type" c_pango_font_mask_get_type :: -    IO GType--instance BoxedEnum FontMask where-    boxedEnumType _ = c_pango_font_mask_get_type--instance IsGFlag FontMask---- struct FontMetrics-newtype FontMetrics = FontMetrics (ForeignPtr FontMetrics)-noFontMetrics :: Maybe FontMetrics-noFontMetrics = Nothing--foreign import ccall "pango_font_metrics_get_type" c_pango_font_metrics_get_type :: -    IO GType--instance BoxedObject FontMetrics where-    boxedType _ = c_pango_font_metrics_get_type--fontMetricsReadRefCount :: FontMetrics -> IO Word32-fontMetricsReadRefCount s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word32-    return val--fontMetricsReadAscent :: FontMetrics -> IO Int32-fontMetricsReadAscent s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Int32-    return val--fontMetricsReadDescent :: FontMetrics -> IO Int32-fontMetricsReadDescent s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int32-    return val--fontMetricsReadApproximateCharWidth :: FontMetrics -> IO Int32-fontMetricsReadApproximateCharWidth s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Int32-    return val--fontMetricsReadApproximateDigitWidth :: FontMetrics -> IO Int32-fontMetricsReadApproximateDigitWidth s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int32-    return val--fontMetricsReadUnderlinePosition :: FontMetrics -> IO Int32-fontMetricsReadUnderlinePosition s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 20) :: IO Int32-    return val--fontMetricsReadUnderlineThickness :: FontMetrics -> IO Int32-fontMetricsReadUnderlineThickness s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Int32-    return val--fontMetricsReadStrikethroughPosition :: FontMetrics -> IO Int32-fontMetricsReadStrikethroughPosition s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 28) :: IO Int32-    return val--fontMetricsReadStrikethroughThickness :: FontMetrics -> IO Int32-fontMetricsReadStrikethroughThickness s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Int32-    return val---- method FontMetrics::new--- method type : Constructor--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "FontMetrics"--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_new" pango_font_metrics_new :: -    IO (Ptr FontMetrics)---fontMetricsNew ::-    (MonadIO m) =>-    m FontMetrics-fontMetricsNew  = liftIO $ do-    result <- pango_font_metrics_new-    checkUnexpectedReturnNULL "pango_font_metrics_new" result-    result' <- (wrapBoxed FontMetrics) result-    return result'---- method FontMetrics::get_approximate_char_width--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_approximate_char_width" pango_font_metrics_get_approximate_char_width :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetApproximateCharWidth ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetApproximateCharWidth _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_approximate_char_width _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_approximate_digit_width--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_approximate_digit_width" pango_font_metrics_get_approximate_digit_width :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetApproximateDigitWidth ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetApproximateDigitWidth _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_approximate_digit_width _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_ascent--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_ascent" pango_font_metrics_get_ascent :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetAscent ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetAscent _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_ascent _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_descent--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_descent" pango_font_metrics_get_descent :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetDescent ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetDescent _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_descent _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_strikethrough_position--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_strikethrough_position" pango_font_metrics_get_strikethrough_position :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetStrikethroughPosition ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetStrikethroughPosition _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_strikethrough_position _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_strikethrough_thickness--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_strikethrough_thickness" pango_font_metrics_get_strikethrough_thickness :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetStrikethroughThickness ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetStrikethroughThickness _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_strikethrough_thickness _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_underline_position--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_underline_position" pango_font_metrics_get_underline_position :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetUnderlinePosition ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetUnderlinePosition _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_underline_position _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::get_underline_thickness--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_get_underline_thickness" pango_font_metrics_get_underline_thickness :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO Int32---fontMetricsGetUnderlineThickness ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m Int32-fontMetricsGetUnderlineThickness _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_get_underline_thickness _obj'-    touchManagedPtr _obj-    return result---- method FontMetrics::ref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMetrics"--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_ref" pango_font_metrics_ref :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO (Ptr FontMetrics)---fontMetricsRef ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m FontMetrics-fontMetricsRef _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_font_metrics_ref _obj'-    checkUnexpectedReturnNULL "pango_font_metrics_ref" result-    result' <- (wrapBoxed FontMetrics) result-    touchManagedPtr _obj-    return result'---- method FontMetrics::unref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_font_metrics_unref" pango_font_metrics_unref :: -    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"-    IO ()---fontMetricsUnref ::-    (MonadIO m) =>-    FontMetrics ->                          -- _obj-    m ()-fontMetricsUnref _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_font_metrics_unref _obj'-    touchManagedPtr _obj-    return ()---- object Fontset -newtype Fontset = Fontset (ForeignPtr Fontset)-noFontset :: Maybe Fontset-noFontset = Nothing--foreign import ccall "pango_fontset_get_type"-    c_pango_fontset_get_type :: IO GType--type instance ParentTypes Fontset = '[GObject.Object]--instance GObject Fontset where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_fontset_get_type-    --class GObject o => FontsetK o-instance (GObject o, IsDescendantOf Fontset o) => FontsetK o--toFontset :: FontsetK o => o -> IO Fontset-toFontset = unsafeCastTo Fontset---- method Fontset::foreach--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_fontset_foreach" pango_fontset_foreach :: -    Ptr Fontset ->                          -- _obj : TInterface "Pango" "Fontset"-    FunPtr FontsetForeachFuncC ->           -- func : TInterface "Pango" "FontsetForeachFunc"-    Ptr () ->                               -- data : TBasicType TVoid-    IO ()---fontsetForeach ::-    (MonadIO m, FontsetK a) =>-    a ->                                    -- _obj-    FontsetForeachFunc ->                   -- func-    m ()-fontsetForeach _obj func = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    func' <- mkFontsetForeachFunc (fontsetForeachFuncWrapper Nothing func)-    let data_ = nullPtr-    pango_fontset_foreach _obj' func' data_-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr _obj-    return ()---- method Fontset::get_font--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Font"--- throws : False--- Skip return : False--foreign import ccall "pango_fontset_get_font" pango_fontset_get_font :: -    Ptr Fontset ->                          -- _obj : TInterface "Pango" "Fontset"-    Word32 ->                               -- wc : TBasicType TUInt32-    IO (Ptr Font)---fontsetGetFont ::-    (MonadIO m, FontsetK a) =>-    a ->                                    -- _obj-    Word32 ->                               -- wc-    m Font-fontsetGetFont _obj wc = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_fontset_get_font _obj' wc-    checkUnexpectedReturnNULL "pango_fontset_get_font" result-    result' <- (wrapObject Font) result-    touchManagedPtr _obj-    return result'---- method Fontset::get_metrics--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontMetrics"--- throws : False--- Skip return : False--foreign import ccall "pango_fontset_get_metrics" pango_fontset_get_metrics :: -    Ptr Fontset ->                          -- _obj : TInterface "Pango" "Fontset"-    IO (Ptr FontMetrics)---fontsetGetMetrics ::-    (MonadIO m, FontsetK a) =>-    a ->                                    -- _obj-    m FontMetrics-fontsetGetMetrics _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_fontset_get_metrics _obj'-    checkUnexpectedReturnNULL "pango_fontset_get_metrics" result-    result' <- (wrapBoxed FontMetrics) result-    touchManagedPtr _obj-    return result'---- callback FontsetForeachFunc-fontsetForeachFuncClosure :: FontsetForeachFunc -> IO Closure-fontsetForeachFuncClosure cb = newCClosure =<< mkFontsetForeachFunc wrapped-    where wrapped = fontsetForeachFuncWrapper Nothing cb--type FontsetForeachFuncC =-    Ptr Fontset ->-    Ptr Font ->-    Ptr () ->-    IO CInt--foreign import ccall "wrapper"-    mkFontsetForeachFunc :: FontsetForeachFuncC -> IO (FunPtr FontsetForeachFuncC)--type FontsetForeachFunc =-    Fontset ->-    Font ->-    IO Bool--noFontsetForeachFunc :: Maybe FontsetForeachFunc-noFontsetForeachFunc = Nothing--fontsetForeachFuncWrapper ::-    Maybe (Ptr (FunPtr (FontsetForeachFuncC))) ->-    FontsetForeachFunc ->-    Ptr Fontset ->-    Ptr Font ->-    Ptr () ->-    IO CInt-fontsetForeachFuncWrapper funptrptr _cb fontset font _ = do-    fontset' <- (newObject Fontset) fontset-    font' <- (newObject Font) font-    result <- _cb  fontset' font'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'---- object FontsetSimple -newtype FontsetSimple = FontsetSimple (ForeignPtr FontsetSimple)-noFontsetSimple :: Maybe FontsetSimple-noFontsetSimple = Nothing--foreign import ccall "pango_fontset_simple_get_type"-    c_pango_fontset_simple_get_type :: IO GType--type instance ParentTypes FontsetSimple = '[Fontset, GObject.Object]--instance GObject FontsetSimple where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_fontset_simple_get_type-    --class GObject o => FontsetSimpleK o-instance (GObject o, IsDescendantOf FontsetSimple o) => FontsetSimpleK o--toFontsetSimple :: FontsetSimpleK o => o -> IO FontsetSimple-toFontsetSimple = unsafeCastTo FontsetSimple---- method FontsetSimple::new--- method type : Constructor--- Args : [Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontsetSimple"--- throws : False--- Skip return : False--foreign import ccall "pango_fontset_simple_new" pango_fontset_simple_new :: -    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    IO (Ptr FontsetSimple)---fontsetSimpleNew ::-    (MonadIO m) =>-    Language ->                             -- language-    m FontsetSimple-fontsetSimpleNew language = liftIO $ do-    let language' = unsafeManagedPtrGetPtr language-    result <- pango_fontset_simple_new language'-    checkUnexpectedReturnNULL "pango_fontset_simple_new" result-    result' <- (wrapObject FontsetSimple) result-    touchManagedPtr language-    return result'---- method FontsetSimple::append--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_fontset_simple_append" pango_fontset_simple_append :: -    Ptr FontsetSimple ->                    -- _obj : TInterface "Pango" "FontsetSimple"-    Ptr Font ->                             -- font : TInterface "Pango" "Font"-    IO ()---fontsetSimpleAppend ::-    (MonadIO m, FontsetSimpleK a, FontK b) =>-    a ->                                    -- _obj-    b ->                                    -- font-    m ()-fontsetSimpleAppend _obj font = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let font' = unsafeManagedPtrCastPtr font-    pango_fontset_simple_append _obj' font'-    touchManagedPtr _obj-    touchManagedPtr font-    return ()---- method FontsetSimple::size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_fontset_simple_size" pango_fontset_simple_size :: -    Ptr FontsetSimple ->                    -- _obj : TInterface "Pango" "FontsetSimple"-    IO Int32---fontsetSimpleSize ::-    (MonadIO m, FontsetSimpleK a) =>-    a ->                                    -- _obj-    m Int32-fontsetSimpleSize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_fontset_simple_size _obj'-    touchManagedPtr _obj-    return result---- struct GlyphGeometry-newtype GlyphGeometry = GlyphGeometry (ForeignPtr GlyphGeometry)-noGlyphGeometry :: Maybe GlyphGeometry-noGlyphGeometry = Nothing--glyphGeometryReadWidth :: GlyphGeometry -> IO Int32-glyphGeometryReadWidth s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--glyphGeometryReadXOffset :: GlyphGeometry -> IO Int32-glyphGeometryReadXOffset s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Int32-    return val--glyphGeometryReadYOffset :: GlyphGeometry -> IO Int32-glyphGeometryReadYOffset s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int32-    return val---- struct GlyphInfo-newtype GlyphInfo = GlyphInfo (ForeignPtr GlyphInfo)-noGlyphInfo :: Maybe GlyphInfo-noGlyphInfo = Nothing--glyphInfoReadGlyph :: GlyphInfo -> IO Word32-glyphInfoReadGlyph s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word32-    return val--glyphInfoReadGeometry :: GlyphInfo -> IO GlyphGeometry-glyphInfoReadGeometry s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO (Ptr GlyphGeometry)-    val' <- (newPtr 12 GlyphGeometry) val-    return val'--glyphInfoReadAttr :: GlyphInfo -> IO GlyphVisAttr-glyphInfoReadAttr s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr GlyphVisAttr)-    val' <- (newPtr 4 GlyphVisAttr) val-    return val'---- struct GlyphItem-newtype GlyphItem = GlyphItem (ForeignPtr GlyphItem)-noGlyphItem :: Maybe GlyphItem-noGlyphItem = Nothing--foreign import ccall "pango_glyph_item_get_type" c_pango_glyph_item_get_type :: -    IO GType--instance BoxedObject GlyphItem where-    boxedType _ = c_pango_glyph_item_get_type--glyphItemReadItem :: GlyphItem -> IO Item-glyphItemReadItem s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Item)-    val' <- (newBoxed Item) val-    return val'--glyphItemReadGlyphs :: GlyphItem -> IO GlyphString-glyphItemReadGlyphs s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GlyphString)-    val' <- (newBoxed GlyphString) val-    return val'---- method GlyphItem::apply_attrs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGSList (TInterface "Pango" "GlyphItem")--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_apply_attrs" pango_glyph_item_apply_attrs :: -    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"-    CString ->                              -- text : TBasicType TUTF8-    Ptr AttrList ->                         -- list : TInterface "Pango" "AttrList"-    IO (Ptr (GSList (Ptr GlyphItem)))---glyphItemApplyAttrs ::-    (MonadIO m) =>-    GlyphItem ->                            -- _obj-    T.Text ->                               -- text-    AttrList ->                             -- list-    m [GlyphItem]-glyphItemApplyAttrs _obj text list = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    let list' = unsafeManagedPtrGetPtr list-    result <- pango_glyph_item_apply_attrs _obj' text' list'-    checkUnexpectedReturnNULL "pango_glyph_item_apply_attrs" result-    result' <- unpackGSList result-    result'' <- mapM (wrapBoxed GlyphItem) result'-    g_slist_free result-    touchManagedPtr _obj-    touchManagedPtr list-    freeMem text'-    return result''---- method GlyphItem::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GlyphItem"--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_copy" pango_glyph_item_copy :: -    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"-    IO (Ptr GlyphItem)---glyphItemCopy ::-    (MonadIO m) =>-    GlyphItem ->                            -- _obj-    m GlyphItem-glyphItemCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_glyph_item_copy _obj'-    checkUnexpectedReturnNULL "pango_glyph_item_copy" result-    result' <- (wrapBoxed GlyphItem) result-    touchManagedPtr _obj-    return result'---- method GlyphItem::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_free" pango_glyph_item_free :: -    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"-    IO ()---glyphItemFree ::-    (MonadIO m) =>-    GlyphItem ->                            -- _obj-    m ()-glyphItemFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_glyph_item_free _obj'-    touchManagedPtr _obj-    return ()---- method GlyphItem::get_logical_widths--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_get_logical_widths" pango_glyph_item_get_logical_widths :: -    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"-    CString ->                              -- text : TBasicType TUTF8-    Ptr Int32 ->                            -- logical_widths : TCArray False (-1) (-1) (TBasicType TInt32)-    IO ()---glyphItemGetLogicalWidths ::-    (MonadIO m) =>-    GlyphItem ->                            -- _obj-    T.Text ->                               -- text-    Ptr Int32 ->                            -- logical_widths-    m ()-glyphItemGetLogicalWidths _obj text logical_widths = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    pango_glyph_item_get_logical_widths _obj' text' logical_widths-    touchManagedPtr _obj-    freeMem text'-    return ()---- method GlyphItem::letter_space--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_letter_space" pango_glyph_item_letter_space :: -    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"-    CString ->                              -- text : TBasicType TUTF8-    Ptr (Ptr LogAttr) ->                    -- log_attrs : TCArray False (-1) (-1) (TInterface "Pango" "LogAttr")-    Int32 ->                                -- letter_spacing : TBasicType TInt32-    IO ()---glyphItemLetterSpace ::-    (MonadIO m) =>-    GlyphItem ->                            -- _obj-    T.Text ->                               -- text-    Ptr (Ptr LogAttr) ->                    -- log_attrs-    Int32 ->                                -- letter_spacing-    m ()-glyphItemLetterSpace _obj text log_attrs letter_spacing = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    pango_glyph_item_letter_space _obj' text' log_attrs letter_spacing-    touchManagedPtr _obj-    freeMem text'-    return ()---- method GlyphItem::split--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GlyphItem"--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_split" pango_glyph_item_split :: -    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- split_index : TBasicType TInt32-    IO (Ptr GlyphItem)---glyphItemSplit ::-    (MonadIO m) =>-    GlyphItem ->                            -- _obj-    T.Text ->                               -- text-    Int32 ->                                -- split_index-    m GlyphItem-glyphItemSplit _obj text split_index = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    result <- pango_glyph_item_split _obj' text' split_index-    checkUnexpectedReturnNULL "pango_glyph_item_split" result-    result' <- (wrapBoxed GlyphItem) result-    touchManagedPtr _obj-    freeMem text'-    return result'---- struct GlyphItemIter-newtype GlyphItemIter = GlyphItemIter (ForeignPtr GlyphItemIter)-noGlyphItemIter :: Maybe GlyphItemIter-noGlyphItemIter = Nothing--foreign import ccall "pango_glyph_item_iter_get_type" c_pango_glyph_item_iter_get_type :: -    IO GType--instance BoxedObject GlyphItemIter where-    boxedType _ = c_pango_glyph_item_iter_get_type--glyphItemIterReadGlyphItem :: GlyphItemIter -> IO GlyphItem-glyphItemIterReadGlyphItem s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GlyphItem)-    val' <- (newBoxed GlyphItem) val-    return val'--glyphItemIterReadText :: GlyphItemIter -> IO T.Text-glyphItemIterReadText s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    val' <- cstringToText val-    return val'--glyphItemIterReadStartGlyph :: GlyphItemIter -> IO Int32-glyphItemIterReadStartGlyph s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int32-    return val--glyphItemIterReadStartIndex :: GlyphItemIter -> IO Int32-glyphItemIterReadStartIndex s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 20) :: IO Int32-    return val--glyphItemIterReadStartChar :: GlyphItemIter -> IO Int32-glyphItemIterReadStartChar s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Int32-    return val--glyphItemIterReadEndGlyph :: GlyphItemIter -> IO Int32-glyphItemIterReadEndGlyph s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 28) :: IO Int32-    return val--glyphItemIterReadEndIndex :: GlyphItemIter -> IO Int32-glyphItemIterReadEndIndex s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Int32-    return val--glyphItemIterReadEndChar :: GlyphItemIter -> IO Int32-glyphItemIterReadEndChar s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 36) :: IO Int32-    return val---- method GlyphItemIter::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GlyphItemIter"--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_iter_copy" pango_glyph_item_iter_copy :: -    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"-    IO (Ptr GlyphItemIter)---glyphItemIterCopy ::-    (MonadIO m) =>-    GlyphItemIter ->                        -- _obj-    m GlyphItemIter-glyphItemIterCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_glyph_item_iter_copy _obj'-    checkUnexpectedReturnNULL "pango_glyph_item_iter_copy" result-    result' <- (wrapBoxed GlyphItemIter) result-    touchManagedPtr _obj-    return result'---- method GlyphItemIter::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_iter_free" pango_glyph_item_iter_free :: -    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"-    IO ()---glyphItemIterFree ::-    (MonadIO m) =>-    GlyphItemIter ->                        -- _obj-    m ()-glyphItemIterFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_glyph_item_iter_free _obj'-    touchManagedPtr _obj-    return ()---- method GlyphItemIter::init_end--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_iter_init_end" pango_glyph_item_iter_init_end :: -    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"-    Ptr GlyphItem ->                        -- glyph_item : TInterface "Pango" "GlyphItem"-    CString ->                              -- text : TBasicType TUTF8-    IO CInt---glyphItemIterInitEnd ::-    (MonadIO m) =>-    GlyphItemIter ->                        -- _obj-    GlyphItem ->                            -- glyph_item-    T.Text ->                               -- text-    m Bool-glyphItemIterInitEnd _obj glyph_item text = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let glyph_item' = unsafeManagedPtrGetPtr glyph_item-    text' <- textToCString text-    result <- pango_glyph_item_iter_init_end _obj' glyph_item' text'-    let result' = (/= 0) result-    touchManagedPtr _obj-    touchManagedPtr glyph_item-    freeMem text'-    return result'---- method GlyphItemIter::init_start--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_iter_init_start" pango_glyph_item_iter_init_start :: -    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"-    Ptr GlyphItem ->                        -- glyph_item : TInterface "Pango" "GlyphItem"-    CString ->                              -- text : TBasicType TUTF8-    IO CInt---glyphItemIterInitStart ::-    (MonadIO m) =>-    GlyphItemIter ->                        -- _obj-    GlyphItem ->                            -- glyph_item-    T.Text ->                               -- text-    m Bool-glyphItemIterInitStart _obj glyph_item text = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let glyph_item' = unsafeManagedPtrGetPtr glyph_item-    text' <- textToCString text-    result <- pango_glyph_item_iter_init_start _obj' glyph_item' text'-    let result' = (/= 0) result-    touchManagedPtr _obj-    touchManagedPtr glyph_item-    freeMem text'-    return result'---- method GlyphItemIter::next_cluster--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_iter_next_cluster" pango_glyph_item_iter_next_cluster :: -    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"-    IO CInt---glyphItemIterNextCluster ::-    (MonadIO m) =>-    GlyphItemIter ->                        -- _obj-    m Bool-glyphItemIterNextCluster _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_glyph_item_iter_next_cluster _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method GlyphItemIter::prev_cluster--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_item_iter_prev_cluster" pango_glyph_item_iter_prev_cluster :: -    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"-    IO CInt---glyphItemIterPrevCluster ::-    (MonadIO m) =>-    GlyphItemIter ->                        -- _obj-    m Bool-glyphItemIterPrevCluster _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_glyph_item_iter_prev_cluster _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- struct GlyphString-newtype GlyphString = GlyphString (ForeignPtr GlyphString)-noGlyphString :: Maybe GlyphString-noGlyphString = Nothing--foreign import ccall "pango_glyph_string_get_type" c_pango_glyph_string_get_type :: -    IO GType--instance BoxedObject GlyphString where-    boxedType _ = c_pango_glyph_string_get_type--glyphStringReadNumGlyphs :: GlyphString -> IO Int32-glyphStringReadNumGlyphs s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--glyphStringReadGlyphs :: GlyphString -> IO GlyphInfo-glyphStringReadGlyphs s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GlyphInfo)-    val' <- (newPtr 20 GlyphInfo) val-    return val'--glyphStringReadLogClusters :: GlyphString -> IO Int32-glyphStringReadLogClusters s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int32-    return val---- method GlyphString::new--- method type : Constructor--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "GlyphString"--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_new" pango_glyph_string_new :: -    IO (Ptr GlyphString)---glyphStringNew ::-    (MonadIO m) =>-    m GlyphString-glyphStringNew  = liftIO $ do-    result <- pango_glyph_string_new-    checkUnexpectedReturnNULL "pango_glyph_string_new" result-    result' <- (wrapBoxed GlyphString) result-    return result'---- method GlyphString::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GlyphString"--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_copy" pango_glyph_string_copy :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    IO (Ptr GlyphString)---glyphStringCopy ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    m GlyphString-glyphStringCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_glyph_string_copy _obj'-    checkUnexpectedReturnNULL "pango_glyph_string_copy" result-    result' <- (wrapBoxed GlyphString) result-    touchManagedPtr _obj-    return result'---- method GlyphString::extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_extents" pango_glyph_string_extents :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    Ptr Font ->                             -- font : TInterface "Pango" "Font"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---glyphStringExtents ::-    (MonadIO m, FontK a) =>-    GlyphString ->                          -- _obj-    a ->                                    -- font-    m (Rectangle,Rectangle)-glyphStringExtents _obj font = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let font' = unsafeManagedPtrCastPtr font-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_glyph_string_extents _obj' font' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    touchManagedPtr font-    return (ink_rect', logical_rect')---- method GlyphString::extents_range--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_extents_range" pango_glyph_string_extents_range :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    Int32 ->                                -- start : TBasicType TInt32-    Int32 ->                                -- end : TBasicType TInt32-    Ptr Font ->                             -- font : TInterface "Pango" "Font"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---glyphStringExtentsRange ::-    (MonadIO m, FontK a) =>-    GlyphString ->                          -- _obj-    Int32 ->                                -- start-    Int32 ->                                -- end-    a ->                                    -- font-    m (Rectangle,Rectangle)-glyphStringExtentsRange _obj start end font = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let font' = unsafeManagedPtrCastPtr font-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_glyph_string_extents_range _obj' start end font' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    touchManagedPtr font-    return (ink_rect', logical_rect')---- method GlyphString::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_free" pango_glyph_string_free :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    IO ()---glyphStringFree ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    m ()-glyphStringFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_glyph_string_free _obj'-    touchManagedPtr _obj-    return ()---- method GlyphString::get_logical_widths--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_get_logical_widths" pango_glyph_string_get_logical_widths :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Int32 ->                                -- embedding_level : TBasicType TInt32-    Ptr Int32 ->                            -- logical_widths : TCArray False (-1) (-1) (TBasicType TInt32)-    IO ()---glyphStringGetLogicalWidths ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    T.Text ->                               -- text-    Int32 ->                                -- length-    Int32 ->                                -- embedding_level-    Ptr Int32 ->                            -- logical_widths-    m ()-glyphStringGetLogicalWidths _obj text length_ embedding_level logical_widths = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    pango_glyph_string_get_logical_widths _obj' text' length_ embedding_level logical_widths-    touchManagedPtr _obj-    freeMem text'-    return ()---- method GlyphString::get_width--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_get_width" pango_glyph_string_get_width :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    IO Int32---glyphStringGetWidth ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    m Int32-glyphStringGetWidth _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_glyph_string_get_width _obj'-    touchManagedPtr _obj-    return result---- method GlyphString::index_to_x--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", 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 "pango_glyph_string_index_to_x" pango_glyph_string_index_to_x :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"-    Int32 ->                                -- index_ : TBasicType TInt32-    CInt ->                                 -- trailing : TBasicType TBoolean-    Ptr Int32 ->                            -- x_pos : TBasicType TInt32-    IO ()---glyphStringIndexToX ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    T.Text ->                               -- text-    Int32 ->                                -- length-    Analysis ->                             -- analysis-    Int32 ->                                -- index_-    Bool ->                                 -- trailing-    m (Int32)-glyphStringIndexToX _obj text length_ analysis index_ trailing = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    let analysis' = unsafeManagedPtrGetPtr analysis-    let trailing' = (fromIntegral . fromEnum) trailing-    x_pos <- allocMem :: IO (Ptr Int32)-    pango_glyph_string_index_to_x _obj' text' length_ analysis' index_ trailing' x_pos-    x_pos' <- peek x_pos-    touchManagedPtr _obj-    touchManagedPtr analysis-    freeMem text'-    freeMem x_pos-    return x_pos'---- method GlyphString::set_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_set_size" pango_glyph_string_set_size :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    Int32 ->                                -- new_len : TBasicType TInt32-    IO ()---glyphStringSetSize ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    Int32 ->                                -- new_len-    m ()-glyphStringSetSize _obj new_len = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_glyph_string_set_size _obj' new_len-    touchManagedPtr _obj-    return ()---- method GlyphString::x_to_index--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_glyph_string_x_to_index" pango_glyph_string_x_to_index :: -    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"-    Int32 ->                                -- x_pos : TBasicType TInt32-    Ptr Int32 ->                            -- index_ : TBasicType TInt32-    Ptr Int32 ->                            -- trailing : TBasicType TInt32-    IO ()---glyphStringXToIndex ::-    (MonadIO m) =>-    GlyphString ->                          -- _obj-    T.Text ->                               -- text-    Int32 ->                                -- length-    Analysis ->                             -- analysis-    Int32 ->                                -- x_pos-    m (Int32,Int32)-glyphStringXToIndex _obj text length_ analysis x_pos = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    text' <- textToCString text-    let analysis' = unsafeManagedPtrGetPtr analysis-    index_ <- allocMem :: IO (Ptr Int32)-    trailing <- allocMem :: IO (Ptr Int32)-    pango_glyph_string_x_to_index _obj' text' length_ analysis' x_pos index_ trailing-    index_' <- peek index_-    trailing' <- peek trailing-    touchManagedPtr _obj-    touchManagedPtr analysis-    freeMem text'-    freeMem index_-    freeMem trailing-    return (index_', trailing')---- struct GlyphVisAttr-newtype GlyphVisAttr = GlyphVisAttr (ForeignPtr GlyphVisAttr)-noGlyphVisAttr :: Maybe GlyphVisAttr-noGlyphVisAttr = Nothing--glyphVisAttrReadIsClusterStart :: GlyphVisAttr -> IO Word32-glyphVisAttrReadIsClusterStart s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word32-    return val---- Enum Gravity--data Gravity = -      GravitySouth-    | GravityEast-    | GravityNorth-    | GravityWest-    | GravityAuto-    | AnotherGravity Int-    deriving (Show, Eq)--instance Enum Gravity where-    fromEnum GravitySouth = 0-    fromEnum GravityEast = 1-    fromEnum GravityNorth = 2-    fromEnum GravityWest = 3-    fromEnum GravityAuto = 4-    fromEnum (AnotherGravity k) = k--    toEnum 0 = GravitySouth-    toEnum 1 = GravityEast-    toEnum 2 = GravityNorth-    toEnum 3 = GravityWest-    toEnum 4 = GravityAuto-    toEnum k = AnotherGravity k--foreign import ccall "pango_gravity_get_type" c_pango_gravity_get_type :: -    IO GType--instance BoxedEnum Gravity where-    boxedEnumType _ = c_pango_gravity_get_type---- Enum GravityHint--data GravityHint = -      GravityHintNatural-    | GravityHintStrong-    | GravityHintLine-    | AnotherGravityHint Int-    deriving (Show, Eq)--instance Enum GravityHint where-    fromEnum GravityHintNatural = 0-    fromEnum GravityHintStrong = 1-    fromEnum GravityHintLine = 2-    fromEnum (AnotherGravityHint k) = k--    toEnum 0 = GravityHintNatural-    toEnum 1 = GravityHintStrong-    toEnum 2 = GravityHintLine-    toEnum k = AnotherGravityHint k--foreign import ccall "pango_gravity_hint_get_type" c_pango_gravity_hint_get_type :: -    IO GType--instance BoxedEnum GravityHint where-    boxedEnumType _ = c_pango_gravity_hint_get_type---- struct IncludedModule-newtype IncludedModule = IncludedModule (ForeignPtr IncludedModule)-noIncludedModule :: Maybe IncludedModule-noIncludedModule = Nothing---- XXX Skipped getter for "IncludedModule:list" :: Not implemented: "Wrapping foreign callbacks is not supported yet"---- XXX Skipped getter for "IncludedModule:init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"---- XXX Skipped getter for "IncludedModule:exit" :: Not implemented: "Wrapping foreign callbacks is not supported yet"---- struct Item-newtype Item = Item (ForeignPtr Item)-noItem :: Maybe Item-noItem = Nothing--foreign import ccall "pango_item_get_type" c_pango_item_get_type :: -    IO GType--instance BoxedObject Item where-    boxedType _ = c_pango_item_get_type--itemReadOffset :: Item -> IO Int32-itemReadOffset s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--itemReadLength :: Item -> IO Int32-itemReadLength s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Int32-    return val--itemReadNumChars :: Item -> IO Int32-itemReadNumChars s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int32-    return val--itemReadAnalysis :: Item -> IO Analysis-itemReadAnalysis s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Analysis)-    val' <- (newPtr 48 Analysis) val-    return val'---- method Item::new--- method type : Constructor--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "Item"--- throws : False--- Skip return : False--foreign import ccall "pango_item_new" pango_item_new :: -    IO (Ptr Item)---itemNew ::-    (MonadIO m) =>-    m Item-itemNew  = liftIO $ do-    result <- pango_item_new-    checkUnexpectedReturnNULL "pango_item_new" result-    result' <- (wrapBoxed Item) result-    return result'---- method Item::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Item"--- throws : False--- Skip return : False--foreign import ccall "pango_item_copy" pango_item_copy :: -    Ptr Item ->                             -- _obj : TInterface "Pango" "Item"-    IO (Ptr Item)---itemCopy ::-    (MonadIO m) =>-    Item ->                                 -- _obj-    m Item-itemCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_item_copy _obj'-    checkUnexpectedReturnNULL "pango_item_copy" result-    result' <- (wrapBoxed Item) result-    touchManagedPtr _obj-    return result'---- method Item::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_item_free" pango_item_free :: -    Ptr Item ->                             -- _obj : TInterface "Pango" "Item"-    IO ()---itemFree ::-    (MonadIO m) =>-    Item ->                                 -- _obj-    m ()-itemFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_item_free _obj'-    touchManagedPtr _obj-    return ()---- method Item::split--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Item"--- throws : False--- Skip return : False--foreign import ccall "pango_item_split" pango_item_split :: -    Ptr Item ->                             -- _obj : TInterface "Pango" "Item"-    Int32 ->                                -- split_index : TBasicType TInt32-    Int32 ->                                -- split_offset : TBasicType TInt32-    IO (Ptr Item)---itemSplit ::-    (MonadIO m) =>-    Item ->                                 -- _obj-    Int32 ->                                -- split_index-    Int32 ->                                -- split_offset-    m Item-itemSplit _obj split_index split_offset = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_item_split _obj' split_index split_offset-    checkUnexpectedReturnNULL "pango_item_split" result-    result' <- (wrapBoxed Item) result-    touchManagedPtr _obj-    return result'---- struct Language-newtype Language = Language (ForeignPtr Language)-noLanguage :: Maybe Language-noLanguage = Nothing--foreign import ccall "pango_language_get_type" c_pango_language_get_type :: -    IO GType--instance BoxedObject Language where-    boxedType _ = c_pango_language_get_type---- method Language::get_sample_string--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_language_get_sample_string" pango_language_get_sample_string :: -    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"-    IO CString---languageGetSampleString ::-    (MonadIO m) =>-    Language ->                             -- _obj-    m T.Text-languageGetSampleString _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_language_get_sample_string _obj'-    checkUnexpectedReturnNULL "pango_language_get_sample_string" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- method Language::get_scripts--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TCArray False (-1) 1 (TInterface "Pango" "Script")--- throws : False--- Skip return : False--foreign import ccall "pango_language_get_scripts" pango_language_get_scripts :: -    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"-    Ptr Int32 ->                            -- num_scripts : TBasicType TInt32-    IO (Ptr CUInt)---languageGetScripts ::-    (MonadIO m) =>-    Language ->                             -- _obj-    m [Script]-languageGetScripts _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    num_scripts <- allocMem :: IO (Ptr Int32)-    result <- pango_language_get_scripts _obj' num_scripts-    num_scripts' <- peek num_scripts-    checkUnexpectedReturnNULL "pango_language_get_scripts" result-    result' <- (unpackStorableArrayWithLength num_scripts') result-    let result'' = map (toEnum . fromIntegral) result'-    touchManagedPtr _obj-    freeMem num_scripts-    return result''---- method Language::includes_script--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_language_includes_script" pango_language_includes_script :: -    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"-    CUInt ->                                -- script : TInterface "Pango" "Script"-    IO CInt---languageIncludesScript ::-    (MonadIO m) =>-    Language ->                             -- _obj-    Script ->                               -- script-    m Bool-languageIncludesScript _obj script = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let script' = (fromIntegral . fromEnum) script-    result <- pango_language_includes_script _obj' script'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method Language::matches--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_language_matches" pango_language_matches :: -    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"-    CString ->                              -- range_list : TBasicType TUTF8-    IO CInt---languageMatches ::-    (MonadIO m) =>-    Language ->                             -- _obj-    T.Text ->                               -- range_list-    m Bool-languageMatches _obj range_list = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    range_list' <- textToCString range_list-    result <- pango_language_matches _obj' range_list'-    let result' = (/= 0) result-    touchManagedPtr _obj-    freeMem range_list'-    return result'---- method Language::to_string--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_language_to_string" pango_language_to_string :: -    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"-    IO CString---languageToString ::-    (MonadIO m) =>-    Language ->                             -- _obj-    m T.Text-languageToString _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_language_to_string _obj'-    checkUnexpectedReturnNULL "pango_language_to_string" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- object Layout -newtype Layout = Layout (ForeignPtr Layout)-noLayout :: Maybe Layout-noLayout = Nothing--foreign import ccall "pango_layout_get_type"-    c_pango_layout_get_type :: IO GType--type instance ParentTypes Layout = '[GObject.Object]--instance GObject Layout where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_layout_get_type-    --class GObject o => LayoutK o-instance (GObject o, IsDescendantOf Layout o) => LayoutK o--toLayout :: LayoutK o => o -> IO Layout-toLayout = unsafeCastTo Layout---- method Layout::new--- method type : Constructor--- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Layout"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_new" pango_layout_new :: -    Ptr Context ->                          -- context : TInterface "Pango" "Context"-    IO (Ptr Layout)---layoutNew ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- context-    m Layout-layoutNew context = liftIO $ do-    let context' = unsafeManagedPtrCastPtr context-    result <- pango_layout_new context'-    checkUnexpectedReturnNULL "pango_layout_new" result-    result' <- (wrapObject Layout) result-    touchManagedPtr context-    return result'---- method Layout::context_changed--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_context_changed" pango_layout_context_changed :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO ()---layoutContextChanged ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m ()-layoutContextChanged _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_layout_context_changed _obj'-    touchManagedPtr _obj-    return ()---- method Layout::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Layout"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_copy" pango_layout_copy :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr Layout)---layoutCopy ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Layout-layoutCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_copy _obj'-    checkUnexpectedReturnNULL "pango_layout_copy" result-    result' <- (wrapObject Layout) result-    touchManagedPtr _obj-    return result'---- method Layout::get_alignment--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Alignment"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_alignment" pango_layout_get_alignment :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CUInt---layoutGetAlignment ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Alignment-layoutGetAlignment _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_alignment _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Layout::get_attributes--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "AttrList"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_attributes" pango_layout_get_attributes :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr AttrList)---layoutGetAttributes ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m AttrList-layoutGetAttributes _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_attributes _obj'-    checkUnexpectedReturnNULL "pango_layout_get_attributes" result-    result' <- (newBoxed AttrList) result-    touchManagedPtr _obj-    return result'---- method Layout::get_auto_dir--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_auto_dir" pango_layout_get_auto_dir :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CInt---layoutGetAutoDir ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Bool-layoutGetAutoDir _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_auto_dir _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method Layout::get_baseline--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_baseline" pango_layout_get_baseline :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetBaseline ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetBaseline _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_baseline _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_character_count--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_character_count" pango_layout_get_character_count :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetCharacterCount ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetCharacterCount _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_character_count _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_context--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Context"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_context" pango_layout_get_context :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr Context)---layoutGetContext ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Context-layoutGetContext _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_context _obj'-    checkUnexpectedReturnNULL "pango_layout_get_context" result-    result' <- (newObject Context) result-    touchManagedPtr _obj-    return result'---- method Layout::get_cursor_pos--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weak_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_cursor_pos" pango_layout_get_cursor_pos :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- index_ : TBasicType TInt32-    Ptr Rectangle ->                        -- strong_pos : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- weak_pos : TInterface "Pango" "Rectangle"-    IO ()---layoutGetCursorPos ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- index_-    m (Rectangle,Rectangle)-layoutGetCursorPos _obj index_ = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    strong_pos <- callocBytes 16 :: IO (Ptr Rectangle)-    weak_pos <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_get_cursor_pos _obj' index_ strong_pos weak_pos-    strong_pos' <- (wrapPtr Rectangle) strong_pos-    weak_pos' <- (wrapPtr Rectangle) weak_pos-    touchManagedPtr _obj-    return (strong_pos', weak_pos')---- method Layout::get_ellipsize--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "EllipsizeMode"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_ellipsize" pango_layout_get_ellipsize :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CUInt---layoutGetEllipsize ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m EllipsizeMode-layoutGetEllipsize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_ellipsize _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Layout::get_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_extents" pango_layout_get_extents :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutGetExtents ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m (Rectangle,Rectangle)-layoutGetExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_get_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method Layout::get_font_description--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_font_description" pango_layout_get_font_description :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr FontDescription)---layoutGetFontDescription ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m FontDescription-layoutGetFontDescription _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_font_description _obj'-    checkUnexpectedReturnNULL "pango_layout_get_font_description" result-    result' <- (newBoxed FontDescription) result-    touchManagedPtr _obj-    return result'---- method Layout::get_height--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_height" pango_layout_get_height :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetHeight ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetHeight _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_height _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_indent--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_indent" pango_layout_get_indent :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetIndent ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetIndent _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_indent _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_iter--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutIter"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_iter" pango_layout_get_iter :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr LayoutIter)---layoutGetIter ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m LayoutIter-layoutGetIter _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_iter _obj'-    checkUnexpectedReturnNULL "pango_layout_get_iter" result-    result' <- (wrapBoxed LayoutIter) result-    touchManagedPtr _obj-    return result'---- method Layout::get_justify--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_justify" pango_layout_get_justify :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CInt---layoutGetJustify ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Bool-layoutGetJustify _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_justify _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method Layout::get_line--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutLine"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_line" pango_layout_get_line :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- line : TBasicType TInt32-    IO (Ptr LayoutLine)---layoutGetLine ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- line-    m LayoutLine-layoutGetLine _obj line = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_line _obj' line-    checkUnexpectedReturnNULL "pango_layout_get_line" result-    result' <- (newBoxed LayoutLine) result-    touchManagedPtr _obj-    return result'---- method Layout::get_line_count--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_line_count" pango_layout_get_line_count :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetLineCount ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetLineCount _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_line_count _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_line_readonly--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutLine"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_line_readonly" pango_layout_get_line_readonly :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- line : TBasicType TInt32-    IO (Ptr LayoutLine)---layoutGetLineReadonly ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- line-    m LayoutLine-layoutGetLineReadonly _obj line = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_line_readonly _obj' line-    checkUnexpectedReturnNULL "pango_layout_get_line_readonly" result-    result' <- (newBoxed LayoutLine) result-    touchManagedPtr _obj-    return result'---- method Layout::get_lines--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGSList (TInterface "Pango" "LayoutLine")--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_lines" pango_layout_get_lines :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr (GSList (Ptr LayoutLine)))---layoutGetLines ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m [LayoutLine]-layoutGetLines _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_lines _obj'-    checkUnexpectedReturnNULL "pango_layout_get_lines" result-    result' <- unpackGSList result-    result'' <- mapM (newBoxed LayoutLine) result'-    touchManagedPtr _obj-    return result''---- method Layout::get_lines_readonly--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGSList (TInterface "Pango" "LayoutLine")--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_lines_readonly" pango_layout_get_lines_readonly :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr (GSList (Ptr LayoutLine)))---layoutGetLinesReadonly ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m [LayoutLine]-layoutGetLinesReadonly _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_lines_readonly _obj'-    checkUnexpectedReturnNULL "pango_layout_get_lines_readonly" result-    result' <- unpackGSList result-    result'' <- mapM (newBoxed LayoutLine) result'-    touchManagedPtr _obj-    return result''---- method Layout::get_log_attrs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 2 (TInterface "Pango" "LogAttr"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_log_attrs" pango_layout_get_log_attrs :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr (Ptr LogAttr) ->                    -- attrs : TCArray False (-1) 2 (TInterface "Pango" "LogAttr")-    Ptr Int32 ->                            -- n_attrs : TBasicType TInt32-    IO ()---layoutGetLogAttrs ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m ([LogAttr])-layoutGetLogAttrs _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    attrs <- allocMem :: IO (Ptr (Ptr LogAttr))-    n_attrs <- allocMem :: IO (Ptr Int32)-    pango_layout_get_log_attrs _obj' attrs n_attrs-    n_attrs' <- peek n_attrs-    attrs' <- peek attrs-    attrs'' <- (unpackBlockArrayWithLength 52 n_attrs') attrs'-    attrs''' <- mapM (newPtr 52 LogAttr) attrs''-    freeMem attrs'-    touchManagedPtr _obj-    freeMem attrs-    freeMem n_attrs-    return attrs'''---- method Layout::get_log_attrs_readonly--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TCArray False (-1) 1 (TInterface "Pango" "LogAttr")--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_log_attrs_readonly" pango_layout_get_log_attrs_readonly :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr Int32 ->                            -- n_attrs : TBasicType TInt32-    IO (Ptr LogAttr)---layoutGetLogAttrsReadonly ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m [LogAttr]-layoutGetLogAttrsReadonly _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    n_attrs <- allocMem :: IO (Ptr Int32)-    result <- pango_layout_get_log_attrs_readonly _obj' n_attrs-    n_attrs' <- peek n_attrs-    checkUnexpectedReturnNULL "pango_layout_get_log_attrs_readonly" result-    result' <- (unpackBlockArrayWithLength 52 n_attrs') result-    result'' <- mapM (newPtr 52 LogAttr) result'-    touchManagedPtr _obj-    freeMem n_attrs-    return result''---- method Layout::get_pixel_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_pixel_extents" pango_layout_get_pixel_extents :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutGetPixelExtents ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m (Rectangle,Rectangle)-layoutGetPixelExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_get_pixel_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method Layout::get_pixel_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_pixel_size" pango_layout_get_pixel_size :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr Int32 ->                            -- width : TBasicType TInt32-    Ptr Int32 ->                            -- height : TBasicType TInt32-    IO ()---layoutGetPixelSize ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m (Int32,Int32)-layoutGetPixelSize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    width <- allocMem :: IO (Ptr Int32)-    height <- allocMem :: IO (Ptr Int32)-    pango_layout_get_pixel_size _obj' width height-    width' <- peek width-    height' <- peek height-    touchManagedPtr _obj-    freeMem width-    freeMem height-    return (width', height')---- method Layout::get_serial--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_serial" pango_layout_get_serial :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Word32---layoutGetSerial ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Word32-layoutGetSerial _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_serial _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_single_paragraph_mode--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_single_paragraph_mode" pango_layout_get_single_paragraph_mode :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CInt---layoutGetSingleParagraphMode ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Bool-layoutGetSingleParagraphMode _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_single_paragraph_mode _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method Layout::get_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_size" pango_layout_get_size :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr Int32 ->                            -- width : TBasicType TInt32-    Ptr Int32 ->                            -- height : TBasicType TInt32-    IO ()---layoutGetSize ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m (Int32,Int32)-layoutGetSize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    width <- allocMem :: IO (Ptr Int32)-    height <- allocMem :: IO (Ptr Int32)-    pango_layout_get_size _obj' width height-    width' <- peek width-    height' <- peek height-    touchManagedPtr _obj-    freeMem width-    freeMem height-    return (width', height')---- method Layout::get_spacing--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_spacing" pango_layout_get_spacing :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetSpacing ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetSpacing _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_spacing _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_tabs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "TabArray"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_tabs" pango_layout_get_tabs :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO (Ptr TabArray)---layoutGetTabs ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m TabArray-layoutGetTabs _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_tabs _obj'-    checkUnexpectedReturnNULL "pango_layout_get_tabs" result-    result' <- (wrapBoxed TabArray) result-    touchManagedPtr _obj-    return result'---- method Layout::get_text--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_text" pango_layout_get_text :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CString---layoutGetText ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m T.Text-layoutGetText _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_text _obj'-    checkUnexpectedReturnNULL "pango_layout_get_text" result-    result' <- cstringToText result-    touchManagedPtr _obj-    return result'---- method Layout::get_unknown_glyphs_count--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_unknown_glyphs_count" pango_layout_get_unknown_glyphs_count :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetUnknownGlyphsCount ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetUnknownGlyphsCount _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_unknown_glyphs_count _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_width--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_width" pango_layout_get_width :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO Int32---layoutGetWidth ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Int32-layoutGetWidth _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_width _obj'-    touchManagedPtr _obj-    return result---- method Layout::get_wrap--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "WrapMode"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_get_wrap" pango_layout_get_wrap :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CUInt---layoutGetWrap ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m WrapMode-layoutGetWrap _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_get_wrap _obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr _obj-    return result'---- method Layout::index_to_line_x--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", 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 "pango_layout_index_to_line_x" pango_layout_index_to_line_x :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- index_ : TBasicType TInt32-    CInt ->                                 -- trailing : TBasicType TBoolean-    Ptr Int32 ->                            -- line : TBasicType TInt32-    Ptr Int32 ->                            -- x_pos : TBasicType TInt32-    IO ()---layoutIndexToLineX ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- index_-    Bool ->                                 -- trailing-    m (Int32,Int32)-layoutIndexToLineX _obj index_ trailing = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let trailing' = (fromIntegral . fromEnum) trailing-    line <- allocMem :: IO (Ptr Int32)-    x_pos <- allocMem :: IO (Ptr Int32)-    pango_layout_index_to_line_x _obj' index_ trailing' line x_pos-    line' <- peek line-    x_pos' <- peek x_pos-    touchManagedPtr _obj-    freeMem line-    freeMem x_pos-    return (line', x_pos')---- method Layout::index_to_pos--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_index_to_pos" pango_layout_index_to_pos :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- index_ : TBasicType TInt32-    Ptr Rectangle ->                        -- pos : TInterface "Pango" "Rectangle"-    IO ()---layoutIndexToPos ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- index_-    m (Rectangle)-layoutIndexToPos _obj index_ = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pos <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_index_to_pos _obj' index_ pos-    pos' <- (wrapPtr Rectangle) pos-    touchManagedPtr _obj-    return pos'---- method Layout::is_ellipsized--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_is_ellipsized" pango_layout_is_ellipsized :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CInt---layoutIsEllipsized ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Bool-layoutIsEllipsized _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_is_ellipsized _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method Layout::is_wrapped--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_is_wrapped" pango_layout_is_wrapped :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    IO CInt---layoutIsWrapped ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    m Bool-layoutIsWrapped _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_layout_is_wrapped _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method Layout::move_cursor_visually--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "new_trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_move_cursor_visually" pango_layout_move_cursor_visually :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CInt ->                                 -- strong : TBasicType TBoolean-    Int32 ->                                -- old_index : TBasicType TInt32-    Int32 ->                                -- old_trailing : TBasicType TInt32-    Int32 ->                                -- direction : TBasicType TInt32-    Ptr Int32 ->                            -- new_index : TBasicType TInt32-    Ptr Int32 ->                            -- new_trailing : TBasicType TInt32-    IO ()---layoutMoveCursorVisually ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Bool ->                                 -- strong-    Int32 ->                                -- old_index-    Int32 ->                                -- old_trailing-    Int32 ->                                -- direction-    m (Int32,Int32)-layoutMoveCursorVisually _obj strong old_index old_trailing direction = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let strong' = (fromIntegral . fromEnum) strong-    new_index <- allocMem :: IO (Ptr Int32)-    new_trailing <- allocMem :: IO (Ptr Int32)-    pango_layout_move_cursor_visually _obj' strong' old_index old_trailing direction new_index new_trailing-    new_index' <- peek new_index-    new_trailing' <- peek new_trailing-    touchManagedPtr _obj-    freeMem new_index-    freeMem new_trailing-    return (new_index', new_trailing')---- method Layout::set_alignment--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_alignment" pango_layout_set_alignment :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CUInt ->                                -- alignment : TInterface "Pango" "Alignment"-    IO ()---layoutSetAlignment ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Alignment ->                            -- alignment-    m ()-layoutSetAlignment _obj alignment = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let alignment' = (fromIntegral . fromEnum) alignment-    pango_layout_set_alignment _obj' alignment'-    touchManagedPtr _obj-    return ()---- method Layout::set_attributes--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_attributes" pango_layout_set_attributes :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr AttrList ->                         -- attrs : TInterface "Pango" "AttrList"-    IO ()---layoutSetAttributes ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Maybe (AttrList) ->                     -- attrs-    m ()-layoutSetAttributes _obj attrs = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeAttrs <- case attrs of-        Nothing -> return nullPtr-        Just jAttrs -> do-            let jAttrs' = unsafeManagedPtrGetPtr jAttrs-            return jAttrs'-    pango_layout_set_attributes _obj' maybeAttrs-    touchManagedPtr _obj-    whenJust attrs touchManagedPtr-    return ()---- method Layout::set_auto_dir--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_dir", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_dir", 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 "pango_layout_set_auto_dir" pango_layout_set_auto_dir :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CInt ->                                 -- auto_dir : TBasicType TBoolean-    IO ()---layoutSetAutoDir ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Bool ->                                 -- auto_dir-    m ()-layoutSetAutoDir _obj auto_dir = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let auto_dir' = (fromIntegral . fromEnum) auto_dir-    pango_layout_set_auto_dir _obj' auto_dir'-    touchManagedPtr _obj-    return ()---- method Layout::set_ellipsize--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_ellipsize" pango_layout_set_ellipsize :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CUInt ->                                -- ellipsize : TInterface "Pango" "EllipsizeMode"-    IO ()---layoutSetEllipsize ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    EllipsizeMode ->                        -- ellipsize-    m ()-layoutSetEllipsize _obj ellipsize = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let ellipsize' = (fromIntegral . fromEnum) ellipsize-    pango_layout_set_ellipsize _obj' ellipsize'-    touchManagedPtr _obj-    return ()---- method Layout::set_font_description--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_font_description" pango_layout_set_font_description :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"-    IO ()---layoutSetFontDescription ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Maybe (FontDescription) ->              -- desc-    m ()-layoutSetFontDescription _obj desc = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeDesc <- case desc of-        Nothing -> return nullPtr-        Just jDesc -> do-            let jDesc' = unsafeManagedPtrGetPtr jDesc-            return jDesc'-    pango_layout_set_font_description _obj' maybeDesc-    touchManagedPtr _obj-    whenJust desc touchManagedPtr-    return ()---- method Layout::set_height--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_height" pango_layout_set_height :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- height : TBasicType TInt32-    IO ()---layoutSetHeight ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- height-    m ()-layoutSetHeight _obj height = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_layout_set_height _obj' height-    touchManagedPtr _obj-    return ()---- method Layout::set_indent--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_indent" pango_layout_set_indent :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- indent : TBasicType TInt32-    IO ()---layoutSetIndent ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- indent-    m ()-layoutSetIndent _obj indent = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_layout_set_indent _obj' indent-    touchManagedPtr _obj-    return ()---- method Layout::set_justify--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "justify", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "justify", 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 "pango_layout_set_justify" pango_layout_set_justify :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CInt ->                                 -- justify : TBasicType TBoolean-    IO ()---layoutSetJustify ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Bool ->                                 -- justify-    m ()-layoutSetJustify _obj justify = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let justify' = (fromIntegral . fromEnum) justify-    pango_layout_set_justify _obj' justify'-    touchManagedPtr _obj-    return ()---- method Layout::set_markup--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_markup" pango_layout_set_markup :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CString ->                              -- markup : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    IO ()---layoutSetMarkup ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    T.Text ->                               -- markup-    Int32 ->                                -- length-    m ()-layoutSetMarkup _obj markup length_ = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    markup' <- textToCString markup-    pango_layout_set_markup _obj' markup' length_-    touchManagedPtr _obj-    freeMem markup'-    return ()---- method Layout::set_markup_with_accel--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_markup_with_accel" pango_layout_set_markup_with_accel :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CString ->                              -- markup : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    CInt ->                                 -- accel_marker : TBasicType TUniChar-    Ptr CInt ->                             -- accel_char : TBasicType TUniChar-    IO ()---layoutSetMarkupWithAccel ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    T.Text ->                               -- markup-    Int32 ->                                -- length-    Char ->                                 -- accel_marker-    m (Char)-layoutSetMarkupWithAccel _obj markup length_ accel_marker = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    markup' <- textToCString markup-    let accel_marker' = (fromIntegral . ord) accel_marker-    accel_char <- allocMem :: IO (Ptr CInt)-    pango_layout_set_markup_with_accel _obj' markup' length_ accel_marker' accel_char-    accel_char' <- peek accel_char-    let accel_char'' = (chr . fromIntegral) accel_char'-    touchManagedPtr _obj-    freeMem markup'-    freeMem accel_char-    return accel_char''---- method Layout::set_single_paragraph_mode--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", 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 "pango_layout_set_single_paragraph_mode" pango_layout_set_single_paragraph_mode :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CInt ->                                 -- setting : TBasicType TBoolean-    IO ()---layoutSetSingleParagraphMode ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Bool ->                                 -- setting-    m ()-layoutSetSingleParagraphMode _obj setting = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let setting' = (fromIntegral . fromEnum) setting-    pango_layout_set_single_paragraph_mode _obj' setting'-    touchManagedPtr _obj-    return ()---- method Layout::set_spacing--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_spacing" pango_layout_set_spacing :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- spacing : TBasicType TInt32-    IO ()---layoutSetSpacing ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- spacing-    m ()-layoutSetSpacing _obj spacing = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_layout_set_spacing _obj' spacing-    touchManagedPtr _obj-    return ()---- method Layout::set_tabs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_tabs" pango_layout_set_tabs :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Ptr TabArray ->                         -- tabs : TInterface "Pango" "TabArray"-    IO ()---layoutSetTabs ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Maybe (TabArray) ->                     -- tabs-    m ()-layoutSetTabs _obj tabs = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeTabs <- case tabs of-        Nothing -> return nullPtr-        Just jTabs -> do-            let jTabs' = unsafeManagedPtrGetPtr jTabs-            return jTabs'-    pango_layout_set_tabs _obj' maybeTabs-    touchManagedPtr _obj-    whenJust tabs touchManagedPtr-    return ()---- method Layout::set_text--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_text" pango_layout_set_text :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    IO ()---layoutSetText ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    T.Text ->                               -- text-    Int32 ->                                -- length-    m ()-layoutSetText _obj text length_ = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    text' <- textToCString text-    pango_layout_set_text _obj' text' length_-    touchManagedPtr _obj-    freeMem text'-    return ()---- method Layout::set_width--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_width" pango_layout_set_width :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- width : TBasicType TInt32-    IO ()---layoutSetWidth ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- width-    m ()-layoutSetWidth _obj width = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_layout_set_width _obj' width-    touchManagedPtr _obj-    return ()---- method Layout::set_wrap--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_set_wrap" pango_layout_set_wrap :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    CUInt ->                                -- wrap : TInterface "Pango" "WrapMode"-    IO ()---layoutSetWrap ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    WrapMode ->                             -- wrap-    m ()-layoutSetWrap _obj wrap = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let wrap' = (fromIntegral . fromEnum) wrap-    pango_layout_set_wrap _obj' wrap'-    touchManagedPtr _obj-    return ()---- method Layout::xy_to_index--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_xy_to_index" pango_layout_xy_to_index :: -    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    Ptr Int32 ->                            -- index_ : TBasicType TInt32-    Ptr Int32 ->                            -- trailing : TBasicType TInt32-    IO CInt---layoutXyToIndex ::-    (MonadIO m, LayoutK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- x-    Int32 ->                                -- y-    m (Bool,Int32,Int32)-layoutXyToIndex _obj x y = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    index_ <- allocMem :: IO (Ptr Int32)-    trailing <- allocMem :: IO (Ptr Int32)-    result <- pango_layout_xy_to_index _obj' x y index_ trailing-    let result' = (/= 0) result-    index_' <- peek index_-    trailing' <- peek trailing-    touchManagedPtr _obj-    freeMem index_-    freeMem trailing-    return (result', index_', trailing')---- struct LayoutIter-newtype LayoutIter = LayoutIter (ForeignPtr LayoutIter)-noLayoutIter :: Maybe LayoutIter-noLayoutIter = Nothing--foreign import ccall "pango_layout_iter_get_type" c_pango_layout_iter_get_type :: -    IO GType--instance BoxedObject LayoutIter where-    boxedType _ = c_pango_layout_iter_get_type---- method LayoutIter::at_last_line--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_at_last_line" pango_layout_iter_at_last_line :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO CInt---layoutIterAtLastLine ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Bool-layoutIterAtLastLine _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_at_last_line _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutIter"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_copy" pango_layout_iter_copy :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO (Ptr LayoutIter)---layoutIterCopy ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m LayoutIter-layoutIterCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_copy _obj'-    checkUnexpectedReturnNULL "pango_layout_iter_copy" result-    result' <- (wrapBoxed LayoutIter) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_free" pango_layout_iter_free :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO ()---layoutIterFree ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m ()-layoutIterFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_layout_iter_free _obj'-    touchManagedPtr _obj-    return ()---- method LayoutIter::get_baseline--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_baseline" pango_layout_iter_get_baseline :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO Int32---layoutIterGetBaseline ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Int32-layoutIterGetBaseline _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_baseline _obj'-    touchManagedPtr _obj-    return result---- method LayoutIter::get_char_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_char_extents" pango_layout_iter_get_char_extents :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutIterGetCharExtents ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m (Rectangle)-layoutIterGetCharExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_iter_get_char_extents _obj' logical_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return logical_rect'---- method LayoutIter::get_cluster_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_cluster_extents" pango_layout_iter_get_cluster_extents :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutIterGetClusterExtents ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m (Rectangle,Rectangle)-layoutIterGetClusterExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_iter_get_cluster_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method LayoutIter::get_index--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_index" pango_layout_iter_get_index :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO Int32---layoutIterGetIndex ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Int32-layoutIterGetIndex _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_index _obj'-    touchManagedPtr _obj-    return result---- method LayoutIter::get_layout--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Layout"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_layout" pango_layout_iter_get_layout :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO (Ptr Layout)---layoutIterGetLayout ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Layout-layoutIterGetLayout _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_layout _obj'-    checkUnexpectedReturnNULL "pango_layout_iter_get_layout" result-    result' <- (newObject Layout) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::get_layout_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_layout_extents" pango_layout_iter_get_layout_extents :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutIterGetLayoutExtents ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m (Rectangle,Rectangle)-layoutIterGetLayoutExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_iter_get_layout_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method LayoutIter::get_line--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutLine"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_line" pango_layout_iter_get_line :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO (Ptr LayoutLine)---layoutIterGetLine ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m LayoutLine-layoutIterGetLine _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_line _obj'-    checkUnexpectedReturnNULL "pango_layout_iter_get_line" result-    result' <- (wrapBoxed LayoutLine) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::get_line_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_line_extents" pango_layout_iter_get_line_extents :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutIterGetLineExtents ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m (Rectangle,Rectangle)-layoutIterGetLineExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_iter_get_line_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method LayoutIter::get_line_readonly--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutLine"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_line_readonly" pango_layout_iter_get_line_readonly :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO (Ptr LayoutLine)---layoutIterGetLineReadonly ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m LayoutLine-layoutIterGetLineReadonly _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_line_readonly _obj'-    checkUnexpectedReturnNULL "pango_layout_iter_get_line_readonly" result-    result' <- (newBoxed LayoutLine) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::get_line_yrange--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y0_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y1_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_line_yrange" pango_layout_iter_get_line_yrange :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    Ptr Int32 ->                            -- y0_ : TBasicType TInt32-    Ptr Int32 ->                            -- y1_ : TBasicType TInt32-    IO ()---layoutIterGetLineYrange ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m (Int32,Int32)-layoutIterGetLineYrange _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    y0_ <- allocMem :: IO (Ptr Int32)-    y1_ <- allocMem :: IO (Ptr Int32)-    pango_layout_iter_get_line_yrange _obj' y0_ y1_-    y0_' <- peek y0_-    y1_' <- peek y1_-    touchManagedPtr _obj-    freeMem y0_-    freeMem y1_-    return (y0_', y1_')---- method LayoutIter::get_run--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GlyphItem"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_run" pango_layout_iter_get_run :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO (Ptr GlyphItem)---layoutIterGetRun ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m GlyphItem-layoutIterGetRun _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_run _obj'-    checkUnexpectedReturnNULL "pango_layout_iter_get_run" result-    result' <- (newBoxed GlyphItem) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::get_run_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_run_extents" pango_layout_iter_get_run_extents :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutIterGetRunExtents ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m (Rectangle,Rectangle)-layoutIterGetRunExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_iter_get_run_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method LayoutIter::get_run_readonly--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "GlyphItem"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_get_run_readonly" pango_layout_iter_get_run_readonly :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO (Ptr GlyphItem)---layoutIterGetRunReadonly ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m GlyphItem-layoutIterGetRunReadonly _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_get_run_readonly _obj'-    checkUnexpectedReturnNULL "pango_layout_iter_get_run_readonly" result-    result' <- (newBoxed GlyphItem) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::next_char--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_next_char" pango_layout_iter_next_char :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO CInt---layoutIterNextChar ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Bool-layoutIterNextChar _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_next_char _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::next_cluster--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_next_cluster" pango_layout_iter_next_cluster :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO CInt---layoutIterNextCluster ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Bool-layoutIterNextCluster _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_next_cluster _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::next_line--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_next_line" pango_layout_iter_next_line :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO CInt---layoutIterNextLine ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Bool-layoutIterNextLine _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_next_line _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method LayoutIter::next_run--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_iter_next_run" pango_layout_iter_next_run :: -    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"-    IO CInt---layoutIterNextRun ::-    (MonadIO m) =>-    LayoutIter ->                           -- _obj-    m Bool-layoutIterNextRun _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_iter_next_run _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- struct LayoutLine-newtype LayoutLine = LayoutLine (ForeignPtr LayoutLine)-noLayoutLine :: Maybe LayoutLine-noLayoutLine = Nothing--foreign import ccall "pango_layout_line_get_type" c_pango_layout_line_get_type :: -    IO GType--instance BoxedObject LayoutLine where-    boxedType _ = c_pango_layout_line_get_type--layoutLineReadLayout :: LayoutLine -> IO Layout-layoutLineReadLayout s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Layout)-    val' <- (newObject Layout) val-    return val'--layoutLineReadStartIndex :: LayoutLine -> IO Int32-layoutLineReadStartIndex s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int32-    return val--layoutLineReadLength :: LayoutLine -> IO Int32-layoutLineReadLength s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Int32-    return val--layoutLineReadRuns :: LayoutLine -> IO ([Ptr ()])-layoutLineReadRuns s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr (GSList (Ptr ())))-    val' <- unpackGSList val-    return val'--layoutLineReadIsParagraphStart :: LayoutLine -> IO Word32-layoutLineReadIsParagraphStart s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word32-    return val--layoutLineReadResolvedDir :: LayoutLine -> IO Word32-layoutLineReadResolvedDir s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 28) :: IO Word32-    return val---- method LayoutLine::get_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_line_get_extents" pango_layout_line_get_extents :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutLineGetExtents ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    m (Rectangle,Rectangle)-layoutLineGetExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_line_get_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method LayoutLine::get_pixel_extents--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_line_get_pixel_extents" pango_layout_line_get_pixel_extents :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"-    IO ()---layoutLineGetPixelExtents ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    m (Rectangle,Rectangle)-layoutLineGetPixelExtents _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)-    pango_layout_line_get_pixel_extents _obj' ink_rect logical_rect-    ink_rect' <- (wrapPtr Rectangle) ink_rect-    logical_rect' <- (wrapPtr Rectangle) logical_rect-    touchManagedPtr _obj-    return (ink_rect', logical_rect')---- method LayoutLine::get_x_ranges--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TCArray False (-1) 4 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_line_get_x_ranges" pango_layout_line_get_x_ranges :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    Int32 ->                                -- start_index : TBasicType TInt32-    Int32 ->                                -- end_index : TBasicType TInt32-    Ptr (Ptr Int32) ->                      -- ranges : TCArray False (-1) 4 (TBasicType TInt32)-    Ptr Int32 ->                            -- n_ranges : TBasicType TInt32-    IO ()---layoutLineGetXRanges ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    Int32 ->                                -- start_index-    Int32 ->                                -- end_index-    m ([Int32])-layoutLineGetXRanges _obj start_index end_index = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    ranges <- allocMem :: IO (Ptr (Ptr Int32))-    n_ranges <- allocMem :: IO (Ptr Int32)-    pango_layout_line_get_x_ranges _obj' start_index end_index ranges n_ranges-    n_ranges' <- peek n_ranges-    ranges' <- peek ranges-    ranges'' <- (unpackStorableArrayWithLength n_ranges') ranges'-    freeMem ranges'-    touchManagedPtr _obj-    freeMem ranges-    freeMem n_ranges-    return ranges''---- method LayoutLine::index_to_x--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", 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 "pango_layout_line_index_to_x" pango_layout_line_index_to_x :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    Int32 ->                                -- index_ : TBasicType TInt32-    CInt ->                                 -- trailing : TBasicType TBoolean-    Ptr Int32 ->                            -- x_pos : TBasicType TInt32-    IO ()---layoutLineIndexToX ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    Int32 ->                                -- index_-    Bool ->                                 -- trailing-    m (Int32)-layoutLineIndexToX _obj index_ trailing = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let trailing' = (fromIntegral . fromEnum) trailing-    x_pos <- allocMem :: IO (Ptr Int32)-    pango_layout_line_index_to_x _obj' index_ trailing' x_pos-    x_pos' <- peek x_pos-    touchManagedPtr _obj-    freeMem x_pos-    return x_pos'---- method LayoutLine::ref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutLine"--- throws : False--- Skip return : False--foreign import ccall "pango_layout_line_ref" pango_layout_line_ref :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    IO (Ptr LayoutLine)---layoutLineRef ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    m LayoutLine-layoutLineRef _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_layout_line_ref _obj'-    checkUnexpectedReturnNULL "pango_layout_line_ref" result-    result' <- (wrapBoxed LayoutLine) result-    touchManagedPtr _obj-    return result'---- method LayoutLine::unref--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_layout_line_unref" pango_layout_line_unref :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    IO ()---layoutLineUnref ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    m ()-layoutLineUnref _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_layout_line_unref _obj'-    touchManagedPtr _obj-    return ()---- method LayoutLine::x_to_index--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_layout_line_x_to_index" pango_layout_line_x_to_index :: -    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"-    Int32 ->                                -- x_pos : TBasicType TInt32-    Ptr Int32 ->                            -- index_ : TBasicType TInt32-    Ptr Int32 ->                            -- trailing : TBasicType TInt32-    IO CInt---layoutLineXToIndex ::-    (MonadIO m) =>-    LayoutLine ->                           -- _obj-    Int32 ->                                -- x_pos-    m (Bool,Int32,Int32)-layoutLineXToIndex _obj x_pos = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    index_ <- allocMem :: IO (Ptr Int32)-    trailing <- allocMem :: IO (Ptr Int32)-    result <- pango_layout_line_x_to_index _obj' x_pos index_ trailing-    let result' = (/= 0) result-    index_' <- peek index_-    trailing' <- peek trailing-    touchManagedPtr _obj-    freeMem index_-    freeMem trailing-    return (result', index_', trailing')---- struct LogAttr-newtype LogAttr = LogAttr (ForeignPtr LogAttr)-noLogAttr :: Maybe LogAttr-noLogAttr = Nothing--logAttrReadIsLineBreak :: LogAttr -> IO Word32-logAttrReadIsLineBreak s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word32-    return val--logAttrReadIsMandatoryBreak :: LogAttr -> IO Word32-logAttrReadIsMandatoryBreak s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Word32-    return val--logAttrReadIsCharBreak :: LogAttr -> IO Word32-logAttrReadIsCharBreak s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--logAttrReadIsWhite :: LogAttr -> IO Word32-logAttrReadIsWhite s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Word32-    return val--logAttrReadIsCursorPosition :: LogAttr -> IO Word32-logAttrReadIsCursorPosition s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word32-    return val--logAttrReadIsWordStart :: LogAttr -> IO Word32-logAttrReadIsWordStart s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 20) :: IO Word32-    return val--logAttrReadIsWordEnd :: LogAttr -> IO Word32-logAttrReadIsWordEnd s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word32-    return val--logAttrReadIsSentenceBoundary :: LogAttr -> IO Word32-logAttrReadIsSentenceBoundary s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 28) :: IO Word32-    return val--logAttrReadIsSentenceStart :: LogAttr -> IO Word32-logAttrReadIsSentenceStart s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word32-    return val--logAttrReadIsSentenceEnd :: LogAttr -> IO Word32-logAttrReadIsSentenceEnd s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 36) :: IO Word32-    return val--logAttrReadBackspaceDeletesCharacter :: LogAttr -> IO Word32-logAttrReadBackspaceDeletesCharacter s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO Word32-    return val--logAttrReadIsExpandableSpace :: LogAttr -> IO Word32-logAttrReadIsExpandableSpace s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 44) :: IO Word32-    return val--logAttrReadIsWordBoundary :: LogAttr -> IO Word32-logAttrReadIsWordBoundary s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO Word32-    return val---- struct Map-newtype Map = Map (ForeignPtr Map)-noMap :: Maybe Map-noMap = Nothing---- struct MapEntry-newtype MapEntry = MapEntry (ForeignPtr MapEntry)-noMapEntry :: Maybe MapEntry-noMapEntry = Nothing---- struct Matrix-newtype Matrix = Matrix (ForeignPtr Matrix)-noMatrix :: Maybe Matrix-noMatrix = Nothing--foreign import ccall "pango_matrix_get_type" c_pango_matrix_get_type :: -    IO GType--instance BoxedObject Matrix where-    boxedType _ = c_pango_matrix_get_type--matrixReadXx :: Matrix -> IO Double-matrixReadXx s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CDouble-    let val' = realToFrac val-    return val'--matrixReadXy :: Matrix -> IO Double-matrixReadXy s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CDouble-    let val' = realToFrac val-    return val'--matrixReadYx :: Matrix -> IO Double-matrixReadYx s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CDouble-    let val' = realToFrac val-    return val'--matrixReadYy :: Matrix -> IO Double-matrixReadYy s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO CDouble-    let val' = realToFrac val-    return val'--matrixReadX0 :: Matrix -> IO Double-matrixReadX0 s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO CDouble-    let val' = realToFrac val-    return val'--matrixReadY0 :: Matrix -> IO Double-matrixReadY0 s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO CDouble-    let val' = realToFrac val-    return val'---- method Matrix::concat--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_matrix_concat" pango_matrix_concat :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    Ptr Matrix ->                           -- new_matrix : TInterface "Pango" "Matrix"-    IO ()---matrixConcat ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    Matrix ->                               -- new_matrix-    m ()-matrixConcat _obj new_matrix = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let new_matrix' = unsafeManagedPtrGetPtr new_matrix-    pango_matrix_concat _obj' new_matrix'-    touchManagedPtr _obj-    touchManagedPtr new_matrix-    return ()---- method Matrix::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Matrix"--- throws : False--- Skip return : False--foreign import ccall "pango_matrix_copy" pango_matrix_copy :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    IO (Ptr Matrix)---matrixCopy ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    m Matrix-matrixCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_matrix_copy _obj'-    checkUnexpectedReturnNULL "pango_matrix_copy" result-    result' <- (wrapBoxed Matrix) result-    touchManagedPtr _obj-    return result'---- method Matrix::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_matrix_free" pango_matrix_free :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    IO ()---matrixFree ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    m ()-matrixFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_matrix_free _obj'-    touchManagedPtr _obj-    return ()---- method Matrix::get_font_scale_factor--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TDouble--- throws : False--- Skip return : False--foreign import ccall "pango_matrix_get_font_scale_factor" pango_matrix_get_font_scale_factor :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    IO CDouble---matrixGetFontScaleFactor ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    m Double-matrixGetFontScaleFactor _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_matrix_get_font_scale_factor _obj'-    let result' = realToFrac result-    touchManagedPtr _obj-    return result'---- method Matrix::rotate--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "degrees", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "degrees", 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 "pango_matrix_rotate" pango_matrix_rotate :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    CDouble ->                              -- degrees : TBasicType TDouble-    IO ()---matrixRotate ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    Double ->                               -- degrees-    m ()-matrixRotate _obj degrees = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let degrees' = realToFrac degrees-    pango_matrix_rotate _obj' degrees'-    touchManagedPtr _obj-    return ()---- method Matrix::scale--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_y", 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 "pango_matrix_scale" pango_matrix_scale :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    CDouble ->                              -- scale_x : TBasicType TDouble-    CDouble ->                              -- scale_y : TBasicType TDouble-    IO ()---matrixScale ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    Double ->                               -- scale_x-    Double ->                               -- scale_y-    m ()-matrixScale _obj scale_x scale_y = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let scale_x' = realToFrac scale_x-    let scale_y' = realToFrac scale_y-    pango_matrix_scale _obj' scale_x' scale_y'-    touchManagedPtr _obj-    return ()---- method Matrix::transform_distance--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_matrix_transform_distance" pango_matrix_transform_distance :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    Ptr CDouble ->                          -- dx : TBasicType TDouble-    Ptr CDouble ->                          -- dy : TBasicType TDouble-    IO ()---matrixTransformDistance ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    Double ->                               -- dx-    Double ->                               -- dy-    m (Double,Double)-matrixTransformDistance _obj dx dy = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let dx' = realToFrac dx-    dx'' <- allocMem :: IO (Ptr CDouble)-    poke dx'' dx'-    let dy' = realToFrac dy-    dy'' <- allocMem :: IO (Ptr CDouble)-    poke dy'' dy'-    pango_matrix_transform_distance _obj' dx'' dy''-    dx''' <- peek dx''-    let dx'''' = realToFrac dx'''-    dy''' <- peek dy''-    let dy'''' = realToFrac dy'''-    touchManagedPtr _obj-    freeMem dx''-    freeMem dy''-    return (dx'''', dy'''')---- XXX Could not generate method Matrix::transform_pixel_rectangle--- Error was : Not implemented: "Nullable inout structs not supported"--- method Matrix::transform_point--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_matrix_transform_point" pango_matrix_transform_point :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    Ptr CDouble ->                          -- x : TBasicType TDouble-    Ptr CDouble ->                          -- y : TBasicType TDouble-    IO ()---matrixTransformPoint ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    Double ->                               -- x-    Double ->                               -- y-    m (Double,Double)-matrixTransformPoint _obj x y = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let x' = realToFrac x-    x'' <- allocMem :: IO (Ptr CDouble)-    poke x'' x'-    let y' = realToFrac y-    y'' <- allocMem :: IO (Ptr CDouble)-    poke y'' y'-    pango_matrix_transform_point _obj' x'' y''-    x''' <- peek x''-    let x'''' = realToFrac x'''-    y''' <- peek y''-    let y'''' = realToFrac y'''-    touchManagedPtr _obj-    freeMem x''-    freeMem y''-    return (x'''', y'''')---- XXX Could not generate method Matrix::transform_rectangle--- Error was : Not implemented: "Nullable inout structs not supported"--- method Matrix::translate--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ty", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ty", 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 "pango_matrix_translate" pango_matrix_translate :: -    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"-    CDouble ->                              -- tx : TBasicType TDouble-    CDouble ->                              -- ty : TBasicType TDouble-    IO ()---matrixTranslate ::-    (MonadIO m) =>-    Matrix ->                               -- _obj-    Double ->                               -- tx-    Double ->                               -- ty-    m ()-matrixTranslate _obj tx ty = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let tx' = realToFrac tx-    let ty' = realToFrac ty-    pango_matrix_translate _obj' tx' ty'-    touchManagedPtr _obj-    return ()---- struct Rectangle-newtype Rectangle = Rectangle (ForeignPtr Rectangle)-noRectangle :: Maybe Rectangle-noRectangle = Nothing--rectangleReadX :: Rectangle -> IO Int32-rectangleReadX s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--rectangleReadY :: Rectangle -> IO Int32-rectangleReadY s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Int32-    return val--rectangleReadWidth :: Rectangle -> IO Int32-rectangleReadWidth s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int32-    return val--rectangleReadHeight :: Rectangle -> IO Int32-rectangleReadHeight s = withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Int32-    return val---- Enum RenderPart--data RenderPart = -      RenderPartForeground-    | RenderPartBackground-    | RenderPartUnderline-    | RenderPartStrikethrough-    | AnotherRenderPart Int-    deriving (Show, Eq)--instance Enum RenderPart where-    fromEnum RenderPartForeground = 0-    fromEnum RenderPartBackground = 1-    fromEnum RenderPartUnderline = 2-    fromEnum RenderPartStrikethrough = 3-    fromEnum (AnotherRenderPart k) = k--    toEnum 0 = RenderPartForeground-    toEnum 1 = RenderPartBackground-    toEnum 2 = RenderPartUnderline-    toEnum 3 = RenderPartStrikethrough-    toEnum k = AnotherRenderPart k--foreign import ccall "pango_render_part_get_type" c_pango_render_part_get_type :: -    IO GType--instance BoxedEnum RenderPart where-    boxedEnumType _ = c_pango_render_part_get_type---- object Renderer -newtype Renderer = Renderer (ForeignPtr Renderer)-noRenderer :: Maybe Renderer-noRenderer = Nothing--foreign import ccall "pango_renderer_get_type"-    c_pango_renderer_get_type :: IO GType--type instance ParentTypes Renderer = '[GObject.Object]--instance GObject Renderer where-    gobjectIsInitiallyUnowned _ = False-    gobjectType _ = c_pango_renderer_get_type-    --class GObject o => RendererK o-instance (GObject o, IsDescendantOf Renderer o) => RendererK o--toRenderer :: RendererK o => o -> IO Renderer-toRenderer = unsafeCastTo Renderer---- method Renderer::activate--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_activate" pango_renderer_activate :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    IO ()---rendererActivate ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    m ()-rendererActivate _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_renderer_activate _obj'-    touchManagedPtr _obj-    return ()---- method Renderer::deactivate--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_deactivate" pango_renderer_deactivate :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    IO ()---rendererDeactivate ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    m ()-rendererDeactivate _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_renderer_deactivate _obj'-    touchManagedPtr _obj-    return ()---- method Renderer::draw_error_underline--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_draw_error_underline" pango_renderer_draw_error_underline :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    Int32 ->                                -- width : TBasicType TInt32-    Int32 ->                                -- height : TBasicType TInt32-    IO ()---rendererDrawErrorUnderline ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    Int32 ->                                -- x-    Int32 ->                                -- y-    Int32 ->                                -- width-    Int32 ->                                -- height-    m ()-rendererDrawErrorUnderline _obj x y width height = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    pango_renderer_draw_error_underline _obj' x y width height-    touchManagedPtr _obj-    return ()---- method Renderer::draw_glyph--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", 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 "pango_renderer_draw_glyph" pango_renderer_draw_glyph :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    Ptr Font ->                             -- font : TInterface "Pango" "Font"-    Word32 ->                               -- glyph : TBasicType TUInt32-    CDouble ->                              -- x : TBasicType TDouble-    CDouble ->                              -- y : TBasicType TDouble-    IO ()---rendererDrawGlyph ::-    (MonadIO m, RendererK a, FontK b) =>-    a ->                                    -- _obj-    b ->                                    -- font-    Word32 ->                               -- glyph-    Double ->                               -- x-    Double ->                               -- y-    m ()-rendererDrawGlyph _obj font glyph x y = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let font' = unsafeManagedPtrCastPtr font-    let x' = realToFrac x-    let y' = realToFrac y-    pango_renderer_draw_glyph _obj' font' glyph x' y'-    touchManagedPtr _obj-    touchManagedPtr font-    return ()---- method Renderer::draw_glyph_item--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_draw_glyph_item" pango_renderer_draw_glyph_item :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    CString ->                              -- text : TBasicType TUTF8-    Ptr GlyphItem ->                        -- glyph_item : TInterface "Pango" "GlyphItem"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    IO ()---rendererDrawGlyphItem ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    Maybe (T.Text) ->                       -- text-    GlyphItem ->                            -- glyph_item-    Int32 ->                                -- x-    Int32 ->                                -- y-    m ()-rendererDrawGlyphItem _obj text glyph_item x y = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeText <- case text of-        Nothing -> return nullPtr-        Just jText -> do-            jText' <- textToCString jText-            return jText'-    let glyph_item' = unsafeManagedPtrGetPtr glyph_item-    pango_renderer_draw_glyph_item _obj' maybeText glyph_item' x y-    touchManagedPtr _obj-    touchManagedPtr glyph_item-    freeMem maybeText-    return ()---- method Renderer::draw_glyphs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_draw_glyphs" pango_renderer_draw_glyphs :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    Ptr Font ->                             -- font : TInterface "Pango" "Font"-    Ptr GlyphString ->                      -- glyphs : TInterface "Pango" "GlyphString"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    IO ()---rendererDrawGlyphs ::-    (MonadIO m, RendererK a, FontK b) =>-    a ->                                    -- _obj-    b ->                                    -- font-    GlyphString ->                          -- glyphs-    Int32 ->                                -- x-    Int32 ->                                -- y-    m ()-rendererDrawGlyphs _obj font glyphs x y = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let font' = unsafeManagedPtrCastPtr font-    let glyphs' = unsafeManagedPtrGetPtr glyphs-    pango_renderer_draw_glyphs _obj' font' glyphs' x y-    touchManagedPtr _obj-    touchManagedPtr font-    touchManagedPtr glyphs-    return ()---- method Renderer::draw_layout--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_draw_layout" pango_renderer_draw_layout :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    Ptr Layout ->                           -- layout : TInterface "Pango" "Layout"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    IO ()---rendererDrawLayout ::-    (MonadIO m, RendererK a, LayoutK b) =>-    a ->                                    -- _obj-    b ->                                    -- layout-    Int32 ->                                -- x-    Int32 ->                                -- y-    m ()-rendererDrawLayout _obj layout x y = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let layout' = unsafeManagedPtrCastPtr layout-    pango_renderer_draw_layout _obj' layout' x y-    touchManagedPtr _obj-    touchManagedPtr layout-    return ()---- method Renderer::draw_layout_line--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_draw_layout_line" pango_renderer_draw_layout_line :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    Ptr LayoutLine ->                       -- line : TInterface "Pango" "LayoutLine"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    IO ()---rendererDrawLayoutLine ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    LayoutLine ->                           -- line-    Int32 ->                                -- x-    Int32 ->                                -- y-    m ()-rendererDrawLayoutLine _obj line x y = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let line' = unsafeManagedPtrGetPtr line-    pango_renderer_draw_layout_line _obj' line' x y-    touchManagedPtr _obj-    touchManagedPtr line-    return ()---- method Renderer::draw_rectangle--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_draw_rectangle" pango_renderer_draw_rectangle :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    CUInt ->                                -- part : TInterface "Pango" "RenderPart"-    Int32 ->                                -- x : TBasicType TInt32-    Int32 ->                                -- y : TBasicType TInt32-    Int32 ->                                -- width : TBasicType TInt32-    Int32 ->                                -- height : TBasicType TInt32-    IO ()---rendererDrawRectangle ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    RenderPart ->                           -- part-    Int32 ->                                -- x-    Int32 ->                                -- y-    Int32 ->                                -- width-    Int32 ->                                -- height-    m ()-rendererDrawRectangle _obj part x y width height = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let part' = (fromIntegral . fromEnum) part-    pango_renderer_draw_rectangle _obj' part' x y width height-    touchManagedPtr _obj-    return ()---- method Renderer::draw_trapezoid--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x22", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x22", 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 "pango_renderer_draw_trapezoid" pango_renderer_draw_trapezoid :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    CUInt ->                                -- part : TInterface "Pango" "RenderPart"-    CDouble ->                              -- y1_ : TBasicType TDouble-    CDouble ->                              -- x11 : TBasicType TDouble-    CDouble ->                              -- x21 : TBasicType TDouble-    CDouble ->                              -- y2 : TBasicType TDouble-    CDouble ->                              -- x12 : TBasicType TDouble-    CDouble ->                              -- x22 : TBasicType TDouble-    IO ()---rendererDrawTrapezoid ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    RenderPart ->                           -- part-    Double ->                               -- y1_-    Double ->                               -- x11-    Double ->                               -- x21-    Double ->                               -- y2-    Double ->                               -- x12-    Double ->                               -- x22-    m ()-rendererDrawTrapezoid _obj part y1_ x11 x21 y2 x12 x22 = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let part' = (fromIntegral . fromEnum) part-    let y1_' = realToFrac y1_-    let x11' = realToFrac x11-    let x21' = realToFrac x21-    let y2' = realToFrac y2-    let x12' = realToFrac x12-    let x22' = realToFrac x22-    pango_renderer_draw_trapezoid _obj' part' y1_' x11' x21' y2' x12' x22'-    touchManagedPtr _obj-    return ()---- method Renderer::get_color--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Color"--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_get_color" pango_renderer_get_color :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    CUInt ->                                -- part : TInterface "Pango" "RenderPart"-    IO (Ptr Color)---rendererGetColor ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    RenderPart ->                           -- part-    m Color-rendererGetColor _obj part = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let part' = (fromIntegral . fromEnum) part-    result <- pango_renderer_get_color _obj' part'-    checkUnexpectedReturnNULL "pango_renderer_get_color" result-    result' <- (newBoxed Color) result-    touchManagedPtr _obj-    return result'---- method Renderer::get_layout--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Layout"--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_get_layout" pango_renderer_get_layout :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    IO (Ptr Layout)---rendererGetLayout ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    m Layout-rendererGetLayout _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_renderer_get_layout _obj'-    checkUnexpectedReturnNULL "pango_renderer_get_layout" result-    result' <- (newObject Layout) result-    touchManagedPtr _obj-    return result'---- method Renderer::get_layout_line--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "LayoutLine"--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_get_layout_line" pango_renderer_get_layout_line :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    IO (Ptr LayoutLine)---rendererGetLayoutLine ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    m LayoutLine-rendererGetLayoutLine _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_renderer_get_layout_line _obj'-    checkUnexpectedReturnNULL "pango_renderer_get_layout_line" result-    result' <- (newBoxed LayoutLine) result-    touchManagedPtr _obj-    return result'---- method Renderer::get_matrix--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Matrix"--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_get_matrix" pango_renderer_get_matrix :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    IO (Ptr Matrix)---rendererGetMatrix ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    m Matrix-rendererGetMatrix _obj = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    result <- pango_renderer_get_matrix _obj'-    checkUnexpectedReturnNULL "pango_renderer_get_matrix" result-    result' <- (newBoxed Matrix) result-    touchManagedPtr _obj-    return result'---- method Renderer::part_changed--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_part_changed" pango_renderer_part_changed :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    CUInt ->                                -- part : TInterface "Pango" "RenderPart"-    IO ()---rendererPartChanged ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    RenderPart ->                           -- part-    m ()-rendererPartChanged _obj part = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let part' = (fromIntegral . fromEnum) part-    pango_renderer_part_changed _obj' part'-    touchManagedPtr _obj-    return ()---- method Renderer::set_color--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_set_color" pango_renderer_set_color :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    CUInt ->                                -- part : TInterface "Pango" "RenderPart"-    Ptr Color ->                            -- color : TInterface "Pango" "Color"-    IO ()---rendererSetColor ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    RenderPart ->                           -- part-    Maybe (Color) ->                        -- color-    m ()-rendererSetColor _obj part color = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    let part' = (fromIntegral . fromEnum) part-    maybeColor <- case color of-        Nothing -> return nullPtr-        Just jColor -> do-            let jColor' = unsafeManagedPtrGetPtr jColor-            return jColor'-    pango_renderer_set_color _obj' part' maybeColor-    touchManagedPtr _obj-    whenJust color touchManagedPtr-    return ()---- method Renderer::set_matrix--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_renderer_set_matrix" pango_renderer_set_matrix :: -    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"-    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"-    IO ()---rendererSetMatrix ::-    (MonadIO m, RendererK a) =>-    a ->                                    -- _obj-    Maybe (Matrix) ->                       -- matrix-    m ()-rendererSetMatrix _obj matrix = liftIO $ do-    let _obj' = unsafeManagedPtrCastPtr _obj-    maybeMatrix <- case matrix of-        Nothing -> return nullPtr-        Just jMatrix -> do-            let jMatrix' = unsafeManagedPtrGetPtr jMatrix-            return jMatrix'-    pango_renderer_set_matrix _obj' maybeMatrix-    touchManagedPtr _obj-    whenJust matrix touchManagedPtr-    return ()---- Enum Script--data Script = -      ScriptInvalidCode-    | ScriptCommon-    | ScriptInherited-    | ScriptArabic-    | ScriptArmenian-    | ScriptBengali-    | ScriptBopomofo-    | ScriptCherokee-    | ScriptCoptic-    | ScriptCyrillic-    | ScriptDeseret-    | ScriptDevanagari-    | ScriptEthiopic-    | ScriptGeorgian-    | ScriptGothic-    | ScriptGreek-    | ScriptGujarati-    | ScriptGurmukhi-    | ScriptHan-    | ScriptHangul-    | ScriptHebrew-    | ScriptHiragana-    | ScriptKannada-    | ScriptKatakana-    | ScriptKhmer-    | ScriptLao-    | ScriptLatin-    | ScriptMalayalam-    | ScriptMongolian-    | ScriptMyanmar-    | ScriptOgham-    | ScriptOldItalic-    | ScriptOriya-    | ScriptRunic-    | ScriptSinhala-    | ScriptSyriac-    | ScriptTamil-    | ScriptTelugu-    | ScriptThaana-    | ScriptThai-    | ScriptTibetan-    | ScriptCanadianAboriginal-    | ScriptYi-    | ScriptTagalog-    | ScriptHanunoo-    | ScriptBuhid-    | ScriptTagbanwa-    | ScriptBraille-    | ScriptCypriot-    | ScriptLimbu-    | ScriptOsmanya-    | ScriptShavian-    | ScriptLinearB-    | ScriptTaiLe-    | ScriptUgaritic-    | ScriptNewTaiLue-    | ScriptBuginese-    | ScriptGlagolitic-    | ScriptTifinagh-    | ScriptSylotiNagri-    | ScriptOldPersian-    | ScriptKharoshthi-    | ScriptUnknown-    | ScriptBalinese-    | ScriptCuneiform-    | ScriptPhoenician-    | ScriptPhagsPa-    | ScriptNko-    | ScriptKayahLi-    | ScriptLepcha-    | ScriptRejang-    | ScriptSundanese-    | ScriptSaurashtra-    | ScriptCham-    | ScriptOlChiki-    | ScriptVai-    | ScriptCarian-    | ScriptLycian-    | ScriptLydian-    | ScriptBatak-    | ScriptBrahmi-    | ScriptMandaic-    | ScriptChakma-    | ScriptMeroiticCursive-    | ScriptMeroiticHieroglyphs-    | ScriptMiao-    | ScriptSharada-    | ScriptSoraSompeng-    | ScriptTakri-    | AnotherScript Int-    deriving (Show, Eq)--instance Enum Script where-    fromEnum ScriptInvalidCode = -1-    fromEnum ScriptCommon = 0-    fromEnum ScriptInherited = 1-    fromEnum ScriptArabic = 2-    fromEnum ScriptArmenian = 3-    fromEnum ScriptBengali = 4-    fromEnum ScriptBopomofo = 5-    fromEnum ScriptCherokee = 6-    fromEnum ScriptCoptic = 7-    fromEnum ScriptCyrillic = 8-    fromEnum ScriptDeseret = 9-    fromEnum ScriptDevanagari = 10-    fromEnum ScriptEthiopic = 11-    fromEnum ScriptGeorgian = 12-    fromEnum ScriptGothic = 13-    fromEnum ScriptGreek = 14-    fromEnum ScriptGujarati = 15-    fromEnum ScriptGurmukhi = 16-    fromEnum ScriptHan = 17-    fromEnum ScriptHangul = 18-    fromEnum ScriptHebrew = 19-    fromEnum ScriptHiragana = 20-    fromEnum ScriptKannada = 21-    fromEnum ScriptKatakana = 22-    fromEnum ScriptKhmer = 23-    fromEnum ScriptLao = 24-    fromEnum ScriptLatin = 25-    fromEnum ScriptMalayalam = 26-    fromEnum ScriptMongolian = 27-    fromEnum ScriptMyanmar = 28-    fromEnum ScriptOgham = 29-    fromEnum ScriptOldItalic = 30-    fromEnum ScriptOriya = 31-    fromEnum ScriptRunic = 32-    fromEnum ScriptSinhala = 33-    fromEnum ScriptSyriac = 34-    fromEnum ScriptTamil = 35-    fromEnum ScriptTelugu = 36-    fromEnum ScriptThaana = 37-    fromEnum ScriptThai = 38-    fromEnum ScriptTibetan = 39-    fromEnum ScriptCanadianAboriginal = 40-    fromEnum ScriptYi = 41-    fromEnum ScriptTagalog = 42-    fromEnum ScriptHanunoo = 43-    fromEnum ScriptBuhid = 44-    fromEnum ScriptTagbanwa = 45-    fromEnum ScriptBraille = 46-    fromEnum ScriptCypriot = 47-    fromEnum ScriptLimbu = 48-    fromEnum ScriptOsmanya = 49-    fromEnum ScriptShavian = 50-    fromEnum ScriptLinearB = 51-    fromEnum ScriptTaiLe = 52-    fromEnum ScriptUgaritic = 53-    fromEnum ScriptNewTaiLue = 54-    fromEnum ScriptBuginese = 55-    fromEnum ScriptGlagolitic = 56-    fromEnum ScriptTifinagh = 57-    fromEnum ScriptSylotiNagri = 58-    fromEnum ScriptOldPersian = 59-    fromEnum ScriptKharoshthi = 60-    fromEnum ScriptUnknown = 61-    fromEnum ScriptBalinese = 62-    fromEnum ScriptCuneiform = 63-    fromEnum ScriptPhoenician = 64-    fromEnum ScriptPhagsPa = 65-    fromEnum ScriptNko = 66-    fromEnum ScriptKayahLi = 67-    fromEnum ScriptLepcha = 68-    fromEnum ScriptRejang = 69-    fromEnum ScriptSundanese = 70-    fromEnum ScriptSaurashtra = 71-    fromEnum ScriptCham = 72-    fromEnum ScriptOlChiki = 73-    fromEnum ScriptVai = 74-    fromEnum ScriptCarian = 75-    fromEnum ScriptLycian = 76-    fromEnum ScriptLydian = 77-    fromEnum ScriptBatak = 78-    fromEnum ScriptBrahmi = 79-    fromEnum ScriptMandaic = 80-    fromEnum ScriptChakma = 81-    fromEnum ScriptMeroiticCursive = 82-    fromEnum ScriptMeroiticHieroglyphs = 83-    fromEnum ScriptMiao = 84-    fromEnum ScriptSharada = 85-    fromEnum ScriptSoraSompeng = 86-    fromEnum ScriptTakri = 87-    fromEnum (AnotherScript k) = k--    toEnum -1 = ScriptInvalidCode-    toEnum 0 = ScriptCommon-    toEnum 1 = ScriptInherited-    toEnum 2 = ScriptArabic-    toEnum 3 = ScriptArmenian-    toEnum 4 = ScriptBengali-    toEnum 5 = ScriptBopomofo-    toEnum 6 = ScriptCherokee-    toEnum 7 = ScriptCoptic-    toEnum 8 = ScriptCyrillic-    toEnum 9 = ScriptDeseret-    toEnum 10 = ScriptDevanagari-    toEnum 11 = ScriptEthiopic-    toEnum 12 = ScriptGeorgian-    toEnum 13 = ScriptGothic-    toEnum 14 = ScriptGreek-    toEnum 15 = ScriptGujarati-    toEnum 16 = ScriptGurmukhi-    toEnum 17 = ScriptHan-    toEnum 18 = ScriptHangul-    toEnum 19 = ScriptHebrew-    toEnum 20 = ScriptHiragana-    toEnum 21 = ScriptKannada-    toEnum 22 = ScriptKatakana-    toEnum 23 = ScriptKhmer-    toEnum 24 = ScriptLao-    toEnum 25 = ScriptLatin-    toEnum 26 = ScriptMalayalam-    toEnum 27 = ScriptMongolian-    toEnum 28 = ScriptMyanmar-    toEnum 29 = ScriptOgham-    toEnum 30 = ScriptOldItalic-    toEnum 31 = ScriptOriya-    toEnum 32 = ScriptRunic-    toEnum 33 = ScriptSinhala-    toEnum 34 = ScriptSyriac-    toEnum 35 = ScriptTamil-    toEnum 36 = ScriptTelugu-    toEnum 37 = ScriptThaana-    toEnum 38 = ScriptThai-    toEnum 39 = ScriptTibetan-    toEnum 40 = ScriptCanadianAboriginal-    toEnum 41 = ScriptYi-    toEnum 42 = ScriptTagalog-    toEnum 43 = ScriptHanunoo-    toEnum 44 = ScriptBuhid-    toEnum 45 = ScriptTagbanwa-    toEnum 46 = ScriptBraille-    toEnum 47 = ScriptCypriot-    toEnum 48 = ScriptLimbu-    toEnum 49 = ScriptOsmanya-    toEnum 50 = ScriptShavian-    toEnum 51 = ScriptLinearB-    toEnum 52 = ScriptTaiLe-    toEnum 53 = ScriptUgaritic-    toEnum 54 = ScriptNewTaiLue-    toEnum 55 = ScriptBuginese-    toEnum 56 = ScriptGlagolitic-    toEnum 57 = ScriptTifinagh-    toEnum 58 = ScriptSylotiNagri-    toEnum 59 = ScriptOldPersian-    toEnum 60 = ScriptKharoshthi-    toEnum 61 = ScriptUnknown-    toEnum 62 = ScriptBalinese-    toEnum 63 = ScriptCuneiform-    toEnum 64 = ScriptPhoenician-    toEnum 65 = ScriptPhagsPa-    toEnum 66 = ScriptNko-    toEnum 67 = ScriptKayahLi-    toEnum 68 = ScriptLepcha-    toEnum 69 = ScriptRejang-    toEnum 70 = ScriptSundanese-    toEnum 71 = ScriptSaurashtra-    toEnum 72 = ScriptCham-    toEnum 73 = ScriptOlChiki-    toEnum 74 = ScriptVai-    toEnum 75 = ScriptCarian-    toEnum 76 = ScriptLycian-    toEnum 77 = ScriptLydian-    toEnum 78 = ScriptBatak-    toEnum 79 = ScriptBrahmi-    toEnum 80 = ScriptMandaic-    toEnum 81 = ScriptChakma-    toEnum 82 = ScriptMeroiticCursive-    toEnum 83 = ScriptMeroiticHieroglyphs-    toEnum 84 = ScriptMiao-    toEnum 85 = ScriptSharada-    toEnum 86 = ScriptSoraSompeng-    toEnum 87 = ScriptTakri-    toEnum k = AnotherScript k--foreign import ccall "pango_script_get_type" c_pango_script_get_type :: -    IO GType--instance BoxedEnum Script where-    boxedEnumType _ = c_pango_script_get_type---- struct ScriptForLang-newtype ScriptForLang = ScriptForLang (ForeignPtr ScriptForLang)-noScriptForLang :: Maybe ScriptForLang-noScriptForLang = Nothing---- XXX Skipped getter for "ScriptForLang:lang" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TInt8)"---- XXX Skipped getter for "ScriptForLang:scripts" :: Not implemented: "Don't know how to unpack C array of type TCArray False 3 (-1) (TInterface \"Pango\" \"Script\")"---- struct ScriptIter-newtype ScriptIter = ScriptIter (ForeignPtr ScriptIter)-noScriptIter :: Maybe ScriptIter-noScriptIter = Nothing---- method ScriptIter::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_script_iter_free" pango_script_iter_free :: -    Ptr ScriptIter ->                       -- _obj : TInterface "Pango" "ScriptIter"-    IO ()---scriptIterFree ::-    (MonadIO m) =>-    ScriptIter ->                           -- _obj-    m ()-scriptIterFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_script_iter_free _obj'-    touchManagedPtr _obj-    return ()---- method ScriptIter::get_range--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_script_iter_get_range" pango_script_iter_get_range :: -    Ptr ScriptIter ->                       -- _obj : TInterface "Pango" "ScriptIter"-    Ptr CString ->                          -- start : TBasicType TUTF8-    Ptr CString ->                          -- end : TBasicType TUTF8-    Ptr CUInt ->                            -- script : TInterface "Pango" "Script"-    IO ()---scriptIterGetRange ::-    (MonadIO m) =>-    ScriptIter ->                           -- _obj-    m (T.Text,T.Text,Script)-scriptIterGetRange _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    start <- allocMem :: IO (Ptr CString)-    end <- allocMem :: IO (Ptr CString)-    script <- allocMem :: IO (Ptr CUInt)-    pango_script_iter_get_range _obj' start end script-    start' <- peek start-    start'' <- cstringToText start'-    freeMem start'-    end' <- peek end-    end'' <- cstringToText end'-    freeMem end'-    script' <- peek script-    let script'' = (toEnum . fromIntegral) script'-    touchManagedPtr _obj-    freeMem start-    freeMem end-    freeMem script-    return (start'', end'', script'')---- method ScriptIter::next--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_script_iter_next" pango_script_iter_next :: -    Ptr ScriptIter ->                       -- _obj : TInterface "Pango" "ScriptIter"-    IO CInt---scriptIterNext ::-    (MonadIO m) =>-    ScriptIter ->                           -- _obj-    m Bool-scriptIterNext _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_script_iter_next _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- Enum Stretch--data Stretch = -      StretchUltraCondensed-    | StretchExtraCondensed-    | StretchCondensed-    | StretchSemiCondensed-    | StretchNormal-    | StretchSemiExpanded-    | StretchExpanded-    | StretchExtraExpanded-    | StretchUltraExpanded-    | AnotherStretch Int-    deriving (Show, Eq)--instance Enum Stretch where-    fromEnum StretchUltraCondensed = 0-    fromEnum StretchExtraCondensed = 1-    fromEnum StretchCondensed = 2-    fromEnum StretchSemiCondensed = 3-    fromEnum StretchNormal = 4-    fromEnum StretchSemiExpanded = 5-    fromEnum StretchExpanded = 6-    fromEnum StretchExtraExpanded = 7-    fromEnum StretchUltraExpanded = 8-    fromEnum (AnotherStretch k) = k--    toEnum 0 = StretchUltraCondensed-    toEnum 1 = StretchExtraCondensed-    toEnum 2 = StretchCondensed-    toEnum 3 = StretchSemiCondensed-    toEnum 4 = StretchNormal-    toEnum 5 = StretchSemiExpanded-    toEnum 6 = StretchExpanded-    toEnum 7 = StretchExtraExpanded-    toEnum 8 = StretchUltraExpanded-    toEnum k = AnotherStretch k--foreign import ccall "pango_stretch_get_type" c_pango_stretch_get_type :: -    IO GType--instance BoxedEnum Stretch where-    boxedEnumType _ = c_pango_stretch_get_type---- Enum Style--data Style = -      StyleNormal-    | StyleOblique-    | StyleItalic-    | AnotherStyle Int-    deriving (Show, Eq)--instance Enum Style where-    fromEnum StyleNormal = 0-    fromEnum StyleOblique = 1-    fromEnum StyleItalic = 2-    fromEnum (AnotherStyle k) = k--    toEnum 0 = StyleNormal-    toEnum 1 = StyleOblique-    toEnum 2 = StyleItalic-    toEnum k = AnotherStyle k--foreign import ccall "pango_style_get_type" c_pango_style_get_type :: -    IO GType--instance BoxedEnum Style where-    boxedEnumType _ = c_pango_style_get_type---- Enum TabAlign--data TabAlign = -      TabAlignLeft-    | AnotherTabAlign Int-    deriving (Show, Eq)--instance Enum TabAlign where-    fromEnum TabAlignLeft = 0-    fromEnum (AnotherTabAlign k) = k--    toEnum 0 = TabAlignLeft-    toEnum k = AnotherTabAlign k--foreign import ccall "pango_tab_align_get_type" c_pango_tab_align_get_type :: -    IO GType--instance BoxedEnum TabAlign where-    boxedEnumType _ = c_pango_tab_align_get_type---- struct TabArray-newtype TabArray = TabArray (ForeignPtr TabArray)-noTabArray :: Maybe TabArray-noTabArray = Nothing--foreign import ccall "pango_tab_array_get_type" c_pango_tab_array_get_type :: -    IO GType--instance BoxedObject TabArray where-    boxedType _ = c_pango_tab_array_get_type---- method TabArray::new--- method type : Constructor--- Args : [Arg {argName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "TabArray"--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_new" pango_tab_array_new :: -    Int32 ->                                -- initial_size : TBasicType TInt32-    CInt ->                                 -- positions_in_pixels : TBasicType TBoolean-    IO (Ptr TabArray)---tabArrayNew ::-    (MonadIO m) =>-    Int32 ->                                -- initial_size-    Bool ->                                 -- positions_in_pixels-    m TabArray-tabArrayNew initial_size positions_in_pixels = liftIO $ do-    let positions_in_pixels' = (fromIntegral . fromEnum) positions_in_pixels-    result <- pango_tab_array_new initial_size positions_in_pixels'-    checkUnexpectedReturnNULL "pango_tab_array_new" result-    result' <- (wrapBoxed TabArray) result-    return result'---- method TabArray::copy--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "TabArray"--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_copy" pango_tab_array_copy :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    IO (Ptr TabArray)---tabArrayCopy ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    m TabArray-tabArrayCopy _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_tab_array_copy _obj'-    checkUnexpectedReturnNULL "pango_tab_array_copy" result-    result' <- (wrapBoxed TabArray) result-    touchManagedPtr _obj-    return result'---- method TabArray::free--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_free" pango_tab_array_free :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    IO ()---tabArrayFree ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    m ()-tabArrayFree _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_tab_array_free _obj'-    touchManagedPtr _obj-    return ()---- method TabArray::get_positions_in_pixels--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_get_positions_in_pixels" pango_tab_array_get_positions_in_pixels :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    IO CInt---tabArrayGetPositionsInPixels ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    m Bool-tabArrayGetPositionsInPixels _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_tab_array_get_positions_in_pixels _obj'-    let result' = (/= 0) result-    touchManagedPtr _obj-    return result'---- method TabArray::get_size--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_get_size" pango_tab_array_get_size :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    IO Int32---tabArrayGetSize ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    m Int32-tabArrayGetSize _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    result <- pango_tab_array_get_size _obj'-    touchManagedPtr _obj-    return result---- method TabArray::get_tab--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_get_tab" pango_tab_array_get_tab :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    Int32 ->                                -- tab_index : TBasicType TInt32-    Ptr CUInt ->                            -- alignment : TInterface "Pango" "TabAlign"-    Ptr Int32 ->                            -- location : TBasicType TInt32-    IO ()---tabArrayGetTab ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    Int32 ->                                -- tab_index-    m (TabAlign,Int32)-tabArrayGetTab _obj tab_index = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    alignment <- allocMem :: IO (Ptr CUInt)-    location <- allocMem :: IO (Ptr Int32)-    pango_tab_array_get_tab _obj' tab_index alignment location-    alignment' <- peek alignment-    let alignment'' = (toEnum . fromIntegral) alignment'-    location' <- peek location-    touchManagedPtr _obj-    freeMem alignment-    freeMem location-    return (alignment'', location')---- method TabArray::get_tabs--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignments", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "locations", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_get_tabs" pango_tab_array_get_tabs :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    Ptr CUInt ->                            -- alignments : TInterface "Pango" "TabAlign"-    Ptr (Ptr Int32) ->                      -- locations : TCArray False (-1) (-1) (TBasicType TInt32)-    IO ()---tabArrayGetTabs ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    m (TabAlign,(Ptr Int32))-tabArrayGetTabs _obj = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    alignments <- allocMem :: IO (Ptr CUInt)-    locations <- allocMem :: IO (Ptr (Ptr Int32))-    pango_tab_array_get_tabs _obj' alignments locations-    alignments' <- peek alignments-    let alignments'' = (toEnum . fromIntegral) alignments'-    locations' <- peek locations-    touchManagedPtr _obj-    freeMem alignments-    freeMem locations-    return (alignments'', locations')---- method TabArray::resize--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_resize" pango_tab_array_resize :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    Int32 ->                                -- new_size : TBasicType TInt32-    IO ()---tabArrayResize ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    Int32 ->                                -- new_size-    m ()-tabArrayResize _obj new_size = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    pango_tab_array_resize _obj' new_size-    touchManagedPtr _obj-    return ()---- method TabArray::set_tab--- method type : OrdinaryMethod--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_tab_array_set_tab" pango_tab_array_set_tab :: -    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"-    Int32 ->                                -- tab_index : TBasicType TInt32-    CUInt ->                                -- alignment : TInterface "Pango" "TabAlign"-    Int32 ->                                -- location : TBasicType TInt32-    IO ()---tabArraySetTab ::-    (MonadIO m) =>-    TabArray ->                             -- _obj-    Int32 ->                                -- tab_index-    TabAlign ->                             -- alignment-    Int32 ->                                -- location-    m ()-tabArraySetTab _obj tab_index alignment location = liftIO $ do-    let _obj' = unsafeManagedPtrGetPtr _obj-    let alignment' = (fromIntegral . fromEnum) alignment-    pango_tab_array_set_tab _obj' tab_index alignment' location-    touchManagedPtr _obj-    return ()---- Enum Underline--data Underline = -      UnderlineNone-    | UnderlineSingle-    | UnderlineDouble-    | UnderlineLow-    | UnderlineError-    | AnotherUnderline Int-    deriving (Show, Eq)--instance Enum Underline where-    fromEnum UnderlineNone = 0-    fromEnum UnderlineSingle = 1-    fromEnum UnderlineDouble = 2-    fromEnum UnderlineLow = 3-    fromEnum UnderlineError = 4-    fromEnum (AnotherUnderline k) = k--    toEnum 0 = UnderlineNone-    toEnum 1 = UnderlineSingle-    toEnum 2 = UnderlineDouble-    toEnum 3 = UnderlineLow-    toEnum 4 = UnderlineError-    toEnum k = AnotherUnderline k--foreign import ccall "pango_underline_get_type" c_pango_underline_get_type :: -    IO GType--instance BoxedEnum Underline where-    boxedEnumType _ = c_pango_underline_get_type---- Enum Variant--data Variant = -      VariantNormal-    | VariantSmallCaps-    | AnotherVariant Int-    deriving (Show, Eq)--instance Enum Variant where-    fromEnum VariantNormal = 0-    fromEnum VariantSmallCaps = 1-    fromEnum (AnotherVariant k) = k--    toEnum 0 = VariantNormal-    toEnum 1 = VariantSmallCaps-    toEnum k = AnotherVariant k--foreign import ccall "pango_variant_get_type" c_pango_variant_get_type :: -    IO GType--instance BoxedEnum Variant where-    boxedEnumType _ = c_pango_variant_get_type---- Enum Weight--data Weight = -      WeightThin-    | WeightUltralight-    | WeightLight-    | WeightSemilight-    | WeightBook-    | WeightNormal-    | WeightMedium-    | WeightSemibold-    | WeightBold-    | WeightUltrabold-    | WeightHeavy-    | WeightUltraheavy-    | AnotherWeight Int-    deriving (Show, Eq)--instance Enum Weight where-    fromEnum WeightThin = 100-    fromEnum WeightUltralight = 200-    fromEnum WeightLight = 300-    fromEnum WeightSemilight = 350-    fromEnum WeightBook = 380-    fromEnum WeightNormal = 400-    fromEnum WeightMedium = 500-    fromEnum WeightSemibold = 600-    fromEnum WeightBold = 700-    fromEnum WeightUltrabold = 800-    fromEnum WeightHeavy = 900-    fromEnum WeightUltraheavy = 1000-    fromEnum (AnotherWeight k) = k--    toEnum 100 = WeightThin-    toEnum 200 = WeightUltralight-    toEnum 300 = WeightLight-    toEnum 350 = WeightSemilight-    toEnum 380 = WeightBook-    toEnum 400 = WeightNormal-    toEnum 500 = WeightMedium-    toEnum 600 = WeightSemibold-    toEnum 700 = WeightBold-    toEnum 800 = WeightUltrabold-    toEnum 900 = WeightHeavy-    toEnum 1000 = WeightUltraheavy-    toEnum k = AnotherWeight k--foreign import ccall "pango_weight_get_type" c_pango_weight_get_type :: -    IO GType--instance BoxedEnum Weight where-    boxedEnumType _ = c_pango_weight_get_type---- Enum WrapMode--data WrapMode = -      WrapModeWord-    | WrapModeChar-    | WrapModeWordChar-    | AnotherWrapMode Int-    deriving (Show, Eq)--instance Enum WrapMode where-    fromEnum WrapModeWord = 0-    fromEnum WrapModeChar = 1-    fromEnum WrapModeWordChar = 2-    fromEnum (AnotherWrapMode k) = k--    toEnum 0 = WrapModeWord-    toEnum 1 = WrapModeChar-    toEnum 2 = WrapModeWordChar-    toEnum k = AnotherWrapMode k--foreign import ccall "pango_wrap_mode_get_type" c_pango_wrap_mode_get_type :: -    IO GType--instance BoxedEnum WrapMode where-    boxedEnumType _ = c_pango_wrap_mode_get_type---- constant _ANALYSIS_FLAG_CENTERED_BASELINE--_ANALYSIS_FLAG_CENTERED_BASELINE :: Int32-_ANALYSIS_FLAG_CENTERED_BASELINE = 1--- constant _ANALYSIS_FLAG_IS_ELLIPSIS--_ANALYSIS_FLAG_IS_ELLIPSIS :: Int32-_ANALYSIS_FLAG_IS_ELLIPSIS = 2--- constant _ATTR_INDEX_FROM_TEXT_BEGINNING--_ATTR_INDEX_FROM_TEXT_BEGINNING :: Int32-_ATTR_INDEX_FROM_TEXT_BEGINNING = 0--- constant _ENGINE_TYPE_LANG--_ENGINE_TYPE_LANG :: T.Text-_ENGINE_TYPE_LANG = "PangoEngineLang"--- constant _ENGINE_TYPE_SHAPE--_ENGINE_TYPE_SHAPE :: T.Text-_ENGINE_TYPE_SHAPE = "PangoEngineShape"--- constant _GLYPH_EMPTY--_GLYPH_EMPTY :: Word32-_GLYPH_EMPTY = 268435455--- constant _GLYPH_INVALID_INPUT--_GLYPH_INVALID_INPUT :: Word32-_GLYPH_INVALID_INPUT = 4294967295--- constant _GLYPH_UNKNOWN_FLAG--_GLYPH_UNKNOWN_FLAG :: Word32-_GLYPH_UNKNOWN_FLAG = 268435456--- constant _RENDER_TYPE_NONE--_RENDER_TYPE_NONE :: T.Text-_RENDER_TYPE_NONE = "PangoRenderNone"--- constant _SCALE--_SCALE :: Int32-_SCALE = 1024--- constant _UNKNOWN_GLYPH_HEIGHT--_UNKNOWN_GLYPH_HEIGHT :: Int32-_UNKNOWN_GLYPH_HEIGHT = 14--- constant _UNKNOWN_GLYPH_WIDTH--_UNKNOWN_GLYPH_WIDTH :: Int32-_UNKNOWN_GLYPH_WIDTH = 10--- function pango_attr_type_get_name--- Args : [Arg {argName = "type", argType = TInterface "Pango" "AttrType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "type", argType = TInterface "Pango" "AttrType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_attr_type_get_name" pango_attr_type_get_name :: -    CUInt ->                                -- type : TInterface "Pango" "AttrType"-    IO CString---attrTypeGetName ::-    (MonadIO m) =>-    AttrType ->                             -- type-    m T.Text-attrTypeGetName type_ = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    result <- pango_attr_type_get_name type_'-    checkUnexpectedReturnNULL "pango_attr_type_get_name" result-    result' <- cstringToText result-    return result'---- function pango_attr_type_register--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "AttrType"--- throws : False--- Skip return : False--foreign import ccall "pango_attr_type_register" pango_attr_type_register :: -    CString ->                              -- name : TBasicType TUTF8-    IO CUInt---attrTypeRegister ::-    (MonadIO m) =>-    T.Text ->                               -- name-    m AttrType-attrTypeRegister name = liftIO $ do-    name' <- textToCString name-    result <- pango_attr_type_register name'-    let result' = (toEnum . fromIntegral) result-    freeMem name'-    return result'---- function pango_bidi_type_for_unichar--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "BidiType"--- throws : False--- Skip return : False--foreign import ccall "pango_bidi_type_for_unichar" pango_bidi_type_for_unichar :: -    CInt ->                                 -- ch : TBasicType TUniChar-    IO CUInt---bidiTypeForUnichar ::-    (MonadIO m) =>-    Char ->                                 -- ch-    m BidiType-bidiTypeForUnichar ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- pango_bidi_type_for_unichar ch'-    let result' = (toEnum . fromIntegral) result-    return result'---- function pango_break--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : [Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_break" pango_break :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"-    Ptr LogAttr ->                          -- attrs : TCArray False (-1) 4 (TInterface "Pango" "LogAttr")-    Int32 ->                                -- attrs_len : TBasicType TInt32-    IO ()---break ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    Analysis ->                             -- analysis-    [LogAttr] ->                            -- attrs-    m ()-break text length_ analysis attrs = liftIO $ do-    let attrs_len = fromIntegral $ length attrs-    text' <- textToCString text-    let analysis' = unsafeManagedPtrGetPtr analysis-    let attrs' = map unsafeManagedPtrGetPtr attrs-    attrs'' <- packBlockArray 52 attrs'-    pango_break text' length_ analysis' attrs'' attrs_len-    touchManagedPtr analysis-    mapM_ touchManagedPtr attrs-    freeMem text'-    freeMem attrs''-    return ()---- function pango_config_key_get--- Args : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_config_key_get" pango_config_key_get :: -    CString ->                              -- key : TBasicType TUTF8-    IO CString---configKeyGet ::-    (MonadIO m) =>-    T.Text ->                               -- key-    m T.Text-configKeyGet key = liftIO $ do-    key' <- textToCString key-    result <- pango_config_key_get key'-    checkUnexpectedReturnNULL "pango_config_key_get" result-    result' <- cstringToText result-    freeMem result-    freeMem key'-    return result'---- function pango_config_key_get_system--- Args : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_config_key_get_system" pango_config_key_get_system :: -    CString ->                              -- key : TBasicType TUTF8-    IO CString---configKeyGetSystem ::-    (MonadIO m) =>-    T.Text ->                               -- key-    m T.Text-configKeyGetSystem key = liftIO $ do-    key' <- textToCString key-    result <- pango_config_key_get_system key'-    checkUnexpectedReturnNULL "pango_config_key_get_system" result-    result' <- cstringToText result-    freeMem result-    freeMem key'-    return result'---- function pango_default_break--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_default_break" pango_default_break :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"-    Ptr LogAttr ->                          -- attrs : TInterface "Pango" "LogAttr"-    Int32 ->                                -- attrs_len : TBasicType TInt32-    IO ()---defaultBreak ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    Analysis ->                             -- analysis-    LogAttr ->                              -- attrs-    Int32 ->                                -- attrs_len-    m ()-defaultBreak text length_ analysis attrs attrs_len = liftIO $ do-    text' <- textToCString text-    let analysis' = unsafeManagedPtrGetPtr analysis-    let attrs' = unsafeManagedPtrGetPtr attrs-    pango_default_break text' length_ analysis' attrs' attrs_len-    touchManagedPtr analysis-    touchManagedPtr attrs-    freeMem text'-    return ()---- function pango_extents_to_pixels--- Args : [Arg {argName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_extents_to_pixels" pango_extents_to_pixels :: -    Ptr Rectangle ->                        -- inclusive : TInterface "Pango" "Rectangle"-    Ptr Rectangle ->                        -- nearest : TInterface "Pango" "Rectangle"-    IO ()---extentsToPixels ::-    (MonadIO m) =>-    Maybe (Rectangle) ->                    -- inclusive-    Maybe (Rectangle) ->                    -- nearest-    m ()-extentsToPixels inclusive nearest = liftIO $ do-    maybeInclusive <- case inclusive of-        Nothing -> return nullPtr-        Just jInclusive -> do-            let jInclusive' = unsafeManagedPtrGetPtr jInclusive-            return jInclusive'-    maybeNearest <- case nearest of-        Nothing -> return nullPtr-        Just jNearest -> do-            let jNearest' = unsafeManagedPtrGetPtr jNearest-            return jNearest'-    pango_extents_to_pixels maybeInclusive maybeNearest-    whenJust inclusive touchManagedPtr-    whenJust nearest touchManagedPtr-    return ()---- function pango_find_base_dir--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Direction"--- throws : False--- Skip return : False--foreign import ccall "pango_find_base_dir" pango_find_base_dir :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    IO CUInt---findBaseDir ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    m Direction-findBaseDir text length_ = liftIO $ do-    text' <- textToCString text-    result <- pango_find_base_dir text' length_-    let result' = (toEnum . fromIntegral) result-    freeMem text'-    return result'---- function pango_find_paragraph_boundary--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_delimiter_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "next_paragraph_start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_find_paragraph_boundary" pango_find_paragraph_boundary :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Ptr Int32 ->                            -- paragraph_delimiter_index : TBasicType TInt32-    Ptr Int32 ->                            -- next_paragraph_start : TBasicType TInt32-    IO ()---findParagraphBoundary ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    m (Int32,Int32)-findParagraphBoundary text length_ = liftIO $ do-    text' <- textToCString text-    paragraph_delimiter_index <- allocMem :: IO (Ptr Int32)-    next_paragraph_start <- allocMem :: IO (Ptr Int32)-    pango_find_paragraph_boundary text' length_ paragraph_delimiter_index next_paragraph_start-    paragraph_delimiter_index' <- peek paragraph_delimiter_index-    next_paragraph_start' <- peek next_paragraph_start-    freeMem text'-    freeMem paragraph_delimiter_index-    freeMem next_paragraph_start-    return (paragraph_delimiter_index', next_paragraph_start')---- function pango_font_description_from_string--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "FontDescription"--- throws : False--- Skip return : False--foreign import ccall "pango_font_description_from_string" pango_font_description_from_string :: -    CString ->                              -- str : TBasicType TUTF8-    IO (Ptr FontDescription)---fontDescriptionFromString ::-    (MonadIO m) =>-    T.Text ->                               -- str-    m FontDescription-fontDescriptionFromString str = liftIO $ do-    str' <- textToCString str-    result <- pango_font_description_from_string str'-    checkUnexpectedReturnNULL "pango_font_description_from_string" result-    result' <- (wrapBoxed FontDescription) result-    freeMem str'-    return result'---- function pango_get_lib_subdirectory--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_get_lib_subdirectory" pango_get_lib_subdirectory :: -    IO CString---getLibSubdirectory ::-    (MonadIO m) =>-    m T.Text-getLibSubdirectory  = liftIO $ do-    result <- pango_get_lib_subdirectory-    checkUnexpectedReturnNULL "pango_get_lib_subdirectory" result-    result' <- cstringToText result-    return result'---- function pango_get_log_attrs--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : [Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_get_log_attrs" pango_get_log_attrs :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Int32 ->                                -- level : TBasicType TInt32-    Ptr Language ->                         -- language : TInterface "Pango" "Language"-    Ptr LogAttr ->                          -- log_attrs : TCArray False (-1) 5 (TInterface "Pango" "LogAttr")-    Int32 ->                                -- attrs_len : TBasicType TInt32-    IO ()---getLogAttrs ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    Int32 ->                                -- level-    Language ->                             -- language-    [LogAttr] ->                            -- log_attrs-    m ()-getLogAttrs text length_ level language log_attrs = liftIO $ do-    let attrs_len = fromIntegral $ length log_attrs-    text' <- textToCString text-    let language' = unsafeManagedPtrGetPtr language-    let log_attrs' = map unsafeManagedPtrGetPtr log_attrs-    log_attrs'' <- packBlockArray 52 log_attrs'-    pango_get_log_attrs text' length_ level language' log_attrs'' attrs_len-    touchManagedPtr language-    mapM_ touchManagedPtr log_attrs-    freeMem text'-    freeMem log_attrs''-    return ()---- function pango_get_mirror_char--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_get_mirror_char" pango_get_mirror_char :: -    CInt ->                                 -- ch : TBasicType TUniChar-    CInt ->                                 -- mirrored_ch : TBasicType TUniChar-    IO CInt---getMirrorChar ::-    (MonadIO m) =>-    Char ->                                 -- ch-    Char ->                                 -- mirrored_ch-    m Bool-getMirrorChar ch mirrored_ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    let mirrored_ch' = (fromIntegral . ord) mirrored_ch-    result <- pango_get_mirror_char ch' mirrored_ch'-    let result' = (/= 0) result-    return result'---- function pango_get_sysconf_subdirectory--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_get_sysconf_subdirectory" pango_get_sysconf_subdirectory :: -    IO CString---getSysconfSubdirectory ::-    (MonadIO m) =>-    m T.Text-getSysconfSubdirectory  = liftIO $ do-    result <- pango_get_sysconf_subdirectory-    checkUnexpectedReturnNULL "pango_get_sysconf_subdirectory" result-    result' <- cstringToText result-    return result'---- function pango_gravity_get_for_matrix--- Args : [Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Gravity"--- throws : False--- Skip return : False--foreign import ccall "pango_gravity_get_for_matrix" pango_gravity_get_for_matrix :: -    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"-    IO CUInt---gravityGetForMatrix ::-    (MonadIO m) =>-    Matrix ->                               -- matrix-    m Gravity-gravityGetForMatrix matrix = liftIO $ do-    let matrix' = unsafeManagedPtrGetPtr matrix-    result <- pango_gravity_get_for_matrix matrix'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr matrix-    return result'---- function pango_gravity_get_for_script--- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Gravity"--- throws : False--- Skip return : False--foreign import ccall "pango_gravity_get_for_script" pango_gravity_get_for_script :: -    CUInt ->                                -- script : TInterface "Pango" "Script"-    CUInt ->                                -- base_gravity : TInterface "Pango" "Gravity"-    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"-    IO CUInt---gravityGetForScript ::-    (MonadIO m) =>-    Script ->                               -- script-    Gravity ->                              -- base_gravity-    GravityHint ->                          -- hint-    m Gravity-gravityGetForScript script base_gravity hint = liftIO $ do-    let script' = (fromIntegral . fromEnum) script-    let base_gravity' = (fromIntegral . fromEnum) base_gravity-    let hint' = (fromIntegral . fromEnum) hint-    result <- pango_gravity_get_for_script script' base_gravity' hint'-    let result' = (toEnum . fromIntegral) result-    return result'---- function pango_gravity_get_for_script_and_width--- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Gravity"--- throws : False--- Skip return : False--foreign import ccall "pango_gravity_get_for_script_and_width" pango_gravity_get_for_script_and_width :: -    CUInt ->                                -- script : TInterface "Pango" "Script"-    CInt ->                                 -- wide : TBasicType TBoolean-    CUInt ->                                -- base_gravity : TInterface "Pango" "Gravity"-    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"-    IO CUInt---gravityGetForScriptAndWidth ::-    (MonadIO m) =>-    Script ->                               -- script-    Bool ->                                 -- wide-    Gravity ->                              -- base_gravity-    GravityHint ->                          -- hint-    m Gravity-gravityGetForScriptAndWidth script wide base_gravity hint = liftIO $ do-    let script' = (fromIntegral . fromEnum) script-    let wide' = (fromIntegral . fromEnum) wide-    let base_gravity' = (fromIntegral . fromEnum) base_gravity-    let hint' = (fromIntegral . fromEnum) hint-    result <- pango_gravity_get_for_script_and_width script' wide' base_gravity' hint'-    let result' = (toEnum . fromIntegral) result-    return result'---- function pango_gravity_to_rotation--- Args : [Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TDouble--- throws : False--- Skip return : False--foreign import ccall "pango_gravity_to_rotation" pango_gravity_to_rotation :: -    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"-    IO CDouble---gravityToRotation ::-    (MonadIO m) =>-    Gravity ->                              -- gravity-    m Double-gravityToRotation gravity = liftIO $ do-    let gravity' = (fromIntegral . fromEnum) gravity-    result <- pango_gravity_to_rotation gravity'-    let result' = realToFrac result-    return result'---- function pango_is_zero_width--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_is_zero_width" pango_is_zero_width :: -    CInt ->                                 -- ch : TBasicType TUniChar-    IO CInt---isZeroWidth ::-    (MonadIO m) =>-    Char ->                                 -- ch-    m Bool-isZeroWidth ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- pango_is_zero_width ch'-    let result' = (/= 0) result-    return result'---- function pango_itemize--- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGList (TInterface "Pango" "Item")--- throws : False--- Skip return : False--foreign import ccall "pango_itemize" pango_itemize :: -    Ptr Context ->                          -- context : TInterface "Pango" "Context"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- start_index : TBasicType TInt32-    Int32 ->                                -- length : TBasicType TInt32-    Ptr AttrList ->                         -- attrs : TInterface "Pango" "AttrList"-    Ptr AttrIterator ->                     -- cached_iter : TInterface "Pango" "AttrIterator"-    IO (Ptr (GList (Ptr Item)))---itemize ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- context-    T.Text ->                               -- text-    Int32 ->                                -- start_index-    Int32 ->                                -- length-    AttrList ->                             -- attrs-    Maybe (AttrIterator) ->                 -- cached_iter-    m [Item]-itemize context text start_index length_ attrs cached_iter = liftIO $ do-    let context' = unsafeManagedPtrCastPtr context-    text' <- textToCString text-    let attrs' = unsafeManagedPtrGetPtr attrs-    maybeCached_iter <- case cached_iter of-        Nothing -> return nullPtr-        Just jCached_iter -> do-            let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter-            return jCached_iter'-    result <- pango_itemize context' text' start_index length_ attrs' maybeCached_iter-    checkUnexpectedReturnNULL "pango_itemize" result-    result' <- unpackGList result-    result'' <- mapM (wrapBoxed Item) result'-    g_list_free result-    touchManagedPtr context-    touchManagedPtr attrs-    whenJust cached_iter touchManagedPtr-    freeMem text'-    return result''---- function pango_itemize_with_base_dir--- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGList (TInterface "Pango" "Item")--- throws : False--- Skip return : False--foreign import ccall "pango_itemize_with_base_dir" pango_itemize_with_base_dir :: -    Ptr Context ->                          -- context : TInterface "Pango" "Context"-    CUInt ->                                -- base_dir : TInterface "Pango" "Direction"-    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- start_index : TBasicType TInt32-    Int32 ->                                -- length : TBasicType TInt32-    Ptr AttrList ->                         -- attrs : TInterface "Pango" "AttrList"-    Ptr AttrIterator ->                     -- cached_iter : TInterface "Pango" "AttrIterator"-    IO (Ptr (GList (Ptr Item)))---itemizeWithBaseDir ::-    (MonadIO m, ContextK a) =>-    a ->                                    -- context-    Direction ->                            -- base_dir-    T.Text ->                               -- text-    Int32 ->                                -- start_index-    Int32 ->                                -- length-    AttrList ->                             -- attrs-    Maybe (AttrIterator) ->                 -- cached_iter-    m [Item]-itemizeWithBaseDir context base_dir text start_index length_ attrs cached_iter = liftIO $ do-    let context' = unsafeManagedPtrCastPtr context-    let base_dir' = (fromIntegral . fromEnum) base_dir-    text' <- textToCString text-    let attrs' = unsafeManagedPtrGetPtr attrs-    maybeCached_iter <- case cached_iter of-        Nothing -> return nullPtr-        Just jCached_iter -> do-            let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter-            return jCached_iter'-    result <- pango_itemize_with_base_dir context' base_dir' text' start_index length_ attrs' maybeCached_iter-    checkUnexpectedReturnNULL "pango_itemize_with_base_dir" result-    result' <- unpackGList result-    result'' <- mapM (wrapBoxed Item) result'-    g_list_free result-    touchManagedPtr context-    touchManagedPtr attrs-    whenJust cached_iter touchManagedPtr-    freeMem text'-    return result''---- function pango_language_from_string--- Args : [Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Language"--- throws : False--- Skip return : False--foreign import ccall "pango_language_from_string" pango_language_from_string :: -    CString ->                              -- language : TBasicType TUTF8-    IO (Ptr Language)---languageFromString ::-    (MonadIO m) =>-    Maybe (T.Text) ->                       -- language-    m Language-languageFromString language = liftIO $ do-    maybeLanguage <- case language of-        Nothing -> return nullPtr-        Just jLanguage -> do-            jLanguage' <- textToCString jLanguage-            return jLanguage'-    result <- pango_language_from_string maybeLanguage-    checkUnexpectedReturnNULL "pango_language_from_string" result-    result' <- (newBoxed Language) result-    freeMem maybeLanguage-    return result'---- function pango_language_get_default--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TInterface "Pango" "Language"--- throws : False--- Skip return : False--foreign import ccall "pango_language_get_default" pango_language_get_default :: -    IO (Ptr Language)---languageGetDefault ::-    (MonadIO m) =>-    m Language-languageGetDefault  = liftIO $ do-    result <- pango_language_get_default-    checkUnexpectedReturnNULL "pango_language_get_default" result-    result' <- (newBoxed Language) result-    return result'---- function pango_log2vis_get_embedding_levels--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUInt8--- throws : False--- Skip return : False--foreign import ccall "pango_log2vis_get_embedding_levels" pango_log2vis_get_embedding_levels :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    CUInt ->                                -- pbase_dir : TInterface "Pango" "Direction"-    IO Word8---log2visGetEmbeddingLevels ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    Direction ->                            -- pbase_dir-    m Word8-log2visGetEmbeddingLevels text length_ pbase_dir = liftIO $ do-    text' <- textToCString text-    let pbase_dir' = (fromIntegral . fromEnum) pbase_dir-    result <- pango_log2vis_get_embedding_levels text' length_ pbase_dir'-    freeMem text'-    return result---- function pango_lookup_aliases--- Args : [Arg {argName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- hInArgs : [Arg {argName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_lookup_aliases" pango_lookup_aliases :: -    CString ->                              -- fontname : TBasicType TUTF8-    Ptr (Ptr CString) ->                    -- families : TCArray False (-1) 2 (TBasicType TUTF8)-    Ptr Int32 ->                            -- n_families : TBasicType TInt32-    IO ()--{-# DEPRECATED lookupAliases ["(Since version 1.32)","This function is not thread-safe."]#-}-lookupAliases ::-    (MonadIO m) =>-    T.Text ->                               -- fontname-    m ([T.Text])-lookupAliases fontname = liftIO $ do-    fontname' <- textToCString fontname-    families <- allocMem :: IO (Ptr (Ptr CString))-    n_families <- allocMem :: IO (Ptr Int32)-    pango_lookup_aliases fontname' families n_families-    n_families' <- peek n_families-    families' <- peek families-    families'' <- (unpackUTF8CArrayWithLength n_families') families'-    (mapCArrayWithLength n_families') freeMem families'-    freeMem families'-    freeMem fontname'-    freeMem families-    freeMem n_families-    return families''---- function pango_markup_parser_finish--- Args : [Arg {argName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr_list", argType = TInterface "Pango" "AttrList", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : True--- Skip return : False--foreign import ccall "pango_markup_parser_finish" pango_markup_parser_finish :: -    Ptr GLib.MarkupParseContext ->          -- context : TInterface "GLib" "MarkupParseContext"-    Ptr (Ptr AttrList) ->                   -- attr_list : TInterface "Pango" "AttrList"-    Ptr CString ->                          -- text : TBasicType TUTF8-    Ptr CInt ->                             -- accel_char : TBasicType TUniChar-    Ptr (Ptr GError) ->                     -- error-    IO CInt---markupParserFinish ::-    (MonadIO m) =>-    GLib.MarkupParseContext ->              -- context-    m (AttrList,T.Text,Char)-markupParserFinish context = liftIO $ do-    let context' = unsafeManagedPtrGetPtr context-    attr_list <- allocMem :: IO (Ptr (Ptr AttrList))-    text <- allocMem :: IO (Ptr CString)-    accel_char <- allocMem :: IO (Ptr CInt)-    onException (do-        _ <- propagateGError $ pango_markup_parser_finish context' attr_list text accel_char-        attr_list' <- peek attr_list-        attr_list'' <- (wrapBoxed AttrList) attr_list'-        text' <- peek text-        text'' <- cstringToText text'-        freeMem text'-        accel_char' <- peek accel_char-        let accel_char'' = (chr . fromIntegral) accel_char'-        touchManagedPtr context-        freeMem attr_list-        freeMem text-        freeMem accel_char-        return (attr_list'', text'', accel_char'')-     ) (do-        freeMem attr_list-        freeMem text-        freeMem accel_char-     )---- function pango_markup_parser_new--- Args : [Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "GLib" "MarkupParseContext"--- throws : False--- Skip return : False--foreign import ccall "pango_markup_parser_new" pango_markup_parser_new :: -    CInt ->                                 -- accel_marker : TBasicType TUniChar-    IO (Ptr GLib.MarkupParseContext)---markupParserNew ::-    (MonadIO m) =>-    Char ->                                 -- accel_marker-    m GLib.MarkupParseContext-markupParserNew accel_marker = liftIO $ do-    let accel_marker' = (fromIntegral . ord) accel_marker-    result <- pango_markup_parser_new accel_marker'-    checkUnexpectedReturnNULL "pango_markup_parser_new" result-    result' <- (newBoxed GLib.MarkupParseContext) result-    return result'---- function pango_module_register--- Args : [Arg {argName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_module_register" pango_module_register :: -    Ptr IncludedModule ->                   -- module : TInterface "Pango" "IncludedModule"-    IO ()---moduleRegister ::-    (MonadIO m) =>-    IncludedModule ->                       -- module-    m ()-moduleRegister module_ = liftIO $ do-    let module_' = unsafeManagedPtrGetPtr module_-    pango_module_register module_'-    touchManagedPtr module_-    return ()---- function pango_parse_enum--- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_values", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_parse_enum" pango_parse_enum :: -    CGType ->                               -- type : TBasicType TGType-    CString ->                              -- str : TBasicType TUTF8-    Ptr Int32 ->                            -- value : TBasicType TInt32-    CInt ->                                 -- warn : TBasicType TBoolean-    Ptr CString ->                          -- possible_values : TBasicType TUTF8-    IO CInt---parseEnum ::-    (MonadIO m) =>-    GType ->                                -- type-    Maybe (T.Text) ->                       -- str-    Bool ->                                 -- warn-    m (Bool,Int32,T.Text)-parseEnum type_ str warn = liftIO $ do-    let type_' = gtypeToCGType type_-    maybeStr <- case str of-        Nothing -> return nullPtr-        Just jStr -> do-            jStr' <- textToCString jStr-            return jStr'-    value <- allocMem :: IO (Ptr Int32)-    let warn' = (fromIntegral . fromEnum) warn-    possible_values <- allocMem :: IO (Ptr CString)-    result <- pango_parse_enum type_' maybeStr value warn' possible_values-    let result' = (/= 0) result-    value' <- peek value-    possible_values' <- peek possible_values-    possible_values'' <- cstringToText possible_values'-    freeMem possible_values'-    freeMem maybeStr-    freeMem value-    freeMem possible_values-    return (result', value', possible_values'')---- function pango_parse_markup--- Args : [Arg {argName = "markup_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr_list", argType = TInterface "Pango" "AttrList", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "markup_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : True--- Skip return : False--foreign import ccall "pango_parse_markup" pango_parse_markup :: -    CString ->                              -- markup_text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    CInt ->                                 -- accel_marker : TBasicType TUniChar-    Ptr (Ptr AttrList) ->                   -- attr_list : TInterface "Pango" "AttrList"-    Ptr CString ->                          -- text : TBasicType TUTF8-    Ptr CInt ->                             -- accel_char : TBasicType TUniChar-    Ptr (Ptr GError) ->                     -- error-    IO CInt---parseMarkup ::-    (MonadIO m) =>-    T.Text ->                               -- markup_text-    Int32 ->                                -- length-    Char ->                                 -- accel_marker-    m (AttrList,T.Text,Char)-parseMarkup markup_text length_ accel_marker = liftIO $ do-    markup_text' <- textToCString markup_text-    let accel_marker' = (fromIntegral . ord) accel_marker-    attr_list <- allocMem :: IO (Ptr (Ptr AttrList))-    text <- allocMem :: IO (Ptr CString)-    accel_char <- allocMem :: IO (Ptr CInt)-    onException (do-        _ <- propagateGError $ pango_parse_markup markup_text' length_ accel_marker' attr_list text accel_char-        attr_list' <- peek attr_list-        attr_list'' <- (wrapBoxed AttrList) attr_list'-        text' <- peek text-        text'' <- cstringToText text'-        freeMem text'-        accel_char' <- peek accel_char-        let accel_char'' = (chr . fromIntegral) accel_char'-        freeMem markup_text'-        freeMem attr_list-        freeMem text-        freeMem accel_char-        return (attr_list'', text'', accel_char'')-     ) (do-        freeMem markup_text'-        freeMem attr_list-        freeMem text-        freeMem accel_char-     )---- function pango_parse_stretch--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_parse_stretch" pango_parse_stretch :: -    CString ->                              -- str : TBasicType TUTF8-    Ptr CUInt ->                            -- stretch : TInterface "Pango" "Stretch"-    CInt ->                                 -- warn : TBasicType TBoolean-    IO CInt---parseStretch ::-    (MonadIO m) =>-    T.Text ->                               -- str-    Bool ->                                 -- warn-    m (Bool,Stretch)-parseStretch str warn = liftIO $ do-    str' <- textToCString str-    stretch <- allocMem :: IO (Ptr CUInt)-    let warn' = (fromIntegral . fromEnum) warn-    result <- pango_parse_stretch str' stretch warn'-    let result' = (/= 0) result-    stretch' <- peek stretch-    let stretch'' = (toEnum . fromIntegral) stretch'-    freeMem str'-    freeMem stretch-    return (result', stretch'')---- function pango_parse_style--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_parse_style" pango_parse_style :: -    CString ->                              -- str : TBasicType TUTF8-    Ptr CUInt ->                            -- style : TInterface "Pango" "Style"-    CInt ->                                 -- warn : TBasicType TBoolean-    IO CInt---parseStyle ::-    (MonadIO m) =>-    T.Text ->                               -- str-    Bool ->                                 -- warn-    m (Bool,Style)-parseStyle str warn = liftIO $ do-    str' <- textToCString str-    style <- allocMem :: IO (Ptr CUInt)-    let warn' = (fromIntegral . fromEnum) warn-    result <- pango_parse_style str' style warn'-    let result' = (/= 0) result-    style' <- peek style-    let style'' = (toEnum . fromIntegral) style'-    freeMem str'-    freeMem style-    return (result', style'')---- function pango_parse_variant--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_parse_variant" pango_parse_variant :: -    CString ->                              -- str : TBasicType TUTF8-    Ptr CUInt ->                            -- variant : TInterface "Pango" "Variant"-    CInt ->                                 -- warn : TBasicType TBoolean-    IO CInt---parseVariant ::-    (MonadIO m) =>-    T.Text ->                               -- str-    Bool ->                                 -- warn-    m (Bool,Variant)-parseVariant str warn = liftIO $ do-    str' <- textToCString str-    variant <- allocMem :: IO (Ptr CUInt)-    let warn' = (fromIntegral . fromEnum) warn-    result <- pango_parse_variant str' variant warn'-    let result' = (/= 0) result-    variant' <- peek variant-    let variant'' = (toEnum . fromIntegral) variant'-    freeMem str'-    freeMem variant-    return (result', variant'')---- function pango_parse_weight--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_parse_weight" pango_parse_weight :: -    CString ->                              -- str : TBasicType TUTF8-    Ptr CUInt ->                            -- weight : TInterface "Pango" "Weight"-    CInt ->                                 -- warn : TBasicType TBoolean-    IO CInt---parseWeight ::-    (MonadIO m) =>-    T.Text ->                               -- str-    Bool ->                                 -- warn-    m (Bool,Weight)-parseWeight str warn = liftIO $ do-    str' <- textToCString str-    weight <- allocMem :: IO (Ptr CUInt)-    let warn' = (fromIntegral . fromEnum) warn-    result <- pango_parse_weight str' weight warn'-    let result' = (/= 0) result-    weight' <- peek weight-    let weight'' = (toEnum . fromIntegral) weight'-    freeMem str'-    freeMem weight-    return (result', weight'')---- function pango_quantize_line_geometry--- Args : [Arg {argName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_quantize_line_geometry" pango_quantize_line_geometry :: -    Ptr Int32 ->                            -- thickness : TBasicType TInt32-    Ptr Int32 ->                            -- position : TBasicType TInt32-    IO ()---quantizeLineGeometry ::-    (MonadIO m) =>-    Int32 ->                                -- thickness-    Int32 ->                                -- position-    m (Int32,Int32)-quantizeLineGeometry thickness position = liftIO $ do-    thickness' <- allocMem :: IO (Ptr Int32)-    poke thickness' thickness-    position' <- allocMem :: IO (Ptr Int32)-    poke position' position-    pango_quantize_line_geometry thickness' position'-    thickness'' <- peek thickness'-    position'' <- peek position'-    freeMem thickness'-    freeMem position'-    return (thickness'', position'')---- function pango_read_line--- Args : [Arg {argName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_read_line" pango_read_line :: -    Ptr () ->                               -- stream : TBasicType TVoid-    Ptr GLib.String ->                      -- str : TInterface "GLib" "String"-    IO Int32---readLine ::-    (MonadIO m) =>-    Ptr () ->                               -- stream-    m (Int32,GLib.String)-readLine stream = liftIO $ do-    str <- callocBoxedBytes 24 :: IO (Ptr GLib.String)-    result <- pango_read_line stream str-    str' <- (wrapBoxed GLib.String) str-    return (result, str')---- function pango_reorder_items--- Args : [Arg {argName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TGList (TInterface "Pango" "Item")--- throws : False--- Skip return : False--foreign import ccall "pango_reorder_items" pango_reorder_items :: -    Ptr (GList (Ptr Item)) ->               -- logical_items : TGList (TInterface "Pango" "Item")-    IO (Ptr (GList (Ptr Item)))---reorderItems ::-    (MonadIO m) =>-    [Item] ->                               -- logical_items-    m [Item]-reorderItems logical_items = liftIO $ do-    let logical_items' = map unsafeManagedPtrGetPtr logical_items-    logical_items'' <- packGList logical_items'-    result <- pango_reorder_items logical_items''-    checkUnexpectedReturnNULL "pango_reorder_items" result-    result' <- unpackGList result-    result'' <- mapM (wrapBoxed Item) result'-    g_list_free result-    mapM_ touchManagedPtr logical_items-    g_list_free logical_items''-    return result''---- function pango_scan_int--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_scan_int" pango_scan_int :: -    Ptr CString ->                          -- pos : TBasicType TUTF8-    Ptr Int32 ->                            -- out : TBasicType TInt32-    IO CInt---scanInt ::-    (MonadIO m) =>-    T.Text ->                               -- pos-    m (Bool,T.Text,Int32)-scanInt pos = liftIO $ do-    pos' <- textToCString pos-    pos'' <- allocMem :: IO (Ptr CString)-    poke pos'' pos'-    out <- allocMem :: IO (Ptr Int32)-    result <- pango_scan_int pos'' out-    let result' = (/= 0) result-    pos''' <- peek pos''-    pos'''' <- cstringToText pos'''-    freeMem pos'''-    out' <- peek out-    freeMem pos''-    freeMem out-    return (result', pos'''', out')---- function pango_scan_string--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_scan_string" pango_scan_string :: -    Ptr CString ->                          -- pos : TBasicType TUTF8-    Ptr GLib.String ->                      -- out : TInterface "GLib" "String"-    IO CInt---scanString ::-    (MonadIO m) =>-    T.Text ->                               -- pos-    m (Bool,T.Text,GLib.String)-scanString pos = liftIO $ do-    pos' <- textToCString pos-    pos'' <- allocMem :: IO (Ptr CString)-    poke pos'' pos'-    out <- callocBoxedBytes 24 :: IO (Ptr GLib.String)-    result <- pango_scan_string pos'' out-    let result' = (/= 0) result-    pos''' <- peek pos''-    pos'''' <- cstringToText pos'''-    freeMem pos'''-    out' <- (wrapBoxed GLib.String) out-    freeMem pos''-    return (result', pos'''', out')---- function pango_scan_word--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_scan_word" pango_scan_word :: -    Ptr CString ->                          -- pos : TBasicType TUTF8-    Ptr GLib.String ->                      -- out : TInterface "GLib" "String"-    IO CInt---scanWord ::-    (MonadIO m) =>-    T.Text ->                               -- pos-    m (Bool,T.Text,GLib.String)-scanWord pos = liftIO $ do-    pos' <- textToCString pos-    pos'' <- allocMem :: IO (Ptr CString)-    poke pos'' pos'-    out <- callocBoxedBytes 24 :: IO (Ptr GLib.String)-    result <- pango_scan_word pos'' out-    let result' = (/= 0) result-    pos''' <- peek pos''-    pos'''' <- cstringToText pos'''-    freeMem pos'''-    out' <- (wrapBoxed GLib.String) out-    freeMem pos''-    return (result', pos'''', out')---- function pango_script_for_unichar--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Script"--- throws : False--- Skip return : False--foreign import ccall "pango_script_for_unichar" pango_script_for_unichar :: -    CInt ->                                 -- ch : TBasicType TUniChar-    IO CUInt---scriptForUnichar ::-    (MonadIO m) =>-    Char ->                                 -- ch-    m Script-scriptForUnichar ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- pango_script_for_unichar ch'-    let result' = (toEnum . fromIntegral) result-    return result'---- function pango_script_get_sample_language--- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Language"--- throws : False--- Skip return : False--foreign import ccall "pango_script_get_sample_language" pango_script_get_sample_language :: -    CUInt ->                                -- script : TInterface "Pango" "Script"-    IO (Ptr Language)---scriptGetSampleLanguage ::-    (MonadIO m) =>-    Script ->                               -- script-    m Language-scriptGetSampleLanguage script = liftIO $ do-    let script' = (fromIntegral . fromEnum) script-    result <- pango_script_get_sample_language script'-    checkUnexpectedReturnNULL "pango_script_get_sample_language" result-    result' <- (wrapBoxed Language) result-    return result'---- function pango_shape--- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_shape" pango_shape :: -    CString ->                              -- text : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt32-    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"-    Ptr GlyphString ->                      -- glyphs : TInterface "Pango" "GlyphString"-    IO ()---shape ::-    (MonadIO m) =>-    T.Text ->                               -- text-    Int32 ->                                -- length-    Analysis ->                             -- analysis-    GlyphString ->                          -- glyphs-    m ()-shape text length_ analysis glyphs = liftIO $ do-    text' <- textToCString text-    let analysis' = unsafeManagedPtrGetPtr analysis-    let glyphs' = unsafeManagedPtrGetPtr glyphs-    pango_shape text' length_ analysis' glyphs'-    touchManagedPtr analysis-    touchManagedPtr glyphs-    freeMem text'-    return ()---- function pango_shape_full--- Args : [Arg {argName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TVoid--- throws : False--- Skip return : False--foreign import ccall "pango_shape_full" pango_shape_full :: -    CString ->                              -- item_text : TBasicType TUTF8-    Int32 ->                                -- item_length : TBasicType TInt32-    CString ->                              -- paragraph_text : TBasicType TUTF8-    Int32 ->                                -- paragraph_length : TBasicType TInt32-    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"-    Ptr GlyphString ->                      -- glyphs : TInterface "Pango" "GlyphString"-    IO ()---shapeFull ::-    (MonadIO m) =>-    T.Text ->                               -- item_text-    Int32 ->                                -- item_length-    Maybe (T.Text) ->                       -- paragraph_text-    Int32 ->                                -- paragraph_length-    Analysis ->                             -- analysis-    GlyphString ->                          -- glyphs-    m ()-shapeFull item_text item_length paragraph_text paragraph_length analysis glyphs = liftIO $ do-    item_text' <- textToCString item_text-    maybeParagraph_text <- case paragraph_text of-        Nothing -> return nullPtr-        Just jParagraph_text -> do-            jParagraph_text' <- textToCString jParagraph_text-            return jParagraph_text'-    let analysis' = unsafeManagedPtrGetPtr analysis-    let glyphs' = unsafeManagedPtrGetPtr glyphs-    pango_shape_full item_text' item_length maybeParagraph_text paragraph_length analysis' glyphs'-    touchManagedPtr analysis-    touchManagedPtr glyphs-    freeMem item_text'-    freeMem maybeParagraph_text-    return ()---- function pango_skip_space--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- Lengths : []--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]--- returnType : TBasicType TBoolean--- throws : False--- Skip return : False--foreign import ccall "pango_skip_space" pango_skip_space :: -    Ptr CString ->                          -- pos : TBasicType TUTF8-    IO CInt---skipSpace ::-    (MonadIO m) =>-    T.Text ->                               -- pos-    m (Bool,T.Text)-skipSpace pos = liftIO $ do-    pos' <- textToCString pos-    pos'' <- allocMem :: IO (Ptr CString)-    poke pos'' pos'-    result <- pango_skip_space pos''-    let result' = (/= 0) result-    pos''' <- peek pos''-    pos'''' <- cstringToText pos'''-    freeMem pos'''-    freeMem pos''-    return (result', pos'''')---- function pango_split_file_list--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "pango_split_file_list" pango_split_file_list :: -    CString ->                              -- str : TBasicType TUTF8-    IO (Ptr CString)---splitFileList ::-    (MonadIO m) =>-    T.Text ->                               -- str-    m [T.Text]-splitFileList str = liftIO $ do-    str' <- textToCString str-    result <- pango_split_file_list str'-    checkUnexpectedReturnNULL "pango_split_file_list" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    freeMem str'-    return result'---- function pango_trim_string--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_trim_string" pango_trim_string :: -    CString ->                              -- str : TBasicType TUTF8-    IO CString---trimString ::-    (MonadIO m) =>-    T.Text ->                               -- str-    m T.Text-trimString str = liftIO $ do-    str' <- textToCString str-    result <- pango_trim_string str'-    checkUnexpectedReturnNULL "pango_trim_string" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'---- function pango_unichar_direction--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TInterface "Pango" "Direction"--- throws : False--- Skip return : False--foreign import ccall "pango_unichar_direction" pango_unichar_direction :: -    CInt ->                                 -- ch : TBasicType TUniChar-    IO CUInt---unicharDirection ::-    (MonadIO m) =>-    Char ->                                 -- ch-    m Direction-unicharDirection ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- pango_unichar_direction ch'-    let result' = (toEnum . fromIntegral) result-    return result'---- function pango_units_from_double--- Args : [Arg {argName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_units_from_double" pango_units_from_double :: -    CDouble ->                              -- d : TBasicType TDouble-    IO Int32---unitsFromDouble ::-    (MonadIO m) =>-    Double ->                               -- d-    m Int32-unitsFromDouble d = liftIO $ do-    let d' = realToFrac d-    result <- pango_units_from_double d'-    return result---- function pango_units_to_double--- Args : [Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TDouble--- throws : False--- Skip return : False--foreign import ccall "pango_units_to_double" pango_units_to_double :: -    Int32 ->                                -- i : TBasicType TInt32-    IO CDouble---unitsToDouble ::-    (MonadIO m) =>-    Int32 ->                                -- i-    m Double-unitsToDouble i = liftIO $ do-    result <- pango_units_to_double i-    let result' = realToFrac result-    return result'---- function pango_version--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TBasicType TInt32--- throws : False--- Skip return : False--foreign import ccall "pango_version" pango_version :: -    IO Int32---version ::-    (MonadIO m) =>-    m Int32-version  = liftIO $ do-    result <- pango_version-    return result---- function pango_version_check--- Args : [Arg {argName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- Lengths : []--- hInArgs : [Arg {argName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_version_check" pango_version_check :: -    Int32 ->                                -- required_major : TBasicType TInt32-    Int32 ->                                -- required_minor : TBasicType TInt32-    Int32 ->                                -- required_micro : TBasicType TInt32-    IO CString---versionCheck ::-    (MonadIO m) =>-    Int32 ->                                -- required_major-    Int32 ->                                -- required_minor-    Int32 ->                                -- required_micro-    m T.Text-versionCheck required_major required_minor required_micro = liftIO $ do-    result <- pango_version_check required_major required_minor required_micro-    checkUnexpectedReturnNULL "pango_version_check" result-    result' <- cstringToText result-    return result'---- function pango_version_string--- Args : []--- Lengths : []--- hInArgs : []--- returnType : TBasicType TUTF8--- throws : False--- Skip return : False--foreign import ccall "pango_version_string" pango_version_string :: -    IO CString---versionString ::-    (MonadIO m) =>-    m T.Text-versionString  = liftIO $ do-    result <- pango_version_string-    checkUnexpectedReturnNULL "pango_version_string" result-    result' <- cstringToText result-    return result'---- callback AttrClassDestroyFieldCallback-attrClassDestroyFieldCallbackClosure :: AttrClassDestroyFieldCallback -> IO Closure-attrClassDestroyFieldCallbackClosure cb = newCClosure =<< mkAttrClassDestroyFieldCallback wrapped-    where wrapped = attrClassDestroyFieldCallbackWrapper Nothing cb--type AttrClassDestroyFieldCallbackC =-    Ptr Attribute ->-    IO ()--foreign import ccall "wrapper"-    mkAttrClassDestroyFieldCallback :: AttrClassDestroyFieldCallbackC -> IO (FunPtr AttrClassDestroyFieldCallbackC)--type AttrClassDestroyFieldCallback =-    Attribute ->-    IO ()--noAttrClassDestroyFieldCallback :: Maybe AttrClassDestroyFieldCallback-noAttrClassDestroyFieldCallback = Nothing--attrClassDestroyFieldCallbackWrapper ::-    Maybe (Ptr (FunPtr (AttrClassDestroyFieldCallbackC))) ->-    AttrClassDestroyFieldCallback ->-    Ptr Attribute ->-    IO ()-attrClassDestroyFieldCallbackWrapper funptrptr _cb attr = do-    attr' <- (newPtr 16 Attribute) attr-    _cb  attr'-    maybeReleaseFunPtr funptrptr---- callback AttrClassEqualFieldCallback-attrClassEqualFieldCallbackClosure :: AttrClassEqualFieldCallback -> IO Closure-attrClassEqualFieldCallbackClosure cb = newCClosure =<< mkAttrClassEqualFieldCallback wrapped-    where wrapped = attrClassEqualFieldCallbackWrapper Nothing cb--type AttrClassEqualFieldCallbackC =-    Ptr Attribute ->-    Ptr Attribute ->-    IO CInt--foreign import ccall "wrapper"-    mkAttrClassEqualFieldCallback :: AttrClassEqualFieldCallbackC -> IO (FunPtr AttrClassEqualFieldCallbackC)--type AttrClassEqualFieldCallback =-    Attribute ->-    Attribute ->-    IO Bool--noAttrClassEqualFieldCallback :: Maybe AttrClassEqualFieldCallback-noAttrClassEqualFieldCallback = Nothing--attrClassEqualFieldCallbackWrapper ::-    Maybe (Ptr (FunPtr (AttrClassEqualFieldCallbackC))) ->-    AttrClassEqualFieldCallback ->-    Ptr Attribute ->-    Ptr Attribute ->-    IO CInt-attrClassEqualFieldCallbackWrapper funptrptr _cb attr1 attr2 = do-    attr1' <- (newPtr 16 Attribute) attr1-    attr2' <- (newPtr 16 Attribute) attr2-    result <- _cb  attr1' attr2'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'---- callback IncludedModuleListFieldCallback-includedModuleListFieldCallbackClosure :: IncludedModuleListFieldCallback -> IO Closure-includedModuleListFieldCallbackClosure cb = newCClosure =<< mkIncludedModuleListFieldCallback wrapped-    where wrapped = includedModuleListFieldCallbackWrapper Nothing cb--type IncludedModuleListFieldCallbackC =-    Ptr EngineInfo ->-    Int32 ->-    IO ()--foreign import ccall "wrapper"-    mkIncludedModuleListFieldCallback :: IncludedModuleListFieldCallbackC -> IO (FunPtr IncludedModuleListFieldCallbackC)--type IncludedModuleListFieldCallback =-    EngineInfo ->-    Int32 ->-    IO ()--noIncludedModuleListFieldCallback :: Maybe IncludedModuleListFieldCallback-noIncludedModuleListFieldCallback = Nothing--includedModuleListFieldCallbackWrapper ::-    Maybe (Ptr (FunPtr (IncludedModuleListFieldCallbackC))) ->-    IncludedModuleListFieldCallback ->-    Ptr EngineInfo ->-    Int32 ->-    IO ()-includedModuleListFieldCallbackWrapper funptrptr _cb engines n_engines = do-    engines' <- (newPtr 40 EngineInfo) engines-    _cb  engines' n_engines-    maybeReleaseFunPtr funptrptr---- callback IncludedModuleInitFieldCallback-includedModuleInitFieldCallbackClosure :: IncludedModuleInitFieldCallback -> IO Closure-includedModuleInitFieldCallbackClosure cb = newCClosure =<< mkIncludedModuleInitFieldCallback wrapped-    where wrapped = includedModuleInitFieldCallbackWrapper Nothing cb--type IncludedModuleInitFieldCallbackC =-    Ptr GObject.TypeModule ->-    IO ()--foreign import ccall "wrapper"-    mkIncludedModuleInitFieldCallback :: IncludedModuleInitFieldCallbackC -> IO (FunPtr IncludedModuleInitFieldCallbackC)--type IncludedModuleInitFieldCallback =-    GObject.TypeModule ->-    IO ()--noIncludedModuleInitFieldCallback :: Maybe IncludedModuleInitFieldCallback-noIncludedModuleInitFieldCallback = Nothing--includedModuleInitFieldCallbackWrapper ::-    Maybe (Ptr (FunPtr (IncludedModuleInitFieldCallbackC))) ->-    IncludedModuleInitFieldCallback ->-    Ptr GObject.TypeModule ->-    IO ()-includedModuleInitFieldCallbackWrapper funptrptr _cb module_ = do-    module_' <- (newObject GObject.TypeModule) module_-    _cb  module_'-    maybeReleaseFunPtr funptrptr---- callback IncludedModuleExitFieldCallback-includedModuleExitFieldCallbackClosure :: IncludedModuleExitFieldCallback -> IO Closure-includedModuleExitFieldCallbackClosure cb = newCClosure =<< mkIncludedModuleExitFieldCallback wrapped-    where wrapped = includedModuleExitFieldCallbackWrapper Nothing cb--type IncludedModuleExitFieldCallbackC =-    IO ()--foreign import ccall "wrapper"-    mkIncludedModuleExitFieldCallback :: IncludedModuleExitFieldCallbackC -> IO (FunPtr IncludedModuleExitFieldCallbackC)--type IncludedModuleExitFieldCallback =-    IO ()--noIncludedModuleExitFieldCallback :: Maybe IncludedModuleExitFieldCallback-noIncludedModuleExitFieldCallback = Nothing--includedModuleExitFieldCallbackWrapper ::-    Maybe (Ptr (FunPtr (IncludedModuleExitFieldCallbackC))) ->-    IncludedModuleExitFieldCallback ->-    IO ()-includedModuleExitFieldCallbackWrapper funptrptr _cb = do-    _cb -    maybeReleaseFunPtr funptrptr++{- |+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.Pango+    (     module GI.Pango.Callbacks               ,+    module GI.Pango.Constants               ,+    module GI.Pango.Enums                   ,+    module GI.Pango.Flags                   ,+    module GI.Pango.Functions               ,+    module GI.Pango.Objects                 ,+    module GI.Pango.Structs                 ,+++    ) where++import GI.Pango.Callbacks+import GI.Pango.Constants+import GI.Pango.Enums+import GI.Pango.Flags+import GI.Pango.Functions+import GI.Pango.Objects+import GI.Pango.Structs++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.Pango.Types+import GI.Pango.Callbacks+ 
+ GI/Pango/Callbacks.hs view
@@ -0,0 +1,310 @@++{- |+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.Pango.Callbacks+    ( ++ -- * Signals+-- ** AttrClassDestroyFieldCallback+    AttrClassDestroyFieldCallback           ,+    AttrClassDestroyFieldCallbackC          ,+    attrClassDestroyFieldCallbackClosure    ,+    attrClassDestroyFieldCallbackWrapper    ,+    mkAttrClassDestroyFieldCallback         ,+    noAttrClassDestroyFieldCallback         ,+++-- ** AttrClassEqualFieldCallback+    AttrClassEqualFieldCallback             ,+    AttrClassEqualFieldCallbackC            ,+    attrClassEqualFieldCallbackClosure      ,+    attrClassEqualFieldCallbackWrapper      ,+    mkAttrClassEqualFieldCallback           ,+    noAttrClassEqualFieldCallback           ,+++-- ** AttrFilterFunc+    AttrFilterFunc                          ,+    AttrFilterFuncC                         ,+    attrFilterFuncClosure                   ,+    attrFilterFuncWrapper                   ,+    mkAttrFilterFunc                        ,+    noAttrFilterFunc                        ,+++-- ** FontsetForeachFunc+    FontsetForeachFunc                      ,+    FontsetForeachFuncC                     ,+    fontsetForeachFuncClosure               ,+    fontsetForeachFuncWrapper               ,+    mkFontsetForeachFunc                    ,+    noFontsetForeachFunc                    ,+++-- ** IncludedModuleExitFieldCallback+    IncludedModuleExitFieldCallback         ,+    IncludedModuleExitFieldCallbackC        ,+    includedModuleExitFieldCallbackClosure  ,+    includedModuleExitFieldCallbackWrapper  ,+    mkIncludedModuleExitFieldCallback       ,+    noIncludedModuleExitFieldCallback       ,+++-- ** IncludedModuleInitFieldCallback+    IncludedModuleInitFieldCallback         ,+    IncludedModuleInitFieldCallbackC        ,+    includedModuleInitFieldCallbackClosure  ,+    includedModuleInitFieldCallbackWrapper  ,+    mkIncludedModuleInitFieldCallback       ,+    noIncludedModuleInitFieldCallback       ,+++-- ** IncludedModuleListFieldCallback+    IncludedModuleListFieldCallback         ,+    IncludedModuleListFieldCallbackC        ,+    includedModuleListFieldCallbackClosure  ,+    includedModuleListFieldCallbackWrapper  ,+    mkIncludedModuleListFieldCallback       ,+    noIncludedModuleListFieldCallback       ,+++++    ) 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.Pango.Types++import qualified GI.GObject as GObject++-- callback IncludedModuleListFieldCallback+includedModuleListFieldCallbackClosure :: IncludedModuleListFieldCallback -> IO Closure+includedModuleListFieldCallbackClosure cb = newCClosure =<< mkIncludedModuleListFieldCallback wrapped+    where wrapped = includedModuleListFieldCallbackWrapper Nothing cb++type IncludedModuleListFieldCallbackC =+    Ptr EngineInfo ->+    Int32 ->+    IO ()++foreign import ccall "wrapper"+    mkIncludedModuleListFieldCallback :: IncludedModuleListFieldCallbackC -> IO (FunPtr IncludedModuleListFieldCallbackC)++type IncludedModuleListFieldCallback =+    EngineInfo ->+    Int32 ->+    IO ()++noIncludedModuleListFieldCallback :: Maybe IncludedModuleListFieldCallback+noIncludedModuleListFieldCallback = Nothing++includedModuleListFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (IncludedModuleListFieldCallbackC))) ->+    IncludedModuleListFieldCallback ->+    Ptr EngineInfo ->+    Int32 ->+    IO ()+includedModuleListFieldCallbackWrapper funptrptr _cb engines n_engines = do+    engines' <- (newPtr 40 EngineInfo) engines+    _cb  engines' n_engines+    maybeReleaseFunPtr funptrptr++-- callback IncludedModuleInitFieldCallback+includedModuleInitFieldCallbackClosure :: IncludedModuleInitFieldCallback -> IO Closure+includedModuleInitFieldCallbackClosure cb = newCClosure =<< mkIncludedModuleInitFieldCallback wrapped+    where wrapped = includedModuleInitFieldCallbackWrapper Nothing cb++type IncludedModuleInitFieldCallbackC =+    Ptr GObject.TypeModule ->+    IO ()++foreign import ccall "wrapper"+    mkIncludedModuleInitFieldCallback :: IncludedModuleInitFieldCallbackC -> IO (FunPtr IncludedModuleInitFieldCallbackC)++type IncludedModuleInitFieldCallback =+    GObject.TypeModule ->+    IO ()++noIncludedModuleInitFieldCallback :: Maybe IncludedModuleInitFieldCallback+noIncludedModuleInitFieldCallback = Nothing++includedModuleInitFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (IncludedModuleInitFieldCallbackC))) ->+    IncludedModuleInitFieldCallback ->+    Ptr GObject.TypeModule ->+    IO ()+includedModuleInitFieldCallbackWrapper funptrptr _cb module_ = do+    module_' <- (newObject GObject.TypeModule) module_+    _cb  module_'+    maybeReleaseFunPtr funptrptr++-- callback IncludedModuleExitFieldCallback+includedModuleExitFieldCallbackClosure :: IncludedModuleExitFieldCallback -> IO Closure+includedModuleExitFieldCallbackClosure cb = newCClosure =<< mkIncludedModuleExitFieldCallback wrapped+    where wrapped = includedModuleExitFieldCallbackWrapper Nothing cb++type IncludedModuleExitFieldCallbackC =+    IO ()++foreign import ccall "wrapper"+    mkIncludedModuleExitFieldCallback :: IncludedModuleExitFieldCallbackC -> IO (FunPtr IncludedModuleExitFieldCallbackC)++type IncludedModuleExitFieldCallback =+    IO ()++noIncludedModuleExitFieldCallback :: Maybe IncludedModuleExitFieldCallback+noIncludedModuleExitFieldCallback = Nothing++includedModuleExitFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (IncludedModuleExitFieldCallbackC))) ->+    IncludedModuleExitFieldCallback ->+    IO ()+includedModuleExitFieldCallbackWrapper funptrptr _cb = do+    _cb +    maybeReleaseFunPtr funptrptr++-- callback FontsetForeachFunc+fontsetForeachFuncClosure :: FontsetForeachFunc -> IO Closure+fontsetForeachFuncClosure cb = newCClosure =<< mkFontsetForeachFunc wrapped+    where wrapped = fontsetForeachFuncWrapper Nothing cb++type FontsetForeachFuncC =+    Ptr Fontset ->+    Ptr Font ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkFontsetForeachFunc :: FontsetForeachFuncC -> IO (FunPtr FontsetForeachFuncC)++type FontsetForeachFunc =+    Fontset ->+    Font ->+    IO Bool++noFontsetForeachFunc :: Maybe FontsetForeachFunc+noFontsetForeachFunc = Nothing++fontsetForeachFuncWrapper ::+    Maybe (Ptr (FunPtr (FontsetForeachFuncC))) ->+    FontsetForeachFunc ->+    Ptr Fontset ->+    Ptr Font ->+    Ptr () ->+    IO CInt+fontsetForeachFuncWrapper funptrptr _cb fontset font _ = do+    fontset' <- (newObject Fontset) fontset+    font' <- (newObject Font) font+    result <- _cb  fontset' font'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback AttrFilterFunc+attrFilterFuncClosure :: AttrFilterFunc -> IO Closure+attrFilterFuncClosure cb = newCClosure =<< mkAttrFilterFunc wrapped+    where wrapped = attrFilterFuncWrapper Nothing cb++type AttrFilterFuncC =+    Ptr Attribute ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkAttrFilterFunc :: AttrFilterFuncC -> IO (FunPtr AttrFilterFuncC)++type AttrFilterFunc =+    Attribute ->+    IO Bool++noAttrFilterFunc :: Maybe AttrFilterFunc+noAttrFilterFunc = Nothing++attrFilterFuncWrapper ::+    Maybe (Ptr (FunPtr (AttrFilterFuncC))) ->+    AttrFilterFunc ->+    Ptr Attribute ->+    Ptr () ->+    IO CInt+attrFilterFuncWrapper funptrptr _cb attribute _ = do+    attribute' <- (newPtr 16 Attribute) attribute+    result <- _cb  attribute'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback AttrClassEqualFieldCallback+attrClassEqualFieldCallbackClosure :: AttrClassEqualFieldCallback -> IO Closure+attrClassEqualFieldCallbackClosure cb = newCClosure =<< mkAttrClassEqualFieldCallback wrapped+    where wrapped = attrClassEqualFieldCallbackWrapper Nothing cb++type AttrClassEqualFieldCallbackC =+    Ptr Attribute ->+    Ptr Attribute ->+    IO CInt++foreign import ccall "wrapper"+    mkAttrClassEqualFieldCallback :: AttrClassEqualFieldCallbackC -> IO (FunPtr AttrClassEqualFieldCallbackC)++type AttrClassEqualFieldCallback =+    Attribute ->+    Attribute ->+    IO Bool++noAttrClassEqualFieldCallback :: Maybe AttrClassEqualFieldCallback+noAttrClassEqualFieldCallback = Nothing++attrClassEqualFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (AttrClassEqualFieldCallbackC))) ->+    AttrClassEqualFieldCallback ->+    Ptr Attribute ->+    Ptr Attribute ->+    IO CInt+attrClassEqualFieldCallbackWrapper funptrptr _cb attr1 attr2 = do+    attr1' <- (newPtr 16 Attribute) attr1+    attr2' <- (newPtr 16 Attribute) attr2+    result <- _cb  attr1' attr2'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- callback AttrClassDestroyFieldCallback+attrClassDestroyFieldCallbackClosure :: AttrClassDestroyFieldCallback -> IO Closure+attrClassDestroyFieldCallbackClosure cb = newCClosure =<< mkAttrClassDestroyFieldCallback wrapped+    where wrapped = attrClassDestroyFieldCallbackWrapper Nothing cb++type AttrClassDestroyFieldCallbackC =+    Ptr Attribute ->+    IO ()++foreign import ccall "wrapper"+    mkAttrClassDestroyFieldCallback :: AttrClassDestroyFieldCallbackC -> IO (FunPtr AttrClassDestroyFieldCallbackC)++type AttrClassDestroyFieldCallback =+    Attribute ->+    IO ()++noAttrClassDestroyFieldCallback :: Maybe AttrClassDestroyFieldCallback+noAttrClassDestroyFieldCallback = Nothing++attrClassDestroyFieldCallbackWrapper ::+    Maybe (Ptr (FunPtr (AttrClassDestroyFieldCallbackC))) ->+    AttrClassDestroyFieldCallback ->+    Ptr Attribute ->+    IO ()+attrClassDestroyFieldCallbackWrapper funptrptr _cb attr = do+    attr' <- (newPtr 16 Attribute) attr+    _cb  attr'+    maybeReleaseFunPtr funptrptr++
+ GI/Pango/Constants.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}++{- |+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.Pango.Constants+    ( +    pattern UNKNOWN_GLYPH_WIDTH             ,+    pattern UNKNOWN_GLYPH_HEIGHT            ,+    pattern SCALE                           ,+    pattern RENDER_TYPE_NONE                ,+    pattern GLYPH_UNKNOWN_FLAG              ,+    pattern GLYPH_INVALID_INPUT             ,+    pattern GLYPH_EMPTY                     ,+    pattern ENGINE_TYPE_SHAPE               ,+    pattern ENGINE_TYPE_LANG                ,+    pattern ATTR_INDEX_FROM_TEXT_BEGINNING  ,+    pattern ANALYSIS_FLAG_IS_ELLIPSIS       ,+    pattern ANALYSIS_FLAG_CENTERED_BASELINE ,++    ) 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.Pango.Types+import GI.Pango.Callbacks+++pattern UNKNOWN_GLYPH_WIDTH = 10 :: Int32+++pattern UNKNOWN_GLYPH_HEIGHT = 14 :: Int32+++pattern SCALE = 1024 :: Int32+++pattern RENDER_TYPE_NONE = "PangoRenderNone" :: T.Text+++pattern GLYPH_UNKNOWN_FLAG = 268435456 :: Word32+++pattern GLYPH_INVALID_INPUT = 4294967295 :: Word32+++pattern GLYPH_EMPTY = 268435455 :: Word32+++pattern ENGINE_TYPE_SHAPE = "PangoEngineShape" :: T.Text+++pattern ENGINE_TYPE_LANG = "PangoEngineLang" :: T.Text+++pattern ATTR_INDEX_FROM_TEXT_BEGINNING = 0 :: Int32+++pattern ANALYSIS_FLAG_IS_ELLIPSIS = 2 :: Int32+++pattern ANALYSIS_FLAG_CENTERED_BASELINE = 1 :: Int32++
+ GI/Pango/Enums.hs view
@@ -0,0 +1,920 @@++{- |+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.Pango.Enums+    ( ++-- * Exported types+    WrapMode(..)                            ,+    Weight(..)                              ,+    Variant(..)                             ,+    Underline(..)                           ,+    TabAlign(..)                            ,+    Style(..)                               ,+    Stretch(..)                             ,+    Script(..)                              ,+    RenderPart(..)                          ,+    GravityHint(..)                         ,+    Gravity(..)                             ,+    EllipsizeMode(..)                       ,+    Direction(..)                           ,+    CoverageLevel(..)                       ,+    BidiType(..)                            ,+    AttrType(..)                            ,+    Alignment(..)                           ,+++    ) 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+++++-- Enum WrapMode++data WrapMode = +      WrapModeWord+    | WrapModeChar+    | WrapModeWordChar+    | AnotherWrapMode Int+    deriving (Show, Eq)++instance Enum WrapMode where+    fromEnum WrapModeWord = 0+    fromEnum WrapModeChar = 1+    fromEnum WrapModeWordChar = 2+    fromEnum (AnotherWrapMode k) = k++    toEnum 0 = WrapModeWord+    toEnum 1 = WrapModeChar+    toEnum 2 = WrapModeWordChar+    toEnum k = AnotherWrapMode k++foreign import ccall "pango_wrap_mode_get_type" c_pango_wrap_mode_get_type :: +    IO GType++instance BoxedEnum WrapMode where+    boxedEnumType _ = c_pango_wrap_mode_get_type++-- Enum Weight++data Weight = +      WeightThin+    | WeightUltralight+    | WeightLight+    | WeightSemilight+    | WeightBook+    | WeightNormal+    | WeightMedium+    | WeightSemibold+    | WeightBold+    | WeightUltrabold+    | WeightHeavy+    | WeightUltraheavy+    | AnotherWeight Int+    deriving (Show, Eq)++instance Enum Weight where+    fromEnum WeightThin = 100+    fromEnum WeightUltralight = 200+    fromEnum WeightLight = 300+    fromEnum WeightSemilight = 350+    fromEnum WeightBook = 380+    fromEnum WeightNormal = 400+    fromEnum WeightMedium = 500+    fromEnum WeightSemibold = 600+    fromEnum WeightBold = 700+    fromEnum WeightUltrabold = 800+    fromEnum WeightHeavy = 900+    fromEnum WeightUltraheavy = 1000+    fromEnum (AnotherWeight k) = k++    toEnum 100 = WeightThin+    toEnum 200 = WeightUltralight+    toEnum 300 = WeightLight+    toEnum 350 = WeightSemilight+    toEnum 380 = WeightBook+    toEnum 400 = WeightNormal+    toEnum 500 = WeightMedium+    toEnum 600 = WeightSemibold+    toEnum 700 = WeightBold+    toEnum 800 = WeightUltrabold+    toEnum 900 = WeightHeavy+    toEnum 1000 = WeightUltraheavy+    toEnum k = AnotherWeight k++foreign import ccall "pango_weight_get_type" c_pango_weight_get_type :: +    IO GType++instance BoxedEnum Weight where+    boxedEnumType _ = c_pango_weight_get_type++-- Enum Variant++data Variant = +      VariantNormal+    | VariantSmallCaps+    | AnotherVariant Int+    deriving (Show, Eq)++instance Enum Variant where+    fromEnum VariantNormal = 0+    fromEnum VariantSmallCaps = 1+    fromEnum (AnotherVariant k) = k++    toEnum 0 = VariantNormal+    toEnum 1 = VariantSmallCaps+    toEnum k = AnotherVariant k++foreign import ccall "pango_variant_get_type" c_pango_variant_get_type :: +    IO GType++instance BoxedEnum Variant where+    boxedEnumType _ = c_pango_variant_get_type++-- Enum Underline++data Underline = +      UnderlineNone+    | UnderlineSingle+    | UnderlineDouble+    | UnderlineLow+    | UnderlineError+    | AnotherUnderline Int+    deriving (Show, Eq)++instance Enum Underline where+    fromEnum UnderlineNone = 0+    fromEnum UnderlineSingle = 1+    fromEnum UnderlineDouble = 2+    fromEnum UnderlineLow = 3+    fromEnum UnderlineError = 4+    fromEnum (AnotherUnderline k) = k++    toEnum 0 = UnderlineNone+    toEnum 1 = UnderlineSingle+    toEnum 2 = UnderlineDouble+    toEnum 3 = UnderlineLow+    toEnum 4 = UnderlineError+    toEnum k = AnotherUnderline k++foreign import ccall "pango_underline_get_type" c_pango_underline_get_type :: +    IO GType++instance BoxedEnum Underline where+    boxedEnumType _ = c_pango_underline_get_type++-- Enum TabAlign++data TabAlign = +      TabAlignLeft+    | AnotherTabAlign Int+    deriving (Show, Eq)++instance Enum TabAlign where+    fromEnum TabAlignLeft = 0+    fromEnum (AnotherTabAlign k) = k++    toEnum 0 = TabAlignLeft+    toEnum k = AnotherTabAlign k++foreign import ccall "pango_tab_align_get_type" c_pango_tab_align_get_type :: +    IO GType++instance BoxedEnum TabAlign where+    boxedEnumType _ = c_pango_tab_align_get_type++-- Enum Style++data Style = +      StyleNormal+    | StyleOblique+    | StyleItalic+    | AnotherStyle Int+    deriving (Show, Eq)++instance Enum Style where+    fromEnum StyleNormal = 0+    fromEnum StyleOblique = 1+    fromEnum StyleItalic = 2+    fromEnum (AnotherStyle k) = k++    toEnum 0 = StyleNormal+    toEnum 1 = StyleOblique+    toEnum 2 = StyleItalic+    toEnum k = AnotherStyle k++foreign import ccall "pango_style_get_type" c_pango_style_get_type :: +    IO GType++instance BoxedEnum Style where+    boxedEnumType _ = c_pango_style_get_type++-- Enum Stretch++data Stretch = +      StretchUltraCondensed+    | StretchExtraCondensed+    | StretchCondensed+    | StretchSemiCondensed+    | StretchNormal+    | StretchSemiExpanded+    | StretchExpanded+    | StretchExtraExpanded+    | StretchUltraExpanded+    | AnotherStretch Int+    deriving (Show, Eq)++instance Enum Stretch where+    fromEnum StretchUltraCondensed = 0+    fromEnum StretchExtraCondensed = 1+    fromEnum StretchCondensed = 2+    fromEnum StretchSemiCondensed = 3+    fromEnum StretchNormal = 4+    fromEnum StretchSemiExpanded = 5+    fromEnum StretchExpanded = 6+    fromEnum StretchExtraExpanded = 7+    fromEnum StretchUltraExpanded = 8+    fromEnum (AnotherStretch k) = k++    toEnum 0 = StretchUltraCondensed+    toEnum 1 = StretchExtraCondensed+    toEnum 2 = StretchCondensed+    toEnum 3 = StretchSemiCondensed+    toEnum 4 = StretchNormal+    toEnum 5 = StretchSemiExpanded+    toEnum 6 = StretchExpanded+    toEnum 7 = StretchExtraExpanded+    toEnum 8 = StretchUltraExpanded+    toEnum k = AnotherStretch k++foreign import ccall "pango_stretch_get_type" c_pango_stretch_get_type :: +    IO GType++instance BoxedEnum Stretch where+    boxedEnumType _ = c_pango_stretch_get_type++-- Enum Script++data Script = +      ScriptInvalidCode+    | ScriptCommon+    | ScriptInherited+    | ScriptArabic+    | ScriptArmenian+    | ScriptBengali+    | ScriptBopomofo+    | ScriptCherokee+    | ScriptCoptic+    | ScriptCyrillic+    | ScriptDeseret+    | ScriptDevanagari+    | ScriptEthiopic+    | ScriptGeorgian+    | ScriptGothic+    | ScriptGreek+    | ScriptGujarati+    | ScriptGurmukhi+    | ScriptHan+    | ScriptHangul+    | ScriptHebrew+    | ScriptHiragana+    | ScriptKannada+    | ScriptKatakana+    | ScriptKhmer+    | ScriptLao+    | ScriptLatin+    | ScriptMalayalam+    | ScriptMongolian+    | ScriptMyanmar+    | ScriptOgham+    | ScriptOldItalic+    | ScriptOriya+    | ScriptRunic+    | ScriptSinhala+    | ScriptSyriac+    | ScriptTamil+    | ScriptTelugu+    | ScriptThaana+    | ScriptThai+    | ScriptTibetan+    | ScriptCanadianAboriginal+    | ScriptYi+    | ScriptTagalog+    | ScriptHanunoo+    | ScriptBuhid+    | ScriptTagbanwa+    | ScriptBraille+    | ScriptCypriot+    | ScriptLimbu+    | ScriptOsmanya+    | ScriptShavian+    | ScriptLinearB+    | ScriptTaiLe+    | ScriptUgaritic+    | ScriptNewTaiLue+    | ScriptBuginese+    | ScriptGlagolitic+    | ScriptTifinagh+    | ScriptSylotiNagri+    | ScriptOldPersian+    | ScriptKharoshthi+    | ScriptUnknown+    | ScriptBalinese+    | ScriptCuneiform+    | ScriptPhoenician+    | ScriptPhagsPa+    | ScriptNko+    | ScriptKayahLi+    | ScriptLepcha+    | ScriptRejang+    | ScriptSundanese+    | ScriptSaurashtra+    | ScriptCham+    | ScriptOlChiki+    | ScriptVai+    | ScriptCarian+    | ScriptLycian+    | ScriptLydian+    | ScriptBatak+    | ScriptBrahmi+    | ScriptMandaic+    | ScriptChakma+    | ScriptMeroiticCursive+    | ScriptMeroiticHieroglyphs+    | ScriptMiao+    | ScriptSharada+    | ScriptSoraSompeng+    | ScriptTakri+    | AnotherScript Int+    deriving (Show, Eq)++instance Enum Script where+    fromEnum ScriptInvalidCode = -1+    fromEnum ScriptCommon = 0+    fromEnum ScriptInherited = 1+    fromEnum ScriptArabic = 2+    fromEnum ScriptArmenian = 3+    fromEnum ScriptBengali = 4+    fromEnum ScriptBopomofo = 5+    fromEnum ScriptCherokee = 6+    fromEnum ScriptCoptic = 7+    fromEnum ScriptCyrillic = 8+    fromEnum ScriptDeseret = 9+    fromEnum ScriptDevanagari = 10+    fromEnum ScriptEthiopic = 11+    fromEnum ScriptGeorgian = 12+    fromEnum ScriptGothic = 13+    fromEnum ScriptGreek = 14+    fromEnum ScriptGujarati = 15+    fromEnum ScriptGurmukhi = 16+    fromEnum ScriptHan = 17+    fromEnum ScriptHangul = 18+    fromEnum ScriptHebrew = 19+    fromEnum ScriptHiragana = 20+    fromEnum ScriptKannada = 21+    fromEnum ScriptKatakana = 22+    fromEnum ScriptKhmer = 23+    fromEnum ScriptLao = 24+    fromEnum ScriptLatin = 25+    fromEnum ScriptMalayalam = 26+    fromEnum ScriptMongolian = 27+    fromEnum ScriptMyanmar = 28+    fromEnum ScriptOgham = 29+    fromEnum ScriptOldItalic = 30+    fromEnum ScriptOriya = 31+    fromEnum ScriptRunic = 32+    fromEnum ScriptSinhala = 33+    fromEnum ScriptSyriac = 34+    fromEnum ScriptTamil = 35+    fromEnum ScriptTelugu = 36+    fromEnum ScriptThaana = 37+    fromEnum ScriptThai = 38+    fromEnum ScriptTibetan = 39+    fromEnum ScriptCanadianAboriginal = 40+    fromEnum ScriptYi = 41+    fromEnum ScriptTagalog = 42+    fromEnum ScriptHanunoo = 43+    fromEnum ScriptBuhid = 44+    fromEnum ScriptTagbanwa = 45+    fromEnum ScriptBraille = 46+    fromEnum ScriptCypriot = 47+    fromEnum ScriptLimbu = 48+    fromEnum ScriptOsmanya = 49+    fromEnum ScriptShavian = 50+    fromEnum ScriptLinearB = 51+    fromEnum ScriptTaiLe = 52+    fromEnum ScriptUgaritic = 53+    fromEnum ScriptNewTaiLue = 54+    fromEnum ScriptBuginese = 55+    fromEnum ScriptGlagolitic = 56+    fromEnum ScriptTifinagh = 57+    fromEnum ScriptSylotiNagri = 58+    fromEnum ScriptOldPersian = 59+    fromEnum ScriptKharoshthi = 60+    fromEnum ScriptUnknown = 61+    fromEnum ScriptBalinese = 62+    fromEnum ScriptCuneiform = 63+    fromEnum ScriptPhoenician = 64+    fromEnum ScriptPhagsPa = 65+    fromEnum ScriptNko = 66+    fromEnum ScriptKayahLi = 67+    fromEnum ScriptLepcha = 68+    fromEnum ScriptRejang = 69+    fromEnum ScriptSundanese = 70+    fromEnum ScriptSaurashtra = 71+    fromEnum ScriptCham = 72+    fromEnum ScriptOlChiki = 73+    fromEnum ScriptVai = 74+    fromEnum ScriptCarian = 75+    fromEnum ScriptLycian = 76+    fromEnum ScriptLydian = 77+    fromEnum ScriptBatak = 78+    fromEnum ScriptBrahmi = 79+    fromEnum ScriptMandaic = 80+    fromEnum ScriptChakma = 81+    fromEnum ScriptMeroiticCursive = 82+    fromEnum ScriptMeroiticHieroglyphs = 83+    fromEnum ScriptMiao = 84+    fromEnum ScriptSharada = 85+    fromEnum ScriptSoraSompeng = 86+    fromEnum ScriptTakri = 87+    fromEnum (AnotherScript k) = k++    toEnum -1 = ScriptInvalidCode+    toEnum 0 = ScriptCommon+    toEnum 1 = ScriptInherited+    toEnum 2 = ScriptArabic+    toEnum 3 = ScriptArmenian+    toEnum 4 = ScriptBengali+    toEnum 5 = ScriptBopomofo+    toEnum 6 = ScriptCherokee+    toEnum 7 = ScriptCoptic+    toEnum 8 = ScriptCyrillic+    toEnum 9 = ScriptDeseret+    toEnum 10 = ScriptDevanagari+    toEnum 11 = ScriptEthiopic+    toEnum 12 = ScriptGeorgian+    toEnum 13 = ScriptGothic+    toEnum 14 = ScriptGreek+    toEnum 15 = ScriptGujarati+    toEnum 16 = ScriptGurmukhi+    toEnum 17 = ScriptHan+    toEnum 18 = ScriptHangul+    toEnum 19 = ScriptHebrew+    toEnum 20 = ScriptHiragana+    toEnum 21 = ScriptKannada+    toEnum 22 = ScriptKatakana+    toEnum 23 = ScriptKhmer+    toEnum 24 = ScriptLao+    toEnum 25 = ScriptLatin+    toEnum 26 = ScriptMalayalam+    toEnum 27 = ScriptMongolian+    toEnum 28 = ScriptMyanmar+    toEnum 29 = ScriptOgham+    toEnum 30 = ScriptOldItalic+    toEnum 31 = ScriptOriya+    toEnum 32 = ScriptRunic+    toEnum 33 = ScriptSinhala+    toEnum 34 = ScriptSyriac+    toEnum 35 = ScriptTamil+    toEnum 36 = ScriptTelugu+    toEnum 37 = ScriptThaana+    toEnum 38 = ScriptThai+    toEnum 39 = ScriptTibetan+    toEnum 40 = ScriptCanadianAboriginal+    toEnum 41 = ScriptYi+    toEnum 42 = ScriptTagalog+    toEnum 43 = ScriptHanunoo+    toEnum 44 = ScriptBuhid+    toEnum 45 = ScriptTagbanwa+    toEnum 46 = ScriptBraille+    toEnum 47 = ScriptCypriot+    toEnum 48 = ScriptLimbu+    toEnum 49 = ScriptOsmanya+    toEnum 50 = ScriptShavian+    toEnum 51 = ScriptLinearB+    toEnum 52 = ScriptTaiLe+    toEnum 53 = ScriptUgaritic+    toEnum 54 = ScriptNewTaiLue+    toEnum 55 = ScriptBuginese+    toEnum 56 = ScriptGlagolitic+    toEnum 57 = ScriptTifinagh+    toEnum 58 = ScriptSylotiNagri+    toEnum 59 = ScriptOldPersian+    toEnum 60 = ScriptKharoshthi+    toEnum 61 = ScriptUnknown+    toEnum 62 = ScriptBalinese+    toEnum 63 = ScriptCuneiform+    toEnum 64 = ScriptPhoenician+    toEnum 65 = ScriptPhagsPa+    toEnum 66 = ScriptNko+    toEnum 67 = ScriptKayahLi+    toEnum 68 = ScriptLepcha+    toEnum 69 = ScriptRejang+    toEnum 70 = ScriptSundanese+    toEnum 71 = ScriptSaurashtra+    toEnum 72 = ScriptCham+    toEnum 73 = ScriptOlChiki+    toEnum 74 = ScriptVai+    toEnum 75 = ScriptCarian+    toEnum 76 = ScriptLycian+    toEnum 77 = ScriptLydian+    toEnum 78 = ScriptBatak+    toEnum 79 = ScriptBrahmi+    toEnum 80 = ScriptMandaic+    toEnum 81 = ScriptChakma+    toEnum 82 = ScriptMeroiticCursive+    toEnum 83 = ScriptMeroiticHieroglyphs+    toEnum 84 = ScriptMiao+    toEnum 85 = ScriptSharada+    toEnum 86 = ScriptSoraSompeng+    toEnum 87 = ScriptTakri+    toEnum k = AnotherScript k++foreign import ccall "pango_script_get_type" c_pango_script_get_type :: +    IO GType++instance BoxedEnum Script where+    boxedEnumType _ = c_pango_script_get_type++-- Enum RenderPart++data RenderPart = +      RenderPartForeground+    | RenderPartBackground+    | RenderPartUnderline+    | RenderPartStrikethrough+    | AnotherRenderPart Int+    deriving (Show, Eq)++instance Enum RenderPart where+    fromEnum RenderPartForeground = 0+    fromEnum RenderPartBackground = 1+    fromEnum RenderPartUnderline = 2+    fromEnum RenderPartStrikethrough = 3+    fromEnum (AnotherRenderPart k) = k++    toEnum 0 = RenderPartForeground+    toEnum 1 = RenderPartBackground+    toEnum 2 = RenderPartUnderline+    toEnum 3 = RenderPartStrikethrough+    toEnum k = AnotherRenderPart k++foreign import ccall "pango_render_part_get_type" c_pango_render_part_get_type :: +    IO GType++instance BoxedEnum RenderPart where+    boxedEnumType _ = c_pango_render_part_get_type++-- Enum GravityHint++data GravityHint = +      GravityHintNatural+    | GravityHintStrong+    | GravityHintLine+    | AnotherGravityHint Int+    deriving (Show, Eq)++instance Enum GravityHint where+    fromEnum GravityHintNatural = 0+    fromEnum GravityHintStrong = 1+    fromEnum GravityHintLine = 2+    fromEnum (AnotherGravityHint k) = k++    toEnum 0 = GravityHintNatural+    toEnum 1 = GravityHintStrong+    toEnum 2 = GravityHintLine+    toEnum k = AnotherGravityHint k++foreign import ccall "pango_gravity_hint_get_type" c_pango_gravity_hint_get_type :: +    IO GType++instance BoxedEnum GravityHint where+    boxedEnumType _ = c_pango_gravity_hint_get_type++-- Enum Gravity++data Gravity = +      GravitySouth+    | GravityEast+    | GravityNorth+    | GravityWest+    | GravityAuto+    | AnotherGravity Int+    deriving (Show, Eq)++instance Enum Gravity where+    fromEnum GravitySouth = 0+    fromEnum GravityEast = 1+    fromEnum GravityNorth = 2+    fromEnum GravityWest = 3+    fromEnum GravityAuto = 4+    fromEnum (AnotherGravity k) = k++    toEnum 0 = GravitySouth+    toEnum 1 = GravityEast+    toEnum 2 = GravityNorth+    toEnum 3 = GravityWest+    toEnum 4 = GravityAuto+    toEnum k = AnotherGravity k++foreign import ccall "pango_gravity_get_type" c_pango_gravity_get_type :: +    IO GType++instance BoxedEnum Gravity where+    boxedEnumType _ = c_pango_gravity_get_type++-- Enum EllipsizeMode++data EllipsizeMode = +      EllipsizeModeNone+    | EllipsizeModeStart+    | EllipsizeModeMiddle+    | EllipsizeModeEnd+    | AnotherEllipsizeMode Int+    deriving (Show, Eq)++instance Enum EllipsizeMode where+    fromEnum EllipsizeModeNone = 0+    fromEnum EllipsizeModeStart = 1+    fromEnum EllipsizeModeMiddle = 2+    fromEnum EllipsizeModeEnd = 3+    fromEnum (AnotherEllipsizeMode k) = k++    toEnum 0 = EllipsizeModeNone+    toEnum 1 = EllipsizeModeStart+    toEnum 2 = EllipsizeModeMiddle+    toEnum 3 = EllipsizeModeEnd+    toEnum k = AnotherEllipsizeMode k++foreign import ccall "pango_ellipsize_mode_get_type" c_pango_ellipsize_mode_get_type :: +    IO GType++instance BoxedEnum EllipsizeMode where+    boxedEnumType _ = c_pango_ellipsize_mode_get_type++-- Enum Direction++data Direction = +      DirectionLtr+    | DirectionRtl+    | DirectionTtbLtr+    | DirectionTtbRtl+    | DirectionWeakLtr+    | DirectionWeakRtl+    | DirectionNeutral+    | AnotherDirection Int+    deriving (Show, Eq)++instance Enum Direction where+    fromEnum DirectionLtr = 0+    fromEnum DirectionRtl = 1+    fromEnum DirectionTtbLtr = 2+    fromEnum DirectionTtbRtl = 3+    fromEnum DirectionWeakLtr = 4+    fromEnum DirectionWeakRtl = 5+    fromEnum DirectionNeutral = 6+    fromEnum (AnotherDirection k) = k++    toEnum 0 = DirectionLtr+    toEnum 1 = DirectionRtl+    toEnum 2 = DirectionTtbLtr+    toEnum 3 = DirectionTtbRtl+    toEnum 4 = DirectionWeakLtr+    toEnum 5 = DirectionWeakRtl+    toEnum 6 = DirectionNeutral+    toEnum k = AnotherDirection k++foreign import ccall "pango_direction_get_type" c_pango_direction_get_type :: +    IO GType++instance BoxedEnum Direction where+    boxedEnumType _ = c_pango_direction_get_type++-- Enum CoverageLevel++data CoverageLevel = +      CoverageLevelNone+    | CoverageLevelFallback+    | CoverageLevelApproximate+    | CoverageLevelExact+    | AnotherCoverageLevel Int+    deriving (Show, Eq)++instance Enum CoverageLevel where+    fromEnum CoverageLevelNone = 0+    fromEnum CoverageLevelFallback = 1+    fromEnum CoverageLevelApproximate = 2+    fromEnum CoverageLevelExact = 3+    fromEnum (AnotherCoverageLevel k) = k++    toEnum 0 = CoverageLevelNone+    toEnum 1 = CoverageLevelFallback+    toEnum 2 = CoverageLevelApproximate+    toEnum 3 = CoverageLevelExact+    toEnum k = AnotherCoverageLevel k++foreign import ccall "pango_coverage_level_get_type" c_pango_coverage_level_get_type :: +    IO GType++instance BoxedEnum CoverageLevel where+    boxedEnumType _ = c_pango_coverage_level_get_type++-- Enum BidiType++data BidiType = +      BidiTypeL+    | BidiTypeLre+    | BidiTypeLro+    | BidiTypeR+    | BidiTypeAl+    | BidiTypeRle+    | BidiTypeRlo+    | BidiTypePdf+    | BidiTypeEn+    | BidiTypeEs+    | BidiTypeEt+    | BidiTypeAn+    | BidiTypeCs+    | BidiTypeNsm+    | BidiTypeBn+    | BidiTypeB+    | BidiTypeS+    | BidiTypeWs+    | BidiTypeOn+    | AnotherBidiType Int+    deriving (Show, Eq)++instance Enum BidiType where+    fromEnum BidiTypeL = 0+    fromEnum BidiTypeLre = 1+    fromEnum BidiTypeLro = 2+    fromEnum BidiTypeR = 3+    fromEnum BidiTypeAl = 4+    fromEnum BidiTypeRle = 5+    fromEnum BidiTypeRlo = 6+    fromEnum BidiTypePdf = 7+    fromEnum BidiTypeEn = 8+    fromEnum BidiTypeEs = 9+    fromEnum BidiTypeEt = 10+    fromEnum BidiTypeAn = 11+    fromEnum BidiTypeCs = 12+    fromEnum BidiTypeNsm = 13+    fromEnum BidiTypeBn = 14+    fromEnum BidiTypeB = 15+    fromEnum BidiTypeS = 16+    fromEnum BidiTypeWs = 17+    fromEnum BidiTypeOn = 18+    fromEnum (AnotherBidiType k) = k++    toEnum 0 = BidiTypeL+    toEnum 1 = BidiTypeLre+    toEnum 2 = BidiTypeLro+    toEnum 3 = BidiTypeR+    toEnum 4 = BidiTypeAl+    toEnum 5 = BidiTypeRle+    toEnum 6 = BidiTypeRlo+    toEnum 7 = BidiTypePdf+    toEnum 8 = BidiTypeEn+    toEnum 9 = BidiTypeEs+    toEnum 10 = BidiTypeEt+    toEnum 11 = BidiTypeAn+    toEnum 12 = BidiTypeCs+    toEnum 13 = BidiTypeNsm+    toEnum 14 = BidiTypeBn+    toEnum 15 = BidiTypeB+    toEnum 16 = BidiTypeS+    toEnum 17 = BidiTypeWs+    toEnum 18 = BidiTypeOn+    toEnum k = AnotherBidiType k++foreign import ccall "pango_bidi_type_get_type" c_pango_bidi_type_get_type :: +    IO GType++instance BoxedEnum BidiType where+    boxedEnumType _ = c_pango_bidi_type_get_type++-- Enum AttrType++data AttrType = +      AttrTypeInvalid+    | AttrTypeLanguage+    | AttrTypeFamily+    | AttrTypeStyle+    | AttrTypeWeight+    | AttrTypeVariant+    | AttrTypeStretch+    | AttrTypeSize+    | AttrTypeFontDesc+    | AttrTypeForeground+    | AttrTypeBackground+    | AttrTypeUnderline+    | AttrTypeStrikethrough+    | AttrTypeRise+    | AttrTypeShape+    | AttrTypeScale+    | AttrTypeFallback+    | AttrTypeLetterSpacing+    | AttrTypeUnderlineColor+    | AttrTypeStrikethroughColor+    | AttrTypeAbsoluteSize+    | AttrTypeGravity+    | AttrTypeGravityHint+    | AnotherAttrType Int+    deriving (Show, Eq)++instance Enum AttrType where+    fromEnum AttrTypeInvalid = 0+    fromEnum AttrTypeLanguage = 1+    fromEnum AttrTypeFamily = 2+    fromEnum AttrTypeStyle = 3+    fromEnum AttrTypeWeight = 4+    fromEnum AttrTypeVariant = 5+    fromEnum AttrTypeStretch = 6+    fromEnum AttrTypeSize = 7+    fromEnum AttrTypeFontDesc = 8+    fromEnum AttrTypeForeground = 9+    fromEnum AttrTypeBackground = 10+    fromEnum AttrTypeUnderline = 11+    fromEnum AttrTypeStrikethrough = 12+    fromEnum AttrTypeRise = 13+    fromEnum AttrTypeShape = 14+    fromEnum AttrTypeScale = 15+    fromEnum AttrTypeFallback = 16+    fromEnum AttrTypeLetterSpacing = 17+    fromEnum AttrTypeUnderlineColor = 18+    fromEnum AttrTypeStrikethroughColor = 19+    fromEnum AttrTypeAbsoluteSize = 20+    fromEnum AttrTypeGravity = 21+    fromEnum AttrTypeGravityHint = 22+    fromEnum (AnotherAttrType k) = k++    toEnum 0 = AttrTypeInvalid+    toEnum 1 = AttrTypeLanguage+    toEnum 2 = AttrTypeFamily+    toEnum 3 = AttrTypeStyle+    toEnum 4 = AttrTypeWeight+    toEnum 5 = AttrTypeVariant+    toEnum 6 = AttrTypeStretch+    toEnum 7 = AttrTypeSize+    toEnum 8 = AttrTypeFontDesc+    toEnum 9 = AttrTypeForeground+    toEnum 10 = AttrTypeBackground+    toEnum 11 = AttrTypeUnderline+    toEnum 12 = AttrTypeStrikethrough+    toEnum 13 = AttrTypeRise+    toEnum 14 = AttrTypeShape+    toEnum 15 = AttrTypeScale+    toEnum 16 = AttrTypeFallback+    toEnum 17 = AttrTypeLetterSpacing+    toEnum 18 = AttrTypeUnderlineColor+    toEnum 19 = AttrTypeStrikethroughColor+    toEnum 20 = AttrTypeAbsoluteSize+    toEnum 21 = AttrTypeGravity+    toEnum 22 = AttrTypeGravityHint+    toEnum k = AnotherAttrType k++foreign import ccall "pango_attr_type_get_type" c_pango_attr_type_get_type :: +    IO GType++instance BoxedEnum AttrType where+    boxedEnumType _ = c_pango_attr_type_get_type++-- Enum Alignment++data Alignment = +      AlignmentLeft+    | AlignmentCenter+    | AlignmentRight+    | AnotherAlignment Int+    deriving (Show, Eq)++instance Enum Alignment where+    fromEnum AlignmentLeft = 0+    fromEnum AlignmentCenter = 1+    fromEnum AlignmentRight = 2+    fromEnum (AnotherAlignment k) = k++    toEnum 0 = AlignmentLeft+    toEnum 1 = AlignmentCenter+    toEnum 2 = AlignmentRight+    toEnum k = AnotherAlignment k++foreign import ccall "pango_alignment_get_type" c_pango_alignment_get_type :: +    IO GType++instance BoxedEnum Alignment where+    boxedEnumType _ = c_pango_alignment_get_type++
+ GI/Pango/Flags.hs view
@@ -0,0 +1,67 @@++{- |+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.Pango.Flags+    ( ++-- * Exported types+    FontMask(..)                            ,+++    ) 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+++++-- Flags FontMask++data FontMask = +      FontMaskFamily+    | FontMaskStyle+    | FontMaskVariant+    | FontMaskWeight+    | FontMaskStretch+    | FontMaskSize+    | FontMaskGravity+    | AnotherFontMask Int+    deriving (Show, Eq)++instance Enum FontMask where+    fromEnum FontMaskFamily = 1+    fromEnum FontMaskStyle = 2+    fromEnum FontMaskVariant = 4+    fromEnum FontMaskWeight = 8+    fromEnum FontMaskStretch = 16+    fromEnum FontMaskSize = 32+    fromEnum FontMaskGravity = 64+    fromEnum (AnotherFontMask k) = k++    toEnum 1 = FontMaskFamily+    toEnum 2 = FontMaskStyle+    toEnum 4 = FontMaskVariant+    toEnum 8 = FontMaskWeight+    toEnum 16 = FontMaskStretch+    toEnum 32 = FontMaskSize+    toEnum 64 = FontMaskGravity+    toEnum k = AnotherFontMask k++foreign import ccall "pango_font_mask_get_type" c_pango_font_mask_get_type :: +    IO GType++instance BoxedEnum FontMask where+    boxedEnumType _ = c_pango_font_mask_get_type++instance IsGFlag FontMask++
+ GI/Pango/Functions.hs view
@@ -0,0 +1,1895 @@++{- |+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.Pango.Functions+    ( ++ -- * Methods+-- ** attrTypeGetName+    attrTypeGetName                         ,+++-- ** attrTypeRegister+    attrTypeRegister                        ,+++-- ** bidiTypeForUnichar+    bidiTypeForUnichar                      ,+++-- ** break+    break                                   ,+++-- ** configKeyGet+    configKeyGet                            ,+++-- ** configKeyGetSystem+    configKeyGetSystem                      ,+++-- ** defaultBreak+    defaultBreak                            ,+++-- ** extentsToPixels+    extentsToPixels                         ,+++-- ** findBaseDir+    findBaseDir                             ,+++-- ** findParagraphBoundary+    findParagraphBoundary                   ,+++-- ** fontDescriptionFromString+    fontDescriptionFromString               ,+++-- ** getLibSubdirectory+    getLibSubdirectory                      ,+++-- ** getLogAttrs+    getLogAttrs                             ,+++-- ** getMirrorChar+    getMirrorChar                           ,+++-- ** getSysconfSubdirectory+    getSysconfSubdirectory                  ,+++-- ** gravityGetForMatrix+    gravityGetForMatrix                     ,+++-- ** gravityGetForScript+    gravityGetForScript                     ,+++-- ** gravityGetForScriptAndWidth+    gravityGetForScriptAndWidth             ,+++-- ** gravityToRotation+    gravityToRotation                       ,+++-- ** isZeroWidth+    isZeroWidth                             ,+++-- ** itemize+    itemize                                 ,+++-- ** itemizeWithBaseDir+    itemizeWithBaseDir                      ,+++-- ** languageFromString+    languageFromString                      ,+++-- ** languageGetDefault+    languageGetDefault                      ,+++-- ** log2visGetEmbeddingLevels+    log2visGetEmbeddingLevels               ,+++-- ** lookupAliases+    lookupAliases                           ,+++-- ** markupParserFinish+    markupParserFinish                      ,+++-- ** markupParserNew+    markupParserNew                         ,+++-- ** moduleRegister+    moduleRegister                          ,+++-- ** parseEnum+    parseEnum                               ,+++-- ** parseMarkup+    parseMarkup                             ,+++-- ** parseStretch+    parseStretch                            ,+++-- ** parseStyle+    parseStyle                              ,+++-- ** parseVariant+    parseVariant                            ,+++-- ** parseWeight+    parseWeight                             ,+++-- ** quantizeLineGeometry+    quantizeLineGeometry                    ,+++-- ** readLine+    readLine                                ,+++-- ** reorderItems+    reorderItems                            ,+++-- ** scanInt+    scanInt                                 ,+++-- ** scanString+    scanString                              ,+++-- ** scanWord+    scanWord                                ,+++-- ** scriptForUnichar+    scriptForUnichar                        ,+++-- ** scriptGetSampleLanguage+    scriptGetSampleLanguage                 ,+++-- ** shape+    shape                                   ,+++-- ** shapeFull+    shapeFull                               ,+++-- ** skipSpace+    skipSpace                               ,+++-- ** splitFileList+    splitFileList                           ,+++-- ** trimString+    trimString                              ,+++-- ** unicharDirection+    unicharDirection                        ,+++-- ** unitsFromDouble+    unitsFromDouble                         ,+++-- ** unitsToDouble+    unitsToDouble                           ,+++-- ** version+    version                                 ,+++-- ** versionCheck+    versionCheck                            ,+++-- ** versionString+    versionString                           ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GLib as GLib++-- function pango_version_string+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_version_string" pango_version_string :: +    IO CString+++versionString ::+    (MonadIO m) =>+    m T.Text+versionString  = liftIO $ do+    result <- pango_version_string+    checkUnexpectedReturnNULL "pango_version_string" result+    result' <- cstringToText result+    return result'+++-- function pango_version_check+-- Args : [Arg {argName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_version_check" pango_version_check :: +    Int32 ->                                -- required_major : TBasicType TInt32+    Int32 ->                                -- required_minor : TBasicType TInt32+    Int32 ->                                -- required_micro : TBasicType TInt32+    IO CString+++versionCheck ::+    (MonadIO m) =>+    Int32 ->                                -- required_major+    Int32 ->                                -- required_minor+    Int32 ->                                -- required_micro+    m T.Text+versionCheck required_major required_minor required_micro = liftIO $ do+    result <- pango_version_check required_major required_minor required_micro+    checkUnexpectedReturnNULL "pango_version_check" result+    result' <- cstringToText result+    return result'+++-- function pango_version+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_version" pango_version :: +    IO Int32+++version ::+    (MonadIO m) =>+    m Int32+version  = liftIO $ do+    result <- pango_version+    return result+++-- function pango_units_to_double+-- Args : [Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TDouble+-- throws : False+-- Skip return : False++foreign import ccall "pango_units_to_double" pango_units_to_double :: +    Int32 ->                                -- i : TBasicType TInt32+    IO CDouble+++unitsToDouble ::+    (MonadIO m) =>+    Int32 ->                                -- i+    m Double+unitsToDouble i = liftIO $ do+    result <- pango_units_to_double i+    let result' = realToFrac result+    return result'+++-- function pango_units_from_double+-- Args : [Arg {argName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_units_from_double" pango_units_from_double :: +    CDouble ->                              -- d : TBasicType TDouble+    IO Int32+++unitsFromDouble ::+    (MonadIO m) =>+    Double ->                               -- d+    m Int32+unitsFromDouble d = liftIO $ do+    let d' = realToFrac d+    result <- pango_units_from_double d'+    return result+++-- function pango_unichar_direction+-- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Direction"+-- throws : False+-- Skip return : False++foreign import ccall "pango_unichar_direction" pango_unichar_direction :: +    CInt ->                                 -- ch : TBasicType TUniChar+    IO CUInt+++unicharDirection ::+    (MonadIO m) =>+    Char ->                                 -- ch+    m Direction+unicharDirection ch = liftIO $ do+    let ch' = (fromIntegral . ord) ch+    result <- pango_unichar_direction ch'+    let result' = (toEnum . fromIntegral) result+    return result'+++-- function pango_trim_string+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_trim_string" pango_trim_string :: +    CString ->                              -- str : TBasicType TUTF8+    IO CString+++trimString ::+    (MonadIO m) =>+    T.Text ->                               -- str+    m T.Text+trimString str = liftIO $ do+    str' <- textToCString str+    result <- pango_trim_string str'+    checkUnexpectedReturnNULL "pango_trim_string" result+    result' <- cstringToText result+    freeMem result+    freeMem str'+    return result'+++-- function pango_split_file_list+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "pango_split_file_list" pango_split_file_list :: +    CString ->                              -- str : TBasicType TUTF8+    IO (Ptr CString)+++splitFileList ::+    (MonadIO m) =>+    T.Text ->                               -- str+    m [T.Text]+splitFileList str = liftIO $ do+    str' <- textToCString str+    result <- pango_split_file_list str'+    checkUnexpectedReturnNULL "pango_split_file_list" result+    result' <- unpackZeroTerminatedUTF8CArray result+    mapZeroTerminatedCArray freeMem result+    freeMem result+    freeMem str'+    return result'+++-- function pango_skip_space+-- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_skip_space" pango_skip_space :: +    Ptr CString ->                          -- pos : TBasicType TUTF8+    IO CInt+++skipSpace ::+    (MonadIO m) =>+    T.Text ->                               -- pos+    m (Bool,T.Text)+skipSpace pos = liftIO $ do+    pos' <- textToCString pos+    pos'' <- allocMem :: IO (Ptr CString)+    poke pos'' pos'+    result <- pango_skip_space pos''+    let result' = (/= 0) result+    pos''' <- peek pos''+    pos'''' <- cstringToText pos'''+    freeMem pos'''+    freeMem pos''+    return (result', pos'''')+++-- function pango_shape_full+-- Args : [Arg {argName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_shape_full" pango_shape_full :: +    CString ->                              -- item_text : TBasicType TUTF8+    Int32 ->                                -- item_length : TBasicType TInt32+    CString ->                              -- paragraph_text : TBasicType TUTF8+    Int32 ->                                -- paragraph_length : TBasicType TInt32+    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"+    Ptr GlyphString ->                      -- glyphs : TInterface "Pango" "GlyphString"+    IO ()+++shapeFull ::+    (MonadIO m) =>+    T.Text ->                               -- item_text+    Int32 ->                                -- item_length+    Maybe (T.Text) ->                       -- paragraph_text+    Int32 ->                                -- paragraph_length+    Analysis ->                             -- analysis+    GlyphString ->                          -- glyphs+    m ()+shapeFull item_text item_length paragraph_text paragraph_length analysis glyphs = liftIO $ do+    item_text' <- textToCString item_text+    maybeParagraph_text <- case paragraph_text of+        Nothing -> return nullPtr+        Just jParagraph_text -> do+            jParagraph_text' <- textToCString jParagraph_text+            return jParagraph_text'+    let analysis' = unsafeManagedPtrGetPtr analysis+    let glyphs' = unsafeManagedPtrGetPtr glyphs+    pango_shape_full item_text' item_length maybeParagraph_text paragraph_length analysis' glyphs'+    touchManagedPtr analysis+    touchManagedPtr glyphs+    freeMem item_text'+    freeMem maybeParagraph_text+    return ()+++-- function pango_shape+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_shape" pango_shape :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"+    Ptr GlyphString ->                      -- glyphs : TInterface "Pango" "GlyphString"+    IO ()+++shape ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    Analysis ->                             -- analysis+    GlyphString ->                          -- glyphs+    m ()+shape text length_ analysis glyphs = liftIO $ do+    text' <- textToCString text+    let analysis' = unsafeManagedPtrGetPtr analysis+    let glyphs' = unsafeManagedPtrGetPtr glyphs+    pango_shape text' length_ analysis' glyphs'+    touchManagedPtr analysis+    touchManagedPtr glyphs+    freeMem text'+    return ()+++-- function pango_script_get_sample_language+-- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Language"+-- throws : False+-- Skip return : False++foreign import ccall "pango_script_get_sample_language" pango_script_get_sample_language :: +    CUInt ->                                -- script : TInterface "Pango" "Script"+    IO (Ptr Language)+++scriptGetSampleLanguage ::+    (MonadIO m) =>+    Script ->                               -- script+    m Language+scriptGetSampleLanguage script = liftIO $ do+    let script' = (fromIntegral . fromEnum) script+    result <- pango_script_get_sample_language script'+    checkUnexpectedReturnNULL "pango_script_get_sample_language" result+    result' <- (wrapBoxed Language) result+    return result'+++-- function pango_script_for_unichar+-- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Script"+-- throws : False+-- Skip return : False++foreign import ccall "pango_script_for_unichar" pango_script_for_unichar :: +    CInt ->                                 -- ch : TBasicType TUniChar+    IO CUInt+++scriptForUnichar ::+    (MonadIO m) =>+    Char ->                                 -- ch+    m Script+scriptForUnichar ch = liftIO $ do+    let ch' = (fromIntegral . ord) ch+    result <- pango_script_for_unichar ch'+    let result' = (toEnum . fromIntegral) result+    return result'+++-- function pango_scan_word+-- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_scan_word" pango_scan_word :: +    Ptr CString ->                          -- pos : TBasicType TUTF8+    Ptr GLib.String ->                      -- out : TInterface "GLib" "String"+    IO CInt+++scanWord ::+    (MonadIO m) =>+    T.Text ->                               -- pos+    m (Bool,T.Text,GLib.String)+scanWord pos = liftIO $ do+    pos' <- textToCString pos+    pos'' <- allocMem :: IO (Ptr CString)+    poke pos'' pos'+    out <- callocBoxedBytes 24 :: IO (Ptr GLib.String)+    result <- pango_scan_word pos'' out+    let result' = (/= 0) result+    pos''' <- peek pos''+    pos'''' <- cstringToText pos'''+    freeMem pos'''+    out' <- (wrapBoxed GLib.String) out+    freeMem pos''+    return (result', pos'''', out')+++-- function pango_scan_string+-- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_scan_string" pango_scan_string :: +    Ptr CString ->                          -- pos : TBasicType TUTF8+    Ptr GLib.String ->                      -- out : TInterface "GLib" "String"+    IO CInt+++scanString ::+    (MonadIO m) =>+    T.Text ->                               -- pos+    m (Bool,T.Text,GLib.String)+scanString pos = liftIO $ do+    pos' <- textToCString pos+    pos'' <- allocMem :: IO (Ptr CString)+    poke pos'' pos'+    out <- callocBoxedBytes 24 :: IO (Ptr GLib.String)+    result <- pango_scan_string pos'' out+    let result' = (/= 0) result+    pos''' <- peek pos''+    pos'''' <- cstringToText pos'''+    freeMem pos'''+    out' <- (wrapBoxed GLib.String) out+    freeMem pos''+    return (result', pos'''', out')+++-- function pango_scan_int+-- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_scan_int" pango_scan_int :: +    Ptr CString ->                          -- pos : TBasicType TUTF8+    Ptr Int32 ->                            -- out : TBasicType TInt32+    IO CInt+++scanInt ::+    (MonadIO m) =>+    T.Text ->                               -- pos+    m (Bool,T.Text,Int32)+scanInt pos = liftIO $ do+    pos' <- textToCString pos+    pos'' <- allocMem :: IO (Ptr CString)+    poke pos'' pos'+    out <- allocMem :: IO (Ptr Int32)+    result <- pango_scan_int pos'' out+    let result' = (/= 0) result+    pos''' <- peek pos''+    pos'''' <- cstringToText pos'''+    freeMem pos'''+    out' <- peek out+    freeMem pos''+    freeMem out+    return (result', pos'''', out')+++-- function pango_reorder_items+-- Args : [Arg {argName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Pango" "Item")+-- throws : False+-- Skip return : False++foreign import ccall "pango_reorder_items" pango_reorder_items :: +    Ptr (GList (Ptr Item)) ->               -- logical_items : TGList (TInterface "Pango" "Item")+    IO (Ptr (GList (Ptr Item)))+++reorderItems ::+    (MonadIO m) =>+    [Item] ->                               -- logical_items+    m [Item]+reorderItems logical_items = liftIO $ do+    let logical_items' = map unsafeManagedPtrGetPtr logical_items+    logical_items'' <- packGList logical_items'+    result <- pango_reorder_items logical_items''+    checkUnexpectedReturnNULL "pango_reorder_items" result+    result' <- unpackGList result+    result'' <- mapM (wrapBoxed Item) result'+    g_list_free result+    mapM_ touchManagedPtr logical_items+    g_list_free logical_items''+    return result''+++-- function pango_read_line+-- Args : [Arg {argName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_read_line" pango_read_line :: +    Ptr () ->                               -- stream : TBasicType TVoid+    Ptr GLib.String ->                      -- str : TInterface "GLib" "String"+    IO Int32+++readLine ::+    (MonadIO m) =>+    Ptr () ->                               -- stream+    m (Int32,GLib.String)+readLine stream = liftIO $ do+    str <- callocBoxedBytes 24 :: IO (Ptr GLib.String)+    result <- pango_read_line stream str+    str' <- (wrapBoxed GLib.String) str+    return (result, str')+++-- function pango_quantize_line_geometry+-- Args : [Arg {argName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_quantize_line_geometry" pango_quantize_line_geometry :: +    Ptr Int32 ->                            -- thickness : TBasicType TInt32+    Ptr Int32 ->                            -- position : TBasicType TInt32+    IO ()+++quantizeLineGeometry ::+    (MonadIO m) =>+    Int32 ->                                -- thickness+    Int32 ->                                -- position+    m (Int32,Int32)+quantizeLineGeometry thickness position = liftIO $ do+    thickness' <- allocMem :: IO (Ptr Int32)+    poke thickness' thickness+    position' <- allocMem :: IO (Ptr Int32)+    poke position' position+    pango_quantize_line_geometry thickness' position'+    thickness'' <- peek thickness'+    position'' <- peek position'+    freeMem thickness'+    freeMem position'+    return (thickness'', position'')+++-- function pango_parse_weight+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_parse_weight" pango_parse_weight :: +    CString ->                              -- str : TBasicType TUTF8+    Ptr CUInt ->                            -- weight : TInterface "Pango" "Weight"+    CInt ->                                 -- warn : TBasicType TBoolean+    IO CInt+++parseWeight ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Bool ->                                 -- warn+    m (Bool,Weight)+parseWeight str warn = liftIO $ do+    str' <- textToCString str+    weight <- allocMem :: IO (Ptr CUInt)+    let warn' = (fromIntegral . fromEnum) warn+    result <- pango_parse_weight str' weight warn'+    let result' = (/= 0) result+    weight' <- peek weight+    let weight'' = (toEnum . fromIntegral) weight'+    freeMem str'+    freeMem weight+    return (result', weight'')+++-- function pango_parse_variant+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_parse_variant" pango_parse_variant :: +    CString ->                              -- str : TBasicType TUTF8+    Ptr CUInt ->                            -- variant : TInterface "Pango" "Variant"+    CInt ->                                 -- warn : TBasicType TBoolean+    IO CInt+++parseVariant ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Bool ->                                 -- warn+    m (Bool,Variant)+parseVariant str warn = liftIO $ do+    str' <- textToCString str+    variant <- allocMem :: IO (Ptr CUInt)+    let warn' = (fromIntegral . fromEnum) warn+    result <- pango_parse_variant str' variant warn'+    let result' = (/= 0) result+    variant' <- peek variant+    let variant'' = (toEnum . fromIntegral) variant'+    freeMem str'+    freeMem variant+    return (result', variant'')+++-- function pango_parse_style+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_parse_style" pango_parse_style :: +    CString ->                              -- str : TBasicType TUTF8+    Ptr CUInt ->                            -- style : TInterface "Pango" "Style"+    CInt ->                                 -- warn : TBasicType TBoolean+    IO CInt+++parseStyle ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Bool ->                                 -- warn+    m (Bool,Style)+parseStyle str warn = liftIO $ do+    str' <- textToCString str+    style <- allocMem :: IO (Ptr CUInt)+    let warn' = (fromIntegral . fromEnum) warn+    result <- pango_parse_style str' style warn'+    let result' = (/= 0) result+    style' <- peek style+    let style'' = (toEnum . fromIntegral) style'+    freeMem str'+    freeMem style+    return (result', style'')+++-- function pango_parse_stretch+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_parse_stretch" pango_parse_stretch :: +    CString ->                              -- str : TBasicType TUTF8+    Ptr CUInt ->                            -- stretch : TInterface "Pango" "Stretch"+    CInt ->                                 -- warn : TBasicType TBoolean+    IO CInt+++parseStretch ::+    (MonadIO m) =>+    T.Text ->                               -- str+    Bool ->                                 -- warn+    m (Bool,Stretch)+parseStretch str warn = liftIO $ do+    str' <- textToCString str+    stretch <- allocMem :: IO (Ptr CUInt)+    let warn' = (fromIntegral . fromEnum) warn+    result <- pango_parse_stretch str' stretch warn'+    let result' = (/= 0) result+    stretch' <- peek stretch+    let stretch'' = (toEnum . fromIntegral) stretch'+    freeMem str'+    freeMem stretch+    return (result', stretch'')+++-- function pango_parse_markup+-- Args : [Arg {argName = "markup_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr_list", argType = TInterface "Pango" "AttrList", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "markup_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "pango_parse_markup" pango_parse_markup :: +    CString ->                              -- markup_text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    CInt ->                                 -- accel_marker : TBasicType TUniChar+    Ptr (Ptr AttrList) ->                   -- attr_list : TInterface "Pango" "AttrList"+    Ptr CString ->                          -- text : TBasicType TUTF8+    Ptr CInt ->                             -- accel_char : TBasicType TUniChar+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++parseMarkup ::+    (MonadIO m) =>+    T.Text ->                               -- markup_text+    Int32 ->                                -- length+    Char ->                                 -- accel_marker+    m (AttrList,T.Text,Char)+parseMarkup markup_text length_ accel_marker = liftIO $ do+    markup_text' <- textToCString markup_text+    let accel_marker' = (fromIntegral . ord) accel_marker+    attr_list <- allocMem :: IO (Ptr (Ptr AttrList))+    text <- allocMem :: IO (Ptr CString)+    accel_char <- allocMem :: IO (Ptr CInt)+    onException (do+        _ <- propagateGError $ pango_parse_markup markup_text' length_ accel_marker' attr_list text accel_char+        attr_list' <- peek attr_list+        attr_list'' <- (wrapBoxed AttrList) attr_list'+        text' <- peek text+        text'' <- cstringToText text'+        freeMem text'+        accel_char' <- peek accel_char+        let accel_char'' = (chr . fromIntegral) accel_char'+        freeMem markup_text'+        freeMem attr_list+        freeMem text+        freeMem accel_char+        return (attr_list'', text'', accel_char'')+     ) (do+        freeMem markup_text'+        freeMem attr_list+        freeMem text+        freeMem accel_char+     )+++-- function pango_parse_enum+-- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_values", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_parse_enum" pango_parse_enum :: +    CGType ->                               -- type : TBasicType TGType+    CString ->                              -- str : TBasicType TUTF8+    Ptr Int32 ->                            -- value : TBasicType TInt32+    CInt ->                                 -- warn : TBasicType TBoolean+    Ptr CString ->                          -- possible_values : TBasicType TUTF8+    IO CInt+++parseEnum ::+    (MonadIO m) =>+    GType ->                                -- type+    Maybe (T.Text) ->                       -- str+    Bool ->                                 -- warn+    m (Bool,Int32,T.Text)+parseEnum type_ str warn = liftIO $ do+    let type_' = gtypeToCGType type_+    maybeStr <- case str of+        Nothing -> return nullPtr+        Just jStr -> do+            jStr' <- textToCString jStr+            return jStr'+    value <- allocMem :: IO (Ptr Int32)+    let warn' = (fromIntegral . fromEnum) warn+    possible_values <- allocMem :: IO (Ptr CString)+    result <- pango_parse_enum type_' maybeStr value warn' possible_values+    let result' = (/= 0) result+    value' <- peek value+    possible_values' <- peek possible_values+    possible_values'' <- cstringToText possible_values'+    freeMem possible_values'+    freeMem maybeStr+    freeMem value+    freeMem possible_values+    return (result', value', possible_values'')+++-- function pango_module_register+-- Args : [Arg {argName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_module_register" pango_module_register :: +    Ptr IncludedModule ->                   -- module : TInterface "Pango" "IncludedModule"+    IO ()+++moduleRegister ::+    (MonadIO m) =>+    IncludedModule ->                       -- module+    m ()+moduleRegister module_ = liftIO $ do+    let module_' = unsafeManagedPtrGetPtr module_+    pango_module_register module_'+    touchManagedPtr module_+    return ()+++-- function pango_markup_parser_new+-- Args : [Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "GLib" "MarkupParseContext"+-- throws : False+-- Skip return : False++foreign import ccall "pango_markup_parser_new" pango_markup_parser_new :: +    CInt ->                                 -- accel_marker : TBasicType TUniChar+    IO (Ptr GLib.MarkupParseContext)+++markupParserNew ::+    (MonadIO m) =>+    Char ->                                 -- accel_marker+    m GLib.MarkupParseContext+markupParserNew accel_marker = liftIO $ do+    let accel_marker' = (fromIntegral . ord) accel_marker+    result <- pango_markup_parser_new accel_marker'+    checkUnexpectedReturnNULL "pango_markup_parser_new" result+    result' <- (newBoxed GLib.MarkupParseContext) result+    return result'+++-- function pango_markup_parser_finish+-- Args : [Arg {argName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr_list", argType = TInterface "Pango" "AttrList", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : True+-- Skip return : False++foreign import ccall "pango_markup_parser_finish" pango_markup_parser_finish :: +    Ptr GLib.MarkupParseContext ->          -- context : TInterface "GLib" "MarkupParseContext"+    Ptr (Ptr AttrList) ->                   -- attr_list : TInterface "Pango" "AttrList"+    Ptr CString ->                          -- text : TBasicType TUTF8+    Ptr CInt ->                             -- accel_char : TBasicType TUniChar+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++markupParserFinish ::+    (MonadIO m) =>+    GLib.MarkupParseContext ->              -- context+    m (AttrList,T.Text,Char)+markupParserFinish context = liftIO $ do+    let context' = unsafeManagedPtrGetPtr context+    attr_list <- allocMem :: IO (Ptr (Ptr AttrList))+    text <- allocMem :: IO (Ptr CString)+    accel_char <- allocMem :: IO (Ptr CInt)+    onException (do+        _ <- propagateGError $ pango_markup_parser_finish context' attr_list text accel_char+        attr_list' <- peek attr_list+        attr_list'' <- (wrapBoxed AttrList) attr_list'+        text' <- peek text+        text'' <- cstringToText text'+        freeMem text'+        accel_char' <- peek accel_char+        let accel_char'' = (chr . fromIntegral) accel_char'+        touchManagedPtr context+        freeMem attr_list+        freeMem text+        freeMem accel_char+        return (attr_list'', text'', accel_char'')+     ) (do+        freeMem attr_list+        freeMem text+        freeMem accel_char+     )+++-- function pango_lookup_aliases+-- Args : [Arg {argName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_lookup_aliases" pango_lookup_aliases :: +    CString ->                              -- fontname : TBasicType TUTF8+    Ptr (Ptr CString) ->                    -- families : TCArray False (-1) 2 (TBasicType TUTF8)+    Ptr Int32 ->                            -- n_families : TBasicType TInt32+    IO ()++{-# DEPRECATED lookupAliases ["(Since version 1.32)","This function is not thread-safe."]#-}+lookupAliases ::+    (MonadIO m) =>+    T.Text ->                               -- fontname+    m ([T.Text])+lookupAliases fontname = liftIO $ do+    fontname' <- textToCString fontname+    families <- allocMem :: IO (Ptr (Ptr CString))+    n_families <- allocMem :: IO (Ptr Int32)+    pango_lookup_aliases fontname' families n_families+    n_families' <- peek n_families+    families' <- peek families+    families'' <- (unpackUTF8CArrayWithLength n_families') families'+    (mapCArrayWithLength n_families') freeMem families'+    freeMem families'+    freeMem fontname'+    freeMem families+    freeMem n_families+    return families''+++-- function pango_log2vis_get_embedding_levels+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt8+-- throws : False+-- Skip return : False++foreign import ccall "pango_log2vis_get_embedding_levels" pango_log2vis_get_embedding_levels :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    CUInt ->                                -- pbase_dir : TInterface "Pango" "Direction"+    IO Word8+++log2visGetEmbeddingLevels ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    Direction ->                            -- pbase_dir+    m Word8+log2visGetEmbeddingLevels text length_ pbase_dir = liftIO $ do+    text' <- textToCString text+    let pbase_dir' = (fromIntegral . fromEnum) pbase_dir+    result <- pango_log2vis_get_embedding_levels text' length_ pbase_dir'+    freeMem text'+    return result+++-- function pango_language_get_default+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "Language"+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_get_default" pango_language_get_default :: +    IO (Ptr Language)+++languageGetDefault ::+    (MonadIO m) =>+    m Language+languageGetDefault  = liftIO $ do+    result <- pango_language_get_default+    checkUnexpectedReturnNULL "pango_language_get_default" result+    result' <- (newBoxed Language) result+    return result'+++-- function pango_language_from_string+-- Args : [Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Language"+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_from_string" pango_language_from_string :: +    CString ->                              -- language : TBasicType TUTF8+    IO (Ptr Language)+++languageFromString ::+    (MonadIO m) =>+    Maybe (T.Text) ->                       -- language+    m Language+languageFromString language = liftIO $ do+    maybeLanguage <- case language of+        Nothing -> return nullPtr+        Just jLanguage -> do+            jLanguage' <- textToCString jLanguage+            return jLanguage'+    result <- pango_language_from_string maybeLanguage+    checkUnexpectedReturnNULL "pango_language_from_string" result+    result' <- (newBoxed Language) result+    freeMem maybeLanguage+    return result'+++-- function pango_itemize_with_base_dir+-- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Pango" "Item")+-- throws : False+-- Skip return : False++foreign import ccall "pango_itemize_with_base_dir" pango_itemize_with_base_dir :: +    Ptr Context ->                          -- context : TInterface "Pango" "Context"+    CUInt ->                                -- base_dir : TInterface "Pango" "Direction"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- start_index : TBasicType TInt32+    Int32 ->                                -- length : TBasicType TInt32+    Ptr AttrList ->                         -- attrs : TInterface "Pango" "AttrList"+    Ptr AttrIterator ->                     -- cached_iter : TInterface "Pango" "AttrIterator"+    IO (Ptr (GList (Ptr Item)))+++itemizeWithBaseDir ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- context+    Direction ->                            -- base_dir+    T.Text ->                               -- text+    Int32 ->                                -- start_index+    Int32 ->                                -- length+    AttrList ->                             -- attrs+    Maybe (AttrIterator) ->                 -- cached_iter+    m [Item]+itemizeWithBaseDir context base_dir text start_index length_ attrs cached_iter = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    let base_dir' = (fromIntegral . fromEnum) base_dir+    text' <- textToCString text+    let attrs' = unsafeManagedPtrGetPtr attrs+    maybeCached_iter <- case cached_iter of+        Nothing -> return nullPtr+        Just jCached_iter -> do+            let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter+            return jCached_iter'+    result <- pango_itemize_with_base_dir context' base_dir' text' start_index length_ attrs' maybeCached_iter+    checkUnexpectedReturnNULL "pango_itemize_with_base_dir" result+    result' <- unpackGList result+    result'' <- mapM (wrapBoxed Item) result'+    g_list_free result+    touchManagedPtr context+    touchManagedPtr attrs+    whenJust cached_iter touchManagedPtr+    freeMem text'+    return result''+++-- function pango_itemize+-- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGList (TInterface "Pango" "Item")+-- throws : False+-- Skip return : False++foreign import ccall "pango_itemize" pango_itemize :: +    Ptr Context ->                          -- context : TInterface "Pango" "Context"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- start_index : TBasicType TInt32+    Int32 ->                                -- length : TBasicType TInt32+    Ptr AttrList ->                         -- attrs : TInterface "Pango" "AttrList"+    Ptr AttrIterator ->                     -- cached_iter : TInterface "Pango" "AttrIterator"+    IO (Ptr (GList (Ptr Item)))+++itemize ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- context+    T.Text ->                               -- text+    Int32 ->                                -- start_index+    Int32 ->                                -- length+    AttrList ->                             -- attrs+    Maybe (AttrIterator) ->                 -- cached_iter+    m [Item]+itemize context text start_index length_ attrs cached_iter = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    text' <- textToCString text+    let attrs' = unsafeManagedPtrGetPtr attrs+    maybeCached_iter <- case cached_iter of+        Nothing -> return nullPtr+        Just jCached_iter -> do+            let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter+            return jCached_iter'+    result <- pango_itemize context' text' start_index length_ attrs' maybeCached_iter+    checkUnexpectedReturnNULL "pango_itemize" result+    result' <- unpackGList result+    result'' <- mapM (wrapBoxed Item) result'+    g_list_free result+    touchManagedPtr context+    touchManagedPtr attrs+    whenJust cached_iter touchManagedPtr+    freeMem text'+    return result''+++-- function pango_is_zero_width+-- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_is_zero_width" pango_is_zero_width :: +    CInt ->                                 -- ch : TBasicType TUniChar+    IO CInt+++isZeroWidth ::+    (MonadIO m) =>+    Char ->                                 -- ch+    m Bool+isZeroWidth ch = liftIO $ do+    let ch' = (fromIntegral . ord) ch+    result <- pango_is_zero_width ch'+    let result' = (/= 0) result+    return result'+++-- function pango_gravity_to_rotation+-- Args : [Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TDouble+-- throws : False+-- Skip return : False++foreign import ccall "pango_gravity_to_rotation" pango_gravity_to_rotation :: +    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"+    IO CDouble+++gravityToRotation ::+    (MonadIO m) =>+    Gravity ->                              -- gravity+    m Double+gravityToRotation gravity = liftIO $ do+    let gravity' = (fromIntegral . fromEnum) gravity+    result <- pango_gravity_to_rotation gravity'+    let result' = realToFrac result+    return result'+++-- function pango_gravity_get_for_script_and_width+-- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Gravity"+-- throws : False+-- Skip return : False++foreign import ccall "pango_gravity_get_for_script_and_width" pango_gravity_get_for_script_and_width :: +    CUInt ->                                -- script : TInterface "Pango" "Script"+    CInt ->                                 -- wide : TBasicType TBoolean+    CUInt ->                                -- base_gravity : TInterface "Pango" "Gravity"+    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"+    IO CUInt+++gravityGetForScriptAndWidth ::+    (MonadIO m) =>+    Script ->                               -- script+    Bool ->                                 -- wide+    Gravity ->                              -- base_gravity+    GravityHint ->                          -- hint+    m Gravity+gravityGetForScriptAndWidth script wide base_gravity hint = liftIO $ do+    let script' = (fromIntegral . fromEnum) script+    let wide' = (fromIntegral . fromEnum) wide+    let base_gravity' = (fromIntegral . fromEnum) base_gravity+    let hint' = (fromIntegral . fromEnum) hint+    result <- pango_gravity_get_for_script_and_width script' wide' base_gravity' hint'+    let result' = (toEnum . fromIntegral) result+    return result'+++-- function pango_gravity_get_for_script+-- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Gravity"+-- throws : False+-- Skip return : False++foreign import ccall "pango_gravity_get_for_script" pango_gravity_get_for_script :: +    CUInt ->                                -- script : TInterface "Pango" "Script"+    CUInt ->                                -- base_gravity : TInterface "Pango" "Gravity"+    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"+    IO CUInt+++gravityGetForScript ::+    (MonadIO m) =>+    Script ->                               -- script+    Gravity ->                              -- base_gravity+    GravityHint ->                          -- hint+    m Gravity+gravityGetForScript script base_gravity hint = liftIO $ do+    let script' = (fromIntegral . fromEnum) script+    let base_gravity' = (fromIntegral . fromEnum) base_gravity+    let hint' = (fromIntegral . fromEnum) hint+    result <- pango_gravity_get_for_script script' base_gravity' hint'+    let result' = (toEnum . fromIntegral) result+    return result'+++-- function pango_gravity_get_for_matrix+-- Args : [Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Gravity"+-- throws : False+-- Skip return : False++foreign import ccall "pango_gravity_get_for_matrix" pango_gravity_get_for_matrix :: +    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"+    IO CUInt+++gravityGetForMatrix ::+    (MonadIO m) =>+    Matrix ->                               -- matrix+    m Gravity+gravityGetForMatrix matrix = liftIO $ do+    let matrix' = unsafeManagedPtrGetPtr matrix+    result <- pango_gravity_get_for_matrix matrix'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr matrix+    return result'+++-- function pango_get_sysconf_subdirectory+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_get_sysconf_subdirectory" pango_get_sysconf_subdirectory :: +    IO CString+++getSysconfSubdirectory ::+    (MonadIO m) =>+    m T.Text+getSysconfSubdirectory  = liftIO $ do+    result <- pango_get_sysconf_subdirectory+    checkUnexpectedReturnNULL "pango_get_sysconf_subdirectory" result+    result' <- cstringToText result+    return result'+++-- function pango_get_mirror_char+-- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_get_mirror_char" pango_get_mirror_char :: +    CInt ->                                 -- ch : TBasicType TUniChar+    CInt ->                                 -- mirrored_ch : TBasicType TUniChar+    IO CInt+++getMirrorChar ::+    (MonadIO m) =>+    Char ->                                 -- ch+    Char ->                                 -- mirrored_ch+    m Bool+getMirrorChar ch mirrored_ch = liftIO $ do+    let ch' = (fromIntegral . ord) ch+    let mirrored_ch' = (fromIntegral . ord) mirrored_ch+    result <- pango_get_mirror_char ch' mirrored_ch'+    let result' = (/= 0) result+    return result'+++-- function pango_get_log_attrs+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_get_log_attrs" pango_get_log_attrs :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Int32 ->                                -- level : TBasicType TInt32+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    Ptr LogAttr ->                          -- log_attrs : TCArray False (-1) 5 (TInterface "Pango" "LogAttr")+    Int32 ->                                -- attrs_len : TBasicType TInt32+    IO ()+++getLogAttrs ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    Int32 ->                                -- level+    Language ->                             -- language+    [LogAttr] ->                            -- log_attrs+    m ()+getLogAttrs text length_ level language log_attrs = liftIO $ do+    let attrs_len = fromIntegral $ length log_attrs+    text' <- textToCString text+    let language' = unsafeManagedPtrGetPtr language+    let log_attrs' = map unsafeManagedPtrGetPtr log_attrs+    log_attrs'' <- packBlockArray 52 log_attrs'+    pango_get_log_attrs text' length_ level language' log_attrs'' attrs_len+    touchManagedPtr language+    mapM_ touchManagedPtr log_attrs+    freeMem text'+    freeMem log_attrs''+    return ()+++-- function pango_get_lib_subdirectory+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_get_lib_subdirectory" pango_get_lib_subdirectory :: +    IO CString+++getLibSubdirectory ::+    (MonadIO m) =>+    m T.Text+getLibSubdirectory  = liftIO $ do+    result <- pango_get_lib_subdirectory+    checkUnexpectedReturnNULL "pango_get_lib_subdirectory" result+    result' <- cstringToText result+    return result'+++-- function pango_font_description_from_string+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_from_string" pango_font_description_from_string :: +    CString ->                              -- str : TBasicType TUTF8+    IO (Ptr FontDescription)+++fontDescriptionFromString ::+    (MonadIO m) =>+    T.Text ->                               -- str+    m FontDescription+fontDescriptionFromString str = liftIO $ do+    str' <- textToCString str+    result <- pango_font_description_from_string str'+    checkUnexpectedReturnNULL "pango_font_description_from_string" result+    result' <- (wrapBoxed FontDescription) result+    freeMem str'+    return result'+++-- function pango_find_paragraph_boundary+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_delimiter_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "next_paragraph_start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_find_paragraph_boundary" pango_find_paragraph_boundary :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr Int32 ->                            -- paragraph_delimiter_index : TBasicType TInt32+    Ptr Int32 ->                            -- next_paragraph_start : TBasicType TInt32+    IO ()+++findParagraphBoundary ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    m (Int32,Int32)+findParagraphBoundary text length_ = liftIO $ do+    text' <- textToCString text+    paragraph_delimiter_index <- allocMem :: IO (Ptr Int32)+    next_paragraph_start <- allocMem :: IO (Ptr Int32)+    pango_find_paragraph_boundary text' length_ paragraph_delimiter_index next_paragraph_start+    paragraph_delimiter_index' <- peek paragraph_delimiter_index+    next_paragraph_start' <- peek next_paragraph_start+    freeMem text'+    freeMem paragraph_delimiter_index+    freeMem next_paragraph_start+    return (paragraph_delimiter_index', next_paragraph_start')+++-- function pango_find_base_dir+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Direction"+-- throws : False+-- Skip return : False++foreign import ccall "pango_find_base_dir" pango_find_base_dir :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    IO CUInt+++findBaseDir ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    m Direction+findBaseDir text length_ = liftIO $ do+    text' <- textToCString text+    result <- pango_find_base_dir text' length_+    let result' = (toEnum . fromIntegral) result+    freeMem text'+    return result'+++-- function pango_extents_to_pixels+-- Args : [Arg {argName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_extents_to_pixels" pango_extents_to_pixels :: +    Ptr Rectangle ->                        -- inclusive : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- nearest : TInterface "Pango" "Rectangle"+    IO ()+++extentsToPixels ::+    (MonadIO m) =>+    Maybe (Rectangle) ->                    -- inclusive+    Maybe (Rectangle) ->                    -- nearest+    m ()+extentsToPixels inclusive nearest = liftIO $ do+    maybeInclusive <- case inclusive of+        Nothing -> return nullPtr+        Just jInclusive -> do+            let jInclusive' = unsafeManagedPtrGetPtr jInclusive+            return jInclusive'+    maybeNearest <- case nearest of+        Nothing -> return nullPtr+        Just jNearest -> do+            let jNearest' = unsafeManagedPtrGetPtr jNearest+            return jNearest'+    pango_extents_to_pixels maybeInclusive maybeNearest+    whenJust inclusive touchManagedPtr+    whenJust nearest touchManagedPtr+    return ()+++-- function pango_default_break+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_default_break" pango_default_break :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"+    Ptr LogAttr ->                          -- attrs : TInterface "Pango" "LogAttr"+    Int32 ->                                -- attrs_len : TBasicType TInt32+    IO ()+++defaultBreak ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    Analysis ->                             -- analysis+    LogAttr ->                              -- attrs+    Int32 ->                                -- attrs_len+    m ()+defaultBreak text length_ analysis attrs attrs_len = liftIO $ do+    text' <- textToCString text+    let analysis' = unsafeManagedPtrGetPtr analysis+    let attrs' = unsafeManagedPtrGetPtr attrs+    pango_default_break text' length_ analysis' attrs' attrs_len+    touchManagedPtr analysis+    touchManagedPtr attrs+    freeMem text'+    return ()+++-- function pango_config_key_get_system+-- Args : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_config_key_get_system" pango_config_key_get_system :: +    CString ->                              -- key : TBasicType TUTF8+    IO CString+++configKeyGetSystem ::+    (MonadIO m) =>+    T.Text ->                               -- key+    m T.Text+configKeyGetSystem key = liftIO $ do+    key' <- textToCString key+    result <- pango_config_key_get_system key'+    checkUnexpectedReturnNULL "pango_config_key_get_system" result+    result' <- cstringToText result+    freeMem result+    freeMem key'+    return result'+++-- function pango_config_key_get+-- Args : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_config_key_get" pango_config_key_get :: +    CString ->                              -- key : TBasicType TUTF8+    IO CString+++configKeyGet ::+    (MonadIO m) =>+    T.Text ->                               -- key+    m T.Text+configKeyGet key = liftIO $ do+    key' <- textToCString key+    result <- pango_config_key_get key'+    checkUnexpectedReturnNULL "pango_config_key_get" result+    result' <- cstringToText result+    freeMem result+    freeMem key'+    return result'+++-- function pango_break+-- Args : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_break" pango_break :: +    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"+    Ptr LogAttr ->                          -- attrs : TCArray False (-1) 4 (TInterface "Pango" "LogAttr")+    Int32 ->                                -- attrs_len : TBasicType TInt32+    IO ()+++break ::+    (MonadIO m) =>+    T.Text ->                               -- text+    Int32 ->                                -- length+    Analysis ->                             -- analysis+    [LogAttr] ->                            -- attrs+    m ()+break text length_ analysis attrs = liftIO $ do+    let attrs_len = fromIntegral $ length attrs+    text' <- textToCString text+    let analysis' = unsafeManagedPtrGetPtr analysis+    let attrs' = map unsafeManagedPtrGetPtr attrs+    attrs'' <- packBlockArray 52 attrs'+    pango_break text' length_ analysis' attrs'' attrs_len+    touchManagedPtr analysis+    mapM_ touchManagedPtr attrs+    freeMem text'+    freeMem attrs''+    return ()+++-- function pango_bidi_type_for_unichar+-- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "BidiType"+-- throws : False+-- Skip return : False++foreign import ccall "pango_bidi_type_for_unichar" pango_bidi_type_for_unichar :: +    CInt ->                                 -- ch : TBasicType TUniChar+    IO CUInt+++bidiTypeForUnichar ::+    (MonadIO m) =>+    Char ->                                 -- ch+    m BidiType+bidiTypeForUnichar ch = liftIO $ do+    let ch' = (fromIntegral . ord) ch+    result <- pango_bidi_type_for_unichar ch'+    let result' = (toEnum . fromIntegral) result+    return result'+++-- function pango_attr_type_register+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "AttrType"+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_type_register" pango_attr_type_register :: +    CString ->                              -- name : TBasicType TUTF8+    IO CUInt+++attrTypeRegister ::+    (MonadIO m) =>+    T.Text ->                               -- name+    m AttrType+attrTypeRegister name = liftIO $ do+    name' <- textToCString name+    result <- pango_attr_type_register name'+    let result' = (toEnum . fromIntegral) result+    freeMem name'+    return result'+++-- function pango_attr_type_get_name+-- Args : [Arg {argName = "type", argType = TInterface "Pango" "AttrType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "type", argType = TInterface "Pango" "AttrType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_type_get_name" pango_attr_type_get_name :: +    CUInt ->                                -- type : TInterface "Pango" "AttrType"+    IO CString+++attrTypeGetName ::+    (MonadIO m) =>+    AttrType ->                             -- type+    m T.Text+attrTypeGetName type_ = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    result <- pango_attr_type_get_name type_'+    checkUnexpectedReturnNULL "pango_attr_type_get_name" result+    result' <- cstringToText result+    return result'+++
+ GI/Pango/Objects.hs view
@@ -0,0 +1,48 @@++{- |+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.Pango.Objects+    (     module GI.Pango.Objects.Context         ,+    module GI.Pango.Objects.Engine          ,+    module GI.Pango.Objects.EngineLang      ,+    module GI.Pango.Objects.EngineShape     ,+    module GI.Pango.Objects.Font            ,+    module GI.Pango.Objects.FontFace        ,+    module GI.Pango.Objects.FontFamily      ,+    module GI.Pango.Objects.FontMap         ,+    module GI.Pango.Objects.Fontset         ,+    module GI.Pango.Objects.FontsetSimple   ,+    module GI.Pango.Objects.Layout          ,+    module GI.Pango.Objects.Renderer        ,+++    ) where++import GI.Pango.Objects.Context+import GI.Pango.Objects.Engine+import GI.Pango.Objects.EngineLang+import GI.Pango.Objects.EngineShape+import GI.Pango.Objects.Font+import GI.Pango.Objects.FontFace+import GI.Pango.Objects.FontFamily+import GI.Pango.Objects.FontMap+import GI.Pango.Objects.Fontset+import GI.Pango.Objects.FontsetSimple+import GI.Pango.Objects.Layout+import GI.Pango.Objects.Renderer++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.Pango.Types+import GI.Pango.Callbacks++
+ GI/Pango/Objects/Context.hs view
@@ -0,0 +1,761 @@++{- |+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.Pango.Objects.Context+    ( ++-- * Exported types+    Context(..)                             ,+    ContextK                                ,+    toContext                               ,+    noContext                               ,+++ -- * Methods+-- ** contextChanged+    contextChanged                          ,+++-- ** contextGetBaseDir+    contextGetBaseDir                       ,+++-- ** contextGetBaseGravity+    contextGetBaseGravity                   ,+++-- ** contextGetFontDescription+    contextGetFontDescription               ,+++-- ** contextGetFontMap+    contextGetFontMap                       ,+++-- ** contextGetGravity+    contextGetGravity                       ,+++-- ** contextGetGravityHint+    contextGetGravityHint                   ,+++-- ** contextGetLanguage+    contextGetLanguage                      ,+++-- ** contextGetMatrix+    contextGetMatrix                        ,+++-- ** contextGetMetrics+    contextGetMetrics                       ,+++-- ** contextGetSerial+    contextGetSerial                        ,+++-- ** contextListFamilies+    contextListFamilies                     ,+++-- ** contextLoadFont+    contextLoadFont                         ,+++-- ** contextLoadFontset+    contextLoadFontset                      ,+++-- ** contextNew+    contextNew                              ,+++-- ** contextSetBaseDir+    contextSetBaseDir                       ,+++-- ** contextSetBaseGravity+    contextSetBaseGravity                   ,+++-- ** contextSetFontDescription+    contextSetFontDescription               ,+++-- ** contextSetFontMap+    contextSetFontMap                       ,+++-- ** contextSetGravityHint+    contextSetGravityHint                   ,+++-- ** contextSetLanguage+    contextSetLanguage                      ,+++-- ** contextSetMatrix+    contextSetMatrix                        ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype Context = Context (ForeignPtr Context)+foreign import ccall "pango_context_get_type"+    c_pango_context_get_type :: IO GType++type instance ParentTypes Context = ContextParentTypes+type ContextParentTypes = '[GObject.Object]++instance GObject Context where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_context_get_type+    ++class GObject o => ContextK o+instance (GObject o, IsDescendantOf Context o) => ContextK o++toContext :: ContextK o => o -> IO Context+toContext = unsafeCastTo Context++noContext :: Maybe Context+noContext = Nothing++type instance AttributeList Context = ContextAttributeList+type ContextAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList Context = ContextSignalList+type ContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method Context::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "Context"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_new" pango_context_new :: +    IO (Ptr Context)+++contextNew ::+    (MonadIO m) =>+    m Context+contextNew  = liftIO $ do+    result <- pango_context_new+    checkUnexpectedReturnNULL "pango_context_new" result+    result' <- (wrapObject Context) result+    return result'++-- method Context::changed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_changed" pango_context_changed :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO ()+++contextChanged ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m ()+contextChanged _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_context_changed _obj'+    touchManagedPtr _obj+    return ()++-- method Context::get_base_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Direction"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_base_dir" pango_context_get_base_dir :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO CUInt+++contextGetBaseDir ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m Direction+contextGetBaseDir _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_base_dir _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Context::get_base_gravity+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Gravity"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_base_gravity" pango_context_get_base_gravity :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO CUInt+++contextGetBaseGravity ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m Gravity+contextGetBaseGravity _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_base_gravity _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Context::get_font_description+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_font_description" pango_context_get_font_description :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO (Ptr FontDescription)+++contextGetFontDescription ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m FontDescription+contextGetFontDescription _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_font_description _obj'+    checkUnexpectedReturnNULL "pango_context_get_font_description" result+    result' <- (newBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method Context::get_font_map+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMap"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_font_map" pango_context_get_font_map :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO (Ptr FontMap)+++contextGetFontMap ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m FontMap+contextGetFontMap _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_font_map _obj'+    checkUnexpectedReturnNULL "pango_context_get_font_map" result+    result' <- (newObject FontMap) result+    touchManagedPtr _obj+    return result'++-- method Context::get_gravity+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Gravity"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_gravity" pango_context_get_gravity :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO CUInt+++contextGetGravity ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m Gravity+contextGetGravity _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_gravity _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Context::get_gravity_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GravityHint"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_gravity_hint" pango_context_get_gravity_hint :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO CUInt+++contextGetGravityHint ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m GravityHint+contextGetGravityHint _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_gravity_hint _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Context::get_language+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Language"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_language" pango_context_get_language :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO (Ptr Language)+++contextGetLanguage ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m Language+contextGetLanguage _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_language _obj'+    checkUnexpectedReturnNULL "pango_context_get_language" result+    result' <- (wrapBoxed Language) result+    touchManagedPtr _obj+    return result'++-- method Context::get_matrix+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Matrix"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_matrix" pango_context_get_matrix :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO (Ptr Matrix)+++contextGetMatrix ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m Matrix+contextGetMatrix _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_matrix _obj'+    checkUnexpectedReturnNULL "pango_context_get_matrix" result+    result' <- (newBoxed Matrix) result+    touchManagedPtr _obj+    return result'++-- method Context::get_metrics+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMetrics"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_metrics" pango_context_get_metrics :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    IO (Ptr FontMetrics)+++contextGetMetrics ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    Maybe (FontDescription) ->              -- desc+    Maybe (Language) ->                     -- language+    m FontMetrics+contextGetMetrics _obj desc language = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeDesc <- case desc of+        Nothing -> return nullPtr+        Just jDesc -> do+            let jDesc' = unsafeManagedPtrGetPtr jDesc+            return jDesc'+    maybeLanguage <- case language of+        Nothing -> return nullPtr+        Just jLanguage -> do+            let jLanguage' = unsafeManagedPtrGetPtr jLanguage+            return jLanguage'+    result <- pango_context_get_metrics _obj' maybeDesc maybeLanguage+    checkUnexpectedReturnNULL "pango_context_get_metrics" result+    result' <- (wrapBoxed FontMetrics) result+    touchManagedPtr _obj+    whenJust desc touchManagedPtr+    whenJust language touchManagedPtr+    return result'++-- method Context::get_serial+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_get_serial" pango_context_get_serial :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    IO Word32+++contextGetSerial ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m Word32+contextGetSerial _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_context_get_serial _obj'+    touchManagedPtr _obj+    return result++-- method Context::list_families+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_list_families" pango_context_list_families :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr (Ptr (Ptr FontFamily)) ->           -- families : TCArray False (-1) 2 (TInterface "Pango" "FontFamily")+    Ptr Int32 ->                            -- n_families : TBasicType TInt32+    IO ()+++contextListFamilies ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    m ([FontFamily])+contextListFamilies _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    families <- allocMem :: IO (Ptr (Ptr (Ptr FontFamily)))+    n_families <- allocMem :: IO (Ptr Int32)+    pango_context_list_families _obj' families n_families+    n_families' <- peek n_families+    families' <- peek families+    families'' <- (unpackPtrArrayWithLength n_families') families'+    families''' <- mapM (newObject FontFamily) families''+    freeMem families'+    touchManagedPtr _obj+    freeMem families+    freeMem n_families+    return families'''++-- method Context::load_font+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Font"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_load_font" pango_context_load_font :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    IO (Ptr Font)+++contextLoadFont ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    FontDescription ->                      -- desc+    m Font+contextLoadFont _obj desc = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let desc' = unsafeManagedPtrGetPtr desc+    result <- pango_context_load_font _obj' desc'+    checkUnexpectedReturnNULL "pango_context_load_font" result+    result' <- (wrapObject Font) result+    touchManagedPtr _obj+    touchManagedPtr desc+    return result'++-- method Context::load_fontset+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Fontset"+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_load_fontset" pango_context_load_fontset :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    IO (Ptr Fontset)+++contextLoadFontset ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    FontDescription ->                      -- desc+    Language ->                             -- language+    m Fontset+contextLoadFontset _obj desc language = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let desc' = unsafeManagedPtrGetPtr desc+    let language' = unsafeManagedPtrGetPtr language+    result <- pango_context_load_fontset _obj' desc' language'+    checkUnexpectedReturnNULL "pango_context_load_fontset" result+    result' <- (wrapObject Fontset) result+    touchManagedPtr _obj+    touchManagedPtr desc+    touchManagedPtr language+    return result'++-- method Context::set_base_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_base_dir" pango_context_set_base_dir :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    CUInt ->                                -- direction : TInterface "Pango" "Direction"+    IO ()+++contextSetBaseDir ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    Direction ->                            -- direction+    m ()+contextSetBaseDir _obj direction = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let direction' = (fromIntegral . fromEnum) direction+    pango_context_set_base_dir _obj' direction'+    touchManagedPtr _obj+    return ()++-- method Context::set_base_gravity+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_base_gravity" pango_context_set_base_gravity :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"+    IO ()+++contextSetBaseGravity ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    Gravity ->                              -- gravity+    m ()+contextSetBaseGravity _obj gravity = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let gravity' = (fromIntegral . fromEnum) gravity+    pango_context_set_base_gravity _obj' gravity'+    touchManagedPtr _obj+    return ()++-- method Context::set_font_description+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_font_description" pango_context_set_font_description :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    IO ()+++contextSetFontDescription ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    FontDescription ->                      -- desc+    m ()+contextSetFontDescription _obj desc = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let desc' = unsafeManagedPtrGetPtr desc+    pango_context_set_font_description _obj' desc'+    touchManagedPtr _obj+    touchManagedPtr desc+    return ()++-- method Context::set_font_map+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_font_map" pango_context_set_font_map :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr FontMap ->                          -- font_map : TInterface "Pango" "FontMap"+    IO ()+++contextSetFontMap ::+    (MonadIO m, ContextK a, FontMapK b) =>+    a ->                                    -- _obj+    b ->                                    -- font_map+    m ()+contextSetFontMap _obj font_map = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let font_map' = unsafeManagedPtrCastPtr font_map+    pango_context_set_font_map _obj' font_map'+    touchManagedPtr _obj+    touchManagedPtr font_map+    return ()++-- method Context::set_gravity_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_gravity_hint" pango_context_set_gravity_hint :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"+    IO ()+++contextSetGravityHint ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    GravityHint ->                          -- hint+    m ()+contextSetGravityHint _obj hint = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let hint' = (fromIntegral . fromEnum) hint+    pango_context_set_gravity_hint _obj' hint'+    touchManagedPtr _obj+    return ()++-- method Context::set_language+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_language" pango_context_set_language :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    IO ()+++contextSetLanguage ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    Language ->                             -- language+    m ()+contextSetLanguage _obj language = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let language' = unsafeManagedPtrGetPtr language+    pango_context_set_language _obj' language'+    touchManagedPtr _obj+    touchManagedPtr language+    return ()++-- method Context::set_matrix+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_context_set_matrix" pango_context_set_matrix :: +    Ptr Context ->                          -- _obj : TInterface "Pango" "Context"+    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"+    IO ()+++contextSetMatrix ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- _obj+    Maybe (Matrix) ->                       -- matrix+    m ()+contextSetMatrix _obj matrix = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeMatrix <- case matrix of+        Nothing -> return nullPtr+        Just jMatrix -> do+            let jMatrix' = unsafeManagedPtrGetPtr jMatrix+            return jMatrix'+    pango_context_set_matrix _obj' maybeMatrix+    touchManagedPtr _obj+    whenJust matrix touchManagedPtr+    return ()++
+ GI/Pango/Objects/Context.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.Context 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++newtype Context = Context (ForeignPtr Context)+instance GObject Context where+class GObject o => ContextK o+instance (GObject o, IsDescendantOf Context o) => ContextK o
+ GI/Pango/Objects/Engine.hs view
@@ -0,0 +1,58 @@++{- |+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.Pango.Objects.Engine+    ( ++-- * Exported types+    Engine(..)                              ,+    EngineK                                 ,+    toEngine                                ,+    noEngine                                ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype Engine = Engine (ForeignPtr Engine)+foreign import ccall "pango_engine_get_type"+    c_pango_engine_get_type :: IO GType++type instance ParentTypes Engine = EngineParentTypes+type EngineParentTypes = '[GObject.Object]++instance GObject Engine where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_engine_get_type+    ++class GObject o => EngineK o+instance (GObject o, IsDescendantOf Engine o) => EngineK o++toEngine :: EngineK o => o -> IO Engine+toEngine = unsafeCastTo Engine++noEngine :: Maybe Engine+noEngine = Nothing++type instance AttributeList Engine = EngineAttributeList+type EngineAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList Engine = EngineSignalList+type EngineSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++
+ GI/Pango/Objects/Engine.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.Engine 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++newtype Engine = Engine (ForeignPtr Engine)+instance GObject Engine where+class GObject o => EngineK o+instance (GObject o, IsDescendantOf Engine o) => EngineK o
+ GI/Pango/Objects/EngineLang.hs view
@@ -0,0 +1,58 @@++{- |+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.Pango.Objects.EngineLang+    ( ++-- * Exported types+    EngineLang(..)                          ,+    EngineLangK                             ,+    toEngineLang                            ,+    noEngineLang                            ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype EngineLang = EngineLang (ForeignPtr EngineLang)+foreign import ccall "pango_engine_lang_get_type"+    c_pango_engine_lang_get_type :: IO GType++type instance ParentTypes EngineLang = EngineLangParentTypes+type EngineLangParentTypes = '[Engine, GObject.Object]++instance GObject EngineLang where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_engine_lang_get_type+    ++class GObject o => EngineLangK o+instance (GObject o, IsDescendantOf EngineLang o) => EngineLangK o++toEngineLang :: EngineLangK o => o -> IO EngineLang+toEngineLang = unsafeCastTo EngineLang++noEngineLang :: Maybe EngineLang+noEngineLang = Nothing++type instance AttributeList EngineLang = EngineLangAttributeList+type EngineLangAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList EngineLang = EngineLangSignalList+type EngineLangSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++
+ GI/Pango/Objects/EngineLang.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.EngineLang 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++newtype EngineLang = EngineLang (ForeignPtr EngineLang)+instance GObject EngineLang where+class GObject o => EngineLangK o+instance (GObject o, IsDescendantOf EngineLang o) => EngineLangK o
+ GI/Pango/Objects/EngineShape.hs view
@@ -0,0 +1,58 @@++{- |+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.Pango.Objects.EngineShape+    ( ++-- * Exported types+    EngineShape(..)                         ,+    EngineShapeK                            ,+    toEngineShape                           ,+    noEngineShape                           ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype EngineShape = EngineShape (ForeignPtr EngineShape)+foreign import ccall "pango_engine_shape_get_type"+    c_pango_engine_shape_get_type :: IO GType++type instance ParentTypes EngineShape = EngineShapeParentTypes+type EngineShapeParentTypes = '[Engine, GObject.Object]++instance GObject EngineShape where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_engine_shape_get_type+    ++class GObject o => EngineShapeK o+instance (GObject o, IsDescendantOf EngineShape o) => EngineShapeK o++toEngineShape :: EngineShapeK o => o -> IO EngineShape+toEngineShape = unsafeCastTo EngineShape++noEngineShape :: Maybe EngineShape+noEngineShape = Nothing++type instance AttributeList EngineShape = EngineShapeAttributeList+type EngineShapeAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList EngineShape = EngineShapeSignalList+type EngineShapeSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++
+ GI/Pango/Objects/EngineShape.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.EngineShape 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++newtype EngineShape = EngineShape (ForeignPtr EngineShape)+instance GObject EngineShape where+class GObject o => EngineShapeK o+instance (GObject o, IsDescendantOf EngineShape o) => EngineShapeK o
+ GI/Pango/Objects/Font.hs view
@@ -0,0 +1,262 @@++{- |+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.Pango.Objects.Font+    ( ++-- * Exported types+    Font(..)                                ,+    FontK                                   ,+    toFont                                  ,+    noFont                                  ,+++ -- * Methods+-- ** fontDescribe+    fontDescribe                            ,+++-- ** fontDescribeWithAbsoluteSize+    fontDescribeWithAbsoluteSize            ,+++-- ** fontDescriptionsFree+    fontDescriptionsFree                    ,+++-- ** fontGetFontMap+    fontGetFontMap                          ,+++-- ** fontGetGlyphExtents+    fontGetGlyphExtents                     ,+++-- ** fontGetMetrics+    fontGetMetrics                          ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype Font = Font (ForeignPtr Font)+foreign import ccall "pango_font_get_type"+    c_pango_font_get_type :: IO GType++type instance ParentTypes Font = FontParentTypes+type FontParentTypes = '[GObject.Object]++instance GObject Font where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_font_get_type+    ++class GObject o => FontK o+instance (GObject o, IsDescendantOf Font o) => FontK o++toFont :: FontK o => o -> IO Font+toFont = unsafeCastTo Font++noFont :: Maybe Font+noFont = Nothing++type instance AttributeList Font = FontAttributeList+type FontAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList Font = FontSignalList+type FontSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method Font::describe+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_describe" pango_font_describe :: +    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"+    IO (Ptr FontDescription)+++fontDescribe ::+    (MonadIO m, FontK a) =>+    a ->                                    -- _obj+    m FontDescription+fontDescribe _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_describe _obj'+    checkUnexpectedReturnNULL "pango_font_describe" result+    result' <- (wrapBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method Font::describe_with_absolute_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_describe_with_absolute_size" pango_font_describe_with_absolute_size :: +    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"+    IO (Ptr FontDescription)+++fontDescribeWithAbsoluteSize ::+    (MonadIO m, FontK a) =>+    a ->                                    -- _obj+    m FontDescription+fontDescribeWithAbsoluteSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_describe_with_absolute_size _obj'+    checkUnexpectedReturnNULL "pango_font_describe_with_absolute_size" result+    result' <- (wrapBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method Font::get_font_map+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMap"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_get_font_map" pango_font_get_font_map :: +    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"+    IO (Ptr FontMap)+++fontGetFontMap ::+    (MonadIO m, FontK a) =>+    a ->                                    -- _obj+    m FontMap+fontGetFontMap _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_get_font_map _obj'+    checkUnexpectedReturnNULL "pango_font_get_font_map" result+    result' <- (newObject FontMap) result+    touchManagedPtr _obj+    return result'++-- method Font::get_glyph_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_get_glyph_extents" pango_font_get_glyph_extents :: +    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"+    Word32 ->                               -- glyph : TBasicType TUInt32+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++fontGetGlyphExtents ::+    (MonadIO m, FontK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- glyph+    m (Rectangle,Rectangle)+fontGetGlyphExtents _obj glyph = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_font_get_glyph_extents _obj' glyph ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method Font::get_metrics+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMetrics"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_get_metrics" pango_font_get_metrics :: +    Ptr Font ->                             -- _obj : TInterface "Pango" "Font"+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    IO (Ptr FontMetrics)+++fontGetMetrics ::+    (MonadIO m, FontK a) =>+    a ->                                    -- _obj+    Maybe (Language) ->                     -- language+    m FontMetrics+fontGetMetrics _obj language = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeLanguage <- case language of+        Nothing -> return nullPtr+        Just jLanguage -> do+            let jLanguage' = unsafeManagedPtrGetPtr jLanguage+            return jLanguage'+    result <- pango_font_get_metrics _obj' maybeLanguage+    checkUnexpectedReturnNULL "pango_font_get_metrics" result+    result' <- (wrapBoxed FontMetrics) result+    touchManagedPtr _obj+    whenJust language touchManagedPtr+    return result'++-- method Font::descriptions_free+-- method type : MemberFunction+-- Args : [Arg {argName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : [Arg {argName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- hInArgs : [Arg {argName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_descriptions_free" pango_font_descriptions_free :: +    Ptr (Ptr FontDescription) ->            -- descs : TCArray False (-1) 1 (TInterface "Pango" "FontDescription")+    Int32 ->                                -- n_descs : TBasicType TInt32+    IO ()+++fontDescriptionsFree ::+    (MonadIO m) =>+    Maybe ([FontDescription]) ->            -- descs+    m ()+fontDescriptionsFree descs = liftIO $ do+    let n_descs = case descs of+            Nothing -> 0+            Just jDescs -> fromIntegral $ length jDescs+    maybeDescs <- case descs of+        Nothing -> return nullPtr+        Just jDescs -> do+            jDescs' <- mapM copyBoxed jDescs+            jDescs'' <- packPtrArray jDescs'+            return jDescs''+    pango_font_descriptions_free maybeDescs n_descs+    whenJust descs (mapM_ touchManagedPtr)+    return ()++
+ GI/Pango/Objects/Font.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.Font 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++newtype Font = Font (ForeignPtr Font)+instance GObject Font where+class GObject o => FontK o+instance (GObject o, IsDescendantOf Font o) => FontK o
+ GI/Pango/Objects/FontFace.hs view
@@ -0,0 +1,188 @@++{- |+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.Pango.Objects.FontFace+    ( ++-- * Exported types+    FontFace(..)                            ,+    FontFaceK                               ,+    toFontFace                              ,+    noFontFace                              ,+++ -- * Methods+-- ** fontFaceDescribe+    fontFaceDescribe                        ,+++-- ** fontFaceGetFaceName+    fontFaceGetFaceName                     ,+++-- ** fontFaceIsSynthesized+    fontFaceIsSynthesized                   ,+++-- ** fontFaceListSizes+    fontFaceListSizes                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype FontFace = FontFace (ForeignPtr FontFace)+foreign import ccall "pango_font_face_get_type"+    c_pango_font_face_get_type :: IO GType++type instance ParentTypes FontFace = FontFaceParentTypes+type FontFaceParentTypes = '[GObject.Object]++instance GObject FontFace where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_font_face_get_type+    ++class GObject o => FontFaceK o+instance (GObject o, IsDescendantOf FontFace o) => FontFaceK o++toFontFace :: FontFaceK o => o -> IO FontFace+toFontFace = unsafeCastTo FontFace++noFontFace :: Maybe FontFace+noFontFace = Nothing++type instance AttributeList FontFace = FontFaceAttributeList+type FontFaceAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList FontFace = FontFaceSignalList+type FontFaceSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method FontFace::describe+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_face_describe" pango_font_face_describe :: +    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"+    IO (Ptr FontDescription)+++fontFaceDescribe ::+    (MonadIO m, FontFaceK a) =>+    a ->                                    -- _obj+    m FontDescription+fontFaceDescribe _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_face_describe _obj'+    checkUnexpectedReturnNULL "pango_font_face_describe" result+    result' <- (wrapBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method FontFace::get_face_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_face_get_face_name" pango_font_face_get_face_name :: +    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"+    IO CString+++fontFaceGetFaceName ::+    (MonadIO m, FontFaceK a) =>+    a ->                                    -- _obj+    m T.Text+fontFaceGetFaceName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_face_get_face_name _obj'+    checkUnexpectedReturnNULL "pango_font_face_get_face_name" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method FontFace::is_synthesized+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_face_is_synthesized" pango_font_face_is_synthesized :: +    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"+    IO CInt+++fontFaceIsSynthesized ::+    (MonadIO m, FontFaceK a) =>+    a ->                                    -- _obj+    m Bool+fontFaceIsSynthesized _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_face_is_synthesized _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method FontFace::list_sizes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sizes", argType = TCArray False (-1) 2 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_face_list_sizes" pango_font_face_list_sizes :: +    Ptr FontFace ->                         -- _obj : TInterface "Pango" "FontFace"+    Ptr (Ptr Int32) ->                      -- sizes : TCArray False (-1) 2 (TBasicType TInt32)+    Ptr Int32 ->                            -- n_sizes : TBasicType TInt32+    IO ()+++fontFaceListSizes ::+    (MonadIO m, FontFaceK a) =>+    a ->                                    -- _obj+    m ([Int32])+fontFaceListSizes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    sizes <- allocMem :: IO (Ptr (Ptr Int32))+    n_sizes <- allocMem :: IO (Ptr Int32)+    pango_font_face_list_sizes _obj' sizes n_sizes+    n_sizes' <- peek n_sizes+    sizes' <- peek sizes+    sizes'' <- (unpackStorableArrayWithLength n_sizes') sizes'+    freeMem sizes'+    touchManagedPtr _obj+    freeMem sizes+    freeMem n_sizes+    return sizes''++
+ GI/Pango/Objects/FontFace.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.FontFace 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++newtype FontFace = FontFace (ForeignPtr FontFace)+instance GObject FontFace where+class GObject o => FontFaceK o+instance (GObject o, IsDescendantOf FontFace o) => FontFaceK o
+ GI/Pango/Objects/FontFamily.hs view
@@ -0,0 +1,159 @@++{- |+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.Pango.Objects.FontFamily+    ( ++-- * Exported types+    FontFamily(..)                          ,+    FontFamilyK                             ,+    toFontFamily                            ,+    noFontFamily                            ,+++ -- * Methods+-- ** fontFamilyGetName+    fontFamilyGetName                       ,+++-- ** fontFamilyIsMonospace+    fontFamilyIsMonospace                   ,+++-- ** fontFamilyListFaces+    fontFamilyListFaces                     ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype FontFamily = FontFamily (ForeignPtr FontFamily)+foreign import ccall "pango_font_family_get_type"+    c_pango_font_family_get_type :: IO GType++type instance ParentTypes FontFamily = FontFamilyParentTypes+type FontFamilyParentTypes = '[GObject.Object]++instance GObject FontFamily where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_font_family_get_type+    ++class GObject o => FontFamilyK o+instance (GObject o, IsDescendantOf FontFamily o) => FontFamilyK o++toFontFamily :: FontFamilyK o => o -> IO FontFamily+toFontFamily = unsafeCastTo FontFamily++noFontFamily :: Maybe FontFamily+noFontFamily = Nothing++type instance AttributeList FontFamily = FontFamilyAttributeList+type FontFamilyAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList FontFamily = FontFamilySignalList+type FontFamilySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method FontFamily::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_family_get_name" pango_font_family_get_name :: +    Ptr FontFamily ->                       -- _obj : TInterface "Pango" "FontFamily"+    IO CString+++fontFamilyGetName ::+    (MonadIO m, FontFamilyK a) =>+    a ->                                    -- _obj+    m T.Text+fontFamilyGetName _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_family_get_name _obj'+    checkUnexpectedReturnNULL "pango_font_family_get_name" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method FontFamily::is_monospace+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_family_is_monospace" pango_font_family_is_monospace :: +    Ptr FontFamily ->                       -- _obj : TInterface "Pango" "FontFamily"+    IO CInt+++fontFamilyIsMonospace ::+    (MonadIO m, FontFamilyK a) =>+    a ->                                    -- _obj+    m Bool+fontFamilyIsMonospace _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_family_is_monospace _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method FontFamily::list_faces+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "faces", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFace"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_family_list_faces" pango_font_family_list_faces :: +    Ptr FontFamily ->                       -- _obj : TInterface "Pango" "FontFamily"+    Ptr (Ptr (Ptr FontFace)) ->             -- faces : TCArray False (-1) 2 (TInterface "Pango" "FontFace")+    Ptr Int32 ->                            -- n_faces : TBasicType TInt32+    IO ()+++fontFamilyListFaces ::+    (MonadIO m, FontFamilyK a) =>+    a ->                                    -- _obj+    m ([FontFace])+fontFamilyListFaces _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    faces <- allocMem :: IO (Ptr (Ptr (Ptr FontFace)))+    n_faces <- allocMem :: IO (Ptr Int32)+    pango_font_family_list_faces _obj' faces n_faces+    n_faces' <- peek n_faces+    faces' <- peek faces+    faces'' <- (unpackPtrArrayWithLength n_faces') faces'+    faces''' <- mapM (newObject FontFace) faces''+    freeMem faces'+    touchManagedPtr _obj+    freeMem faces+    freeMem n_faces+    return faces'''++
+ GI/Pango/Objects/FontFamily.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.FontFamily 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++newtype FontFamily = FontFamily (ForeignPtr FontFamily)+instance GObject FontFamily where+class GObject o => FontFamilyK o+instance (GObject o, IsDescendantOf FontFamily o) => FontFamilyK o
+ GI/Pango/Objects/FontMap.hs view
@@ -0,0 +1,296 @@++{- |+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.Pango.Objects.FontMap+    ( ++-- * Exported types+    FontMap(..)                             ,+    FontMapK                                ,+    toFontMap                               ,+    noFontMap                               ,+++ -- * Methods+-- ** fontMapChanged+    fontMapChanged                          ,+++-- ** fontMapCreateContext+    fontMapCreateContext                    ,+++-- ** fontMapGetSerial+    fontMapGetSerial                        ,+++-- ** fontMapGetShapeEngineType+    fontMapGetShapeEngineType               ,+++-- ** fontMapListFamilies+    fontMapListFamilies                     ,+++-- ** fontMapLoadFont+    fontMapLoadFont                         ,+++-- ** fontMapLoadFontset+    fontMapLoadFontset                      ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype FontMap = FontMap (ForeignPtr FontMap)+foreign import ccall "pango_font_map_get_type"+    c_pango_font_map_get_type :: IO GType++type instance ParentTypes FontMap = FontMapParentTypes+type FontMapParentTypes = '[GObject.Object]++instance GObject FontMap where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_font_map_get_type+    ++class GObject o => FontMapK o+instance (GObject o, IsDescendantOf FontMap o) => FontMapK o++toFontMap :: FontMapK o => o -> IO FontMap+toFontMap = unsafeCastTo FontMap++noFontMap :: Maybe FontMap+noFontMap = Nothing++type instance AttributeList FontMap = FontMapAttributeList+type FontMapAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList FontMap = FontMapSignalList+type FontMapSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method FontMap::changed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_changed" pango_font_map_changed :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    IO ()+++fontMapChanged ::+    (MonadIO m, FontMapK a) =>+    a ->                                    -- _obj+    m ()+fontMapChanged _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_font_map_changed _obj'+    touchManagedPtr _obj+    return ()++-- method FontMap::create_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Context"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_create_context" pango_font_map_create_context :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    IO (Ptr Context)+++fontMapCreateContext ::+    (MonadIO m, FontMapK a) =>+    a ->                                    -- _obj+    m Context+fontMapCreateContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_map_create_context _obj'+    checkUnexpectedReturnNULL "pango_font_map_create_context" result+    result' <- (wrapObject Context) result+    touchManagedPtr _obj+    return result'++-- method FontMap::get_serial+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_get_serial" pango_font_map_get_serial :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    IO Word32+++fontMapGetSerial ::+    (MonadIO m, FontMapK a) =>+    a ->                                    -- _obj+    m Word32+fontMapGetSerial _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_map_get_serial _obj'+    touchManagedPtr _obj+    return result++-- method FontMap::get_shape_engine_type+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_get_shape_engine_type" pango_font_map_get_shape_engine_type :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    IO CString+++fontMapGetShapeEngineType ::+    (MonadIO m, FontMapK a) =>+    a ->                                    -- _obj+    m T.Text+fontMapGetShapeEngineType _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_font_map_get_shape_engine_type _obj'+    checkUnexpectedReturnNULL "pango_font_map_get_shape_engine_type" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method FontMap::list_families+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_list_families" pango_font_map_list_families :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    Ptr (Ptr (Ptr FontFamily)) ->           -- families : TCArray False (-1) 2 (TInterface "Pango" "FontFamily")+    Ptr Int32 ->                            -- n_families : TBasicType TInt32+    IO ()+++fontMapListFamilies ::+    (MonadIO m, FontMapK a) =>+    a ->                                    -- _obj+    m ([FontFamily])+fontMapListFamilies _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    families <- allocMem :: IO (Ptr (Ptr (Ptr FontFamily)))+    n_families <- allocMem :: IO (Ptr Int32)+    pango_font_map_list_families _obj' families n_families+    n_families' <- peek n_families+    families' <- peek families+    families'' <- (unpackPtrArrayWithLength n_families') families'+    families''' <- mapM (newObject FontFamily) families''+    freeMem families'+    touchManagedPtr _obj+    freeMem families+    freeMem n_families+    return families'''++-- method FontMap::load_font+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Font"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_load_font" pango_font_map_load_font :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    Ptr Context ->                          -- context : TInterface "Pango" "Context"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    IO (Ptr Font)+++fontMapLoadFont ::+    (MonadIO m, FontMapK a, ContextK b) =>+    a ->                                    -- _obj+    b ->                                    -- context+    FontDescription ->                      -- desc+    m Font+fontMapLoadFont _obj context desc = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let context' = unsafeManagedPtrCastPtr context+    let desc' = unsafeManagedPtrGetPtr desc+    result <- pango_font_map_load_font _obj' context' desc'+    checkUnexpectedReturnNULL "pango_font_map_load_font" result+    result' <- (wrapObject Font) result+    touchManagedPtr _obj+    touchManagedPtr context+    touchManagedPtr desc+    return result'++-- method FontMap::load_fontset+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Fontset"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_map_load_fontset" pango_font_map_load_fontset :: +    Ptr FontMap ->                          -- _obj : TInterface "Pango" "FontMap"+    Ptr Context ->                          -- context : TInterface "Pango" "Context"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    IO (Ptr Fontset)+++fontMapLoadFontset ::+    (MonadIO m, FontMapK a, ContextK b) =>+    a ->                                    -- _obj+    b ->                                    -- context+    FontDescription ->                      -- desc+    Language ->                             -- language+    m Fontset+fontMapLoadFontset _obj context desc language = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let context' = unsafeManagedPtrCastPtr context+    let desc' = unsafeManagedPtrGetPtr desc+    let language' = unsafeManagedPtrGetPtr language+    result <- pango_font_map_load_fontset _obj' context' desc' language'+    checkUnexpectedReturnNULL "pango_font_map_load_fontset" result+    result' <- (wrapObject Fontset) result+    touchManagedPtr _obj+    touchManagedPtr context+    touchManagedPtr desc+    touchManagedPtr language+    return result'++
+ GI/Pango/Objects/FontMap.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.FontMap 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++newtype FontMap = FontMap (ForeignPtr FontMap)+instance GObject FontMap where+class GObject o => FontMapK o+instance (GObject o, IsDescendantOf FontMap o) => FontMapK o
+ GI/Pango/Objects/Fontset.hs view
@@ -0,0 +1,157 @@++{- |+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.Pango.Objects.Fontset+    ( ++-- * Exported types+    Fontset(..)                             ,+    FontsetK                                ,+    toFontset                               ,+    noFontset                               ,+++ -- * Methods+-- ** fontsetForeach+    fontsetForeach                          ,+++-- ** fontsetGetFont+    fontsetGetFont                          ,+++-- ** fontsetGetMetrics+    fontsetGetMetrics                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype Fontset = Fontset (ForeignPtr Fontset)+foreign import ccall "pango_fontset_get_type"+    c_pango_fontset_get_type :: IO GType++type instance ParentTypes Fontset = FontsetParentTypes+type FontsetParentTypes = '[GObject.Object]++instance GObject Fontset where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_fontset_get_type+    ++class GObject o => FontsetK o+instance (GObject o, IsDescendantOf Fontset o) => FontsetK o++toFontset :: FontsetK o => o -> IO Fontset+toFontset = unsafeCastTo Fontset++noFontset :: Maybe Fontset+noFontset = Nothing++type instance AttributeList Fontset = FontsetAttributeList+type FontsetAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList Fontset = FontsetSignalList+type FontsetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method Fontset::foreach+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_fontset_foreach" pango_fontset_foreach :: +    Ptr Fontset ->                          -- _obj : TInterface "Pango" "Fontset"+    FunPtr FontsetForeachFuncC ->           -- func : TInterface "Pango" "FontsetForeachFunc"+    Ptr () ->                               -- data : TBasicType TVoid+    IO ()+++fontsetForeach ::+    (MonadIO m, FontsetK a) =>+    a ->                                    -- _obj+    FontsetForeachFunc ->                   -- func+    m ()+fontsetForeach _obj func = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    func' <- mkFontsetForeachFunc (fontsetForeachFuncWrapper Nothing func)+    let data_ = nullPtr+    pango_fontset_foreach _obj' func' data_+    safeFreeFunPtr $ castFunPtrToPtr func'+    touchManagedPtr _obj+    return ()++-- method Fontset::get_font+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Font"+-- throws : False+-- Skip return : False++foreign import ccall "pango_fontset_get_font" pango_fontset_get_font :: +    Ptr Fontset ->                          -- _obj : TInterface "Pango" "Fontset"+    Word32 ->                               -- wc : TBasicType TUInt32+    IO (Ptr Font)+++fontsetGetFont ::+    (MonadIO m, FontsetK a) =>+    a ->                                    -- _obj+    Word32 ->                               -- wc+    m Font+fontsetGetFont _obj wc = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_fontset_get_font _obj' wc+    checkUnexpectedReturnNULL "pango_fontset_get_font" result+    result' <- (wrapObject Font) result+    touchManagedPtr _obj+    return result'++-- method Fontset::get_metrics+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMetrics"+-- throws : False+-- Skip return : False++foreign import ccall "pango_fontset_get_metrics" pango_fontset_get_metrics :: +    Ptr Fontset ->                          -- _obj : TInterface "Pango" "Fontset"+    IO (Ptr FontMetrics)+++fontsetGetMetrics ::+    (MonadIO m, FontsetK a) =>+    a ->                                    -- _obj+    m FontMetrics+fontsetGetMetrics _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_fontset_get_metrics _obj'+    checkUnexpectedReturnNULL "pango_fontset_get_metrics" result+    result' <- (wrapBoxed FontMetrics) result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Objects/Fontset.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.Fontset 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++newtype Fontset = Fontset (ForeignPtr Fontset)+instance GObject Fontset where+class GObject o => FontsetK o+instance (GObject o, IsDescendantOf Fontset o) => FontsetK o
+ GI/Pango/Objects/FontsetSimple.hs view
@@ -0,0 +1,151 @@++{- |+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.Pango.Objects.FontsetSimple+    ( ++-- * Exported types+    FontsetSimple(..)                       ,+    FontsetSimpleK                          ,+    toFontsetSimple                         ,+    noFontsetSimple                         ,+++ -- * Methods+-- ** fontsetSimpleAppend+    fontsetSimpleAppend                     ,+++-- ** fontsetSimpleNew+    fontsetSimpleNew                        ,+++-- ** fontsetSimpleSize+    fontsetSimpleSize                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype FontsetSimple = FontsetSimple (ForeignPtr FontsetSimple)+foreign import ccall "pango_fontset_simple_get_type"+    c_pango_fontset_simple_get_type :: IO GType++type instance ParentTypes FontsetSimple = FontsetSimpleParentTypes+type FontsetSimpleParentTypes = '[Fontset, GObject.Object]++instance GObject FontsetSimple where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_fontset_simple_get_type+    ++class GObject o => FontsetSimpleK o+instance (GObject o, IsDescendantOf FontsetSimple o) => FontsetSimpleK o++toFontsetSimple :: FontsetSimpleK o => o -> IO FontsetSimple+toFontsetSimple = unsafeCastTo FontsetSimple++noFontsetSimple :: Maybe FontsetSimple+noFontsetSimple = Nothing++type instance AttributeList FontsetSimple = FontsetSimpleAttributeList+type FontsetSimpleAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList FontsetSimple = FontsetSimpleSignalList+type FontsetSimpleSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method FontsetSimple::new+-- method type : Constructor+-- Args : [Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontsetSimple"+-- throws : False+-- Skip return : False++foreign import ccall "pango_fontset_simple_new" pango_fontset_simple_new :: +    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    IO (Ptr FontsetSimple)+++fontsetSimpleNew ::+    (MonadIO m) =>+    Language ->                             -- language+    m FontsetSimple+fontsetSimpleNew language = liftIO $ do+    let language' = unsafeManagedPtrGetPtr language+    result <- pango_fontset_simple_new language'+    checkUnexpectedReturnNULL "pango_fontset_simple_new" result+    result' <- (wrapObject FontsetSimple) result+    touchManagedPtr language+    return result'++-- method FontsetSimple::append+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_fontset_simple_append" pango_fontset_simple_append :: +    Ptr FontsetSimple ->                    -- _obj : TInterface "Pango" "FontsetSimple"+    Ptr Font ->                             -- font : TInterface "Pango" "Font"+    IO ()+++fontsetSimpleAppend ::+    (MonadIO m, FontsetSimpleK a, FontK b) =>+    a ->                                    -- _obj+    b ->                                    -- font+    m ()+fontsetSimpleAppend _obj font = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let font' = unsafeManagedPtrCastPtr font+    pango_fontset_simple_append _obj' font'+    touchManagedPtr _obj+    touchManagedPtr font+    return ()++-- method FontsetSimple::size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_fontset_simple_size" pango_fontset_simple_size :: +    Ptr FontsetSimple ->                    -- _obj : TInterface "Pango" "FontsetSimple"+    IO Int32+++fontsetSimpleSize ::+    (MonadIO m, FontsetSimpleK a) =>+    a ->                                    -- _obj+    m Int32+fontsetSimpleSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_fontset_simple_size _obj'+    touchManagedPtr _obj+    return result++
+ GI/Pango/Objects/FontsetSimple.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.FontsetSimple 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++newtype FontsetSimple = FontsetSimple (ForeignPtr FontsetSimple)+instance GObject FontsetSimple where+class GObject o => FontsetSimpleK o+instance (GObject o, IsDescendantOf FontsetSimple o) => FontsetSimpleK o
+ GI/Pango/Objects/Layout.hs view
@@ -0,0 +1,1873 @@++{- |+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.Pango.Objects.Layout+    ( ++-- * Exported types+    Layout(..)                              ,+    LayoutK                                 ,+    toLayout                                ,+    noLayout                                ,+++ -- * Methods+-- ** layoutContextChanged+    layoutContextChanged                    ,+++-- ** layoutCopy+    layoutCopy                              ,+++-- ** layoutGetAlignment+    layoutGetAlignment                      ,+++-- ** layoutGetAttributes+    layoutGetAttributes                     ,+++-- ** layoutGetAutoDir+    layoutGetAutoDir                        ,+++-- ** layoutGetBaseline+    layoutGetBaseline                       ,+++-- ** layoutGetCharacterCount+    layoutGetCharacterCount                 ,+++-- ** layoutGetContext+    layoutGetContext                        ,+++-- ** layoutGetCursorPos+    layoutGetCursorPos                      ,+++-- ** layoutGetEllipsize+    layoutGetEllipsize                      ,+++-- ** layoutGetExtents+    layoutGetExtents                        ,+++-- ** layoutGetFontDescription+    layoutGetFontDescription                ,+++-- ** layoutGetHeight+    layoutGetHeight                         ,+++-- ** layoutGetIndent+    layoutGetIndent                         ,+++-- ** layoutGetIter+    layoutGetIter                           ,+++-- ** layoutGetJustify+    layoutGetJustify                        ,+++-- ** layoutGetLine+    layoutGetLine                           ,+++-- ** layoutGetLineCount+    layoutGetLineCount                      ,+++-- ** layoutGetLineReadonly+    layoutGetLineReadonly                   ,+++-- ** layoutGetLines+    layoutGetLines                          ,+++-- ** layoutGetLinesReadonly+    layoutGetLinesReadonly                  ,+++-- ** layoutGetLogAttrs+    layoutGetLogAttrs                       ,+++-- ** layoutGetLogAttrsReadonly+    layoutGetLogAttrsReadonly               ,+++-- ** layoutGetPixelExtents+    layoutGetPixelExtents                   ,+++-- ** layoutGetPixelSize+    layoutGetPixelSize                      ,+++-- ** layoutGetSerial+    layoutGetSerial                         ,+++-- ** layoutGetSingleParagraphMode+    layoutGetSingleParagraphMode            ,+++-- ** layoutGetSize+    layoutGetSize                           ,+++-- ** layoutGetSpacing+    layoutGetSpacing                        ,+++-- ** layoutGetTabs+    layoutGetTabs                           ,+++-- ** layoutGetText+    layoutGetText                           ,+++-- ** layoutGetUnknownGlyphsCount+    layoutGetUnknownGlyphsCount             ,+++-- ** layoutGetWidth+    layoutGetWidth                          ,+++-- ** layoutGetWrap+    layoutGetWrap                           ,+++-- ** layoutIndexToLineX+    layoutIndexToLineX                      ,+++-- ** layoutIndexToPos+    layoutIndexToPos                        ,+++-- ** layoutIsEllipsized+    layoutIsEllipsized                      ,+++-- ** layoutIsWrapped+    layoutIsWrapped                         ,+++-- ** layoutMoveCursorVisually+    layoutMoveCursorVisually                ,+++-- ** layoutNew+    layoutNew                               ,+++-- ** layoutSetAlignment+    layoutSetAlignment                      ,+++-- ** layoutSetAttributes+    layoutSetAttributes                     ,+++-- ** layoutSetAutoDir+    layoutSetAutoDir                        ,+++-- ** layoutSetEllipsize+    layoutSetEllipsize                      ,+++-- ** layoutSetFontDescription+    layoutSetFontDescription                ,+++-- ** layoutSetHeight+    layoutSetHeight                         ,+++-- ** layoutSetIndent+    layoutSetIndent                         ,+++-- ** layoutSetJustify+    layoutSetJustify                        ,+++-- ** layoutSetMarkup+    layoutSetMarkup                         ,+++-- ** layoutSetMarkupWithAccel+    layoutSetMarkupWithAccel                ,+++-- ** layoutSetSingleParagraphMode+    layoutSetSingleParagraphMode            ,+++-- ** layoutSetSpacing+    layoutSetSpacing                        ,+++-- ** layoutSetTabs+    layoutSetTabs                           ,+++-- ** layoutSetText+    layoutSetText                           ,+++-- ** layoutSetWidth+    layoutSetWidth                          ,+++-- ** layoutSetWrap+    layoutSetWrap                           ,+++-- ** layoutXyToIndex+    layoutXyToIndex                         ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype Layout = Layout (ForeignPtr Layout)+foreign import ccall "pango_layout_get_type"+    c_pango_layout_get_type :: IO GType++type instance ParentTypes Layout = LayoutParentTypes+type LayoutParentTypes = '[GObject.Object]++instance GObject Layout where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_layout_get_type+    ++class GObject o => LayoutK o+instance (GObject o, IsDescendantOf Layout o) => LayoutK o++toLayout :: LayoutK o => o -> IO Layout+toLayout = unsafeCastTo Layout++noLayout :: Maybe Layout+noLayout = Nothing++type instance AttributeList Layout = LayoutAttributeList+type LayoutAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList Layout = LayoutSignalList+type LayoutSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method Layout::new+-- method type : Constructor+-- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Layout"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_new" pango_layout_new :: +    Ptr Context ->                          -- context : TInterface "Pango" "Context"+    IO (Ptr Layout)+++layoutNew ::+    (MonadIO m, ContextK a) =>+    a ->                                    -- context+    m Layout+layoutNew context = liftIO $ do+    let context' = unsafeManagedPtrCastPtr context+    result <- pango_layout_new context'+    checkUnexpectedReturnNULL "pango_layout_new" result+    result' <- (wrapObject Layout) result+    touchManagedPtr context+    return result'++-- method Layout::context_changed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_context_changed" pango_layout_context_changed :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO ()+++layoutContextChanged ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m ()+layoutContextChanged _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_layout_context_changed _obj'+    touchManagedPtr _obj+    return ()++-- method Layout::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Layout"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_copy" pango_layout_copy :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr Layout)+++layoutCopy ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Layout+layoutCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_copy _obj'+    checkUnexpectedReturnNULL "pango_layout_copy" result+    result' <- (wrapObject Layout) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_alignment+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Alignment"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_alignment" pango_layout_get_alignment :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CUInt+++layoutGetAlignment ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Alignment+layoutGetAlignment _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_alignment _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "AttrList"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_attributes" pango_layout_get_attributes :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr AttrList)+++layoutGetAttributes ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m AttrList+layoutGetAttributes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_attributes _obj'+    checkUnexpectedReturnNULL "pango_layout_get_attributes" result+    result' <- (newBoxed AttrList) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_auto_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_auto_dir" pango_layout_get_auto_dir :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CInt+++layoutGetAutoDir ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Bool+layoutGetAutoDir _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_auto_dir _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_baseline+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_baseline" pango_layout_get_baseline :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetBaseline ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetBaseline _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_baseline _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_character_count+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_character_count" pango_layout_get_character_count :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetCharacterCount ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetCharacterCount _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_character_count _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_context+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Context"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_context" pango_layout_get_context :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr Context)+++layoutGetContext ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Context+layoutGetContext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_context _obj'+    checkUnexpectedReturnNULL "pango_layout_get_context" result+    result' <- (newObject Context) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_cursor_pos+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weak_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_cursor_pos" pango_layout_get_cursor_pos :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- index_ : TBasicType TInt32+    Ptr Rectangle ->                        -- strong_pos : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- weak_pos : TInterface "Pango" "Rectangle"+    IO ()+++layoutGetCursorPos ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- index_+    m (Rectangle,Rectangle)+layoutGetCursorPos _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    strong_pos <- callocBytes 16 :: IO (Ptr Rectangle)+    weak_pos <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_get_cursor_pos _obj' index_ strong_pos weak_pos+    strong_pos' <- (wrapPtr Rectangle) strong_pos+    weak_pos' <- (wrapPtr Rectangle) weak_pos+    touchManagedPtr _obj+    return (strong_pos', weak_pos')++-- method Layout::get_ellipsize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "EllipsizeMode"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_ellipsize" pango_layout_get_ellipsize :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CUInt+++layoutGetEllipsize ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m EllipsizeMode+layoutGetEllipsize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_ellipsize _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_extents" pango_layout_get_extents :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutGetExtents ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m (Rectangle,Rectangle)+layoutGetExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_get_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method Layout::get_font_description+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_font_description" pango_layout_get_font_description :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr FontDescription)+++layoutGetFontDescription ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m FontDescription+layoutGetFontDescription _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_font_description _obj'+    checkUnexpectedReturnNULL "pango_layout_get_font_description" result+    result' <- (newBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_height+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_height" pango_layout_get_height :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetHeight ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetHeight _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_height _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_indent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_indent" pango_layout_get_indent :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetIndent ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetIndent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_indent _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_iter+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutIter"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_iter" pango_layout_get_iter :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr LayoutIter)+++layoutGetIter ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m LayoutIter+layoutGetIter _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_iter _obj'+    checkUnexpectedReturnNULL "pango_layout_get_iter" result+    result' <- (wrapBoxed LayoutIter) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_justify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_justify" pango_layout_get_justify :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CInt+++layoutGetJustify ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Bool+layoutGetJustify _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_justify _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_line+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutLine"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_line" pango_layout_get_line :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- line : TBasicType TInt32+    IO (Ptr LayoutLine)+++layoutGetLine ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- line+    m LayoutLine+layoutGetLine _obj line = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_line _obj' line+    checkUnexpectedReturnNULL "pango_layout_get_line" result+    result' <- (newBoxed LayoutLine) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_line_count+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_line_count" pango_layout_get_line_count :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetLineCount ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetLineCount _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_line_count _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_line_readonly+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutLine"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_line_readonly" pango_layout_get_line_readonly :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- line : TBasicType TInt32+    IO (Ptr LayoutLine)+++layoutGetLineReadonly ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- line+    m LayoutLine+layoutGetLineReadonly _obj line = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_line_readonly _obj' line+    checkUnexpectedReturnNULL "pango_layout_get_line_readonly" result+    result' <- (newBoxed LayoutLine) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_lines+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Pango" "LayoutLine")+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_lines" pango_layout_get_lines :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr (GSList (Ptr LayoutLine)))+++layoutGetLines ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m [LayoutLine]+layoutGetLines _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_lines _obj'+    checkUnexpectedReturnNULL "pango_layout_get_lines" result+    result' <- unpackGSList result+    result'' <- mapM (newBoxed LayoutLine) result'+    touchManagedPtr _obj+    return result''++-- method Layout::get_lines_readonly+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Pango" "LayoutLine")+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_lines_readonly" pango_layout_get_lines_readonly :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr (GSList (Ptr LayoutLine)))+++layoutGetLinesReadonly ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m [LayoutLine]+layoutGetLinesReadonly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_lines_readonly _obj'+    checkUnexpectedReturnNULL "pango_layout_get_lines_readonly" result+    result' <- unpackGSList result+    result'' <- mapM (newBoxed LayoutLine) result'+    touchManagedPtr _obj+    return result''++-- method Layout::get_log_attrs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 2 (TInterface "Pango" "LogAttr"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_log_attrs" pango_layout_get_log_attrs :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr (Ptr LogAttr) ->                    -- attrs : TCArray False (-1) 2 (TInterface "Pango" "LogAttr")+    Ptr Int32 ->                            -- n_attrs : TBasicType TInt32+    IO ()+++layoutGetLogAttrs ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m ([LogAttr])+layoutGetLogAttrs _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    attrs <- allocMem :: IO (Ptr (Ptr LogAttr))+    n_attrs <- allocMem :: IO (Ptr Int32)+    pango_layout_get_log_attrs _obj' attrs n_attrs+    n_attrs' <- peek n_attrs+    attrs' <- peek attrs+    attrs'' <- (unpackBlockArrayWithLength 52 n_attrs') attrs'+    attrs''' <- mapM (newPtr 52 LogAttr) attrs''+    freeMem attrs'+    touchManagedPtr _obj+    freeMem attrs+    freeMem n_attrs+    return attrs'''++-- method Layout::get_log_attrs_readonly+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray False (-1) 1 (TInterface "Pango" "LogAttr")+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_log_attrs_readonly" pango_layout_get_log_attrs_readonly :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr Int32 ->                            -- n_attrs : TBasicType TInt32+    IO (Ptr LogAttr)+++layoutGetLogAttrsReadonly ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m [LogAttr]+layoutGetLogAttrsReadonly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    n_attrs <- allocMem :: IO (Ptr Int32)+    result <- pango_layout_get_log_attrs_readonly _obj' n_attrs+    n_attrs' <- peek n_attrs+    checkUnexpectedReturnNULL "pango_layout_get_log_attrs_readonly" result+    result' <- (unpackBlockArrayWithLength 52 n_attrs') result+    result'' <- mapM (newPtr 52 LogAttr) result'+    touchManagedPtr _obj+    freeMem n_attrs+    return result''++-- method Layout::get_pixel_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_pixel_extents" pango_layout_get_pixel_extents :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutGetPixelExtents ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m (Rectangle,Rectangle)+layoutGetPixelExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_get_pixel_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method Layout::get_pixel_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_pixel_size" pango_layout_get_pixel_size :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr Int32 ->                            -- width : TBasicType TInt32+    Ptr Int32 ->                            -- height : TBasicType TInt32+    IO ()+++layoutGetPixelSize ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m (Int32,Int32)+layoutGetPixelSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    width <- allocMem :: IO (Ptr Int32)+    height <- allocMem :: IO (Ptr Int32)+    pango_layout_get_pixel_size _obj' width height+    width' <- peek width+    height' <- peek height+    touchManagedPtr _obj+    freeMem width+    freeMem height+    return (width', height')++-- method Layout::get_serial+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_serial" pango_layout_get_serial :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Word32+++layoutGetSerial ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Word32+layoutGetSerial _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_serial _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_single_paragraph_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_single_paragraph_mode" pango_layout_get_single_paragraph_mode :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CInt+++layoutGetSingleParagraphMode ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Bool+layoutGetSingleParagraphMode _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_single_paragraph_mode _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_size" pango_layout_get_size :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr Int32 ->                            -- width : TBasicType TInt32+    Ptr Int32 ->                            -- height : TBasicType TInt32+    IO ()+++layoutGetSize ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m (Int32,Int32)+layoutGetSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    width <- allocMem :: IO (Ptr Int32)+    height <- allocMem :: IO (Ptr Int32)+    pango_layout_get_size _obj' width height+    width' <- peek width+    height' <- peek height+    touchManagedPtr _obj+    freeMem width+    freeMem height+    return (width', height')++-- method Layout::get_spacing+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_spacing" pango_layout_get_spacing :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetSpacing ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetSpacing _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_spacing _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_tabs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "TabArray"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_tabs" pango_layout_get_tabs :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO (Ptr TabArray)+++layoutGetTabs ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m TabArray+layoutGetTabs _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_tabs _obj'+    checkUnexpectedReturnNULL "pango_layout_get_tabs" result+    result' <- (wrapBoxed TabArray) result+    touchManagedPtr _obj+    return result'++-- method Layout::get_text+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_text" pango_layout_get_text :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CString+++layoutGetText ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m T.Text+layoutGetText _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_text _obj'+    checkUnexpectedReturnNULL "pango_layout_get_text" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Layout::get_unknown_glyphs_count+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_unknown_glyphs_count" pango_layout_get_unknown_glyphs_count :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetUnknownGlyphsCount ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetUnknownGlyphsCount _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_unknown_glyphs_count _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_width" pango_layout_get_width :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO Int32+++layoutGetWidth ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Int32+layoutGetWidth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_width _obj'+    touchManagedPtr _obj+    return result++-- method Layout::get_wrap+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "WrapMode"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_get_wrap" pango_layout_get_wrap :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CUInt+++layoutGetWrap ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m WrapMode+layoutGetWrap _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_get_wrap _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Layout::index_to_line_x+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", 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 "pango_layout_index_to_line_x" pango_layout_index_to_line_x :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- index_ : TBasicType TInt32+    CInt ->                                 -- trailing : TBasicType TBoolean+    Ptr Int32 ->                            -- line : TBasicType TInt32+    Ptr Int32 ->                            -- x_pos : TBasicType TInt32+    IO ()+++layoutIndexToLineX ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- index_+    Bool ->                                 -- trailing+    m (Int32,Int32)+layoutIndexToLineX _obj index_ trailing = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let trailing' = (fromIntegral . fromEnum) trailing+    line <- allocMem :: IO (Ptr Int32)+    x_pos <- allocMem :: IO (Ptr Int32)+    pango_layout_index_to_line_x _obj' index_ trailing' line x_pos+    line' <- peek line+    x_pos' <- peek x_pos+    touchManagedPtr _obj+    freeMem line+    freeMem x_pos+    return (line', x_pos')++-- method Layout::index_to_pos+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_index_to_pos" pango_layout_index_to_pos :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- index_ : TBasicType TInt32+    Ptr Rectangle ->                        -- pos : TInterface "Pango" "Rectangle"+    IO ()+++layoutIndexToPos ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- index_+    m (Rectangle)+layoutIndexToPos _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pos <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_index_to_pos _obj' index_ pos+    pos' <- (wrapPtr Rectangle) pos+    touchManagedPtr _obj+    return pos'++-- method Layout::is_ellipsized+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_is_ellipsized" pango_layout_is_ellipsized :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CInt+++layoutIsEllipsized ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Bool+layoutIsEllipsized _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_is_ellipsized _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Layout::is_wrapped+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_is_wrapped" pango_layout_is_wrapped :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    IO CInt+++layoutIsWrapped ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    m Bool+layoutIsWrapped _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_layout_is_wrapped _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Layout::move_cursor_visually+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "new_trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_move_cursor_visually" pango_layout_move_cursor_visually :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CInt ->                                 -- strong : TBasicType TBoolean+    Int32 ->                                -- old_index : TBasicType TInt32+    Int32 ->                                -- old_trailing : TBasicType TInt32+    Int32 ->                                -- direction : TBasicType TInt32+    Ptr Int32 ->                            -- new_index : TBasicType TInt32+    Ptr Int32 ->                            -- new_trailing : TBasicType TInt32+    IO ()+++layoutMoveCursorVisually ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- strong+    Int32 ->                                -- old_index+    Int32 ->                                -- old_trailing+    Int32 ->                                -- direction+    m (Int32,Int32)+layoutMoveCursorVisually _obj strong old_index old_trailing direction = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let strong' = (fromIntegral . fromEnum) strong+    new_index <- allocMem :: IO (Ptr Int32)+    new_trailing <- allocMem :: IO (Ptr Int32)+    pango_layout_move_cursor_visually _obj' strong' old_index old_trailing direction new_index new_trailing+    new_index' <- peek new_index+    new_trailing' <- peek new_trailing+    touchManagedPtr _obj+    freeMem new_index+    freeMem new_trailing+    return (new_index', new_trailing')++-- method Layout::set_alignment+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_alignment" pango_layout_set_alignment :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CUInt ->                                -- alignment : TInterface "Pango" "Alignment"+    IO ()+++layoutSetAlignment ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Alignment ->                            -- alignment+    m ()+layoutSetAlignment _obj alignment = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let alignment' = (fromIntegral . fromEnum) alignment+    pango_layout_set_alignment _obj' alignment'+    touchManagedPtr _obj+    return ()++-- method Layout::set_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_attributes" pango_layout_set_attributes :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr AttrList ->                         -- attrs : TInterface "Pango" "AttrList"+    IO ()+++layoutSetAttributes ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Maybe (AttrList) ->                     -- attrs+    m ()+layoutSetAttributes _obj attrs = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeAttrs <- case attrs of+        Nothing -> return nullPtr+        Just jAttrs -> do+            let jAttrs' = unsafeManagedPtrGetPtr jAttrs+            return jAttrs'+    pango_layout_set_attributes _obj' maybeAttrs+    touchManagedPtr _obj+    whenJust attrs touchManagedPtr+    return ()++-- method Layout::set_auto_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_dir", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_dir", 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 "pango_layout_set_auto_dir" pango_layout_set_auto_dir :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CInt ->                                 -- auto_dir : TBasicType TBoolean+    IO ()+++layoutSetAutoDir ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- auto_dir+    m ()+layoutSetAutoDir _obj auto_dir = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let auto_dir' = (fromIntegral . fromEnum) auto_dir+    pango_layout_set_auto_dir _obj' auto_dir'+    touchManagedPtr _obj+    return ()++-- method Layout::set_ellipsize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_ellipsize" pango_layout_set_ellipsize :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CUInt ->                                -- ellipsize : TInterface "Pango" "EllipsizeMode"+    IO ()+++layoutSetEllipsize ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    EllipsizeMode ->                        -- ellipsize+    m ()+layoutSetEllipsize _obj ellipsize = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let ellipsize' = (fromIntegral . fromEnum) ellipsize+    pango_layout_set_ellipsize _obj' ellipsize'+    touchManagedPtr _obj+    return ()++-- method Layout::set_font_description+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_font_description" pango_layout_set_font_description :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    IO ()+++layoutSetFontDescription ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Maybe (FontDescription) ->              -- desc+    m ()+layoutSetFontDescription _obj desc = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeDesc <- case desc of+        Nothing -> return nullPtr+        Just jDesc -> do+            let jDesc' = unsafeManagedPtrGetPtr jDesc+            return jDesc'+    pango_layout_set_font_description _obj' maybeDesc+    touchManagedPtr _obj+    whenJust desc touchManagedPtr+    return ()++-- method Layout::set_height+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_height" pango_layout_set_height :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- height : TBasicType TInt32+    IO ()+++layoutSetHeight ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- height+    m ()+layoutSetHeight _obj height = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_layout_set_height _obj' height+    touchManagedPtr _obj+    return ()++-- method Layout::set_indent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_indent" pango_layout_set_indent :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- indent : TBasicType TInt32+    IO ()+++layoutSetIndent ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- indent+    m ()+layoutSetIndent _obj indent = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_layout_set_indent _obj' indent+    touchManagedPtr _obj+    return ()++-- method Layout::set_justify+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "justify", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "justify", 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 "pango_layout_set_justify" pango_layout_set_justify :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CInt ->                                 -- justify : TBasicType TBoolean+    IO ()+++layoutSetJustify ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- justify+    m ()+layoutSetJustify _obj justify = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let justify' = (fromIntegral . fromEnum) justify+    pango_layout_set_justify _obj' justify'+    touchManagedPtr _obj+    return ()++-- method Layout::set_markup+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_markup" pango_layout_set_markup :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CString ->                              -- markup : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    IO ()+++layoutSetMarkup ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- markup+    Int32 ->                                -- length+    m ()+layoutSetMarkup _obj markup length_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    markup' <- textToCString markup+    pango_layout_set_markup _obj' markup' length_+    touchManagedPtr _obj+    freeMem markup'+    return ()++-- method Layout::set_markup_with_accel+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_markup_with_accel" pango_layout_set_markup_with_accel :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CString ->                              -- markup : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    CInt ->                                 -- accel_marker : TBasicType TUniChar+    Ptr CInt ->                             -- accel_char : TBasicType TUniChar+    IO ()+++layoutSetMarkupWithAccel ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- markup+    Int32 ->                                -- length+    Char ->                                 -- accel_marker+    m (Char)+layoutSetMarkupWithAccel _obj markup length_ accel_marker = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    markup' <- textToCString markup+    let accel_marker' = (fromIntegral . ord) accel_marker+    accel_char <- allocMem :: IO (Ptr CInt)+    pango_layout_set_markup_with_accel _obj' markup' length_ accel_marker' accel_char+    accel_char' <- peek accel_char+    let accel_char'' = (chr . fromIntegral) accel_char'+    touchManagedPtr _obj+    freeMem markup'+    freeMem accel_char+    return accel_char''++-- method Layout::set_single_paragraph_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", 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 "pango_layout_set_single_paragraph_mode" pango_layout_set_single_paragraph_mode :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CInt ->                                 -- setting : TBasicType TBoolean+    IO ()+++layoutSetSingleParagraphMode ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- setting+    m ()+layoutSetSingleParagraphMode _obj setting = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let setting' = (fromIntegral . fromEnum) setting+    pango_layout_set_single_paragraph_mode _obj' setting'+    touchManagedPtr _obj+    return ()++-- method Layout::set_spacing+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_spacing" pango_layout_set_spacing :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- spacing : TBasicType TInt32+    IO ()+++layoutSetSpacing ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- spacing+    m ()+layoutSetSpacing _obj spacing = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_layout_set_spacing _obj' spacing+    touchManagedPtr _obj+    return ()++-- method Layout::set_tabs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_tabs" pango_layout_set_tabs :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Ptr TabArray ->                         -- tabs : TInterface "Pango" "TabArray"+    IO ()+++layoutSetTabs ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Maybe (TabArray) ->                     -- tabs+    m ()+layoutSetTabs _obj tabs = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeTabs <- case tabs of+        Nothing -> return nullPtr+        Just jTabs -> do+            let jTabs' = unsafeManagedPtrGetPtr jTabs+            return jTabs'+    pango_layout_set_tabs _obj' maybeTabs+    touchManagedPtr _obj+    whenJust tabs touchManagedPtr+    return ()++-- method Layout::set_text+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_text" pango_layout_set_text :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    IO ()+++layoutSetText ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    T.Text ->                               -- text+    Int32 ->                                -- length+    m ()+layoutSetText _obj text length_ = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    text' <- textToCString text+    pango_layout_set_text _obj' text' length_+    touchManagedPtr _obj+    freeMem text'+    return ()++-- method Layout::set_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_width" pango_layout_set_width :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- width : TBasicType TInt32+    IO ()+++layoutSetWidth ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- width+    m ()+layoutSetWidth _obj width = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_layout_set_width _obj' width+    touchManagedPtr _obj+    return ()++-- method Layout::set_wrap+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_set_wrap" pango_layout_set_wrap :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    CUInt ->                                -- wrap : TInterface "Pango" "WrapMode"+    IO ()+++layoutSetWrap ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    WrapMode ->                             -- wrap+    m ()+layoutSetWrap _obj wrap = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let wrap' = (fromIntegral . fromEnum) wrap+    pango_layout_set_wrap _obj' wrap'+    touchManagedPtr _obj+    return ()++-- method Layout::xy_to_index+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_xy_to_index" pango_layout_xy_to_index :: +    Ptr Layout ->                           -- _obj : TInterface "Pango" "Layout"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Ptr Int32 ->                            -- index_ : TBasicType TInt32+    Ptr Int32 ->                            -- trailing : TBasicType TInt32+    IO CInt+++layoutXyToIndex ::+    (MonadIO m, LayoutK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- x+    Int32 ->                                -- y+    m (Bool,Int32,Int32)+layoutXyToIndex _obj x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    index_ <- allocMem :: IO (Ptr Int32)+    trailing <- allocMem :: IO (Ptr Int32)+    result <- pango_layout_xy_to_index _obj' x y index_ trailing+    let result' = (/= 0) result+    index_' <- peek index_+    trailing' <- peek trailing+    touchManagedPtr _obj+    freeMem index_+    freeMem trailing+    return (result', index_', trailing')++
+ GI/Pango/Objects/Layout.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.Layout 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++newtype Layout = Layout (ForeignPtr Layout)+instance GObject Layout where+class GObject o => LayoutK o+instance (GObject o, IsDescendantOf Layout o) => LayoutK o
+ GI/Pango/Objects/Renderer.hs view
@@ -0,0 +1,666 @@++{- |+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.Pango.Objects.Renderer+    ( ++-- * Exported types+    Renderer(..)                            ,+    RendererK                               ,+    toRenderer                              ,+    noRenderer                              ,+++ -- * Methods+-- ** rendererActivate+    rendererActivate                        ,+++-- ** rendererDeactivate+    rendererDeactivate                      ,+++-- ** rendererDrawErrorUnderline+    rendererDrawErrorUnderline              ,+++-- ** rendererDrawGlyph+    rendererDrawGlyph                       ,+++-- ** rendererDrawGlyphItem+    rendererDrawGlyphItem                   ,+++-- ** rendererDrawGlyphs+    rendererDrawGlyphs                      ,+++-- ** rendererDrawLayout+    rendererDrawLayout                      ,+++-- ** rendererDrawLayoutLine+    rendererDrawLayoutLine                  ,+++-- ** rendererDrawRectangle+    rendererDrawRectangle                   ,+++-- ** rendererDrawTrapezoid+    rendererDrawTrapezoid                   ,+++-- ** rendererGetColor+    rendererGetColor                        ,+++-- ** rendererGetLayout+    rendererGetLayout                       ,+++-- ** rendererGetLayoutLine+    rendererGetLayoutLine                   ,+++-- ** rendererGetMatrix+    rendererGetMatrix                       ,+++-- ** rendererPartChanged+    rendererPartChanged                     ,+++-- ** rendererSetColor+    rendererSetColor                        ,+++-- ** rendererSetMatrix+    rendererSetMatrix                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks+import qualified GI.GObject as GObject++newtype Renderer = Renderer (ForeignPtr Renderer)+foreign import ccall "pango_renderer_get_type"+    c_pango_renderer_get_type :: IO GType++type instance ParentTypes Renderer = RendererParentTypes+type RendererParentTypes = '[GObject.Object]++instance GObject Renderer where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_pango_renderer_get_type+    ++class GObject o => RendererK o+instance (GObject o, IsDescendantOf Renderer o) => RendererK o++toRenderer :: RendererK o => o -> IO Renderer+toRenderer = unsafeCastTo Renderer++noRenderer :: Maybe Renderer+noRenderer = Nothing++type instance AttributeList Renderer = RendererAttributeList+type RendererAttributeList = ('[ ] :: [(Symbol, *)])++type instance SignalList Renderer = RendererSignalList+type RendererSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])++-- method Renderer::activate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_activate" pango_renderer_activate :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    IO ()+++rendererActivate ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    m ()+rendererActivate _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_renderer_activate _obj'+    touchManagedPtr _obj+    return ()++-- method Renderer::deactivate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_deactivate" pango_renderer_deactivate :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    IO ()+++rendererDeactivate ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    m ()+rendererDeactivate _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_renderer_deactivate _obj'+    touchManagedPtr _obj+    return ()++-- method Renderer::draw_error_underline+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_draw_error_underline" pango_renderer_draw_error_underline :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO ()+++rendererDrawErrorUnderline ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- x+    Int32 ->                                -- y+    Int32 ->                                -- width+    Int32 ->                                -- height+    m ()+rendererDrawErrorUnderline _obj x y width height = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    pango_renderer_draw_error_underline _obj' x y width height+    touchManagedPtr _obj+    return ()++-- method Renderer::draw_glyph+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", 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 "pango_renderer_draw_glyph" pango_renderer_draw_glyph :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    Ptr Font ->                             -- font : TInterface "Pango" "Font"+    Word32 ->                               -- glyph : TBasicType TUInt32+    CDouble ->                              -- x : TBasicType TDouble+    CDouble ->                              -- y : TBasicType TDouble+    IO ()+++rendererDrawGlyph ::+    (MonadIO m, RendererK a, FontK b) =>+    a ->                                    -- _obj+    b ->                                    -- font+    Word32 ->                               -- glyph+    Double ->                               -- x+    Double ->                               -- y+    m ()+rendererDrawGlyph _obj font glyph x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let font' = unsafeManagedPtrCastPtr font+    let x' = realToFrac x+    let y' = realToFrac y+    pango_renderer_draw_glyph _obj' font' glyph x' y'+    touchManagedPtr _obj+    touchManagedPtr font+    return ()++-- method Renderer::draw_glyph_item+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_draw_glyph_item" pango_renderer_draw_glyph_item :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    CString ->                              -- text : TBasicType TUTF8+    Ptr GlyphItem ->                        -- glyph_item : TInterface "Pango" "GlyphItem"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++rendererDrawGlyphItem ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    Maybe (T.Text) ->                       -- text+    GlyphItem ->                            -- glyph_item+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+rendererDrawGlyphItem _obj text glyph_item x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeText <- case text of+        Nothing -> return nullPtr+        Just jText -> do+            jText' <- textToCString jText+            return jText'+    let glyph_item' = unsafeManagedPtrGetPtr glyph_item+    pango_renderer_draw_glyph_item _obj' maybeText glyph_item' x y+    touchManagedPtr _obj+    touchManagedPtr glyph_item+    freeMem maybeText+    return ()++-- method Renderer::draw_glyphs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_draw_glyphs" pango_renderer_draw_glyphs :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    Ptr Font ->                             -- font : TInterface "Pango" "Font"+    Ptr GlyphString ->                      -- glyphs : TInterface "Pango" "GlyphString"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++rendererDrawGlyphs ::+    (MonadIO m, RendererK a, FontK b) =>+    a ->                                    -- _obj+    b ->                                    -- font+    GlyphString ->                          -- glyphs+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+rendererDrawGlyphs _obj font glyphs x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let font' = unsafeManagedPtrCastPtr font+    let glyphs' = unsafeManagedPtrGetPtr glyphs+    pango_renderer_draw_glyphs _obj' font' glyphs' x y+    touchManagedPtr _obj+    touchManagedPtr font+    touchManagedPtr glyphs+    return ()++-- method Renderer::draw_layout+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_draw_layout" pango_renderer_draw_layout :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    Ptr Layout ->                           -- layout : TInterface "Pango" "Layout"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++rendererDrawLayout ::+    (MonadIO m, RendererK a, LayoutK b) =>+    a ->                                    -- _obj+    b ->                                    -- layout+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+rendererDrawLayout _obj layout x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let layout' = unsafeManagedPtrCastPtr layout+    pango_renderer_draw_layout _obj' layout' x y+    touchManagedPtr _obj+    touchManagedPtr layout+    return ()++-- method Renderer::draw_layout_line+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_draw_layout_line" pango_renderer_draw_layout_line :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    Ptr LayoutLine ->                       -- line : TInterface "Pango" "LayoutLine"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    IO ()+++rendererDrawLayoutLine ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    LayoutLine ->                           -- line+    Int32 ->                                -- x+    Int32 ->                                -- y+    m ()+rendererDrawLayoutLine _obj line x y = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let line' = unsafeManagedPtrGetPtr line+    pango_renderer_draw_layout_line _obj' line' x y+    touchManagedPtr _obj+    touchManagedPtr line+    return ()++-- method Renderer::draw_rectangle+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_draw_rectangle" pango_renderer_draw_rectangle :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    CUInt ->                                -- part : TInterface "Pango" "RenderPart"+    Int32 ->                                -- x : TBasicType TInt32+    Int32 ->                                -- y : TBasicType TInt32+    Int32 ->                                -- width : TBasicType TInt32+    Int32 ->                                -- height : TBasicType TInt32+    IO ()+++rendererDrawRectangle ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    RenderPart ->                           -- part+    Int32 ->                                -- x+    Int32 ->                                -- y+    Int32 ->                                -- width+    Int32 ->                                -- height+    m ()+rendererDrawRectangle _obj part x y width height = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let part' = (fromIntegral . fromEnum) part+    pango_renderer_draw_rectangle _obj' part' x y width height+    touchManagedPtr _obj+    return ()++-- method Renderer::draw_trapezoid+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x22", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x22", 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 "pango_renderer_draw_trapezoid" pango_renderer_draw_trapezoid :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    CUInt ->                                -- part : TInterface "Pango" "RenderPart"+    CDouble ->                              -- y1_ : TBasicType TDouble+    CDouble ->                              -- x11 : TBasicType TDouble+    CDouble ->                              -- x21 : TBasicType TDouble+    CDouble ->                              -- y2 : TBasicType TDouble+    CDouble ->                              -- x12 : TBasicType TDouble+    CDouble ->                              -- x22 : TBasicType TDouble+    IO ()+++rendererDrawTrapezoid ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    RenderPart ->                           -- part+    Double ->                               -- y1_+    Double ->                               -- x11+    Double ->                               -- x21+    Double ->                               -- y2+    Double ->                               -- x12+    Double ->                               -- x22+    m ()+rendererDrawTrapezoid _obj part y1_ x11 x21 y2 x12 x22 = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let part' = (fromIntegral . fromEnum) part+    let y1_' = realToFrac y1_+    let x11' = realToFrac x11+    let x21' = realToFrac x21+    let y2' = realToFrac y2+    let x12' = realToFrac x12+    let x22' = realToFrac x22+    pango_renderer_draw_trapezoid _obj' part' y1_' x11' x21' y2' x12' x22'+    touchManagedPtr _obj+    return ()++-- method Renderer::get_color+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Color"+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_get_color" pango_renderer_get_color :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    CUInt ->                                -- part : TInterface "Pango" "RenderPart"+    IO (Ptr Color)+++rendererGetColor ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    RenderPart ->                           -- part+    m Color+rendererGetColor _obj part = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let part' = (fromIntegral . fromEnum) part+    result <- pango_renderer_get_color _obj' part'+    checkUnexpectedReturnNULL "pango_renderer_get_color" result+    result' <- (newBoxed Color) result+    touchManagedPtr _obj+    return result'++-- method Renderer::get_layout+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Layout"+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_get_layout" pango_renderer_get_layout :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    IO (Ptr Layout)+++rendererGetLayout ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    m Layout+rendererGetLayout _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_renderer_get_layout _obj'+    checkUnexpectedReturnNULL "pango_renderer_get_layout" result+    result' <- (newObject Layout) result+    touchManagedPtr _obj+    return result'++-- method Renderer::get_layout_line+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutLine"+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_get_layout_line" pango_renderer_get_layout_line :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    IO (Ptr LayoutLine)+++rendererGetLayoutLine ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    m LayoutLine+rendererGetLayoutLine _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_renderer_get_layout_line _obj'+    checkUnexpectedReturnNULL "pango_renderer_get_layout_line" result+    result' <- (newBoxed LayoutLine) result+    touchManagedPtr _obj+    return result'++-- method Renderer::get_matrix+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Matrix"+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_get_matrix" pango_renderer_get_matrix :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    IO (Ptr Matrix)+++rendererGetMatrix ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    m Matrix+rendererGetMatrix _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- pango_renderer_get_matrix _obj'+    checkUnexpectedReturnNULL "pango_renderer_get_matrix" result+    result' <- (newBoxed Matrix) result+    touchManagedPtr _obj+    return result'++-- method Renderer::part_changed+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_part_changed" pango_renderer_part_changed :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    CUInt ->                                -- part : TInterface "Pango" "RenderPart"+    IO ()+++rendererPartChanged ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    RenderPart ->                           -- part+    m ()+rendererPartChanged _obj part = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let part' = (fromIntegral . fromEnum) part+    pango_renderer_part_changed _obj' part'+    touchManagedPtr _obj+    return ()++-- method Renderer::set_color+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_set_color" pango_renderer_set_color :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    CUInt ->                                -- part : TInterface "Pango" "RenderPart"+    Ptr Color ->                            -- color : TInterface "Pango" "Color"+    IO ()+++rendererSetColor ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    RenderPart ->                           -- part+    Maybe (Color) ->                        -- color+    m ()+rendererSetColor _obj part color = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let part' = (fromIntegral . fromEnum) part+    maybeColor <- case color of+        Nothing -> return nullPtr+        Just jColor -> do+            let jColor' = unsafeManagedPtrGetPtr jColor+            return jColor'+    pango_renderer_set_color _obj' part' maybeColor+    touchManagedPtr _obj+    whenJust color touchManagedPtr+    return ()++-- method Renderer::set_matrix+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_renderer_set_matrix" pango_renderer_set_matrix :: +    Ptr Renderer ->                         -- _obj : TInterface "Pango" "Renderer"+    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"+    IO ()+++rendererSetMatrix ::+    (MonadIO m, RendererK a) =>+    a ->                                    -- _obj+    Maybe (Matrix) ->                       -- matrix+    m ()+rendererSetMatrix _obj matrix = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeMatrix <- case matrix of+        Nothing -> return nullPtr+        Just jMatrix -> do+            let jMatrix' = unsafeManagedPtrGetPtr jMatrix+            return jMatrix'+    pango_renderer_set_matrix _obj' maybeMatrix+    touchManagedPtr _obj+    whenJust matrix touchManagedPtr+    return ()++
+ GI/Pango/Objects/Renderer.hs-boot view
@@ -0,0 +1,13 @@+module GI.Pango.Objects.Renderer 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++newtype Renderer = Renderer (ForeignPtr Renderer)+instance GObject Renderer where+class GObject o => RendererK o+instance (GObject o, IsDescendantOf Renderer o) => RendererK o
+ GI/Pango/Structs.hs view
@@ -0,0 +1,100 @@++{- |+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.Pango.Structs+    (     module GI.Pango.Structs.Analysis        ,+    module GI.Pango.Structs.AttrClass       ,+    module GI.Pango.Structs.AttrColor       ,+    module GI.Pango.Structs.AttrFloat       ,+    module GI.Pango.Structs.AttrFontDesc    ,+    module GI.Pango.Structs.AttrInt         ,+    module GI.Pango.Structs.AttrIterator    ,+    module GI.Pango.Structs.AttrLanguage    ,+    module GI.Pango.Structs.AttrList        ,+    module GI.Pango.Structs.AttrShape       ,+    module GI.Pango.Structs.AttrSize        ,+    module GI.Pango.Structs.AttrString      ,+    module GI.Pango.Structs.Attribute       ,+    module GI.Pango.Structs.Color           ,+    module GI.Pango.Structs.Coverage        ,+    module GI.Pango.Structs.EngineInfo      ,+    module GI.Pango.Structs.EngineScriptInfo,+    module GI.Pango.Structs.FontDescription ,+    module GI.Pango.Structs.FontMetrics     ,+    module GI.Pango.Structs.GlyphGeometry   ,+    module GI.Pango.Structs.GlyphInfo       ,+    module GI.Pango.Structs.GlyphItem       ,+    module GI.Pango.Structs.GlyphItemIter   ,+    module GI.Pango.Structs.GlyphString     ,+    module GI.Pango.Structs.GlyphVisAttr    ,+    module GI.Pango.Structs.IncludedModule  ,+    module GI.Pango.Structs.Item            ,+    module GI.Pango.Structs.Language        ,+    module GI.Pango.Structs.LayoutIter      ,+    module GI.Pango.Structs.LayoutLine      ,+    module GI.Pango.Structs.LogAttr         ,+    module GI.Pango.Structs.Map             ,+    module GI.Pango.Structs.MapEntry        ,+    module GI.Pango.Structs.Matrix          ,+    module GI.Pango.Structs.Rectangle       ,+    module GI.Pango.Structs.ScriptForLang   ,+    module GI.Pango.Structs.ScriptIter      ,+    module GI.Pango.Structs.TabArray        ,+++    ) where++import GI.Pango.Structs.Analysis+import GI.Pango.Structs.AttrClass+import GI.Pango.Structs.AttrColor+import GI.Pango.Structs.AttrFloat+import GI.Pango.Structs.AttrFontDesc+import GI.Pango.Structs.AttrInt+import GI.Pango.Structs.AttrIterator+import GI.Pango.Structs.AttrLanguage+import GI.Pango.Structs.AttrList+import GI.Pango.Structs.AttrShape+import GI.Pango.Structs.AttrSize+import GI.Pango.Structs.AttrString+import GI.Pango.Structs.Attribute+import GI.Pango.Structs.Color+import GI.Pango.Structs.Coverage+import GI.Pango.Structs.EngineInfo+import GI.Pango.Structs.EngineScriptInfo+import GI.Pango.Structs.FontDescription+import GI.Pango.Structs.FontMetrics+import GI.Pango.Structs.GlyphGeometry+import GI.Pango.Structs.GlyphInfo+import GI.Pango.Structs.GlyphItem+import GI.Pango.Structs.GlyphItemIter+import GI.Pango.Structs.GlyphString+import GI.Pango.Structs.GlyphVisAttr+import GI.Pango.Structs.IncludedModule+import GI.Pango.Structs.Item+import GI.Pango.Structs.Language+import GI.Pango.Structs.LayoutIter+import GI.Pango.Structs.LayoutLine+import GI.Pango.Structs.LogAttr+import GI.Pango.Structs.Map+import GI.Pango.Structs.MapEntry+import GI.Pango.Structs.Matrix+import GI.Pango.Structs.Rectangle+import GI.Pango.Structs.ScriptForLang+import GI.Pango.Structs.ScriptIter+import GI.Pango.Structs.TabArray++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.Pango.Types+import GI.Pango.Callbacks++
+ GI/Pango/Structs/Analysis.hs view
@@ -0,0 +1,124 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAnalysis structure stores information about+the properties of a segment of text.+-}++module GI.Pango.Structs.Analysis+    ( ++-- * Exported types+    Analysis(..)                            ,+    noAnalysis                              ,+++ -- * Properties+-- ** ExtraAttrs+    analysisReadExtraAttrs                  ,+++-- ** Flags+    analysisReadFlags                       ,+++-- ** Font+    analysisReadFont                        ,+++-- ** Gravity+    analysisReadGravity                     ,+++-- ** LangEngine+    analysisReadLangEngine                  ,+++-- ** Language+    analysisReadLanguage                    ,+++-- ** Level+    analysisReadLevel                       ,+++-- ** Script+    analysisReadScript                      ,+++-- ** ShapeEngine+    analysisReadShapeEngine                 ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Analysis = Analysis (ForeignPtr Analysis)+noAnalysis :: Maybe Analysis+noAnalysis = Nothing++analysisReadShapeEngine :: Analysis -> IO EngineShape+analysisReadShapeEngine s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EngineShape)+    val' <- (newObject EngineShape) val+    return val'++analysisReadLangEngine :: Analysis -> IO EngineLang+analysisReadLangEngine s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr EngineLang)+    val' <- (newObject EngineLang) val+    return val'++analysisReadFont :: Analysis -> IO Font+analysisReadFont s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Font)+    val' <- (newObject Font) val+    return val'++analysisReadLevel :: Analysis -> IO Word8+analysisReadLevel s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word8+    return val++analysisReadGravity :: Analysis -> IO Word8+analysisReadGravity s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 25) :: IO Word8+    return val++analysisReadFlags :: Analysis -> IO Word8+analysisReadFlags s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 26) :: IO Word8+    return val++analysisReadScript :: Analysis -> IO Word8+analysisReadScript s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 27) :: IO Word8+    return val++analysisReadLanguage :: Analysis -> IO Language+analysisReadLanguage s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Language)+    val' <- (newBoxed Language) val+    return val'++analysisReadExtraAttrs :: Analysis -> IO ([Ptr ()])+analysisReadExtraAttrs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr (GSList (Ptr ())))+    val' <- unpackGSList val+    return val'++
+ GI/Pango/Structs/Analysis.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.Analysis 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++newtype Analysis = Analysis (ForeignPtr Analysis)
+ GI/Pango/Structs/AttrClass.hs view
@@ -0,0 +1,54 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrClass structure stores the type and operations for+a particular type of attribute. The functions in this structure should+not be called directly. Instead, one should use the wrapper functions+provided for #PangoAttribute.+-}++module GI.Pango.Structs.AttrClass+    ( ++-- * Exported types+    AttrClass(..)                           ,+    noAttrClass                             ,+++ -- * Properties+-- ** Type+    attrClassReadType                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrClass = AttrClass (ForeignPtr AttrClass)+noAttrClass :: Maybe AttrClass+noAttrClass = Nothing++attrClassReadType :: AttrClass -> IO AttrType+attrClassReadType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++-- XXX Skipped getter for "AttrClass:destroy" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "AttrClass:equal" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++
+ GI/Pango/Structs/AttrClass.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrClass 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++newtype AttrClass = AttrClass (ForeignPtr AttrClass)
+ GI/Pango/Structs/AttrColor.hs view
@@ -0,0 +1,58 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrColor structure is used to represent attributes that+are colors.+-}++module GI.Pango.Structs.AttrColor+    ( ++-- * Exported types+    AttrColor(..)                           ,+    noAttrColor                             ,+++ -- * Properties+-- ** Attr+    attrColorReadAttr                       ,+++-- ** Color+    attrColorReadColor                      ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrColor = AttrColor (ForeignPtr AttrColor)+noAttrColor :: Maybe AttrColor+noAttrColor = Nothing++attrColorReadAttr :: AttrColor -> IO Attribute+attrColorReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrColorReadColor :: AttrColor -> IO Color+attrColorReadColor s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Color)+    val' <- (newBoxed Color) val+    return val'++
+ GI/Pango/Structs/AttrColor.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrColor 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++newtype AttrColor = AttrColor (ForeignPtr AttrColor)
+ GI/Pango/Structs/AttrFloat.hs view
@@ -0,0 +1,58 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrFloat structure is used to represent attributes with+a float or double value.+-}++module GI.Pango.Structs.AttrFloat+    ( ++-- * Exported types+    AttrFloat(..)                           ,+    noAttrFloat                             ,+++ -- * Properties+-- ** Attr+    attrFloatReadAttr                       ,+++-- ** Value+    attrFloatReadValue                      ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrFloat = AttrFloat (ForeignPtr AttrFloat)+noAttrFloat :: Maybe AttrFloat+noAttrFloat = Nothing++attrFloatReadAttr :: AttrFloat -> IO Attribute+attrFloatReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrFloatReadValue :: AttrFloat -> IO Double+attrFloatReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CDouble+    let val' = realToFrac val+    return val'++
+ GI/Pango/Structs/AttrFloat.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrFloat 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++newtype AttrFloat = AttrFloat (ForeignPtr AttrFloat)
+ GI/Pango/Structs/AttrFontDesc.hs view
@@ -0,0 +1,58 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrFontDesc structure is used to store an attribute that+sets all aspects of the font description at once.+-}++module GI.Pango.Structs.AttrFontDesc+    ( ++-- * Exported types+    AttrFontDesc(..)                        ,+    noAttrFontDesc                          ,+++ -- * Properties+-- ** Attr+    attrFontDescReadAttr                    ,+++-- ** Desc+    attrFontDescReadDesc                    ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrFontDesc = AttrFontDesc (ForeignPtr AttrFontDesc)+noAttrFontDesc :: Maybe AttrFontDesc+noAttrFontDesc = Nothing++attrFontDescReadAttr :: AttrFontDesc -> IO Attribute+attrFontDescReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrFontDescReadDesc :: AttrFontDesc -> IO FontDescription+attrFontDescReadDesc s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr FontDescription)+    val' <- (newBoxed FontDescription) val+    return val'++
+ GI/Pango/Structs/AttrFontDesc.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrFontDesc 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++newtype AttrFontDesc = AttrFontDesc (ForeignPtr AttrFontDesc)
+ GI/Pango/Structs/AttrInt.hs view
@@ -0,0 +1,57 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrInt structure is used to represent attributes with+an integer or enumeration value.+-}++module GI.Pango.Structs.AttrInt+    ( ++-- * Exported types+    AttrInt(..)                             ,+    noAttrInt                               ,+++ -- * Properties+-- ** Attr+    attrIntReadAttr                         ,+++-- ** Value+    attrIntReadValue                        ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrInt = AttrInt (ForeignPtr AttrInt)+noAttrInt :: Maybe AttrInt+noAttrInt = Nothing++attrIntReadAttr :: AttrInt -> IO Attribute+attrIntReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrIntReadValue :: AttrInt -> IO Int32+attrIntReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++
+ GI/Pango/Structs/AttrInt.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrInt 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++newtype AttrInt = AttrInt (ForeignPtr AttrInt)
+ GI/Pango/Structs/AttrIterator.hs view
@@ -0,0 +1,213 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrIterator structure is used to represent an+iterator through a #PangoAttrList. A new iterator is created+with pango_attr_list_get_iterator(). Once the iterator+is created, it can be advanced through the style changes+in the text using pango_attr_iterator_next(). At each+style change, the range of the current style segment and the+attributes currently in effect can be queried.+-}++module GI.Pango.Structs.AttrIterator+    ( ++-- * Exported types+    AttrIterator(..)                        ,+    noAttrIterator                          ,+++ -- * Methods+-- ** attrIteratorDestroy+    attrIteratorDestroy                     ,+++-- ** attrIteratorGetAttrs+    attrIteratorGetAttrs                    ,+++-- ** attrIteratorGetFont+    attrIteratorGetFont                     ,+++-- ** attrIteratorNext+    attrIteratorNext                        ,+++-- ** attrIteratorRange+    attrIteratorRange                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrIterator = AttrIterator (ForeignPtr AttrIterator)+noAttrIterator :: Maybe AttrIterator+noAttrIterator = Nothing++-- method AttrIterator::destroy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_iterator_destroy" pango_attr_iterator_destroy :: +    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"+    IO ()+++attrIteratorDestroy ::+    (MonadIO m) =>+    AttrIterator ->                         -- _obj+    m ()+attrIteratorDestroy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_attr_iterator_destroy _obj'+    touchManagedPtr _obj+    return ()++-- method AttrIterator::get_attrs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Pango" "Attribute")+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_iterator_get_attrs" pango_attr_iterator_get_attrs :: +    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"+    IO (Ptr (GSList (Ptr Attribute)))+++attrIteratorGetAttrs ::+    (MonadIO m) =>+    AttrIterator ->                         -- _obj+    m [Attribute]+attrIteratorGetAttrs _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_attr_iterator_get_attrs _obj'+    checkUnexpectedReturnNULL "pango_attr_iterator_get_attrs" result+    result' <- unpackGSList result+    result'' <- mapM (wrapPtr Attribute) result'+    g_slist_free result+    touchManagedPtr _obj+    return result''++-- method AttrIterator::get_font+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_iterator_get_font" pango_attr_iterator_get_font :: +    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"+    Ptr FontDescription ->                  -- desc : TInterface "Pango" "FontDescription"+    Ptr Language ->                         -- language : TInterface "Pango" "Language"+    Ptr (GSList (Ptr Attribute)) ->         -- extra_attrs : TGSList (TInterface "Pango" "Attribute")+    IO ()+++attrIteratorGetFont ::+    (MonadIO m) =>+    AttrIterator ->                         -- _obj+    FontDescription ->                      -- desc+    Maybe (Language) ->                     -- language+    [Attribute] ->                          -- extra_attrs+    m ()+attrIteratorGetFont _obj desc language extra_attrs = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let desc' = unsafeManagedPtrGetPtr desc+    maybeLanguage <- case language of+        Nothing -> return nullPtr+        Just jLanguage -> do+            let jLanguage' = unsafeManagedPtrGetPtr jLanguage+            return jLanguage'+    let extra_attrs' = map unsafeManagedPtrGetPtr extra_attrs+    extra_attrs'' <- packGSList extra_attrs'+    pango_attr_iterator_get_font _obj' desc' maybeLanguage extra_attrs''+    touchManagedPtr _obj+    touchManagedPtr desc+    whenJust language touchManagedPtr+    mapM_ touchManagedPtr extra_attrs+    return ()++-- method AttrIterator::next+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_iterator_next" pango_attr_iterator_next :: +    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"+    IO CInt+++attrIteratorNext ::+    (MonadIO m) =>+    AttrIterator ->                         -- _obj+    m Bool+attrIteratorNext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_attr_iterator_next _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method AttrIterator::range+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_iterator_range" pango_attr_iterator_range :: +    Ptr AttrIterator ->                     -- _obj : TInterface "Pango" "AttrIterator"+    Ptr Int32 ->                            -- start : TBasicType TInt32+    Ptr Int32 ->                            -- end : TBasicType TInt32+    IO ()+++attrIteratorRange ::+    (MonadIO m) =>+    AttrIterator ->                         -- _obj+    m (Int32,Int32)+attrIteratorRange _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    start <- allocMem :: IO (Ptr Int32)+    end <- allocMem :: IO (Ptr Int32)+    pango_attr_iterator_range _obj' start end+    start' <- peek start+    end' <- peek end+    touchManagedPtr _obj+    freeMem start+    freeMem end+    return (start', end')++
+ GI/Pango/Structs/AttrIterator.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrIterator 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++newtype AttrIterator = AttrIterator (ForeignPtr AttrIterator)
+ GI/Pango/Structs/AttrLanguage.hs view
@@ -0,0 +1,58 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrLanguage structure is used to represent attributes that+are languages.+-}++module GI.Pango.Structs.AttrLanguage+    ( ++-- * Exported types+    AttrLanguage(..)                        ,+    noAttrLanguage                          ,+++ -- * Properties+-- ** Attr+    attrLanguageReadAttr                    ,+++-- ** Value+    attrLanguageReadValue                   ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrLanguage = AttrLanguage (ForeignPtr AttrLanguage)+noAttrLanguage :: Maybe AttrLanguage+noAttrLanguage = Nothing++attrLanguageReadAttr :: AttrLanguage -> IO Attribute+attrLanguageReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrLanguageReadValue :: AttrLanguage -> IO Language+attrLanguageReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Language)+    val' <- (newBoxed Language) val+    return val'++
+ GI/Pango/Structs/AttrLanguage.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrLanguage 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++newtype AttrLanguage = AttrLanguage (ForeignPtr AttrLanguage)
+ GI/Pango/Structs/AttrList.hs view
@@ -0,0 +1,334 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrList structure represents a list of attributes+that apply to a section of text. The attributes are, in general,+allowed to overlap in an arbitrary fashion, however, if the+attributes are manipulated only through pango_attr_list_change(),+the overlap between properties will meet stricter criteria.++Since the #PangoAttrList structure is stored as a linear list,+it is not suitable for storing attributes for large amounts+of text. In general, you should not use a single #PangoAttrList+for more than one paragraph of text.+-}++module GI.Pango.Structs.AttrList+    ( ++-- * Exported types+    AttrList(..)                            ,+    noAttrList                              ,+++ -- * Methods+-- ** attrListChange+    attrListChange                          ,+++-- ** attrListCopy+    attrListCopy                            ,+++-- ** attrListFilter+    attrListFilter                          ,+++-- ** attrListInsert+    attrListInsert                          ,+++-- ** attrListInsertBefore+    attrListInsertBefore                    ,+++-- ** attrListNew+    attrListNew                             ,+++-- ** attrListRef+    attrListRef                             ,+++-- ** attrListSplice+    attrListSplice                          ,+++-- ** attrListUnref+    attrListUnref                           ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrList = AttrList (ForeignPtr AttrList)+foreign import ccall "pango_attr_list_get_type" c_pango_attr_list_get_type :: +    IO GType++instance BoxedObject AttrList where+    boxedType _ = c_pango_attr_list_get_type++noAttrList :: Maybe AttrList+noAttrList = Nothing++-- method AttrList::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "AttrList"+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_new" pango_attr_list_new :: +    IO (Ptr AttrList)+++attrListNew ::+    (MonadIO m) =>+    m AttrList+attrListNew  = liftIO $ do+    result <- pango_attr_list_new+    checkUnexpectedReturnNULL "pango_attr_list_new" result+    result' <- (wrapBoxed AttrList) result+    return result'++-- method AttrList::change+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_change" pango_attr_list_change :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    Ptr Attribute ->                        -- attr : TInterface "Pango" "Attribute"+    IO ()+++attrListChange ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    Attribute ->                            -- attr+    m ()+attrListChange _obj attr = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let attr' = unsafeManagedPtrGetPtr attr+    pango_attr_list_change _obj' attr'+    touchManagedPtr _obj+    touchManagedPtr attr+    return ()++-- method AttrList::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "AttrList"+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_copy" pango_attr_list_copy :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    IO (Ptr AttrList)+++attrListCopy ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    m AttrList+attrListCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_attr_list_copy _obj'+    checkUnexpectedReturnNULL "pango_attr_list_copy" result+    result' <- (wrapBoxed AttrList) result+    touchManagedPtr _obj+    return result'++-- method AttrList::filter+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "AttrList"+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_filter" pango_attr_list_filter :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    FunPtr AttrFilterFuncC ->               -- func : TInterface "Pango" "AttrFilterFunc"+    Ptr () ->                               -- data : TBasicType TVoid+    IO (Ptr AttrList)+++attrListFilter ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    AttrFilterFunc ->                       -- func+    m AttrList+attrListFilter _obj func = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    func' <- mkAttrFilterFunc (attrFilterFuncWrapper Nothing func)+    let data_ = nullPtr+    result <- pango_attr_list_filter _obj' func' data_+    checkUnexpectedReturnNULL "pango_attr_list_filter" result+    result' <- (wrapBoxed AttrList) result+    safeFreeFunPtr $ castFunPtrToPtr func'+    touchManagedPtr _obj+    return result'++-- method AttrList::insert+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_insert" pango_attr_list_insert :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    Ptr Attribute ->                        -- attr : TInterface "Pango" "Attribute"+    IO ()+++attrListInsert ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    Attribute ->                            -- attr+    m ()+attrListInsert _obj attr = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let attr' = unsafeManagedPtrGetPtr attr+    pango_attr_list_insert _obj' attr'+    touchManagedPtr _obj+    touchManagedPtr attr+    return ()++-- method AttrList::insert_before+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_insert_before" pango_attr_list_insert_before :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    Ptr Attribute ->                        -- attr : TInterface "Pango" "Attribute"+    IO ()+++attrListInsertBefore ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    Attribute ->                            -- attr+    m ()+attrListInsertBefore _obj attr = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let attr' = unsafeManagedPtrGetPtr attr+    pango_attr_list_insert_before _obj' attr'+    touchManagedPtr _obj+    touchManagedPtr attr+    return ()++-- method AttrList::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "AttrList"+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_ref" pango_attr_list_ref :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    IO (Ptr AttrList)+++attrListRef ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    m AttrList+attrListRef _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_attr_list_ref _obj'+    checkUnexpectedReturnNULL "pango_attr_list_ref" result+    result' <- (wrapBoxed AttrList) result+    touchManagedPtr _obj+    return result'++-- method AttrList::splice+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_splice" pango_attr_list_splice :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    Ptr AttrList ->                         -- other : TInterface "Pango" "AttrList"+    Int32 ->                                -- pos : TBasicType TInt32+    Int32 ->                                -- len : TBasicType TInt32+    IO ()+++attrListSplice ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    AttrList ->                             -- other+    Int32 ->                                -- pos+    Int32 ->                                -- len+    m ()+attrListSplice _obj other pos len = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let other' = unsafeManagedPtrGetPtr other+    pango_attr_list_splice _obj' other' pos len+    touchManagedPtr _obj+    touchManagedPtr other+    return ()++-- method AttrList::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attr_list_unref" pango_attr_list_unref :: +    Ptr AttrList ->                         -- _obj : TInterface "Pango" "AttrList"+    IO ()+++attrListUnref ::+    (MonadIO m) =>+    AttrList ->                             -- _obj+    m ()+attrListUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_attr_list_unref _obj'+    touchManagedPtr _obj+    return ()++
+ GI/Pango/Structs/AttrList.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.AttrList 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++newtype AttrList = AttrList (ForeignPtr AttrList)+instance BoxedObject AttrList where
+ GI/Pango/Structs/AttrShape.hs view
@@ -0,0 +1,79 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrShape structure is used to represent attributes which+impose shape restrictions.+-}++module GI.Pango.Structs.AttrShape+    ( ++-- * Exported types+    AttrShape(..)                           ,+    noAttrShape                             ,+++ -- * Properties+-- ** Attr+    attrShapeReadAttr                       ,+++-- ** Data+    attrShapeReadData                       ,+++-- ** InkRect+    attrShapeReadInkRect                    ,+++-- ** LogicalRect+    attrShapeReadLogicalRect                ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrShape = AttrShape (ForeignPtr AttrShape)+noAttrShape :: Maybe AttrShape+noAttrShape = Nothing++attrShapeReadAttr :: AttrShape -> IO Attribute+attrShapeReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrShapeReadInkRect :: AttrShape -> IO Rectangle+attrShapeReadInkRect s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Rectangle)+    val' <- (newPtr 16 Rectangle) val+    return val'++attrShapeReadLogicalRect :: AttrShape -> IO Rectangle+attrShapeReadLogicalRect s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Rectangle)+    val' <- (newPtr 16 Rectangle) val+    return val'++attrShapeReadData :: AttrShape -> IO (Ptr ())+attrShapeReadData s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr ())+    return val++-- XXX Skipped getter for "AttrShape:destroy_func" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++
+ GI/Pango/Structs/AttrShape.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrShape 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++newtype AttrShape = AttrShape (ForeignPtr AttrShape)
+ GI/Pango/Structs/AttrSize.hs view
@@ -0,0 +1,66 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrSize structure is used to represent attributes which+set font size.+-}++module GI.Pango.Structs.AttrSize+    ( ++-- * Exported types+    AttrSize(..)                            ,+    noAttrSize                              ,+++ -- * Properties+-- ** Absolute+    attrSizeReadAbsolute                    ,+++-- ** Attr+    attrSizeReadAttr                        ,+++-- ** Size+    attrSizeReadSize                        ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrSize = AttrSize (ForeignPtr AttrSize)+noAttrSize :: Maybe AttrSize+noAttrSize = Nothing++attrSizeReadAttr :: AttrSize -> IO Attribute+attrSizeReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrSizeReadSize :: AttrSize -> IO Int32+attrSizeReadSize s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++attrSizeReadAbsolute :: AttrSize -> IO Word32+attrSizeReadAbsolute s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++
+ GI/Pango/Structs/AttrSize.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrSize 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++newtype AttrSize = AttrSize (ForeignPtr AttrSize)
+ GI/Pango/Structs/AttrString.hs view
@@ -0,0 +1,58 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttrString structure is used to represent attributes with+a string value.+-}++module GI.Pango.Structs.AttrString+    ( ++-- * Exported types+    AttrString(..)                          ,+    noAttrString                            ,+++ -- * Properties+-- ** Attr+    attrStringReadAttr                      ,+++-- ** Value+    attrStringReadValue                     ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype AttrString = AttrString (ForeignPtr AttrString)+noAttrString :: Maybe AttrString+noAttrString = Nothing++attrStringReadAttr :: AttrString -> IO Attribute+attrStringReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Attribute)+    val' <- (newPtr 16 Attribute) val+    return val'++attrStringReadValue :: AttrString -> IO T.Text+attrStringReadValue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CString+    val' <- cstringToText val+    return val'++
+ GI/Pango/Structs/AttrString.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.AttrString 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++newtype AttrString = AttrString (ForeignPtr AttrString)
+ GI/Pango/Structs/Attribute.hs view
@@ -0,0 +1,166 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoAttribute structure represents the common portions of all+attributes. Particular types of attributes include this structure+as their initial portion. The common portion of the attribute holds+the range to which the value in the type-specific part of the attribute+applies and should be initialized using pango_attribute_init().+By default an attribute will have an all-inclusive range of [0,%G_MAXUINT].+-}++module GI.Pango.Structs.Attribute+    ( ++-- * Exported types+    Attribute(..)                           ,+    noAttribute                             ,+++ -- * Methods+-- ** attributeDestroy+    attributeDestroy                        ,+++-- ** attributeEqual+    attributeEqual                          ,+++-- ** attributeInit+    attributeInit                           ,+++++ -- * Properties+-- ** EndIndex+    attributeReadEndIndex                   ,+++-- ** Klass+    attributeReadKlass                      ,+++-- ** StartIndex+    attributeReadStartIndex                 ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Attribute = Attribute (ForeignPtr Attribute)+noAttribute :: Maybe Attribute+noAttribute = Nothing++attributeReadKlass :: Attribute -> IO AttrClass+attributeReadKlass s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr AttrClass)+    val' <- (newPtr 32 AttrClass) val+    return val'++attributeReadStartIndex :: Attribute -> IO Word32+attributeReadStartIndex s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word32+    return val++attributeReadEndIndex :: Attribute -> IO Word32+attributeReadEndIndex s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Word32+    return val++-- method Attribute::destroy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attribute_destroy" pango_attribute_destroy :: +    Ptr Attribute ->                        -- _obj : TInterface "Pango" "Attribute"+    IO ()+++attributeDestroy ::+    (MonadIO m) =>+    Attribute ->                            -- _obj+    m ()+attributeDestroy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_attribute_destroy _obj'+    touchManagedPtr _obj+    return ()++-- method Attribute::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_attribute_equal" pango_attribute_equal :: +    Ptr Attribute ->                        -- _obj : TInterface "Pango" "Attribute"+    Ptr Attribute ->                        -- attr2 : TInterface "Pango" "Attribute"+    IO CInt+++attributeEqual ::+    (MonadIO m) =>+    Attribute ->                            -- _obj+    Attribute ->                            -- attr2+    m Bool+attributeEqual _obj attr2 = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let attr2' = unsafeManagedPtrGetPtr attr2+    result <- pango_attribute_equal _obj' attr2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr attr2+    return result'++-- method Attribute::init+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_attribute_init" pango_attribute_init :: +    Ptr Attribute ->                        -- _obj : TInterface "Pango" "Attribute"+    Ptr AttrClass ->                        -- klass : TInterface "Pango" "AttrClass"+    IO ()+++attributeInit ::+    (MonadIO m) =>+    Attribute ->                            -- _obj+    AttrClass ->                            -- klass+    m ()+attributeInit _obj klass = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let klass' = unsafeManagedPtrGetPtr klass+    pango_attribute_init _obj' klass'+    touchManagedPtr _obj+    touchManagedPtr klass+    return ()++
+ GI/Pango/Structs/Attribute.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.Attribute 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++newtype Attribute = Attribute (ForeignPtr Attribute)
+ GI/Pango/Structs/Color.hs view
@@ -0,0 +1,196 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoColor structure is used to+represent a color in an uncalibrated RGB color-space.+-}++module GI.Pango.Structs.Color+    ( ++-- * Exported types+    Color(..)                               ,+    noColor                                 ,+++ -- * Methods+-- ** colorCopy+    colorCopy                               ,+++-- ** colorFree+    colorFree                               ,+++-- ** colorParse+    colorParse                              ,+++-- ** colorToString+    colorToString                           ,+++++ -- * Properties+-- ** Blue+    colorReadBlue                           ,+++-- ** Green+    colorReadGreen                          ,+++-- ** Red+    colorReadRed                            ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Color = Color (ForeignPtr Color)+foreign import ccall "pango_color_get_type" c_pango_color_get_type :: +    IO GType++instance BoxedObject Color where+    boxedType _ = c_pango_color_get_type++noColor :: Maybe Color+noColor = Nothing++colorReadRed :: Color -> IO Word16+colorReadRed s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word16+    return val++colorReadGreen :: Color -> IO Word16+colorReadGreen s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 2) :: IO Word16+    return val++colorReadBlue :: Color -> IO Word16+colorReadBlue s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Word16+    return val++-- method Color::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Color"+-- throws : False+-- Skip return : False++foreign import ccall "pango_color_copy" pango_color_copy :: +    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"+    IO (Ptr Color)+++colorCopy ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m Color+colorCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_color_copy _obj'+    checkUnexpectedReturnNULL "pango_color_copy" result+    result' <- (wrapBoxed Color) result+    touchManagedPtr _obj+    return result'++-- method Color::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_color_free" pango_color_free :: +    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"+    IO ()+++colorFree ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m ()+colorFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_color_free _obj'+    touchManagedPtr _obj+    return ()++-- method Color::parse+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_color_parse" pango_color_parse :: +    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"+    CString ->                              -- spec : TBasicType TUTF8+    IO CInt+++colorParse ::+    (MonadIO m) =>+    Color ->                                -- _obj+    T.Text ->                               -- spec+    m Bool+colorParse _obj spec = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    spec' <- textToCString spec+    result <- pango_color_parse _obj' spec'+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem spec'+    return result'++-- method Color::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_color_to_string" pango_color_to_string :: +    Ptr Color ->                            -- _obj : TInterface "Pango" "Color"+    IO CString+++colorToString ::+    (MonadIO m) =>+    Color ->                                -- _obj+    m T.Text+colorToString _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_color_to_string _obj'+    checkUnexpectedReturnNULL "pango_color_to_string" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Structs/Color.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.Color 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++newtype Color = Color (ForeignPtr Color)+instance BoxedObject Color where
+ GI/Pango/Structs/Coverage.hs view
@@ -0,0 +1,200 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoCoverage structure represents a map from Unicode characters+to #PangoCoverageLevel. It is an opaque structure with no public fields.+-}++module GI.Pango.Structs.Coverage+    ( ++-- * Exported types+    Coverage(..)                            ,+    noCoverage                              ,+++ -- * Methods+-- ** coverageGet+    coverageGet                             ,+++-- ** coverageMax+    coverageMax                             ,+++-- ** coverageSet+    coverageSet                             ,+++-- ** coverageToBytes+    coverageToBytes                         ,+++-- ** coverageUnref+    coverageUnref                           ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Coverage = Coverage (ForeignPtr Coverage)+noCoverage :: Maybe Coverage+noCoverage = Nothing++-- method Coverage::get+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "CoverageLevel"+-- throws : False+-- Skip return : False++foreign import ccall "pango_coverage_get" pango_coverage_get :: +    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"+    Int32 ->                                -- index_ : TBasicType TInt32+    IO CUInt+++coverageGet ::+    (MonadIO m) =>+    Coverage ->                             -- _obj+    Int32 ->                                -- index_+    m CoverageLevel+coverageGet _obj index_ = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_coverage_get _obj' index_+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method Coverage::max+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_coverage_max" pango_coverage_max :: +    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"+    Ptr Coverage ->                         -- other : TInterface "Pango" "Coverage"+    IO ()+++coverageMax ::+    (MonadIO m) =>+    Coverage ->                             -- _obj+    Coverage ->                             -- other+    m ()+coverageMax _obj other = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let other' = unsafeManagedPtrGetPtr other+    pango_coverage_max _obj' other'+    touchManagedPtr _obj+    touchManagedPtr other+    return ()++-- method Coverage::set+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_coverage_set" pango_coverage_set :: +    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"+    Int32 ->                                -- index_ : TBasicType TInt32+    CUInt ->                                -- level : TInterface "Pango" "CoverageLevel"+    IO ()+++coverageSet ::+    (MonadIO m) =>+    Coverage ->                             -- _obj+    Int32 ->                                -- index_+    CoverageLevel ->                        -- level+    m ()+coverageSet _obj index_ level = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let level' = (fromIntegral . fromEnum) level+    pango_coverage_set _obj' index_ level'+    touchManagedPtr _obj+    return ()++-- method Coverage::to_bytes+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bytes", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_coverage_to_bytes" pango_coverage_to_bytes :: +    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"+    Ptr (Ptr Word8) ->                      -- bytes : TCArray False (-1) 2 (TBasicType TUInt8)+    Ptr Int32 ->                            -- n_bytes : TBasicType TInt32+    IO ()+++coverageToBytes ::+    (MonadIO m) =>+    Coverage ->                             -- _obj+    m (ByteString)+coverageToBytes _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    bytes <- allocMem :: IO (Ptr (Ptr Word8))+    n_bytes <- allocMem :: IO (Ptr Int32)+    pango_coverage_to_bytes _obj' bytes n_bytes+    n_bytes' <- peek n_bytes+    bytes' <- peek bytes+    bytes'' <- (unpackByteStringWithLength n_bytes') bytes'+    freeMem bytes'+    touchManagedPtr _obj+    freeMem bytes+    freeMem n_bytes+    return bytes''++-- method Coverage::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_coverage_unref" pango_coverage_unref :: +    Ptr Coverage ->                         -- _obj : TInterface "Pango" "Coverage"+    IO ()+++coverageUnref ::+    (MonadIO m) =>+    Coverage ->                             -- _obj+    m ()+coverageUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_coverage_unref _obj'+    touchManagedPtr _obj+    return ()++
+ GI/Pango/Structs/Coverage.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.Coverage 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++newtype Coverage = Coverage (ForeignPtr Coverage)
+ GI/Pango/Structs/EngineInfo.hs view
@@ -0,0 +1,87 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoEngineInfo structure contains information about a particular+engine. It contains the following fields:+-}++module GI.Pango.Structs.EngineInfo+    ( ++-- * Exported types+    EngineInfo(..)                          ,+    noEngineInfo                            ,+++ -- * Properties+-- ** EngineType+    engineInfoReadEngineType                ,+++-- ** Id+    engineInfoReadId                        ,+++-- ** NScripts+    engineInfoReadNScripts                  ,+++-- ** RenderType+    engineInfoReadRenderType                ,+++-- ** Scripts+    engineInfoReadScripts                   ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype EngineInfo = EngineInfo (ForeignPtr EngineInfo)+noEngineInfo :: Maybe EngineInfo+noEngineInfo = Nothing++engineInfoReadId :: EngineInfo -> IO T.Text+engineInfoReadId s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    val' <- cstringToText val+    return val'++engineInfoReadEngineType :: EngineInfo -> IO T.Text+engineInfoReadEngineType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++engineInfoReadRenderType :: EngineInfo -> IO T.Text+engineInfoReadRenderType s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CString+    val' <- cstringToText val+    return val'++engineInfoReadScripts :: EngineInfo -> IO EngineScriptInfo+engineInfoReadScripts s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr EngineScriptInfo)+    val' <- (newPtr 16 EngineScriptInfo) val+    return val'++engineInfoReadNScripts :: EngineInfo -> IO Int32+engineInfoReadNScripts s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++
+ GI/Pango/Structs/EngineInfo.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.EngineInfo 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++newtype EngineInfo = EngineInfo (ForeignPtr EngineInfo)
+ GI/Pango/Structs/EngineScriptInfo.hs view
@@ -0,0 +1,58 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoEngineScriptInfo structure contains+information about how the shaper covers a particular script.+-}++module GI.Pango.Structs.EngineScriptInfo+    ( ++-- * Exported types+    EngineScriptInfo(..)                    ,+    noEngineScriptInfo                      ,+++ -- * Properties+-- ** Langs+    engineScriptInfoReadLangs               ,+++-- ** Script+    engineScriptInfoReadScript              ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype EngineScriptInfo = EngineScriptInfo (ForeignPtr EngineScriptInfo)+noEngineScriptInfo :: Maybe EngineScriptInfo+noEngineScriptInfo = Nothing++engineScriptInfoReadScript :: EngineScriptInfo -> IO Script+engineScriptInfoReadScript s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++engineScriptInfoReadLangs :: EngineScriptInfo -> IO T.Text+engineScriptInfoReadLangs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++
+ GI/Pango/Structs/EngineScriptInfo.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.EngineScriptInfo 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++newtype EngineScriptInfo = EngineScriptInfo (ForeignPtr EngineScriptInfo)
+ GI/Pango/Structs/FontDescription.hs view
@@ -0,0 +1,970 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoFontDescription structure represents the description+of an ideal font. These structures are used both to list+what fonts are available on the system and also for specifying+the characteristics of a font to load.+-}++module GI.Pango.Structs.FontDescription+    ( ++-- * Exported types+    FontDescription(..)                     ,+    noFontDescription                       ,+++ -- * Methods+-- ** fontDescriptionBetterMatch+    fontDescriptionBetterMatch              ,+++-- ** fontDescriptionCopy+    fontDescriptionCopy                     ,+++-- ** fontDescriptionCopyStatic+    fontDescriptionCopyStatic               ,+++-- ** fontDescriptionEqual+    fontDescriptionEqual                    ,+++-- ** fontDescriptionFree+    fontDescriptionFree                     ,+++-- ** fontDescriptionGetFamily+    fontDescriptionGetFamily                ,+++-- ** fontDescriptionGetGravity+    fontDescriptionGetGravity               ,+++-- ** fontDescriptionGetSetFields+    fontDescriptionGetSetFields             ,+++-- ** fontDescriptionGetSize+    fontDescriptionGetSize                  ,+++-- ** fontDescriptionGetSizeIsAbsolute+    fontDescriptionGetSizeIsAbsolute        ,+++-- ** fontDescriptionGetStretch+    fontDescriptionGetStretch               ,+++-- ** fontDescriptionGetStyle+    fontDescriptionGetStyle                 ,+++-- ** fontDescriptionGetVariant+    fontDescriptionGetVariant               ,+++-- ** fontDescriptionGetWeight+    fontDescriptionGetWeight                ,+++-- ** fontDescriptionHash+    fontDescriptionHash                     ,+++-- ** fontDescriptionMerge+    fontDescriptionMerge                    ,+++-- ** fontDescriptionMergeStatic+    fontDescriptionMergeStatic              ,+++-- ** fontDescriptionNew+    fontDescriptionNew                      ,+++-- ** fontDescriptionSetAbsoluteSize+    fontDescriptionSetAbsoluteSize          ,+++-- ** fontDescriptionSetFamily+    fontDescriptionSetFamily                ,+++-- ** fontDescriptionSetFamilyStatic+    fontDescriptionSetFamilyStatic          ,+++-- ** fontDescriptionSetGravity+    fontDescriptionSetGravity               ,+++-- ** fontDescriptionSetSize+    fontDescriptionSetSize                  ,+++-- ** fontDescriptionSetStretch+    fontDescriptionSetStretch               ,+++-- ** fontDescriptionSetStyle+    fontDescriptionSetStyle                 ,+++-- ** fontDescriptionSetVariant+    fontDescriptionSetVariant               ,+++-- ** fontDescriptionSetWeight+    fontDescriptionSetWeight                ,+++-- ** fontDescriptionToFilename+    fontDescriptionToFilename               ,+++-- ** fontDescriptionToString+    fontDescriptionToString                 ,+++-- ** fontDescriptionUnsetFields+    fontDescriptionUnsetFields              ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype FontDescription = FontDescription (ForeignPtr FontDescription)+foreign import ccall "pango_font_description_get_type" c_pango_font_description_get_type :: +    IO GType++instance BoxedObject FontDescription where+    boxedType _ = c_pango_font_description_get_type++noFontDescription :: Maybe FontDescription+noFontDescription = Nothing++-- method FontDescription::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_new" pango_font_description_new :: +    IO (Ptr FontDescription)+++fontDescriptionNew ::+    (MonadIO m) =>+    m FontDescription+fontDescriptionNew  = liftIO $ do+    result <- pango_font_description_new+    checkUnexpectedReturnNULL "pango_font_description_new" result+    result' <- (wrapBoxed FontDescription) result+    return result'++-- method FontDescription::better_match+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_better_match" pango_font_description_better_match :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    Ptr FontDescription ->                  -- old_match : TInterface "Pango" "FontDescription"+    Ptr FontDescription ->                  -- new_match : TInterface "Pango" "FontDescription"+    IO CInt+++fontDescriptionBetterMatch ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Maybe (FontDescription) ->              -- old_match+    FontDescription ->                      -- new_match+    m Bool+fontDescriptionBetterMatch _obj old_match new_match = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeOld_match <- case old_match of+        Nothing -> return nullPtr+        Just jOld_match -> do+            let jOld_match' = unsafeManagedPtrGetPtr jOld_match+            return jOld_match'+    let new_match' = unsafeManagedPtrGetPtr new_match+    result <- pango_font_description_better_match _obj' maybeOld_match new_match'+    let result' = (/= 0) result+    touchManagedPtr _obj+    whenJust old_match touchManagedPtr+    touchManagedPtr new_match+    return result'++-- method FontDescription::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_copy" pango_font_description_copy :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO (Ptr FontDescription)+++fontDescriptionCopy ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m FontDescription+fontDescriptionCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_copy _obj'+    checkUnexpectedReturnNULL "pango_font_description_copy" result+    result' <- (wrapBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::copy_static+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontDescription"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_copy_static" pango_font_description_copy_static :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO (Ptr FontDescription)+++fontDescriptionCopyStatic ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m FontDescription+fontDescriptionCopyStatic _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_copy_static _obj'+    checkUnexpectedReturnNULL "pango_font_description_copy_static" result+    result' <- (wrapBoxed FontDescription) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_equal" pango_font_description_equal :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    Ptr FontDescription ->                  -- desc2 : TInterface "Pango" "FontDescription"+    IO CInt+++fontDescriptionEqual ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    FontDescription ->                      -- desc2+    m Bool+fontDescriptionEqual _obj desc2 = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let desc2' = unsafeManagedPtrGetPtr desc2+    result <- pango_font_description_equal _obj' desc2'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr desc2+    return result'++-- method FontDescription::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_free" pango_font_description_free :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO ()+++fontDescriptionFree ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m ()+fontDescriptionFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_font_description_free _obj'+    touchManagedPtr _obj+    return ()++-- method FontDescription::get_family+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_family" pango_font_description_get_family :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CString+++fontDescriptionGetFamily ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m T.Text+fontDescriptionGetFamily _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_family _obj'+    checkUnexpectedReturnNULL "pango_font_description_get_family" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_gravity+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Gravity"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_gravity" pango_font_description_get_gravity :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CUInt+++fontDescriptionGetGravity ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Gravity+fontDescriptionGetGravity _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_gravity _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_set_fields+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMask"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_set_fields" pango_font_description_get_set_fields :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CUInt+++fontDescriptionGetSetFields ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m [FontMask]+fontDescriptionGetSetFields _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_set_fields _obj'+    let result' = wordToGFlags result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_size" pango_font_description_get_size :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO Int32+++fontDescriptionGetSize ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Int32+fontDescriptionGetSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_size _obj'+    touchManagedPtr _obj+    return result++-- method FontDescription::get_size_is_absolute+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_size_is_absolute" pango_font_description_get_size_is_absolute :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CInt+++fontDescriptionGetSizeIsAbsolute ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Bool+fontDescriptionGetSizeIsAbsolute _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_size_is_absolute _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_stretch+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Stretch"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_stretch" pango_font_description_get_stretch :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CUInt+++fontDescriptionGetStretch ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Stretch+fontDescriptionGetStretch _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_stretch _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_style+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Style"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_style" pango_font_description_get_style :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CUInt+++fontDescriptionGetStyle ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Style+fontDescriptionGetStyle _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_style _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Variant"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_variant" pango_font_description_get_variant :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CUInt+++fontDescriptionGetVariant ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Variant+fontDescriptionGetVariant _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_variant _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::get_weight+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Weight"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_get_weight" pango_font_description_get_weight :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CUInt+++fontDescriptionGetWeight ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Weight+fontDescriptionGetWeight _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_get_weight _obj'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr _obj+    return result'++-- method FontDescription::hash+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_hash" pango_font_description_hash :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO Word32+++fontDescriptionHash ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m Word32+fontDescriptionHash _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_hash _obj'+    touchManagedPtr _obj+    return result++-- method FontDescription::merge+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", 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 "pango_font_description_merge" pango_font_description_merge :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    Ptr FontDescription ->                  -- desc_to_merge : TInterface "Pango" "FontDescription"+    CInt ->                                 -- replace_existing : TBasicType TBoolean+    IO ()+++fontDescriptionMerge ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Maybe (FontDescription) ->              -- desc_to_merge+    Bool ->                                 -- replace_existing+    m ()+fontDescriptionMerge _obj desc_to_merge replace_existing = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    maybeDesc_to_merge <- case desc_to_merge of+        Nothing -> return nullPtr+        Just jDesc_to_merge -> do+            let jDesc_to_merge' = unsafeManagedPtrGetPtr jDesc_to_merge+            return jDesc_to_merge'+    let replace_existing' = (fromIntegral . fromEnum) replace_existing+    pango_font_description_merge _obj' maybeDesc_to_merge replace_existing'+    touchManagedPtr _obj+    whenJust desc_to_merge touchManagedPtr+    return ()++-- method FontDescription::merge_static+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", 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 "pango_font_description_merge_static" pango_font_description_merge_static :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    Ptr FontDescription ->                  -- desc_to_merge : TInterface "Pango" "FontDescription"+    CInt ->                                 -- replace_existing : TBasicType TBoolean+    IO ()+++fontDescriptionMergeStatic ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    FontDescription ->                      -- desc_to_merge+    Bool ->                                 -- replace_existing+    m ()+fontDescriptionMergeStatic _obj desc_to_merge replace_existing = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let desc_to_merge' = unsafeManagedPtrGetPtr desc_to_merge+    let replace_existing' = (fromIntegral . fromEnum) replace_existing+    pango_font_description_merge_static _obj' desc_to_merge' replace_existing'+    touchManagedPtr _obj+    touchManagedPtr desc_to_merge+    return ()++-- method FontDescription::set_absolute_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", 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 "pango_font_description_set_absolute_size" pango_font_description_set_absolute_size :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CDouble ->                              -- size : TBasicType TDouble+    IO ()+++fontDescriptionSetAbsoluteSize ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Double ->                               -- size+    m ()+fontDescriptionSetAbsoluteSize _obj size = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let size' = realToFrac size+    pango_font_description_set_absolute_size _obj' size'+    touchManagedPtr _obj+    return ()++-- method FontDescription::set_family+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_family" pango_font_description_set_family :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CString ->                              -- family : TBasicType TUTF8+    IO ()+++fontDescriptionSetFamily ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    T.Text ->                               -- family+    m ()+fontDescriptionSetFamily _obj family = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    family' <- textToCString family+    pango_font_description_set_family _obj' family'+    touchManagedPtr _obj+    freeMem family'+    return ()++-- method FontDescription::set_family_static+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_family_static" pango_font_description_set_family_static :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CString ->                              -- family : TBasicType TUTF8+    IO ()+++fontDescriptionSetFamilyStatic ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    T.Text ->                               -- family+    m ()+fontDescriptionSetFamilyStatic _obj family = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    family' <- textToCString family+    pango_font_description_set_family_static _obj' family'+    touchManagedPtr _obj+    freeMem family'+    return ()++-- method FontDescription::set_gravity+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_gravity" pango_font_description_set_gravity :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"+    IO ()+++fontDescriptionSetGravity ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Gravity ->                              -- gravity+    m ()+fontDescriptionSetGravity _obj gravity = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let gravity' = (fromIntegral . fromEnum) gravity+    pango_font_description_set_gravity _obj' gravity'+    touchManagedPtr _obj+    return ()++-- method FontDescription::set_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_size" pango_font_description_set_size :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    Int32 ->                                -- size : TBasicType TInt32+    IO ()+++fontDescriptionSetSize ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Int32 ->                                -- size+    m ()+fontDescriptionSetSize _obj size = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_font_description_set_size _obj' size+    touchManagedPtr _obj+    return ()++-- method FontDescription::set_stretch+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_stretch" pango_font_description_set_stretch :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CUInt ->                                -- stretch : TInterface "Pango" "Stretch"+    IO ()+++fontDescriptionSetStretch ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Stretch ->                              -- stretch+    m ()+fontDescriptionSetStretch _obj stretch = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let stretch' = (fromIntegral . fromEnum) stretch+    pango_font_description_set_stretch _obj' stretch'+    touchManagedPtr _obj+    return ()++-- method FontDescription::set_style+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_style" pango_font_description_set_style :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CUInt ->                                -- style : TInterface "Pango" "Style"+    IO ()+++fontDescriptionSetStyle ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Style ->                                -- style+    m ()+fontDescriptionSetStyle _obj style = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let style' = (fromIntegral . fromEnum) style+    pango_font_description_set_style _obj' style'+    touchManagedPtr _obj+    return ()++-- method FontDescription::set_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_variant" pango_font_description_set_variant :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CUInt ->                                -- variant : TInterface "Pango" "Variant"+    IO ()+++fontDescriptionSetVariant ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Variant ->                              -- variant+    m ()+fontDescriptionSetVariant _obj variant = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let variant' = (fromIntegral . fromEnum) variant+    pango_font_description_set_variant _obj' variant'+    touchManagedPtr _obj+    return ()++-- method FontDescription::set_weight+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_set_weight" pango_font_description_set_weight :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CUInt ->                                -- weight : TInterface "Pango" "Weight"+    IO ()+++fontDescriptionSetWeight ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    Weight ->                               -- weight+    m ()+fontDescriptionSetWeight _obj weight = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let weight' = (fromIntegral . fromEnum) weight+    pango_font_description_set_weight _obj' weight'+    touchManagedPtr _obj+    return ()++-- method FontDescription::to_filename+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_to_filename" pango_font_description_to_filename :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CString+++fontDescriptionToFilename ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m T.Text+fontDescriptionToFilename _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_to_filename _obj'+    checkUnexpectedReturnNULL "pango_font_description_to_filename" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method FontDescription::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_to_string" pango_font_description_to_string :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    IO CString+++fontDescriptionToString ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    m T.Text+fontDescriptionToString _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_description_to_string _obj'+    checkUnexpectedReturnNULL "pango_font_description_to_string" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr _obj+    return result'++-- method FontDescription::unset_fields+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_description_unset_fields" pango_font_description_unset_fields :: +    Ptr FontDescription ->                  -- _obj : TInterface "Pango" "FontDescription"+    CUInt ->                                -- to_unset : TInterface "Pango" "FontMask"+    IO ()+++fontDescriptionUnsetFields ::+    (MonadIO m) =>+    FontDescription ->                      -- _obj+    [FontMask] ->                           -- to_unset+    m ()+fontDescriptionUnsetFields _obj to_unset = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let to_unset' = gflagsToWord to_unset+    pango_font_description_unset_fields _obj' to_unset'+    touchManagedPtr _obj+    return ()++
+ GI/Pango/Structs/FontDescription.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.FontDescription 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++newtype FontDescription = FontDescription (ForeignPtr FontDescription)+instance BoxedObject FontDescription where
+ GI/Pango/Structs/FontMetrics.hs view
@@ -0,0 +1,439 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoFontMetrics structure holds the overall metric information+for a font (possibly restricted to a script). The fields of this+structure are private to implementations of a font backend. See+the documentation of the corresponding getters for documentation+of their meaning.+-}++module GI.Pango.Structs.FontMetrics+    ( ++-- * Exported types+    FontMetrics(..)                         ,+    noFontMetrics                           ,+++ -- * Methods+-- ** fontMetricsGetApproximateCharWidth+    fontMetricsGetApproximateCharWidth      ,+++-- ** fontMetricsGetApproximateDigitWidth+    fontMetricsGetApproximateDigitWidth     ,+++-- ** fontMetricsGetAscent+    fontMetricsGetAscent                    ,+++-- ** fontMetricsGetDescent+    fontMetricsGetDescent                   ,+++-- ** fontMetricsGetStrikethroughPosition+    fontMetricsGetStrikethroughPosition     ,+++-- ** fontMetricsGetStrikethroughThickness+    fontMetricsGetStrikethroughThickness    ,+++-- ** fontMetricsGetUnderlinePosition+    fontMetricsGetUnderlinePosition         ,+++-- ** fontMetricsGetUnderlineThickness+    fontMetricsGetUnderlineThickness        ,+++-- ** fontMetricsNew+    fontMetricsNew                          ,+++-- ** fontMetricsRef+    fontMetricsRef                          ,+++-- ** fontMetricsUnref+    fontMetricsUnref                        ,+++++ -- * Properties+-- ** ApproximateCharWidth+    fontMetricsReadApproximateCharWidth     ,+++-- ** ApproximateDigitWidth+    fontMetricsReadApproximateDigitWidth    ,+++-- ** Ascent+    fontMetricsReadAscent                   ,+++-- ** Descent+    fontMetricsReadDescent                  ,+++-- ** RefCount+    fontMetricsReadRefCount                 ,+++-- ** StrikethroughPosition+    fontMetricsReadStrikethroughPosition    ,+++-- ** StrikethroughThickness+    fontMetricsReadStrikethroughThickness   ,+++-- ** UnderlinePosition+    fontMetricsReadUnderlinePosition        ,+++-- ** UnderlineThickness+    fontMetricsReadUnderlineThickness       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype FontMetrics = FontMetrics (ForeignPtr FontMetrics)+foreign import ccall "pango_font_metrics_get_type" c_pango_font_metrics_get_type :: +    IO GType++instance BoxedObject FontMetrics where+    boxedType _ = c_pango_font_metrics_get_type++noFontMetrics :: Maybe FontMetrics+noFontMetrics = Nothing++fontMetricsReadRefCount :: FontMetrics -> IO Word32+fontMetricsReadRefCount s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++fontMetricsReadAscent :: FontMetrics -> IO Int32+fontMetricsReadAscent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++fontMetricsReadDescent :: FontMetrics -> IO Int32+fontMetricsReadDescent s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++fontMetricsReadApproximateCharWidth :: FontMetrics -> IO Int32+fontMetricsReadApproximateCharWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++fontMetricsReadApproximateDigitWidth :: FontMetrics -> IO Int32+fontMetricsReadApproximateDigitWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++fontMetricsReadUnderlinePosition :: FontMetrics -> IO Int32+fontMetricsReadUnderlinePosition s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++fontMetricsReadUnderlineThickness :: FontMetrics -> IO Int32+fontMetricsReadUnderlineThickness s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++fontMetricsReadStrikethroughPosition :: FontMetrics -> IO Int32+fontMetricsReadStrikethroughPosition s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++fontMetricsReadStrikethroughThickness :: FontMetrics -> IO Int32+fontMetricsReadStrikethroughThickness s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++-- method FontMetrics::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "FontMetrics"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_new" pango_font_metrics_new :: +    IO (Ptr FontMetrics)+++fontMetricsNew ::+    (MonadIO m) =>+    m FontMetrics+fontMetricsNew  = liftIO $ do+    result <- pango_font_metrics_new+    checkUnexpectedReturnNULL "pango_font_metrics_new" result+    result' <- (wrapBoxed FontMetrics) result+    return result'++-- method FontMetrics::get_approximate_char_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_approximate_char_width" pango_font_metrics_get_approximate_char_width :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetApproximateCharWidth ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetApproximateCharWidth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_approximate_char_width _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_approximate_digit_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_approximate_digit_width" pango_font_metrics_get_approximate_digit_width :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetApproximateDigitWidth ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetApproximateDigitWidth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_approximate_digit_width _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_ascent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_ascent" pango_font_metrics_get_ascent :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetAscent ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetAscent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_ascent _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_descent+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_descent" pango_font_metrics_get_descent :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetDescent ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetDescent _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_descent _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_strikethrough_position+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_strikethrough_position" pango_font_metrics_get_strikethrough_position :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetStrikethroughPosition ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetStrikethroughPosition _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_strikethrough_position _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_strikethrough_thickness+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_strikethrough_thickness" pango_font_metrics_get_strikethrough_thickness :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetStrikethroughThickness ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetStrikethroughThickness _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_strikethrough_thickness _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_underline_position+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_underline_position" pango_font_metrics_get_underline_position :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetUnderlinePosition ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetUnderlinePosition _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_underline_position _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::get_underline_thickness+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_get_underline_thickness" pango_font_metrics_get_underline_thickness :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO Int32+++fontMetricsGetUnderlineThickness ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m Int32+fontMetricsGetUnderlineThickness _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_get_underline_thickness _obj'+    touchManagedPtr _obj+    return result++-- method FontMetrics::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "FontMetrics"+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_ref" pango_font_metrics_ref :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO (Ptr FontMetrics)+++fontMetricsRef ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m FontMetrics+fontMetricsRef _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_font_metrics_ref _obj'+    checkUnexpectedReturnNULL "pango_font_metrics_ref" result+    result' <- (wrapBoxed FontMetrics) result+    touchManagedPtr _obj+    return result'++-- method FontMetrics::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_font_metrics_unref" pango_font_metrics_unref :: +    Ptr FontMetrics ->                      -- _obj : TInterface "Pango" "FontMetrics"+    IO ()+++fontMetricsUnref ::+    (MonadIO m) =>+    FontMetrics ->                          -- _obj+    m ()+fontMetricsUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_font_metrics_unref _obj'+    touchManagedPtr _obj+    return ()++
+ GI/Pango/Structs/FontMetrics.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.FontMetrics 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++newtype FontMetrics = FontMetrics (ForeignPtr FontMetrics)+instance BoxedObject FontMetrics where
+ GI/Pango/Structs/GlyphGeometry.hs view
@@ -0,0 +1,65 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoGlyphGeometry structure contains width and positioning+information for a single glyph.+-}++module GI.Pango.Structs.GlyphGeometry+    ( ++-- * Exported types+    GlyphGeometry(..)                       ,+    noGlyphGeometry                         ,+++ -- * Properties+-- ** Width+    glyphGeometryReadWidth                  ,+++-- ** XOffset+    glyphGeometryReadXOffset                ,+++-- ** YOffset+    glyphGeometryReadYOffset                ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype GlyphGeometry = GlyphGeometry (ForeignPtr GlyphGeometry)+noGlyphGeometry :: Maybe GlyphGeometry+noGlyphGeometry = Nothing++glyphGeometryReadWidth :: GlyphGeometry -> IO Int32+glyphGeometryReadWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++glyphGeometryReadXOffset :: GlyphGeometry -> IO Int32+glyphGeometryReadXOffset s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++glyphGeometryReadYOffset :: GlyphGeometry -> IO Int32+glyphGeometryReadYOffset s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++
+ GI/Pango/Structs/GlyphGeometry.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.GlyphGeometry 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++newtype GlyphGeometry = GlyphGeometry (ForeignPtr GlyphGeometry)
+ GI/Pango/Structs/GlyphInfo.hs view
@@ -0,0 +1,68 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoGlyphInfo structure represents a single glyph together with+positioning information and visual attributes.+It contains the following fields.+-}++module GI.Pango.Structs.GlyphInfo+    ( ++-- * Exported types+    GlyphInfo(..)                           ,+    noGlyphInfo                             ,+++ -- * Properties+-- ** Attr+    glyphInfoReadAttr                       ,+++-- ** Geometry+    glyphInfoReadGeometry                   ,+++-- ** Glyph+    glyphInfoReadGlyph                      ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype GlyphInfo = GlyphInfo (ForeignPtr GlyphInfo)+noGlyphInfo :: Maybe GlyphInfo+noGlyphInfo = Nothing++glyphInfoReadGlyph :: GlyphInfo -> IO Word32+glyphInfoReadGlyph s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++glyphInfoReadGeometry :: GlyphInfo -> IO GlyphGeometry+glyphInfoReadGeometry s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO (Ptr GlyphGeometry)+    val' <- (newPtr 12 GlyphGeometry) val+    return val'++glyphInfoReadAttr :: GlyphInfo -> IO GlyphVisAttr+glyphInfoReadAttr s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr GlyphVisAttr)+    val' <- (newPtr 4 GlyphVisAttr) val+    return val'++
+ GI/Pango/Structs/GlyphInfo.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.GlyphInfo 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++newtype GlyphInfo = GlyphInfo (ForeignPtr GlyphInfo)
+ GI/Pango/Structs/GlyphItem.hs view
@@ -0,0 +1,274 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoGlyphItem is a pair of a #PangoItem and the glyphs+resulting from shaping the text corresponding to an item.+As an example of the usage of #PangoGlyphItem, the results+of shaping text with #PangoLayout is a list of #PangoLayoutLine,+each of which contains a list of #PangoGlyphItem.+-}++module GI.Pango.Structs.GlyphItem+    ( ++-- * Exported types+    GlyphItem(..)                           ,+    noGlyphItem                             ,+++ -- * Methods+-- ** glyphItemApplyAttrs+    glyphItemApplyAttrs                     ,+++-- ** glyphItemCopy+    glyphItemCopy                           ,+++-- ** glyphItemFree+    glyphItemFree                           ,+++-- ** glyphItemGetLogicalWidths+    glyphItemGetLogicalWidths               ,+++-- ** glyphItemLetterSpace+    glyphItemLetterSpace                    ,+++-- ** glyphItemSplit+    glyphItemSplit                          ,+++++ -- * Properties+-- ** Glyphs+    glyphItemReadGlyphs                     ,+++-- ** Item+    glyphItemReadItem                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype GlyphItem = GlyphItem (ForeignPtr GlyphItem)+foreign import ccall "pango_glyph_item_get_type" c_pango_glyph_item_get_type :: +    IO GType++instance BoxedObject GlyphItem where+    boxedType _ = c_pango_glyph_item_get_type++noGlyphItem :: Maybe GlyphItem+noGlyphItem = Nothing++glyphItemReadItem :: GlyphItem -> IO Item+glyphItemReadItem s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Item)+    val' <- (newBoxed Item) val+    return val'++glyphItemReadGlyphs :: GlyphItem -> IO GlyphString+glyphItemReadGlyphs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GlyphString)+    val' <- (newBoxed GlyphString) val+    return val'++-- method GlyphItem::apply_attrs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TGSList (TInterface "Pango" "GlyphItem")+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_apply_attrs" pango_glyph_item_apply_attrs :: +    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"+    CString ->                              -- text : TBasicType TUTF8+    Ptr AttrList ->                         -- list : TInterface "Pango" "AttrList"+    IO (Ptr (GSList (Ptr GlyphItem)))+++glyphItemApplyAttrs ::+    (MonadIO m) =>+    GlyphItem ->                            -- _obj+    T.Text ->                               -- text+    AttrList ->                             -- list+    m [GlyphItem]+glyphItemApplyAttrs _obj text list = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    let list' = unsafeManagedPtrGetPtr list+    result <- pango_glyph_item_apply_attrs _obj' text' list'+    checkUnexpectedReturnNULL "pango_glyph_item_apply_attrs" result+    result' <- unpackGSList result+    result'' <- mapM (wrapBoxed GlyphItem) result'+    g_slist_free result+    touchManagedPtr _obj+    touchManagedPtr list+    freeMem text'+    return result''++-- method GlyphItem::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GlyphItem"+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_copy" pango_glyph_item_copy :: +    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"+    IO (Ptr GlyphItem)+++glyphItemCopy ::+    (MonadIO m) =>+    GlyphItem ->                            -- _obj+    m GlyphItem+glyphItemCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_glyph_item_copy _obj'+    checkUnexpectedReturnNULL "pango_glyph_item_copy" result+    result' <- (wrapBoxed GlyphItem) result+    touchManagedPtr _obj+    return result'++-- method GlyphItem::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_free" pango_glyph_item_free :: +    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"+    IO ()+++glyphItemFree ::+    (MonadIO m) =>+    GlyphItem ->                            -- _obj+    m ()+glyphItemFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_glyph_item_free _obj'+    touchManagedPtr _obj+    return ()++-- method GlyphItem::get_logical_widths+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_get_logical_widths" pango_glyph_item_get_logical_widths :: +    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"+    CString ->                              -- text : TBasicType TUTF8+    Ptr Int32 ->                            -- logical_widths : TCArray False (-1) (-1) (TBasicType TInt32)+    IO ()+++glyphItemGetLogicalWidths ::+    (MonadIO m) =>+    GlyphItem ->                            -- _obj+    T.Text ->                               -- text+    Ptr Int32 ->                            -- logical_widths+    m ()+glyphItemGetLogicalWidths _obj text logical_widths = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    pango_glyph_item_get_logical_widths _obj' text' logical_widths+    touchManagedPtr _obj+    freeMem text'+    return ()++-- method GlyphItem::letter_space+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_letter_space" pango_glyph_item_letter_space :: +    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"+    CString ->                              -- text : TBasicType TUTF8+    Ptr (Ptr LogAttr) ->                    -- log_attrs : TCArray False (-1) (-1) (TInterface "Pango" "LogAttr")+    Int32 ->                                -- letter_spacing : TBasicType TInt32+    IO ()+++glyphItemLetterSpace ::+    (MonadIO m) =>+    GlyphItem ->                            -- _obj+    T.Text ->                               -- text+    Ptr (Ptr LogAttr) ->                    -- log_attrs+    Int32 ->                                -- letter_spacing+    m ()+glyphItemLetterSpace _obj text log_attrs letter_spacing = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    pango_glyph_item_letter_space _obj' text' log_attrs letter_spacing+    touchManagedPtr _obj+    freeMem text'+    return ()++-- method GlyphItem::split+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GlyphItem"+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_split" pango_glyph_item_split :: +    Ptr GlyphItem ->                        -- _obj : TInterface "Pango" "GlyphItem"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- split_index : TBasicType TInt32+    IO (Ptr GlyphItem)+++glyphItemSplit ::+    (MonadIO m) =>+    GlyphItem ->                            -- _obj+    T.Text ->                               -- text+    Int32 ->                                -- split_index+    m GlyphItem+glyphItemSplit _obj text split_index = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    result <- pango_glyph_item_split _obj' text' split_index+    checkUnexpectedReturnNULL "pango_glyph_item_split" result+    result' <- (wrapBoxed GlyphItem) result+    touchManagedPtr _obj+    freeMem text'+    return result'++
+ GI/Pango/Structs/GlyphItem.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.GlyphItem 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++newtype GlyphItem = GlyphItem (ForeignPtr GlyphItem)+instance BoxedObject GlyphItem where
+ GI/Pango/Structs/GlyphItemIter.hs view
@@ -0,0 +1,346 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoGlyphItemIter is an iterator over the clusters in a+#PangoGlyphItem.  The <firstterm>forward direction</firstterm> of the+iterator is the logical direction of text.  That is, with increasing+@start_index and @start_char values.  If @glyph_item is right-to-left+(that is, if <literal>@glyph_item->item->analysis.level</literal> is odd),+then @start_glyph decreases as the iterator moves forward.  Moreover,+in right-to-left cases, @start_glyph is greater than @end_glyph.++An iterator should be initialized using either of+pango_glyph_item_iter_init_start() and+pango_glyph_item_iter_init_end(), for forward and backward iteration+respectively, and walked over using any desired mixture of+pango_glyph_item_iter_next_cluster() and+pango_glyph_item_iter_prev_cluster().  A common idiom for doing a+forward iteration over the clusters is:+<programlisting>+PangoGlyphItemIter cluster_iter;+gboolean have_cluster;++for (have_cluster = pango_glyph_item_iter_init_start (&amp;cluster_iter,+                                                      glyph_item, text);+     have_cluster;+     have_cluster = pango_glyph_item_iter_next_cluster (&amp;cluster_iter))+{+  ...+}+</programlisting>++Note that @text is the start of the text for layout, which is then+indexed by <literal>@glyph_item->item->offset</literal> to get to the+text of @glyph_item.  The @start_index and @end_index values can directly+index into @text.  The @start_glyph, @end_glyph, @start_char, and @end_char+values however are zero-based for the @glyph_item.  For each cluster, the+item pointed at by the start variables is included in the cluster while+the one pointed at by end variables is not.++None of the members of a #PangoGlyphItemIter should be modified manually.+-}++module GI.Pango.Structs.GlyphItemIter+    ( ++-- * Exported types+    GlyphItemIter(..)                       ,+    noGlyphItemIter                         ,+++ -- * Methods+-- ** glyphItemIterCopy+    glyphItemIterCopy                       ,+++-- ** glyphItemIterFree+    glyphItemIterFree                       ,+++-- ** glyphItemIterInitEnd+    glyphItemIterInitEnd                    ,+++-- ** glyphItemIterInitStart+    glyphItemIterInitStart                  ,+++-- ** glyphItemIterNextCluster+    glyphItemIterNextCluster                ,+++-- ** glyphItemIterPrevCluster+    glyphItemIterPrevCluster                ,+++++ -- * Properties+-- ** EndChar+    glyphItemIterReadEndChar                ,+++-- ** EndGlyph+    glyphItemIterReadEndGlyph               ,+++-- ** EndIndex+    glyphItemIterReadEndIndex               ,+++-- ** GlyphItem+    glyphItemIterReadGlyphItem              ,+++-- ** StartChar+    glyphItemIterReadStartChar              ,+++-- ** StartGlyph+    glyphItemIterReadStartGlyph             ,+++-- ** StartIndex+    glyphItemIterReadStartIndex             ,+++-- ** Text+    glyphItemIterReadText                   ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype GlyphItemIter = GlyphItemIter (ForeignPtr GlyphItemIter)+foreign import ccall "pango_glyph_item_iter_get_type" c_pango_glyph_item_iter_get_type :: +    IO GType++instance BoxedObject GlyphItemIter where+    boxedType _ = c_pango_glyph_item_iter_get_type++noGlyphItemIter :: Maybe GlyphItemIter+noGlyphItemIter = Nothing++glyphItemIterReadGlyphItem :: GlyphItemIter -> IO GlyphItem+glyphItemIterReadGlyphItem s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GlyphItem)+    val' <- (newBoxed GlyphItem) val+    return val'++glyphItemIterReadText :: GlyphItemIter -> IO T.Text+glyphItemIterReadText s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CString+    val' <- cstringToText val+    return val'++glyphItemIterReadStartGlyph :: GlyphItemIter -> IO Int32+glyphItemIterReadStartGlyph s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++glyphItemIterReadStartIndex :: GlyphItemIter -> IO Int32+glyphItemIterReadStartIndex s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Int32+    return val++glyphItemIterReadStartChar :: GlyphItemIter -> IO Int32+glyphItemIterReadStartChar s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Int32+    return val++glyphItemIterReadEndGlyph :: GlyphItemIter -> IO Int32+glyphItemIterReadEndGlyph s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Int32+    return val++glyphItemIterReadEndIndex :: GlyphItemIter -> IO Int32+glyphItemIterReadEndIndex s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Int32+    return val++glyphItemIterReadEndChar :: GlyphItemIter -> IO Int32+glyphItemIterReadEndChar s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 36) :: IO Int32+    return val++-- method GlyphItemIter::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GlyphItemIter"+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_iter_copy" pango_glyph_item_iter_copy :: +    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"+    IO (Ptr GlyphItemIter)+++glyphItemIterCopy ::+    (MonadIO m) =>+    GlyphItemIter ->                        -- _obj+    m GlyphItemIter+glyphItemIterCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_glyph_item_iter_copy _obj'+    checkUnexpectedReturnNULL "pango_glyph_item_iter_copy" result+    result' <- (wrapBoxed GlyphItemIter) result+    touchManagedPtr _obj+    return result'++-- method GlyphItemIter::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_iter_free" pango_glyph_item_iter_free :: +    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"+    IO ()+++glyphItemIterFree ::+    (MonadIO m) =>+    GlyphItemIter ->                        -- _obj+    m ()+glyphItemIterFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_glyph_item_iter_free _obj'+    touchManagedPtr _obj+    return ()++-- method GlyphItemIter::init_end+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_iter_init_end" pango_glyph_item_iter_init_end :: +    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"+    Ptr GlyphItem ->                        -- glyph_item : TInterface "Pango" "GlyphItem"+    CString ->                              -- text : TBasicType TUTF8+    IO CInt+++glyphItemIterInitEnd ::+    (MonadIO m) =>+    GlyphItemIter ->                        -- _obj+    GlyphItem ->                            -- glyph_item+    T.Text ->                               -- text+    m Bool+glyphItemIterInitEnd _obj glyph_item text = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let glyph_item' = unsafeManagedPtrGetPtr glyph_item+    text' <- textToCString text+    result <- pango_glyph_item_iter_init_end _obj' glyph_item' text'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr glyph_item+    freeMem text'+    return result'++-- method GlyphItemIter::init_start+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_iter_init_start" pango_glyph_item_iter_init_start :: +    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"+    Ptr GlyphItem ->                        -- glyph_item : TInterface "Pango" "GlyphItem"+    CString ->                              -- text : TBasicType TUTF8+    IO CInt+++glyphItemIterInitStart ::+    (MonadIO m) =>+    GlyphItemIter ->                        -- _obj+    GlyphItem ->                            -- glyph_item+    T.Text ->                               -- text+    m Bool+glyphItemIterInitStart _obj glyph_item text = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let glyph_item' = unsafeManagedPtrGetPtr glyph_item+    text' <- textToCString text+    result <- pango_glyph_item_iter_init_start _obj' glyph_item' text'+    let result' = (/= 0) result+    touchManagedPtr _obj+    touchManagedPtr glyph_item+    freeMem text'+    return result'++-- method GlyphItemIter::next_cluster+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_iter_next_cluster" pango_glyph_item_iter_next_cluster :: +    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"+    IO CInt+++glyphItemIterNextCluster ::+    (MonadIO m) =>+    GlyphItemIter ->                        -- _obj+    m Bool+glyphItemIterNextCluster _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_glyph_item_iter_next_cluster _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method GlyphItemIter::prev_cluster+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_item_iter_prev_cluster" pango_glyph_item_iter_prev_cluster :: +    Ptr GlyphItemIter ->                    -- _obj : TInterface "Pango" "GlyphItemIter"+    IO CInt+++glyphItemIterPrevCluster ::+    (MonadIO m) =>+    GlyphItemIter ->                        -- _obj+    m Bool+glyphItemIterPrevCluster _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_glyph_item_iter_prev_cluster _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Structs/GlyphItemIter.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.GlyphItemIter 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++newtype GlyphItemIter = GlyphItemIter (ForeignPtr GlyphItemIter)+instance BoxedObject GlyphItemIter where
+ GI/Pango/Structs/GlyphString.hs view
@@ -0,0 +1,432 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoGlyphString structure is used to store strings+of glyphs with geometry and visual attribute information.+The storage for the glyph information is owned+by the structure which simplifies memory management.+-}++module GI.Pango.Structs.GlyphString+    ( ++-- * Exported types+    GlyphString(..)                         ,+    noGlyphString                           ,+++ -- * Methods+-- ** glyphStringCopy+    glyphStringCopy                         ,+++-- ** glyphStringExtents+    glyphStringExtents                      ,+++-- ** glyphStringExtentsRange+    glyphStringExtentsRange                 ,+++-- ** glyphStringFree+    glyphStringFree                         ,+++-- ** glyphStringGetLogicalWidths+    glyphStringGetLogicalWidths             ,+++-- ** glyphStringGetWidth+    glyphStringGetWidth                     ,+++-- ** glyphStringIndexToX+    glyphStringIndexToX                     ,+++-- ** glyphStringNew+    glyphStringNew                          ,+++-- ** glyphStringSetSize+    glyphStringSetSize                      ,+++-- ** glyphStringXToIndex+    glyphStringXToIndex                     ,+++++ -- * Properties+-- ** Glyphs+    glyphStringReadGlyphs                   ,+++-- ** LogClusters+    glyphStringReadLogClusters              ,+++-- ** NumGlyphs+    glyphStringReadNumGlyphs                ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype GlyphString = GlyphString (ForeignPtr GlyphString)+foreign import ccall "pango_glyph_string_get_type" c_pango_glyph_string_get_type :: +    IO GType++instance BoxedObject GlyphString where+    boxedType _ = c_pango_glyph_string_get_type++noGlyphString :: Maybe GlyphString+noGlyphString = Nothing++glyphStringReadNumGlyphs :: GlyphString -> IO Int32+glyphStringReadNumGlyphs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++glyphStringReadGlyphs :: GlyphString -> IO GlyphInfo+glyphStringReadGlyphs s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GlyphInfo)+    val' <- (newPtr 20 GlyphInfo) val+    return val'++glyphStringReadLogClusters :: GlyphString -> IO Int32+glyphStringReadLogClusters s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++-- method GlyphString::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "GlyphString"+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_new" pango_glyph_string_new :: +    IO (Ptr GlyphString)+++glyphStringNew ::+    (MonadIO m) =>+    m GlyphString+glyphStringNew  = liftIO $ do+    result <- pango_glyph_string_new+    checkUnexpectedReturnNULL "pango_glyph_string_new" result+    result' <- (wrapBoxed GlyphString) result+    return result'++-- method GlyphString::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GlyphString"+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_copy" pango_glyph_string_copy :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    IO (Ptr GlyphString)+++glyphStringCopy ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    m GlyphString+glyphStringCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_glyph_string_copy _obj'+    checkUnexpectedReturnNULL "pango_glyph_string_copy" result+    result' <- (wrapBoxed GlyphString) result+    touchManagedPtr _obj+    return result'++-- method GlyphString::extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_extents" pango_glyph_string_extents :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    Ptr Font ->                             -- font : TInterface "Pango" "Font"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++glyphStringExtents ::+    (MonadIO m, FontK a) =>+    GlyphString ->                          -- _obj+    a ->                                    -- font+    m (Rectangle,Rectangle)+glyphStringExtents _obj font = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let font' = unsafeManagedPtrCastPtr font+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_glyph_string_extents _obj' font' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    touchManagedPtr font+    return (ink_rect', logical_rect')++-- method GlyphString::extents_range+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_extents_range" pango_glyph_string_extents_range :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    Int32 ->                                -- start : TBasicType TInt32+    Int32 ->                                -- end : TBasicType TInt32+    Ptr Font ->                             -- font : TInterface "Pango" "Font"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++glyphStringExtentsRange ::+    (MonadIO m, FontK a) =>+    GlyphString ->                          -- _obj+    Int32 ->                                -- start+    Int32 ->                                -- end+    a ->                                    -- font+    m (Rectangle,Rectangle)+glyphStringExtentsRange _obj start end font = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let font' = unsafeManagedPtrCastPtr font+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_glyph_string_extents_range _obj' start end font' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    touchManagedPtr font+    return (ink_rect', logical_rect')++-- method GlyphString::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_free" pango_glyph_string_free :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    IO ()+++glyphStringFree ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    m ()+glyphStringFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_glyph_string_free _obj'+    touchManagedPtr _obj+    return ()++-- method GlyphString::get_logical_widths+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_get_logical_widths" pango_glyph_string_get_logical_widths :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Int32 ->                                -- embedding_level : TBasicType TInt32+    Ptr Int32 ->                            -- logical_widths : TCArray False (-1) (-1) (TBasicType TInt32)+    IO ()+++glyphStringGetLogicalWidths ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    T.Text ->                               -- text+    Int32 ->                                -- length+    Int32 ->                                -- embedding_level+    Ptr Int32 ->                            -- logical_widths+    m ()+glyphStringGetLogicalWidths _obj text length_ embedding_level logical_widths = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    pango_glyph_string_get_logical_widths _obj' text' length_ embedding_level logical_widths+    touchManagedPtr _obj+    freeMem text'+    return ()++-- method GlyphString::get_width+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_get_width" pango_glyph_string_get_width :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    IO Int32+++glyphStringGetWidth ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    m Int32+glyphStringGetWidth _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_glyph_string_get_width _obj'+    touchManagedPtr _obj+    return result++-- method GlyphString::index_to_x+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", 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 "pango_glyph_string_index_to_x" pango_glyph_string_index_to_x :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"+    Int32 ->                                -- index_ : TBasicType TInt32+    CInt ->                                 -- trailing : TBasicType TBoolean+    Ptr Int32 ->                            -- x_pos : TBasicType TInt32+    IO ()+++glyphStringIndexToX ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    T.Text ->                               -- text+    Int32 ->                                -- length+    Analysis ->                             -- analysis+    Int32 ->                                -- index_+    Bool ->                                 -- trailing+    m (Int32)+glyphStringIndexToX _obj text length_ analysis index_ trailing = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    let analysis' = unsafeManagedPtrGetPtr analysis+    let trailing' = (fromIntegral . fromEnum) trailing+    x_pos <- allocMem :: IO (Ptr Int32)+    pango_glyph_string_index_to_x _obj' text' length_ analysis' index_ trailing' x_pos+    x_pos' <- peek x_pos+    touchManagedPtr _obj+    touchManagedPtr analysis+    freeMem text'+    freeMem x_pos+    return x_pos'++-- method GlyphString::set_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_set_size" pango_glyph_string_set_size :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    Int32 ->                                -- new_len : TBasicType TInt32+    IO ()+++glyphStringSetSize ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    Int32 ->                                -- new_len+    m ()+glyphStringSetSize _obj new_len = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_glyph_string_set_size _obj' new_len+    touchManagedPtr _obj+    return ()++-- method GlyphString::x_to_index+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_glyph_string_x_to_index" pango_glyph_string_x_to_index :: +    Ptr GlyphString ->                      -- _obj : TInterface "Pango" "GlyphString"+    CString ->                              -- text : TBasicType TUTF8+    Int32 ->                                -- length : TBasicType TInt32+    Ptr Analysis ->                         -- analysis : TInterface "Pango" "Analysis"+    Int32 ->                                -- x_pos : TBasicType TInt32+    Ptr Int32 ->                            -- index_ : TBasicType TInt32+    Ptr Int32 ->                            -- trailing : TBasicType TInt32+    IO ()+++glyphStringXToIndex ::+    (MonadIO m) =>+    GlyphString ->                          -- _obj+    T.Text ->                               -- text+    Int32 ->                                -- length+    Analysis ->                             -- analysis+    Int32 ->                                -- x_pos+    m (Int32,Int32)+glyphStringXToIndex _obj text length_ analysis x_pos = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    text' <- textToCString text+    let analysis' = unsafeManagedPtrGetPtr analysis+    index_ <- allocMem :: IO (Ptr Int32)+    trailing <- allocMem :: IO (Ptr Int32)+    pango_glyph_string_x_to_index _obj' text' length_ analysis' x_pos index_ trailing+    index_' <- peek index_+    trailing' <- peek trailing+    touchManagedPtr _obj+    touchManagedPtr analysis+    freeMem text'+    freeMem index_+    freeMem trailing+    return (index_', trailing')++
+ GI/Pango/Structs/GlyphString.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.GlyphString 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++newtype GlyphString = GlyphString (ForeignPtr GlyphString)+instance BoxedObject GlyphString where
+ GI/Pango/Structs/GlyphVisAttr.hs view
@@ -0,0 +1,48 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The PangoGlyphVisAttr is used to communicate information between+the shaping phase and the rendering phase.  More attributes may be+added in the future.+-}++module GI.Pango.Structs.GlyphVisAttr+    ( ++-- * Exported types+    GlyphVisAttr(..)                        ,+    noGlyphVisAttr                          ,+++ -- * Properties+-- ** IsClusterStart+    glyphVisAttrReadIsClusterStart          ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype GlyphVisAttr = GlyphVisAttr (ForeignPtr GlyphVisAttr)+noGlyphVisAttr :: Maybe GlyphVisAttr+noGlyphVisAttr = Nothing++glyphVisAttrReadIsClusterStart :: GlyphVisAttr -> IO Word32+glyphVisAttrReadIsClusterStart s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++
+ GI/Pango/Structs/GlyphVisAttr.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.GlyphVisAttr 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++newtype GlyphVisAttr = GlyphVisAttr (ForeignPtr GlyphVisAttr)
+ GI/Pango/Structs/IncludedModule.hs view
@@ -0,0 +1,42 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoIncludedModule structure for a statically linked module+contains the functions that would otherwise be loaded from a dynamically+loaded module.+-}++module GI.Pango.Structs.IncludedModule+    ( ++-- * Exported types+    IncludedModule(..)                      ,+    noIncludedModule                        ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype IncludedModule = IncludedModule (ForeignPtr IncludedModule)+noIncludedModule :: Maybe IncludedModule+noIncludedModule = Nothing++-- XXX Skipped getter for "IncludedModule:list" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "IncludedModule:init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++-- XXX Skipped getter for "IncludedModule:exit" :: Not implemented: "Wrapping foreign callbacks is not supported yet"++
+ GI/Pango/Structs/IncludedModule.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.IncludedModule 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++newtype IncludedModule = IncludedModule (ForeignPtr IncludedModule)
+ GI/Pango/Structs/Item.hs view
@@ -0,0 +1,201 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoItem structure stores information about a segment of text.+-}++module GI.Pango.Structs.Item+    ( ++-- * Exported types+    Item(..)                                ,+    noItem                                  ,+++ -- * Methods+-- ** itemCopy+    itemCopy                                ,+++-- ** itemFree+    itemFree                                ,+++-- ** itemNew+    itemNew                                 ,+++-- ** itemSplit+    itemSplit                               ,+++++ -- * Properties+-- ** Analysis+    itemReadAnalysis                        ,+++-- ** Length+    itemReadLength                          ,+++-- ** NumChars+    itemReadNumChars                        ,+++-- ** Offset+    itemReadOffset                          ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Item = Item (ForeignPtr Item)+foreign import ccall "pango_item_get_type" c_pango_item_get_type :: +    IO GType++instance BoxedObject Item where+    boxedType _ = c_pango_item_get_type++noItem :: Maybe Item+noItem = Nothing++itemReadOffset :: Item -> IO Int32+itemReadOffset s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++itemReadLength :: Item -> IO Int32+itemReadLength s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++itemReadNumChars :: Item -> IO Int32+itemReadNumChars s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++itemReadAnalysis :: Item -> IO Analysis+itemReadAnalysis s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Analysis)+    val' <- (newPtr 48 Analysis) val+    return val'++-- method Item::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TInterface "Pango" "Item"+-- throws : False+-- Skip return : False++foreign import ccall "pango_item_new" pango_item_new :: +    IO (Ptr Item)+++itemNew ::+    (MonadIO m) =>+    m Item+itemNew  = liftIO $ do+    result <- pango_item_new+    checkUnexpectedReturnNULL "pango_item_new" result+    result' <- (wrapBoxed Item) result+    return result'++-- method Item::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Item"+-- throws : False+-- Skip return : False++foreign import ccall "pango_item_copy" pango_item_copy :: +    Ptr Item ->                             -- _obj : TInterface "Pango" "Item"+    IO (Ptr Item)+++itemCopy ::+    (MonadIO m) =>+    Item ->                                 -- _obj+    m Item+itemCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_item_copy _obj'+    checkUnexpectedReturnNULL "pango_item_copy" result+    result' <- (wrapBoxed Item) result+    touchManagedPtr _obj+    return result'++-- method Item::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_item_free" pango_item_free :: +    Ptr Item ->                             -- _obj : TInterface "Pango" "Item"+    IO ()+++itemFree ::+    (MonadIO m) =>+    Item ->                                 -- _obj+    m ()+itemFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_item_free _obj'+    touchManagedPtr _obj+    return ()++-- method Item::split+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Item"+-- throws : False+-- Skip return : False++foreign import ccall "pango_item_split" pango_item_split :: +    Ptr Item ->                             -- _obj : TInterface "Pango" "Item"+    Int32 ->                                -- split_index : TBasicType TInt32+    Int32 ->                                -- split_offset : TBasicType TInt32+    IO (Ptr Item)+++itemSplit ::+    (MonadIO m) =>+    Item ->                                 -- _obj+    Int32 ->                                -- split_index+    Int32 ->                                -- split_offset+    m Item+itemSplit _obj split_index split_offset = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_item_split _obj' split_index split_offset+    checkUnexpectedReturnNULL "pango_item_split" result+    result' <- (wrapBoxed Item) result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Structs/Item.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.Item 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++newtype Item = Item (ForeignPtr Item)+instance BoxedObject Item where
+ GI/Pango/Structs/Language.hs view
@@ -0,0 +1,207 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoLanguage structure is used to+represent a language.++#PangoLanguage pointers can be efficiently+copied and compared with each other.+-}++module GI.Pango.Structs.Language+    ( ++-- * Exported types+    Language(..)                            ,+    noLanguage                              ,+++ -- * Methods+-- ** languageGetSampleString+    languageGetSampleString                 ,+++-- ** languageGetScripts+    languageGetScripts                      ,+++-- ** languageIncludesScript+    languageIncludesScript                  ,+++-- ** languageMatches+    languageMatches                         ,+++-- ** languageToString+    languageToString                        ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Language = Language (ForeignPtr Language)+foreign import ccall "pango_language_get_type" c_pango_language_get_type :: +    IO GType++instance BoxedObject Language where+    boxedType _ = c_pango_language_get_type++noLanguage :: Maybe Language+noLanguage = Nothing++-- method Language::get_sample_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_get_sample_string" pango_language_get_sample_string :: +    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"+    IO CString+++languageGetSampleString ::+    (MonadIO m) =>+    Language ->                             -- _obj+    m T.Text+languageGetSampleString _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_language_get_sample_string _obj'+    checkUnexpectedReturnNULL "pango_language_get_sample_string" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++-- method Language::get_scripts+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TCArray False (-1) 1 (TInterface "Pango" "Script")+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_get_scripts" pango_language_get_scripts :: +    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"+    Ptr Int32 ->                            -- num_scripts : TBasicType TInt32+    IO (Ptr CUInt)+++languageGetScripts ::+    (MonadIO m) =>+    Language ->                             -- _obj+    m [Script]+languageGetScripts _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    num_scripts <- allocMem :: IO (Ptr Int32)+    result <- pango_language_get_scripts _obj' num_scripts+    num_scripts' <- peek num_scripts+    checkUnexpectedReturnNULL "pango_language_get_scripts" result+    result' <- (unpackStorableArrayWithLength num_scripts') result+    let result'' = map (toEnum . fromIntegral) result'+    touchManagedPtr _obj+    freeMem num_scripts+    return result''++-- method Language::includes_script+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_includes_script" pango_language_includes_script :: +    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"+    CUInt ->                                -- script : TInterface "Pango" "Script"+    IO CInt+++languageIncludesScript ::+    (MonadIO m) =>+    Language ->                             -- _obj+    Script ->                               -- script+    m Bool+languageIncludesScript _obj script = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let script' = (fromIntegral . fromEnum) script+    result <- pango_language_includes_script _obj' script'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method Language::matches+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_matches" pango_language_matches :: +    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"+    CString ->                              -- range_list : TBasicType TUTF8+    IO CInt+++languageMatches ::+    (MonadIO m) =>+    Language ->                             -- _obj+    T.Text ->                               -- range_list+    m Bool+languageMatches _obj range_list = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    range_list' <- textToCString range_list+    result <- pango_language_matches _obj' range_list'+    let result' = (/= 0) result+    touchManagedPtr _obj+    freeMem range_list'+    return result'++-- method Language::to_string+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "pango_language_to_string" pango_language_to_string :: +    Ptr Language ->                         -- _obj : TInterface "Pango" "Language"+    IO CString+++languageToString ::+    (MonadIO m) =>+    Language ->                             -- _obj+    m T.Text+languageToString _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_language_to_string _obj'+    checkUnexpectedReturnNULL "pango_language_to_string" result+    result' <- cstringToText result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Structs/Language.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.Language 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++newtype Language = Language (ForeignPtr Language)+instance BoxedObject Language where
+ GI/Pango/Structs/LayoutIter.hs view
@@ -0,0 +1,659 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoLayoutIter structure can be used to+iterate over the visual extents of a #PangoLayout.++The #PangoLayoutIter structure is opaque, and+has no user-visible fields.+-}++module GI.Pango.Structs.LayoutIter+    ( ++-- * Exported types+    LayoutIter(..)                          ,+    noLayoutIter                            ,+++ -- * Methods+-- ** layoutIterAtLastLine+    layoutIterAtLastLine                    ,+++-- ** layoutIterCopy+    layoutIterCopy                          ,+++-- ** layoutIterFree+    layoutIterFree                          ,+++-- ** layoutIterGetBaseline+    layoutIterGetBaseline                   ,+++-- ** layoutIterGetCharExtents+    layoutIterGetCharExtents                ,+++-- ** layoutIterGetClusterExtents+    layoutIterGetClusterExtents             ,+++-- ** layoutIterGetIndex+    layoutIterGetIndex                      ,+++-- ** layoutIterGetLayout+    layoutIterGetLayout                     ,+++-- ** layoutIterGetLayoutExtents+    layoutIterGetLayoutExtents              ,+++-- ** layoutIterGetLine+    layoutIterGetLine                       ,+++-- ** layoutIterGetLineExtents+    layoutIterGetLineExtents                ,+++-- ** layoutIterGetLineReadonly+    layoutIterGetLineReadonly               ,+++-- ** layoutIterGetLineYrange+    layoutIterGetLineYrange                 ,+++-- ** layoutIterGetRun+    layoutIterGetRun                        ,+++-- ** layoutIterGetRunExtents+    layoutIterGetRunExtents                 ,+++-- ** layoutIterGetRunReadonly+    layoutIterGetRunReadonly                ,+++-- ** layoutIterNextChar+    layoutIterNextChar                      ,+++-- ** layoutIterNextCluster+    layoutIterNextCluster                   ,+++-- ** layoutIterNextLine+    layoutIterNextLine                      ,+++-- ** layoutIterNextRun+    layoutIterNextRun                       ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype LayoutIter = LayoutIter (ForeignPtr LayoutIter)+foreign import ccall "pango_layout_iter_get_type" c_pango_layout_iter_get_type :: +    IO GType++instance BoxedObject LayoutIter where+    boxedType _ = c_pango_layout_iter_get_type++noLayoutIter :: Maybe LayoutIter+noLayoutIter = Nothing++-- method LayoutIter::at_last_line+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_at_last_line" pango_layout_iter_at_last_line :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO CInt+++layoutIterAtLastLine ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Bool+layoutIterAtLastLine _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_at_last_line _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutIter"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_copy" pango_layout_iter_copy :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO (Ptr LayoutIter)+++layoutIterCopy ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m LayoutIter+layoutIterCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_copy _obj'+    checkUnexpectedReturnNULL "pango_layout_iter_copy" result+    result' <- (wrapBoxed LayoutIter) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_free" pango_layout_iter_free :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO ()+++layoutIterFree ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m ()+layoutIterFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_layout_iter_free _obj'+    touchManagedPtr _obj+    return ()++-- method LayoutIter::get_baseline+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_baseline" pango_layout_iter_get_baseline :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO Int32+++layoutIterGetBaseline ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Int32+layoutIterGetBaseline _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_baseline _obj'+    touchManagedPtr _obj+    return result++-- method LayoutIter::get_char_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_char_extents" pango_layout_iter_get_char_extents :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutIterGetCharExtents ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m (Rectangle)+layoutIterGetCharExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_iter_get_char_extents _obj' logical_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return logical_rect'++-- method LayoutIter::get_cluster_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_cluster_extents" pango_layout_iter_get_cluster_extents :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutIterGetClusterExtents ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m (Rectangle,Rectangle)+layoutIterGetClusterExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_iter_get_cluster_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method LayoutIter::get_index+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_index" pango_layout_iter_get_index :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO Int32+++layoutIterGetIndex ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Int32+layoutIterGetIndex _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_index _obj'+    touchManagedPtr _obj+    return result++-- method LayoutIter::get_layout+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Layout"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_layout" pango_layout_iter_get_layout :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO (Ptr Layout)+++layoutIterGetLayout ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Layout+layoutIterGetLayout _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_layout _obj'+    checkUnexpectedReturnNULL "pango_layout_iter_get_layout" result+    result' <- (newObject Layout) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::get_layout_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_layout_extents" pango_layout_iter_get_layout_extents :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutIterGetLayoutExtents ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m (Rectangle,Rectangle)+layoutIterGetLayoutExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_iter_get_layout_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method LayoutIter::get_line+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutLine"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_line" pango_layout_iter_get_line :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO (Ptr LayoutLine)+++layoutIterGetLine ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m LayoutLine+layoutIterGetLine _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_line _obj'+    checkUnexpectedReturnNULL "pango_layout_iter_get_line" result+    result' <- (wrapBoxed LayoutLine) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::get_line_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_line_extents" pango_layout_iter_get_line_extents :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutIterGetLineExtents ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m (Rectangle,Rectangle)+layoutIterGetLineExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_iter_get_line_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method LayoutIter::get_line_readonly+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutLine"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_line_readonly" pango_layout_iter_get_line_readonly :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO (Ptr LayoutLine)+++layoutIterGetLineReadonly ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m LayoutLine+layoutIterGetLineReadonly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_line_readonly _obj'+    checkUnexpectedReturnNULL "pango_layout_iter_get_line_readonly" result+    result' <- (newBoxed LayoutLine) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::get_line_yrange+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y0_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y1_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_line_yrange" pango_layout_iter_get_line_yrange :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    Ptr Int32 ->                            -- y0_ : TBasicType TInt32+    Ptr Int32 ->                            -- y1_ : TBasicType TInt32+    IO ()+++layoutIterGetLineYrange ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m (Int32,Int32)+layoutIterGetLineYrange _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    y0_ <- allocMem :: IO (Ptr Int32)+    y1_ <- allocMem :: IO (Ptr Int32)+    pango_layout_iter_get_line_yrange _obj' y0_ y1_+    y0_' <- peek y0_+    y1_' <- peek y1_+    touchManagedPtr _obj+    freeMem y0_+    freeMem y1_+    return (y0_', y1_')++-- method LayoutIter::get_run+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GlyphItem"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_run" pango_layout_iter_get_run :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO (Ptr GlyphItem)+++layoutIterGetRun ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m GlyphItem+layoutIterGetRun _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_run _obj'+    checkUnexpectedReturnNULL "pango_layout_iter_get_run" result+    result' <- (newBoxed GlyphItem) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::get_run_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_run_extents" pango_layout_iter_get_run_extents :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutIterGetRunExtents ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m (Rectangle,Rectangle)+layoutIterGetRunExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_iter_get_run_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method LayoutIter::get_run_readonly+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "GlyphItem"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_get_run_readonly" pango_layout_iter_get_run_readonly :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO (Ptr GlyphItem)+++layoutIterGetRunReadonly ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m GlyphItem+layoutIterGetRunReadonly _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_get_run_readonly _obj'+    checkUnexpectedReturnNULL "pango_layout_iter_get_run_readonly" result+    result' <- (newBoxed GlyphItem) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::next_char+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_next_char" pango_layout_iter_next_char :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO CInt+++layoutIterNextChar ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Bool+layoutIterNextChar _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_next_char _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::next_cluster+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_next_cluster" pango_layout_iter_next_cluster :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO CInt+++layoutIterNextCluster ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Bool+layoutIterNextCluster _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_next_cluster _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::next_line+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_next_line" pango_layout_iter_next_line :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO CInt+++layoutIterNextLine ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Bool+layoutIterNextLine _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_next_line _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method LayoutIter::next_run+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_iter_next_run" pango_layout_iter_next_run :: +    Ptr LayoutIter ->                       -- _obj : TInterface "Pango" "LayoutIter"+    IO CInt+++layoutIterNextRun ::+    (MonadIO m) =>+    LayoutIter ->                           -- _obj+    m Bool+layoutIterNextRun _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_iter_next_run _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Structs/LayoutIter.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.LayoutIter 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++newtype LayoutIter = LayoutIter (ForeignPtr LayoutIter)+instance BoxedObject LayoutIter where
+ GI/Pango/Structs/LayoutLine.hs view
@@ -0,0 +1,353 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoLayoutLine structure represents one of the lines resulting+from laying out a paragraph via #PangoLayout. #PangoLayoutLine+structures are obtained by calling pango_layout_get_line() and+are only valid until the text, attributes, or settings of the+parent #PangoLayout are modified.++Routines for rendering PangoLayout objects are provided in+code specific to each rendering system.+-}++module GI.Pango.Structs.LayoutLine+    ( ++-- * Exported types+    LayoutLine(..)                          ,+    noLayoutLine                            ,+++ -- * Methods+-- ** layoutLineGetExtents+    layoutLineGetExtents                    ,+++-- ** layoutLineGetPixelExtents+    layoutLineGetPixelExtents               ,+++-- ** layoutLineGetXRanges+    layoutLineGetXRanges                    ,+++-- ** layoutLineIndexToX+    layoutLineIndexToX                      ,+++-- ** layoutLineRef+    layoutLineRef                           ,+++-- ** layoutLineUnref+    layoutLineUnref                         ,+++-- ** layoutLineXToIndex+    layoutLineXToIndex                      ,+++++ -- * Properties+-- ** IsParagraphStart+    layoutLineReadIsParagraphStart          ,+++-- ** Layout+    layoutLineReadLayout                    ,+++-- ** Length+    layoutLineReadLength                    ,+++-- ** ResolvedDir+    layoutLineReadResolvedDir               ,+++-- ** Runs+    layoutLineReadRuns                      ,+++-- ** StartIndex+    layoutLineReadStartIndex                ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype LayoutLine = LayoutLine (ForeignPtr LayoutLine)+foreign import ccall "pango_layout_line_get_type" c_pango_layout_line_get_type :: +    IO GType++instance BoxedObject LayoutLine where+    boxedType _ = c_pango_layout_line_get_type++noLayoutLine :: Maybe LayoutLine+noLayoutLine = Nothing++layoutLineReadLayout :: LayoutLine -> IO Layout+layoutLineReadLayout s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Layout)+    val' <- (newObject Layout) val+    return val'++layoutLineReadStartIndex :: LayoutLine -> IO Int32+layoutLineReadStartIndex s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++layoutLineReadLength :: LayoutLine -> IO Int32+layoutLineReadLength s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++layoutLineReadRuns :: LayoutLine -> IO ([Ptr ()])+layoutLineReadRuns s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr (GSList (Ptr ())))+    val' <- unpackGSList val+    return val'++layoutLineReadIsParagraphStart :: LayoutLine -> IO Word32+layoutLineReadIsParagraphStart s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++layoutLineReadResolvedDir :: LayoutLine -> IO Word32+layoutLineReadResolvedDir s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++-- method LayoutLine::get_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_line_get_extents" pango_layout_line_get_extents :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutLineGetExtents ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    m (Rectangle,Rectangle)+layoutLineGetExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_line_get_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method LayoutLine::get_pixel_extents+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_line_get_pixel_extents" pango_layout_line_get_pixel_extents :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    Ptr Rectangle ->                        -- ink_rect : TInterface "Pango" "Rectangle"+    Ptr Rectangle ->                        -- logical_rect : TInterface "Pango" "Rectangle"+    IO ()+++layoutLineGetPixelExtents ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    m (Rectangle,Rectangle)+layoutLineGetPixelExtents _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)+    pango_layout_line_get_pixel_extents _obj' ink_rect logical_rect+    ink_rect' <- (wrapPtr Rectangle) ink_rect+    logical_rect' <- (wrapPtr Rectangle) logical_rect+    touchManagedPtr _obj+    return (ink_rect', logical_rect')++-- method LayoutLine::get_x_ranges+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TCArray False (-1) 4 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : [Arg {argName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_line_get_x_ranges" pango_layout_line_get_x_ranges :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    Int32 ->                                -- start_index : TBasicType TInt32+    Int32 ->                                -- end_index : TBasicType TInt32+    Ptr (Ptr Int32) ->                      -- ranges : TCArray False (-1) 4 (TBasicType TInt32)+    Ptr Int32 ->                            -- n_ranges : TBasicType TInt32+    IO ()+++layoutLineGetXRanges ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    Int32 ->                                -- start_index+    Int32 ->                                -- end_index+    m ([Int32])+layoutLineGetXRanges _obj start_index end_index = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    ranges <- allocMem :: IO (Ptr (Ptr Int32))+    n_ranges <- allocMem :: IO (Ptr Int32)+    pango_layout_line_get_x_ranges _obj' start_index end_index ranges n_ranges+    n_ranges' <- peek n_ranges+    ranges' <- peek ranges+    ranges'' <- (unpackStorableArrayWithLength n_ranges') ranges'+    freeMem ranges'+    touchManagedPtr _obj+    freeMem ranges+    freeMem n_ranges+    return ranges''++-- method LayoutLine::index_to_x+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "trailing", 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 "pango_layout_line_index_to_x" pango_layout_line_index_to_x :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    Int32 ->                                -- index_ : TBasicType TInt32+    CInt ->                                 -- trailing : TBasicType TBoolean+    Ptr Int32 ->                            -- x_pos : TBasicType TInt32+    IO ()+++layoutLineIndexToX ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    Int32 ->                                -- index_+    Bool ->                                 -- trailing+    m (Int32)+layoutLineIndexToX _obj index_ trailing = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let trailing' = (fromIntegral . fromEnum) trailing+    x_pos <- allocMem :: IO (Ptr Int32)+    pango_layout_line_index_to_x _obj' index_ trailing' x_pos+    x_pos' <- peek x_pos+    touchManagedPtr _obj+    freeMem x_pos+    return x_pos'++-- method LayoutLine::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "LayoutLine"+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_line_ref" pango_layout_line_ref :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    IO (Ptr LayoutLine)+++layoutLineRef ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    m LayoutLine+layoutLineRef _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_layout_line_ref _obj'+    checkUnexpectedReturnNULL "pango_layout_line_ref" result+    result' <- (wrapBoxed LayoutLine) result+    touchManagedPtr _obj+    return result'++-- method LayoutLine::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_line_unref" pango_layout_line_unref :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    IO ()+++layoutLineUnref ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    m ()+layoutLineUnref _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_layout_line_unref _obj'+    touchManagedPtr _obj+    return ()++-- method LayoutLine::x_to_index+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_layout_line_x_to_index" pango_layout_line_x_to_index :: +    Ptr LayoutLine ->                       -- _obj : TInterface "Pango" "LayoutLine"+    Int32 ->                                -- x_pos : TBasicType TInt32+    Ptr Int32 ->                            -- index_ : TBasicType TInt32+    Ptr Int32 ->                            -- trailing : TBasicType TInt32+    IO CInt+++layoutLineXToIndex ::+    (MonadIO m) =>+    LayoutLine ->                           -- _obj+    Int32 ->                                -- x_pos+    m (Bool,Int32,Int32)+layoutLineXToIndex _obj x_pos = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    index_ <- allocMem :: IO (Ptr Int32)+    trailing <- allocMem :: IO (Ptr Int32)+    result <- pango_layout_line_x_to_index _obj' x_pos index_ trailing+    let result' = (/= 0) result+    index_' <- peek index_+    trailing' <- peek trailing+    touchManagedPtr _obj+    freeMem index_+    freeMem trailing+    return (result', index_', trailing')++
+ GI/Pango/Structs/LayoutLine.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.LayoutLine 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++newtype LayoutLine = LayoutLine (ForeignPtr LayoutLine)+instance BoxedObject LayoutLine where
+ GI/Pango/Structs/LogAttr.hs view
@@ -0,0 +1,155 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoLogAttr structure stores information+about the attributes of a single character.+-}++module GI.Pango.Structs.LogAttr+    ( ++-- * Exported types+    LogAttr(..)                             ,+    noLogAttr                               ,+++ -- * Properties+-- ** BackspaceDeletesCharacter+    logAttrReadBackspaceDeletesCharacter    ,+++-- ** IsCharBreak+    logAttrReadIsCharBreak                  ,+++-- ** IsCursorPosition+    logAttrReadIsCursorPosition             ,+++-- ** IsExpandableSpace+    logAttrReadIsExpandableSpace            ,+++-- ** IsLineBreak+    logAttrReadIsLineBreak                  ,+++-- ** IsMandatoryBreak+    logAttrReadIsMandatoryBreak             ,+++-- ** IsSentenceBoundary+    logAttrReadIsSentenceBoundary           ,+++-- ** IsSentenceEnd+    logAttrReadIsSentenceEnd                ,+++-- ** IsSentenceStart+    logAttrReadIsSentenceStart              ,+++-- ** IsWhite+    logAttrReadIsWhite                      ,+++-- ** IsWordBoundary+    logAttrReadIsWordBoundary               ,+++-- ** IsWordEnd+    logAttrReadIsWordEnd                    ,+++-- ** IsWordStart+    logAttrReadIsWordStart                  ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype LogAttr = LogAttr (ForeignPtr LogAttr)+noLogAttr :: Maybe LogAttr+noLogAttr = Nothing++logAttrReadIsLineBreak :: LogAttr -> IO Word32+logAttrReadIsLineBreak s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++logAttrReadIsMandatoryBreak :: LogAttr -> IO Word32+logAttrReadIsMandatoryBreak s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Word32+    return val++logAttrReadIsCharBreak :: LogAttr -> IO Word32+logAttrReadIsCharBreak s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word32+    return val++logAttrReadIsWhite :: LogAttr -> IO Word32+logAttrReadIsWhite s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Word32+    return val++logAttrReadIsCursorPosition :: LogAttr -> IO Word32+logAttrReadIsCursorPosition s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Word32+    return val++logAttrReadIsWordStart :: LogAttr -> IO Word32+logAttrReadIsWordStart s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++logAttrReadIsWordEnd :: LogAttr -> IO Word32+logAttrReadIsWordEnd s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++logAttrReadIsSentenceBoundary :: LogAttr -> IO Word32+logAttrReadIsSentenceBoundary s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++logAttrReadIsSentenceStart :: LogAttr -> IO Word32+logAttrReadIsSentenceStart s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word32+    return val++logAttrReadIsSentenceEnd :: LogAttr -> IO Word32+logAttrReadIsSentenceEnd s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 36) :: IO Word32+    return val++logAttrReadBackspaceDeletesCharacter :: LogAttr -> IO Word32+logAttrReadBackspaceDeletesCharacter s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO Word32+    return val++logAttrReadIsExpandableSpace :: LogAttr -> IO Word32+logAttrReadIsExpandableSpace s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 44) :: IO Word32+    return val++logAttrReadIsWordBoundary :: LogAttr -> IO Word32+logAttrReadIsWordBoundary s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word32+    return val++
+ GI/Pango/Structs/LogAttr.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.LogAttr 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++newtype LogAttr = LogAttr (ForeignPtr LogAttr)
+ GI/Pango/Structs/Map.hs view
@@ -0,0 +1,35 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoMap structure can be used to determine the engine to+use for each character.+-}++module GI.Pango.Structs.Map+    ( ++-- * Exported types+    Map(..)                                 ,+    noMap                                   ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Map = Map (ForeignPtr Map)+noMap :: Maybe Map+noMap = Nothing++
+ GI/Pango/Structs/Map.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.Map 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++newtype Map = Map (ForeignPtr Map)
+ GI/Pango/Structs/MapEntry.hs view
@@ -0,0 +1,36 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoMapEntry contains information about the engine that should be used+for the codepoint to which this entry belongs and also whether the engine+matches the language tag for this entry's map exactly or just approximately.+-}++module GI.Pango.Structs.MapEntry+    ( ++-- * Exported types+    MapEntry(..)                            ,+    noMapEntry                              ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype MapEntry = MapEntry (ForeignPtr MapEntry)+noMapEntry :: Maybe MapEntry+noMapEntry = Nothing++
+ GI/Pango/Structs/MapEntry.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.MapEntry 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++newtype MapEntry = MapEntry (ForeignPtr MapEntry)
+ GI/Pango/Structs/Matrix.hs view
@@ -0,0 +1,423 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A structure specifying a transformation between user-space+coordinates and device coordinates. The transformation+is given by++<programlisting>+x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0;+y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0;+</programlisting>+-}++module GI.Pango.Structs.Matrix+    ( ++-- * Exported types+    Matrix(..)                              ,+    noMatrix                                ,+++ -- * Methods+-- ** matrixConcat+    matrixConcat                            ,+++-- ** matrixCopy+    matrixCopy                              ,+++-- ** matrixFree+    matrixFree                              ,+++-- ** matrixGetFontScaleFactor+    matrixGetFontScaleFactor                ,+++-- ** matrixRotate+    matrixRotate                            ,+++-- ** matrixScale+    matrixScale                             ,+++-- ** matrixTransformDistance+    matrixTransformDistance                 ,+++-- ** matrixTransformPoint+    matrixTransformPoint                    ,+++-- ** matrixTranslate+    matrixTranslate                         ,+++++ -- * Properties+-- ** X0+    matrixReadX0                            ,+++-- ** Xx+    matrixReadXx                            ,+++-- ** Xy+    matrixReadXy                            ,+++-- ** Y0+    matrixReadY0                            ,+++-- ** Yx+    matrixReadYx                            ,+++-- ** Yy+    matrixReadYy                            ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Matrix = Matrix (ForeignPtr Matrix)+foreign import ccall "pango_matrix_get_type" c_pango_matrix_get_type :: +    IO GType++instance BoxedObject Matrix where+    boxedType _ = c_pango_matrix_get_type++noMatrix :: Maybe Matrix+noMatrix = Nothing++matrixReadXx :: Matrix -> IO Double+matrixReadXx s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CDouble+    let val' = realToFrac val+    return val'++matrixReadXy :: Matrix -> IO Double+matrixReadXy s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CDouble+    let val' = realToFrac val+    return val'++matrixReadYx :: Matrix -> IO Double+matrixReadYx s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CDouble+    let val' = realToFrac val+    return val'++matrixReadYy :: Matrix -> IO Double+matrixReadYy s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CDouble+    let val' = realToFrac val+    return val'++matrixReadX0 :: Matrix -> IO Double+matrixReadX0 s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CDouble+    let val' = realToFrac val+    return val'++matrixReadY0 :: Matrix -> IO Double+matrixReadY0 s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO CDouble+    let val' = realToFrac val+    return val'++-- method Matrix::concat+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_matrix_concat" pango_matrix_concat :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    Ptr Matrix ->                           -- new_matrix : TInterface "Pango" "Matrix"+    IO ()+++matrixConcat ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    Matrix ->                               -- new_matrix+    m ()+matrixConcat _obj new_matrix = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let new_matrix' = unsafeManagedPtrGetPtr new_matrix+    pango_matrix_concat _obj' new_matrix'+    touchManagedPtr _obj+    touchManagedPtr new_matrix+    return ()++-- method Matrix::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "Matrix"+-- throws : False+-- Skip return : False++foreign import ccall "pango_matrix_copy" pango_matrix_copy :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    IO (Ptr Matrix)+++matrixCopy ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    m Matrix+matrixCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_matrix_copy _obj'+    checkUnexpectedReturnNULL "pango_matrix_copy" result+    result' <- (wrapBoxed Matrix) result+    touchManagedPtr _obj+    return result'++-- method Matrix::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_matrix_free" pango_matrix_free :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    IO ()+++matrixFree ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    m ()+matrixFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_matrix_free _obj'+    touchManagedPtr _obj+    return ()++-- method Matrix::get_font_scale_factor+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TDouble+-- throws : False+-- Skip return : False++foreign import ccall "pango_matrix_get_font_scale_factor" pango_matrix_get_font_scale_factor :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    IO CDouble+++matrixGetFontScaleFactor ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    m Double+matrixGetFontScaleFactor _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_matrix_get_font_scale_factor _obj'+    let result' = realToFrac result+    touchManagedPtr _obj+    return result'++-- method Matrix::rotate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "degrees", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "degrees", 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 "pango_matrix_rotate" pango_matrix_rotate :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    CDouble ->                              -- degrees : TBasicType TDouble+    IO ()+++matrixRotate ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    Double ->                               -- degrees+    m ()+matrixRotate _obj degrees = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let degrees' = realToFrac degrees+    pango_matrix_rotate _obj' degrees'+    touchManagedPtr _obj+    return ()++-- method Matrix::scale+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_y", 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 "pango_matrix_scale" pango_matrix_scale :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    CDouble ->                              -- scale_x : TBasicType TDouble+    CDouble ->                              -- scale_y : TBasicType TDouble+    IO ()+++matrixScale ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    Double ->                               -- scale_x+    Double ->                               -- scale_y+    m ()+matrixScale _obj scale_x scale_y = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let scale_x' = realToFrac scale_x+    let scale_y' = realToFrac scale_y+    pango_matrix_scale _obj' scale_x' scale_y'+    touchManagedPtr _obj+    return ()++-- method Matrix::transform_distance+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_matrix_transform_distance" pango_matrix_transform_distance :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    Ptr CDouble ->                          -- dx : TBasicType TDouble+    Ptr CDouble ->                          -- dy : TBasicType TDouble+    IO ()+++matrixTransformDistance ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    Double ->                               -- dx+    Double ->                               -- dy+    m (Double,Double)+matrixTransformDistance _obj dx dy = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let dx' = realToFrac dx+    dx'' <- allocMem :: IO (Ptr CDouble)+    poke dx'' dx'+    let dy' = realToFrac dy+    dy'' <- allocMem :: IO (Ptr CDouble)+    poke dy'' dy'+    pango_matrix_transform_distance _obj' dx'' dy''+    dx''' <- peek dx''+    let dx'''' = realToFrac dx'''+    dy''' <- peek dy''+    let dy'''' = realToFrac dy'''+    touchManagedPtr _obj+    freeMem dx''+    freeMem dy''+    return (dx'''', dy'''')++-- XXX Could not generate method Matrix::transform_pixel_rectangle+-- Error was : Not implemented: "Nullable inout structs not supported"+-- method Matrix::transform_point+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_matrix_transform_point" pango_matrix_transform_point :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    Ptr CDouble ->                          -- x : TBasicType TDouble+    Ptr CDouble ->                          -- y : TBasicType TDouble+    IO ()+++matrixTransformPoint ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    Double ->                               -- x+    Double ->                               -- y+    m (Double,Double)+matrixTransformPoint _obj x y = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let x' = realToFrac x+    x'' <- allocMem :: IO (Ptr CDouble)+    poke x'' x'+    let y' = realToFrac y+    y'' <- allocMem :: IO (Ptr CDouble)+    poke y'' y'+    pango_matrix_transform_point _obj' x'' y''+    x''' <- peek x''+    let x'''' = realToFrac x'''+    y''' <- peek y''+    let y'''' = realToFrac y'''+    touchManagedPtr _obj+    freeMem x''+    freeMem y''+    return (x'''', y'''')++-- XXX Could not generate method Matrix::transform_rectangle+-- Error was : Not implemented: "Nullable inout structs not supported"+-- method Matrix::translate+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ty", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ty", 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 "pango_matrix_translate" pango_matrix_translate :: +    Ptr Matrix ->                           -- _obj : TInterface "Pango" "Matrix"+    CDouble ->                              -- tx : TBasicType TDouble+    CDouble ->                              -- ty : TBasicType TDouble+    IO ()+++matrixTranslate ::+    (MonadIO m) =>+    Matrix ->                               -- _obj+    Double ->                               -- tx+    Double ->                               -- ty+    m ()+matrixTranslate _obj tx ty = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let tx' = realToFrac tx+    let ty' = realToFrac ty+    pango_matrix_translate _obj' tx' ty'+    touchManagedPtr _obj+    return ()++
+ GI/Pango/Structs/Matrix.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.Matrix 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++newtype Matrix = Matrix (ForeignPtr Matrix)+instance BoxedObject Matrix where
+ GI/Pango/Structs/Rectangle.hs view
@@ -0,0 +1,75 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++The #PangoRectangle structure represents a rectangle. It is frequently+used to represent the logical or ink extents of a single glyph or section+of text. (See, for instance, pango_font_get_glyph_extents())+-}++module GI.Pango.Structs.Rectangle+    ( ++-- * Exported types+    Rectangle(..)                           ,+    noRectangle                             ,+++ -- * Properties+-- ** Height+    rectangleReadHeight                     ,+++-- ** Width+    rectangleReadWidth                      ,+++-- ** X+    rectangleReadX                          ,+++-- ** Y+    rectangleReadY                          ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype Rectangle = Rectangle (ForeignPtr Rectangle)+noRectangle :: Maybe Rectangle+noRectangle = Nothing++rectangleReadX :: Rectangle -> IO Int32+rectangleReadX s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++rectangleReadY :: Rectangle -> IO Int32+rectangleReadY s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++rectangleReadWidth :: Rectangle -> IO Int32+rectangleReadWidth s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Int32+    return val++rectangleReadHeight :: Rectangle -> IO Int32+rectangleReadHeight s = withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Int32+    return val++
+ GI/Pango/Structs/Rectangle.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.Rectangle 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++newtype Rectangle = Rectangle (ForeignPtr Rectangle)
+ GI/Pango/Structs/ScriptForLang.hs view
@@ -0,0 +1,36 @@++{- |+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.Pango.Structs.ScriptForLang+    ( ++-- * Exported types+    ScriptForLang(..)                       ,+    noScriptForLang                         ,+++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype ScriptForLang = ScriptForLang (ForeignPtr ScriptForLang)+noScriptForLang :: Maybe ScriptForLang+noScriptForLang = Nothing++-- XXX Skipped getter for "ScriptForLang:lang" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TInt8)"++-- XXX Skipped getter for "ScriptForLang:scripts" :: Not implemented: "Don't know how to unpack C array of type TCArray False 3 (-1) (TInterface \"Pango\" \"Script\")"++
+ GI/Pango/Structs/ScriptForLang.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.ScriptForLang 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++newtype ScriptForLang = ScriptForLang (ForeignPtr ScriptForLang)
+ GI/Pango/Structs/ScriptIter.hs view
@@ -0,0 +1,140 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoScriptIter is used to iterate through a string+and identify ranges in different scripts.+-}++module GI.Pango.Structs.ScriptIter+    ( ++-- * Exported types+    ScriptIter(..)                          ,+    noScriptIter                            ,+++ -- * Methods+-- ** scriptIterFree+    scriptIterFree                          ,+++-- ** scriptIterGetRange+    scriptIterGetRange                      ,+++-- ** scriptIterNext+    scriptIterNext                          ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype ScriptIter = ScriptIter (ForeignPtr ScriptIter)+noScriptIter :: Maybe ScriptIter+noScriptIter = Nothing++-- method ScriptIter::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_script_iter_free" pango_script_iter_free :: +    Ptr ScriptIter ->                       -- _obj : TInterface "Pango" "ScriptIter"+    IO ()+++scriptIterFree ::+    (MonadIO m) =>+    ScriptIter ->                           -- _obj+    m ()+scriptIterFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_script_iter_free _obj'+    touchManagedPtr _obj+    return ()++-- method ScriptIter::get_range+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_script_iter_get_range" pango_script_iter_get_range :: +    Ptr ScriptIter ->                       -- _obj : TInterface "Pango" "ScriptIter"+    Ptr CString ->                          -- start : TBasicType TUTF8+    Ptr CString ->                          -- end : TBasicType TUTF8+    Ptr CUInt ->                            -- script : TInterface "Pango" "Script"+    IO ()+++scriptIterGetRange ::+    (MonadIO m) =>+    ScriptIter ->                           -- _obj+    m (T.Text,T.Text,Script)+scriptIterGetRange _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    start <- allocMem :: IO (Ptr CString)+    end <- allocMem :: IO (Ptr CString)+    script <- allocMem :: IO (Ptr CUInt)+    pango_script_iter_get_range _obj' start end script+    start' <- peek start+    start'' <- cstringToText start'+    freeMem start'+    end' <- peek end+    end'' <- cstringToText end'+    freeMem end'+    script' <- peek script+    let script'' = (toEnum . fromIntegral) script'+    touchManagedPtr _obj+    freeMem start+    freeMem end+    freeMem script+    return (start'', end'', script'')++-- method ScriptIter::next+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_script_iter_next" pango_script_iter_next :: +    Ptr ScriptIter ->                       -- _obj : TInterface "Pango" "ScriptIter"+    IO CInt+++scriptIterNext ::+    (MonadIO m) =>+    ScriptIter ->                           -- _obj+    m Bool+scriptIterNext _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_script_iter_next _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++
+ GI/Pango/Structs/ScriptIter.hs-boot view
@@ -0,0 +1,10 @@+module GI.Pango.Structs.ScriptIter 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++newtype ScriptIter = ScriptIter (ForeignPtr ScriptIter)
+ GI/Pango/Structs/TabArray.hs view
@@ -0,0 +1,331 @@++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)++A #PangoTabArray struct contains an array+of tab stops. Each tab stop has an alignment and a position.+-}++module GI.Pango.Structs.TabArray+    ( ++-- * Exported types+    TabArray(..)                            ,+    noTabArray                              ,+++ -- * Methods+-- ** tabArrayCopy+    tabArrayCopy                            ,+++-- ** tabArrayFree+    tabArrayFree                            ,+++-- ** tabArrayGetPositionsInPixels+    tabArrayGetPositionsInPixels            ,+++-- ** tabArrayGetSize+    tabArrayGetSize                         ,+++-- ** tabArrayGetTab+    tabArrayGetTab                          ,+++-- ** tabArrayGetTabs+    tabArrayGetTabs                         ,+++-- ** tabArrayNew+    tabArrayNew                             ,+++-- ** tabArrayResize+    tabArrayResize                          ,+++-- ** tabArraySetTab+    tabArraySetTab                          ,+++++    ) 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.Pango.Types+import GI.Pango.Callbacks++newtype TabArray = TabArray (ForeignPtr TabArray)+foreign import ccall "pango_tab_array_get_type" c_pango_tab_array_get_type :: +    IO GType++instance BoxedObject TabArray where+    boxedType _ = c_pango_tab_array_get_type++noTabArray :: Maybe TabArray+noTabArray = Nothing++-- method TabArray::new+-- method type : Constructor+-- Args : [Arg {argName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "TabArray"+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_new" pango_tab_array_new :: +    Int32 ->                                -- initial_size : TBasicType TInt32+    CInt ->                                 -- positions_in_pixels : TBasicType TBoolean+    IO (Ptr TabArray)+++tabArrayNew ::+    (MonadIO m) =>+    Int32 ->                                -- initial_size+    Bool ->                                 -- positions_in_pixels+    m TabArray+tabArrayNew initial_size positions_in_pixels = liftIO $ do+    let positions_in_pixels' = (fromIntegral . fromEnum) positions_in_pixels+    result <- pango_tab_array_new initial_size positions_in_pixels'+    checkUnexpectedReturnNULL "pango_tab_array_new" result+    result' <- (wrapBoxed TabArray) result+    return result'++-- method TabArray::copy+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TInterface "Pango" "TabArray"+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_copy" pango_tab_array_copy :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    IO (Ptr TabArray)+++tabArrayCopy ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    m TabArray+tabArrayCopy _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_tab_array_copy _obj'+    checkUnexpectedReturnNULL "pango_tab_array_copy" result+    result' <- (wrapBoxed TabArray) result+    touchManagedPtr _obj+    return result'++-- method TabArray::free+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_free" pango_tab_array_free :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    IO ()+++tabArrayFree ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    m ()+tabArrayFree _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_tab_array_free _obj'+    touchManagedPtr _obj+    return ()++-- method TabArray::get_positions_in_pixels+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TBoolean+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_get_positions_in_pixels" pango_tab_array_get_positions_in_pixels :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    IO CInt+++tabArrayGetPositionsInPixels ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    m Bool+tabArrayGetPositionsInPixels _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_tab_array_get_positions_in_pixels _obj'+    let result' = (/= 0) result+    touchManagedPtr _obj+    return result'++-- method TabArray::get_size+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TInt32+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_get_size" pango_tab_array_get_size :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    IO Int32+++tabArrayGetSize ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    m Int32+tabArrayGetSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    result <- pango_tab_array_get_size _obj'+    touchManagedPtr _obj+    return result++-- method TabArray::get_tab+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_get_tab" pango_tab_array_get_tab :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    Int32 ->                                -- tab_index : TBasicType TInt32+    Ptr CUInt ->                            -- alignment : TInterface "Pango" "TabAlign"+    Ptr Int32 ->                            -- location : TBasicType TInt32+    IO ()+++tabArrayGetTab ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    Int32 ->                                -- tab_index+    m (TabAlign,Int32)+tabArrayGetTab _obj tab_index = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    alignment <- allocMem :: IO (Ptr CUInt)+    location <- allocMem :: IO (Ptr Int32)+    pango_tab_array_get_tab _obj' tab_index alignment location+    alignment' <- peek alignment+    let alignment'' = (toEnum . fromIntegral) alignment'+    location' <- peek location+    touchManagedPtr _obj+    freeMem alignment+    freeMem location+    return (alignment'', location')++-- method TabArray::get_tabs+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignments", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "locations", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_get_tabs" pango_tab_array_get_tabs :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    Ptr CUInt ->                            -- alignments : TInterface "Pango" "TabAlign"+    Ptr (Ptr Int32) ->                      -- locations : TCArray False (-1) (-1) (TBasicType TInt32)+    IO ()+++tabArrayGetTabs ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    m (TabAlign,(Ptr Int32))+tabArrayGetTabs _obj = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    alignments <- allocMem :: IO (Ptr CUInt)+    locations <- allocMem :: IO (Ptr (Ptr Int32))+    pango_tab_array_get_tabs _obj' alignments locations+    alignments' <- peek alignments+    let alignments'' = (toEnum . fromIntegral) alignments'+    locations' <- peek locations+    touchManagedPtr _obj+    freeMem alignments+    freeMem locations+    return (alignments'', locations')++-- method TabArray::resize+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_resize" pango_tab_array_resize :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    Int32 ->                                -- new_size : TBasicType TInt32+    IO ()+++tabArrayResize ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    Int32 ->                                -- new_size+    m ()+tabArrayResize _obj new_size = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    pango_tab_array_resize _obj' new_size+    touchManagedPtr _obj+    return ()++-- method TabArray::set_tab+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- Lengths : []+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "pango_tab_array_set_tab" pango_tab_array_set_tab :: +    Ptr TabArray ->                         -- _obj : TInterface "Pango" "TabArray"+    Int32 ->                                -- tab_index : TBasicType TInt32+    CUInt ->                                -- alignment : TInterface "Pango" "TabAlign"+    Int32 ->                                -- location : TBasicType TInt32+    IO ()+++tabArraySetTab ::+    (MonadIO m) =>+    TabArray ->                             -- _obj+    Int32 ->                                -- tab_index+    TabAlign ->                             -- alignment+    Int32 ->                                -- location+    m ()+tabArraySetTab _obj tab_index alignment location = liftIO $ do+    let _obj' = unsafeManagedPtrGetPtr _obj+    let alignment' = (fromIntegral . fromEnum) alignment+    pango_tab_array_set_tab _obj' tab_index alignment' location+    touchManagedPtr _obj+    return ()++
+ GI/Pango/Structs/TabArray.hs-boot view
@@ -0,0 +1,11 @@+module GI.Pango.Structs.TabArray 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++newtype TabArray = TabArray (ForeignPtr TabArray)+instance BoxedObject TabArray where
+ GI/Pango/Types.hs view
@@ -0,0 +1,112 @@+module GI.Pango.Types+    (     module GI.Pango.Objects.Context         ,+    module GI.Pango.Objects.Engine          ,+    module GI.Pango.Objects.EngineLang      ,+    module GI.Pango.Objects.EngineShape     ,+    module GI.Pango.Objects.Font            ,+    module GI.Pango.Objects.FontFace        ,+    module GI.Pango.Objects.FontFamily      ,+    module GI.Pango.Objects.FontMap         ,+    module GI.Pango.Objects.Fontset         ,+    module GI.Pango.Objects.FontsetSimple   ,+    module GI.Pango.Objects.Layout          ,+    module GI.Pango.Objects.Renderer        ,+    module GI.Pango.Structs.Analysis        ,+    module GI.Pango.Structs.AttrClass       ,+    module GI.Pango.Structs.AttrColor       ,+    module GI.Pango.Structs.AttrFloat       ,+    module GI.Pango.Structs.AttrFontDesc    ,+    module GI.Pango.Structs.AttrInt         ,+    module GI.Pango.Structs.AttrIterator    ,+    module GI.Pango.Structs.AttrLanguage    ,+    module GI.Pango.Structs.AttrList        ,+    module GI.Pango.Structs.AttrShape       ,+    module GI.Pango.Structs.AttrSize        ,+    module GI.Pango.Structs.AttrString      ,+    module GI.Pango.Structs.Attribute       ,+    module GI.Pango.Structs.Color           ,+    module GI.Pango.Structs.Coverage        ,+    module GI.Pango.Structs.EngineInfo      ,+    module GI.Pango.Structs.EngineScriptInfo,+    module GI.Pango.Structs.FontDescription ,+    module GI.Pango.Structs.FontMetrics     ,+    module GI.Pango.Structs.GlyphGeometry   ,+    module GI.Pango.Structs.GlyphInfo       ,+    module GI.Pango.Structs.GlyphItem       ,+    module GI.Pango.Structs.GlyphItemIter   ,+    module GI.Pango.Structs.GlyphString     ,+    module GI.Pango.Structs.GlyphVisAttr    ,+    module GI.Pango.Structs.IncludedModule  ,+    module GI.Pango.Structs.Item            ,+    module GI.Pango.Structs.Language        ,+    module GI.Pango.Structs.LayoutIter      ,+    module GI.Pango.Structs.LayoutLine      ,+    module GI.Pango.Structs.LogAttr         ,+    module GI.Pango.Structs.Map             ,+    module GI.Pango.Structs.MapEntry        ,+    module GI.Pango.Structs.Matrix          ,+    module GI.Pango.Structs.Rectangle       ,+    module GI.Pango.Structs.ScriptForLang   ,+    module GI.Pango.Structs.ScriptIter      ,+    module GI.Pango.Structs.TabArray        ,+    module GI.Pango.Enums                   ,+    module GI.Pango.Flags                   ,+++    ) where+++import {-# SOURCE #-} GI.Pango.Objects.Context+import {-# SOURCE #-} GI.Pango.Objects.Engine+import {-# SOURCE #-} GI.Pango.Objects.EngineLang+import {-# SOURCE #-} GI.Pango.Objects.EngineShape+import {-# SOURCE #-} GI.Pango.Objects.Font+import {-# SOURCE #-} GI.Pango.Objects.FontFace+import {-# SOURCE #-} GI.Pango.Objects.FontFamily+import {-# SOURCE #-} GI.Pango.Objects.FontMap+import {-# SOURCE #-} GI.Pango.Objects.Fontset+import {-# SOURCE #-} GI.Pango.Objects.FontsetSimple+import {-# SOURCE #-} GI.Pango.Objects.Layout+import {-# SOURCE #-} GI.Pango.Objects.Renderer+import {-# SOURCE #-} GI.Pango.Structs.Analysis+import {-# SOURCE #-} GI.Pango.Structs.AttrClass+import {-# SOURCE #-} GI.Pango.Structs.AttrColor+import {-# SOURCE #-} GI.Pango.Structs.AttrFloat+import {-# SOURCE #-} GI.Pango.Structs.AttrFontDesc+import {-# SOURCE #-} GI.Pango.Structs.AttrInt+import {-# SOURCE #-} GI.Pango.Structs.AttrIterator+import {-# SOURCE #-} GI.Pango.Structs.AttrLanguage+import {-# SOURCE #-} GI.Pango.Structs.AttrList+import {-# SOURCE #-} GI.Pango.Structs.AttrShape+import {-# SOURCE #-} GI.Pango.Structs.AttrSize+import {-# SOURCE #-} GI.Pango.Structs.AttrString+import {-# SOURCE #-} GI.Pango.Structs.Attribute+import {-# SOURCE #-} GI.Pango.Structs.Color+import {-# SOURCE #-} GI.Pango.Structs.Coverage+import {-# SOURCE #-} GI.Pango.Structs.EngineInfo+import {-# SOURCE #-} GI.Pango.Structs.EngineScriptInfo+import {-# SOURCE #-} GI.Pango.Structs.FontDescription+import {-# SOURCE #-} GI.Pango.Structs.FontMetrics+import {-# SOURCE #-} GI.Pango.Structs.GlyphGeometry+import {-# SOURCE #-} GI.Pango.Structs.GlyphInfo+import {-# SOURCE #-} GI.Pango.Structs.GlyphItem+import {-# SOURCE #-} GI.Pango.Structs.GlyphItemIter+import {-# SOURCE #-} GI.Pango.Structs.GlyphString+import {-# SOURCE #-} GI.Pango.Structs.GlyphVisAttr+import {-# SOURCE #-} GI.Pango.Structs.IncludedModule+import {-# SOURCE #-} GI.Pango.Structs.Item+import {-# SOURCE #-} GI.Pango.Structs.Language+import {-# SOURCE #-} GI.Pango.Structs.LayoutIter+import {-# SOURCE #-} GI.Pango.Structs.LayoutLine+import {-# SOURCE #-} GI.Pango.Structs.LogAttr+import {-# SOURCE #-} GI.Pango.Structs.Map+import {-# SOURCE #-} GI.Pango.Structs.MapEntry+import {-# SOURCE #-} GI.Pango.Structs.Matrix+import {-# SOURCE #-} GI.Pango.Structs.Rectangle+import {-# SOURCE #-} GI.Pango.Structs.ScriptForLang+import {-# SOURCE #-} GI.Pango.Structs.ScriptIter+import {-# SOURCE #-} GI.Pango.Structs.TabArray++import GI.Pango.Enums+import GI.Pango.Flags+
− GI/PangoAttributes.hs
@@ -1,72 +0,0 @@-{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}---- Generated code.--{-# OPTIONS_GHC -fno-warn-unused-imports #-}--{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,-    TypeFamilies, MultiParamTypeClasses, KindSignatures,-    FlexibleInstances, UndecidableInstances, DataKinds,-    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}--module GI.PangoAttributes where--import Prelude ()-import Data.GI.Base.ShortPrelude-import Data.Char-import Data.Int-import Data.Word-import qualified Data.ByteString.Char8 as B-import Data.ByteString.Char8 (ByteString)-import qualified Data.Map as Map-import Foreign.C-import Foreign.Ptr-import Foreign.ForeignPtr-import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)-import Foreign.Storable (peek, poke, sizeOf)-import Control.Applicative ((<$>))-import Control.Exception (onException)-import Control.Monad.IO.Class-import qualified Data.Text as T--import Data.GI.Base.Attributes hiding (get, set)-import Data.GI.Base.BasicTypes-import Data.GI.Base.BasicConversions-import Data.GI.Base.Closure-import Data.GI.Base.GError-import Data.GI.Base.GHashTable-import Data.GI.Base.GParamSpec-import Data.GI.Base.GVariant-import Data.GI.Base.GValue-import Data.GI.Base.ManagedPtr-import Data.GI.Base.Overloading-import Data.GI.Base.Properties hiding (new)-import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)-import Data.GI.Base.Utils--import GI.Pango--type instance AttributeList Context = '[ ]--type instance AttributeList Engine = '[ ]--type instance AttributeList EngineLang = '[ ]--type instance AttributeList EngineShape = '[ ]--type instance AttributeList Font = '[ ]--type instance AttributeList FontFace = '[ ]--type instance AttributeList FontFamily = '[ ]--type instance AttributeList FontMap = '[ ]--type instance AttributeList Fontset = '[ ]--type instance AttributeList FontsetSimple = '[ ]--type instance AttributeList Layout = '[ ]--type instance AttributeList Renderer = '[ ]-
− GI/PangoSignals.hs
@@ -1,41 +0,0 @@--- Generated code.--{-# OPTIONS_GHC -fno-warn-orphans #-}--{-# LANGUAGE DataKinds,    FlexibleInstances,-             TypeFamilies, MultiParamTypeClasses,-               TypeOperators #-}--module GI.PangoSignals where--import Data.GI.Base.Properties (GObjectNotifySignalInfo)-import Data.GI.Base.Signals-import Data.GI.Base.Overloading--import qualified GI.GObjectSignals as GObject-import GI.Pango--type instance SignalList Context = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList Engine = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList EngineLang = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList EngineShape = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList Font = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList FontFace = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList FontFamily = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList FontMap = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList Fontset = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList FontsetSimple = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList Layout = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]--type instance SignalList Renderer = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]-
gi-pango.cabal view
@@ -1,6 +1,6 @@ -- Autogenerated, do not edit. name:               gi-pango-version:            0.1.36.11+version:            0.1.36.12 synopsis:           Pango bindings description:        Bindings for Pango, autogenerated by haskell-gi. homepage:           https://github.com/haskell-gi/haskell-gi@@ -14,12 +14,73 @@  library     default-language:   Haskell2010-    exposed-modules:    GI.Pango, GI.PangoAttributes, GI.PangoSignals+    default-extensions: OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+    other-extensions:   PatternSynonyms ScopedTypeVariables, ViewPatterns+    ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations+    exposed-modules:    GI.Pango.Types+                        GI.Pango+                        GI.Pango.Callbacks+                        GI.Pango.Constants+                        GI.Pango.Enums+                        GI.Pango.Flags+                        GI.Pango.Functions+                        GI.Pango.Objects+                        GI.Pango.Objects.Context+                        GI.Pango.Objects.Engine+                        GI.Pango.Objects.EngineLang+                        GI.Pango.Objects.EngineShape+                        GI.Pango.Objects.Font+                        GI.Pango.Objects.FontFace+                        GI.Pango.Objects.FontFamily+                        GI.Pango.Objects.FontMap+                        GI.Pango.Objects.Fontset+                        GI.Pango.Objects.FontsetSimple+                        GI.Pango.Objects.Layout+                        GI.Pango.Objects.Renderer+                        GI.Pango.Structs+                        GI.Pango.Structs.Analysis+                        GI.Pango.Structs.AttrClass+                        GI.Pango.Structs.AttrColor+                        GI.Pango.Structs.AttrFloat+                        GI.Pango.Structs.AttrFontDesc+                        GI.Pango.Structs.AttrInt+                        GI.Pango.Structs.AttrIterator+                        GI.Pango.Structs.AttrLanguage+                        GI.Pango.Structs.AttrList+                        GI.Pango.Structs.AttrShape+                        GI.Pango.Structs.AttrSize+                        GI.Pango.Structs.AttrString+                        GI.Pango.Structs.Attribute+                        GI.Pango.Structs.Color+                        GI.Pango.Structs.Coverage+                        GI.Pango.Structs.EngineInfo+                        GI.Pango.Structs.EngineScriptInfo+                        GI.Pango.Structs.FontDescription+                        GI.Pango.Structs.FontMetrics+                        GI.Pango.Structs.GlyphGeometry+                        GI.Pango.Structs.GlyphInfo+                        GI.Pango.Structs.GlyphItem+                        GI.Pango.Structs.GlyphItemIter+                        GI.Pango.Structs.GlyphString+                        GI.Pango.Structs.GlyphVisAttr+                        GI.Pango.Structs.IncludedModule+                        GI.Pango.Structs.Item+                        GI.Pango.Structs.Language+                        GI.Pango.Structs.LayoutIter+                        GI.Pango.Structs.LayoutLine+                        GI.Pango.Structs.LogAttr+                        GI.Pango.Structs.Map+                        GI.Pango.Structs.MapEntry+                        GI.Pango.Structs.Matrix+                        GI.Pango.Structs.Rectangle+                        GI.Pango.Structs.ScriptForLang+                        GI.Pango.Structs.ScriptIter+                        GI.Pango.Structs.TabArray     pkgconfig-depends:  pango >= 1.36     build-depends: base >= 4.7 && <5,-        haskell-gi-base >= 0.11 && < 1,-        gi-glib >= 0.2.44.11 && < 0.2.45,-        gi-gobject >= 0.2.44.11 && < 0.2.45,+        haskell-gi-base >= 0.12 && < 1,+        gi-glib >= 0.2.44.12 && < 0.2.45,+        gi-gobject >= 0.2.44.12 && < 0.2.45,         bytestring >= 0.10,         containers >= 0.5,         text >= 1.0,