{-# LINE 2 "./Graphics/UI/Gtk/Multiline/Types.chs" #-}
{-# OPTIONS_HADDOCK hide #-}
module Graphics.UI.Gtk.Multiline.Types (
TextIter(TextIter),
textIterCopy,
mkTextIterCopy,
makeEmptyTextIter
) where
import System.Glib.FFI
import Graphics.UI.Gtk.General.Structs (textIterSize)
{-# LINE 38 "./Graphics/UI/Gtk/Multiline/Types.chs" #-}
newtype TextIter = TextIter (ForeignPtr (TextIter))
{-# LINE 42 "./Graphics/UI/Gtk/Multiline/Types.chs" #-}
textIterCopy :: TextIter -> IO TextIter
textIterCopy (TextIter iter) = do
iter' <- mallocForeignPtrBytes textIterSize
withForeignPtr iter' $ \iterPtr' ->
withForeignPtr iter $ \iterPtr ->
copyBytes iterPtr' iterPtr textIterSize
return (TextIter iter')
mkTextIterCopy :: Ptr TextIter -> IO TextIter
mkTextIterCopy iterPtr = do
iter' <- mallocForeignPtrBytes textIterSize
withForeignPtr iter' $ \iterPtr' ->
copyBytes iterPtr' iterPtr textIterSize
return (TextIter iter')
makeEmptyTextIter :: IO TextIter
makeEmptyTextIter = do
iter <- mallocForeignPtrBytes textIterSize
return (TextIter iter)