{-# LINE 1 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
module GI.Cairo.Render.Internal.Drawing.Text where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp
import GI.Cairo.Render.Types
{-# LINE 18 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
import GI.Cairo.Render.Internal.Utilities (CairoString(..))
import Data.GI.Base(wrapBoxed, withManagedPtr)
import Foreign
import Foreign.C
{-# LINE 26 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
selectFontFace :: CairoString string => Cairo -> string -> FontSlant -> FontWeight -> IO ()
selectFontFace c string slant weight =
withManagedPtr c $ \ctxt ->
withUTFString string $ \string' ->
cairo_select_font_face
{-# LINE 32 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
ctxt string' (cFromEnum slant) (cFromEnum weight)
setFontSize :: (Cairo) -> (Double) -> IO ()
setFontSize a1 a2 =
withManagedPtr a1 $ \a1' ->
let {a2' = realToFrac a2} in
setFontSize'_ a1' a2' >>
return ()
{-# LINE 35 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
setFontMatrix :: (Cairo) -> (Matrix) -> IO ()
setFontMatrix a1 a2 =
withManagedPtr a1 $ \a1' ->
with a2 $ \a2' ->
setFontMatrix'_ a1' a2' >>
return ()
{-# LINE 36 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
getFontMatrix :: (Cairo) -> IO ((Matrix))
getFontMatrix a1 =
withManagedPtr a1 $ \a1' ->
alloca $ \a2' ->
getFontMatrix'_ a1' a2' >>
peek a2'>>= \a2'' ->
return (a2'')
{-# LINE 37 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
setFontOptions :: (Cairo) -> (FontOptions) -> IO ()
setFontOptions a1 a2 =
withManagedPtr a1 $ \a1' ->
withFontOptions a2 $ \a2' ->
setFontOptions'_ a1' a2' >>
return ()
{-# LINE 38 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
showText :: CairoString string => Cairo -> string -> IO ()
showText c string =
withManagedPtr c $ \ctxt ->
withUTFString string $ \string' ->
cairo_show_text
{-# LINE 44 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
ctxt string'
fontExtents :: (Cairo) -> IO ((FontExtents))
fontExtents a1 =
withManagedPtr a1 $ \a1' ->
alloca $ \a2' ->
fontExtents'_ a1' a2' >>
peek a2'>>= \a2'' ->
return (a2'')
{-# LINE 47 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
textExtents :: CairoString string => Cairo -> string -> IO TextExtents
textExtents c string =
withManagedPtr c $ \ctxt ->
withUTFString string $ \string' ->
alloca $ \result -> do
cairo_text_extents
{-# LINE 54 "./GI/Cairo/Render/Internal/Drawing/Text.chs" #-}
ctxt string' result
peek result
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_select_font_face"
cairo_select_font_face :: ((CairoPtr) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO ())))))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_set_font_size"
setFontSize'_ :: ((CairoPtr) -> (C2HSImp.CDouble -> (IO ())))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_set_font_matrix"
setFontMatrix'_ :: ((CairoPtr) -> ((MatrixPtr) -> (IO ())))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_get_font_matrix"
getFontMatrix'_ :: ((CairoPtr) -> ((MatrixPtr) -> (IO ())))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_set_font_options"
setFontOptions'_ :: ((CairoPtr) -> ((FontOptionsPtr) -> (IO ())))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_show_text"
cairo_show_text :: ((CairoPtr) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO ())))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_font_extents"
fontExtents'_ :: ((CairoPtr) -> ((FontExtentsPtr) -> (IO ())))
foreign import ccall safe "GI/Cairo/Render/Internal/Drawing/Text.chs.h cairo_text_extents"
cairo_text_extents :: ((CairoPtr) -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((TextExtentsPtr) -> (IO ()))))