module Graphics.Rendering.Cairo.Internal.Drawing.Text where
import Graphics.Rendering.Cairo.Types
import Graphics.Rendering.Cairo.Internal.Utilities (withUTFString)
import Foreign
import Foreign.C
selectFontFace :: Cairo -> String -> FontSlant -> FontWeight -> IO ()
selectFontFace a1 a2 a3 a4 =
let {a1' = unCairo a1} in
withCString a2 $ \a2' ->
let {a3' = cFromEnum a3} in
let {a4' = cFromEnum a4} in
selectFontFace'_ a1' a2' a3' a4' >>= \res ->
return ()
setFontSize :: Cairo -> Double -> IO ()
setFontSize a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
setFontSize'_ a1' a2' >>= \res ->
return ()
setFontMatrix :: Cairo -> Matrix -> IO ()
setFontMatrix a1 a2 =
let {a1' = unCairo a1} in
with a2 $ \a2' ->
setFontMatrix'_ a1' a2' >>= \res ->
return ()
getFontMatrix :: Cairo -> IO (Matrix)
getFontMatrix a1 =
let {a1' = unCairo a1} in
alloca $ \a2' ->
getFontMatrix'_ a1' a2' >>= \res ->
peek a2'>>= \a2'' ->
return (a2'')
setFontOptions :: Cairo -> FontOptions -> IO ()
setFontOptions a1 a2 =
let {a1' = unCairo a1} in
withFontOptions a2 $ \a2' ->
setFontOptions'_ a1' a2' >>= \res ->
return ()
showText :: Cairo -> String -> IO ()
showText a1 a2 =
let {a1' = unCairo a1} in
withUTFString a2 $ \a2' ->
showText'_ a1' a2' >>= \res ->
return ()
fontExtents :: Cairo -> IO (FontExtents)
fontExtents a1 =
let {a1' = unCairo a1} in
alloca $ \a2' ->
fontExtents'_ a1' a2' >>= \res ->
peek a2'>>= \a2'' ->
return (a2'')
textExtents :: Cairo -> String -> IO (TextExtents)
textExtents a1 a2 =
let {a1' = unCairo a1} in
withUTFString a2 $ \a2' ->
alloca $ \a3' ->
textExtents'_ a1' a2' a3' >>= \res ->
peek a3'>>= \a3'' ->
return (a3'')
foreign import ccall safe "cairo_select_font_face"
selectFontFace'_ :: ((Ptr Cairo) -> ((Ptr CChar) -> (CInt -> (CInt -> (IO ())))))
foreign import ccall safe "cairo_set_font_size"
setFontSize'_ :: ((Ptr Cairo) -> (CDouble -> (IO ())))
foreign import ccall safe "cairo_set_font_matrix"
setFontMatrix'_ :: ((Ptr Cairo) -> ((Ptr Matrix) -> (IO ())))
foreign import ccall safe "cairo_get_font_matrix"
getFontMatrix'_ :: ((Ptr Cairo) -> ((Ptr Matrix) -> (IO ())))
foreign import ccall safe "cairo_set_font_options"
setFontOptions'_ :: ((Ptr Cairo) -> ((Ptr FontOptions) -> (IO ())))
foreign import ccall safe "cairo_show_text"
showText'_ :: ((Ptr Cairo) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "cairo_font_extents"
fontExtents'_ :: ((Ptr Cairo) -> ((Ptr FontExtents) -> (IO ())))
foreign import ccall safe "cairo_text_extents"
textExtents'_ :: ((Ptr Cairo) -> ((Ptr CChar) -> ((Ptr TextExtents) -> (IO ()))))