gi-pango-0.1.36.12: GI/Pango/Objects/Layout.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.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')