{- | 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'