-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | GI friendly Binding to the Cairo library.
--   
--   This library contains glue code used to interconnect Haskell GI and
--   Cairo
@package gi-cairo-connector
@version 0.1.1


-- | This library contains glue code to interconnect Haskell GI, i.e. the
--   gi-cairo library and gi-cairo-render, i.e. the hand written cairo
--   bindings for Haskell.
module GI.Cairo.Render.Connector

-- | This function is used to call a function in the <a>Render</a> monad
--   from the draw function of GTK+. It takes a <a>Context</a> (as it
--   appears in <a>gi-cairo</a>) and a <a>Render</a> action (as it appears
--   in gi-cairo-render) and renders the <a>Render</a> context inside the
--   given context.
renderWithContext :: MonadIO m => Render a -> Context -> m a

-- | This function is used to call back to functions of GI.Pango or
--   GI.PangoCairo or other Haskell GI libraries from inside the
--   <a>Render</a> action. Example:
--   
--   <pre>
--   draw :: Cairo.Render () 
--   draw = do ...
--             context &lt;- getContext
--             somePangoFunction context
--   </pre>
getContext :: Render Context

-- | This function is used to "lift" functions of GI.Pango or GI.PangoCairo
--   to the Render monad. Example:
--   
--   <pre>
--   draw :: Cairo.Render () 
--   draw = do ...
--             toRender somePangoFunction
--   </pre>
toRender :: (Context -> IO a) -> Render a
