{-# LINE 1 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
module Graphics.Rendering.Cairo.Internal.Drawing.Cairo where
import Graphics.Rendering.Cairo.Types
{-# LINE 16 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
import Foreign
import Foreign.C
{-# LINE 21 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
create :: Surface -> IO (Cairo)
create a1 =
withSurface a1 $ \a1' ->
create'_ a1' >>= \res ->
let {res' = Cairo res} in
return (res')
{-# LINE 23 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
reference :: Cairo -> IO ()
reference a1 =
let {a1' = unCairo a1} in
reference'_ a1' >>= \res ->
return ()
{-# LINE 24 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
destroy :: Cairo -> IO ()
destroy a1 =
let {a1' = unCairo a1} in
destroy'_ a1' >>= \res ->
return ()
{-# LINE 25 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
save :: Cairo -> IO ()
save a1 =
let {a1' = unCairo a1} in
save'_ a1' >>= \res ->
return ()
{-# LINE 26 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
restore :: Cairo -> IO ()
restore a1 =
let {a1' = unCairo a1} in
restore'_ a1' >>= \res ->
return ()
{-# LINE 27 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
status :: Cairo -> IO (Status)
status a1 =
let {a1' = unCairo a1} in
status'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 28 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getTarget :: Cairo -> IO (Surface)
getTarget a1 =
let {a1' = unCairo a1} in
getTarget'_ a1' >>= \res ->
mkSurface res >>= \res' ->
return (res')
{-# LINE 29 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
pushGroup :: Cairo -> IO ()
pushGroup a1 =
let {a1' = unCairo a1} in
pushGroup'_ a1' >>= \res ->
return ()
{-# LINE 30 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
pushGroupWithContent :: Cairo -> Content -> IO ()
pushGroupWithContent a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFromEnum a2} in
pushGroupWithContent'_ a1' a2' >>= \res ->
return ()
{-# LINE 31 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
popGroup :: Cairo -> IO (Pattern)
popGroup a1 =
let {a1' = unCairo a1} in
popGroup'_ a1' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 32 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
popGroupToSource :: Cairo -> IO ()
popGroupToSource a1 =
let {a1' = unCairo a1} in
popGroupToSource'_ a1' >>= \res ->
return ()
{-# LINE 33 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setSourceRGB :: Cairo -> Double -> Double -> Double -> IO ()
setSourceRGB a1 a2 a3 a4 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
setSourceRGB'_ a1' a2' a3' a4' >>= \res ->
return ()
{-# LINE 34 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setSourceRGBA :: Cairo -> Double -> Double -> Double -> Double -> IO ()
setSourceRGBA a1 a2 a3 a4 a5 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
let {a5' = cFloatConv a5} in
setSourceRGBA'_ a1' a2' a3' a4' a5' >>= \res ->
return ()
{-# LINE 35 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setSource :: Cairo -> Pattern -> IO ()
setSource a1 a2 =
let {a1' = unCairo a1} in
let {a2' = unPattern a2} in
setSource'_ a1' a2' >>= \res ->
return ()
{-# LINE 36 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setSourceSurface :: Cairo -> Surface -> Double -> Double -> IO ()
setSourceSurface a1 a2 a3 a4 =
let {a1' = unCairo a1} in
withSurface a2 $ \a2' ->
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
setSourceSurface'_ a1' a2' a3' a4' >>= \res ->
return ()
{-# LINE 37 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getSource :: Cairo -> IO (Pattern)
getSource a1 =
let {a1' = unCairo a1} in
getSource'_ a1' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 38 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setAntialias :: Cairo -> Antialias -> IO ()
setAntialias a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFromEnum a2} in
setAntialias'_ a1' a2' >>= \res ->
return ()
{-# LINE 39 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getAntialias :: Cairo -> IO (Antialias)
getAntialias a1 =
let {a1' = unCairo a1} in
getAntialias'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 40 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setDash context xs offset = withArrayLen (map (cFloatConv) xs) $ \len ptr ->
(\(Cairo arg1) arg2 arg3 arg4 -> cairo_set_dash arg1 arg2 arg3 arg4) context ptr (cIntConv len) (cFloatConv offset)
setFillRule :: Cairo -> FillRule -> IO ()
setFillRule a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFromEnum a2} in
setFillRule'_ a1' a2' >>= \res ->
return ()
{-# LINE 43 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getFillRule :: Cairo -> IO (FillRule)
getFillRule a1 =
let {a1' = unCairo a1} in
getFillRule'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 44 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setLineCap :: Cairo -> LineCap -> IO ()
setLineCap a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFromEnum a2} in
setLineCap'_ a1' a2' >>= \res ->
return ()
{-# LINE 45 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getLineCap :: Cairo -> IO (LineCap)
getLineCap a1 =
let {a1' = unCairo a1} in
getLineCap'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 46 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setLineJoin :: Cairo -> LineJoin -> IO ()
setLineJoin a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFromEnum a2} in
setLineJoin'_ a1' a2' >>= \res ->
return ()
{-# LINE 47 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getLineJoin :: Cairo -> IO (LineJoin)
getLineJoin a1 =
let {a1' = unCairo a1} in
getLineJoin'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 48 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setLineWidth :: Cairo -> Double -> IO ()
setLineWidth a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
setLineWidth'_ a1' a2' >>= \res ->
return ()
{-# LINE 49 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getLineWidth :: Cairo -> IO (Double)
getLineWidth a1 =
let {a1' = unCairo a1} in
getLineWidth'_ a1' >>= \res ->
let {res' = cFloatConv res} in
return (res')
{-# LINE 50 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setMiterLimit :: Cairo -> Double -> IO ()
setMiterLimit a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
setMiterLimit'_ a1' a2' >>= \res ->
return ()
{-# LINE 51 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getMiterLimit :: Cairo -> IO (Double)
getMiterLimit a1 =
let {a1' = unCairo a1} in
getMiterLimit'_ a1' >>= \res ->
let {res' = cFloatConv res} in
return (res')
{-# LINE 52 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setOperator :: Cairo -> Operator -> IO ()
setOperator a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFromEnum a2} in
setOperator'_ a1' a2' >>= \res ->
return ()
{-# LINE 53 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getOperator :: Cairo -> IO (Operator)
getOperator a1 =
let {a1' = unCairo a1} in
getOperator'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 54 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
setTolerance :: Cairo -> Double -> IO ()
setTolerance a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
setTolerance'_ a1' a2' >>= \res ->
return ()
{-# LINE 55 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
getTolerance :: Cairo -> IO (Double)
getTolerance a1 =
let {a1' = unCairo a1} in
getTolerance'_ a1' >>= \res ->
let {res' = cFloatConv res} in
return (res')
{-# LINE 56 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
clip :: Cairo -> IO ()
clip a1 =
let {a1' = unCairo a1} in
clip'_ a1' >>= \res ->
return ()
{-# LINE 57 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
clipPreserve :: Cairo -> IO ()
clipPreserve a1 =
let {a1' = unCairo a1} in
clipPreserve'_ a1' >>= \res ->
return ()
{-# LINE 58 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
resetClip :: Cairo -> IO ()
resetClip a1 =
let {a1' = unCairo a1} in
resetClip'_ a1' >>= \res ->
return ()
{-# LINE 59 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
clipExtents :: Cairo -> IO (Double, Double, Double, Double)
clipExtents a1 =
let {a1' = unCairo a1} in
alloca $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
alloca $ \a5' ->
clipExtents'_ a1' a2' a3' a4' a5' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
peekFloatConv a3'>>= \a3'' ->
peekFloatConv a4'>>= \a4'' ->
peekFloatConv a5'>>= \a5'' ->
return (a2'', a3'', a4'', a5'')
{-# LINE 60 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
fill :: Cairo -> IO ()
fill a1 =
let {a1' = unCairo a1} in
fill'_ a1' >>= \res ->
return ()
{-# LINE 61 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
fillPreserve :: Cairo -> IO ()
fillPreserve a1 =
let {a1' = unCairo a1} in
fillPreserve'_ a1' >>= \res ->
return ()
{-# LINE 62 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
fillExtents :: Cairo -> IO (Double, Double, Double, Double)
fillExtents a1 =
let {a1' = unCairo a1} in
alloca $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
alloca $ \a5' ->
fillExtents'_ a1' a2' a3' a4' a5' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
peekFloatConv a3'>>= \a3'' ->
peekFloatConv a4'>>= \a4'' ->
peekFloatConv a5'>>= \a5'' ->
return (a2'', a3'', a4'', a5'')
{-# LINE 63 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
inFill :: Cairo -> Double -> Double -> IO (Bool)
inFill a1 a2 a3 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
inFill'_ a1' a2' a3' >>= \res ->
let {res' = cToBool res} in
return (res')
{-# LINE 64 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
mask :: Cairo -> Pattern -> IO ()
mask a1 a2 =
let {a1' = unCairo a1} in
let {a2' = unPattern a2} in
mask'_ a1' a2' >>= \res ->
return ()
{-# LINE 65 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
maskSurface :: Cairo -> Surface -> Double -> Double -> IO ()
maskSurface a1 a2 a3 a4 =
let {a1' = unCairo a1} in
withSurface a2 $ \a2' ->
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
maskSurface'_ a1' a2' a3' a4' >>= \res ->
return ()
{-# LINE 66 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
paint :: Cairo -> IO ()
paint a1 =
let {a1' = unCairo a1} in
paint'_ a1' >>= \res ->
return ()
{-# LINE 67 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
paintWithAlpha :: Cairo -> Double -> IO ()
paintWithAlpha a1 a2 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
paintWithAlpha'_ a1' a2' >>= \res ->
return ()
{-# LINE 68 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
stroke :: Cairo -> IO ()
stroke a1 =
let {a1' = unCairo a1} in
stroke'_ a1' >>= \res ->
return ()
{-# LINE 69 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
strokePreserve :: Cairo -> IO ()
strokePreserve a1 =
let {a1' = unCairo a1} in
strokePreserve'_ a1' >>= \res ->
return ()
{-# LINE 70 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
strokeExtents :: Cairo -> IO (Double, Double, Double, Double)
strokeExtents a1 =
let {a1' = unCairo a1} in
alloca $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
alloca $ \a5' ->
strokeExtents'_ a1' a2' a3' a4' a5' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
peekFloatConv a3'>>= \a3'' ->
peekFloatConv a4'>>= \a4'' ->
peekFloatConv a5'>>= \a5'' ->
return (a2'', a3'', a4'', a5'')
{-# LINE 71 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
inStroke :: Cairo -> Double -> Double -> IO (Bool)
inStroke a1 a2 a3 =
let {a1' = unCairo a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
inStroke'_ a1' a2' a3' >>= \res ->
let {res' = cToBool res} in
return (res')
{-# LINE 72 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
copyPage :: Cairo -> IO ()
copyPage a1 =
let {a1' = unCairo a1} in
copyPage'_ a1' >>= \res ->
return ()
{-# LINE 73 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
showPage :: Cairo -> IO ()
showPage a1 =
let {a1' = unCairo a1} in
showPage'_ a1' >>= \res ->
return ()
{-# LINE 74 "./Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs" #-}
foreign import ccall safe "cairo_create"
create'_ :: ((Ptr Surface) -> (IO (Ptr Cairo)))
foreign import ccall safe "cairo_reference"
reference'_ :: ((Ptr Cairo) -> (IO (Ptr Cairo)))
foreign import ccall safe "cairo_destroy"
destroy'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_save"
save'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_restore"
restore'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_status"
status'_ :: ((Ptr Cairo) -> (IO CInt))
foreign import ccall safe "cairo_get_target"
getTarget'_ :: ((Ptr Cairo) -> (IO (Ptr Surface)))
foreign import ccall safe "cairo_push_group"
pushGroup'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_push_group_with_content"
pushGroupWithContent'_ :: ((Ptr Cairo) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_pop_group"
popGroup'_ :: ((Ptr Cairo) -> (IO (Ptr Pattern)))
foreign import ccall safe "cairo_pop_group_to_source"
popGroupToSource'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_set_source_rgb"
setSourceRGB'_ :: ((Ptr Cairo) -> (CDouble -> (CDouble -> (CDouble -> (IO ())))))
foreign import ccall safe "cairo_set_source_rgba"
setSourceRGBA'_ :: ((Ptr Cairo) -> (CDouble -> (CDouble -> (CDouble -> (CDouble -> (IO ()))))))
foreign import ccall safe "cairo_set_source"
setSource'_ :: ((Ptr Cairo) -> ((Ptr Pattern) -> (IO ())))
foreign import ccall safe "cairo_set_source_surface"
setSourceSurface'_ :: ((Ptr Cairo) -> ((Ptr Surface) -> (CDouble -> (CDouble -> (IO ())))))
foreign import ccall safe "cairo_get_source"
getSource'_ :: ((Ptr Cairo) -> (IO (Ptr Pattern)))
foreign import ccall safe "cairo_set_antialias"
setAntialias'_ :: ((Ptr Cairo) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_get_antialias"
getAntialias'_ :: ((Ptr Cairo) -> (IO CInt))
foreign import ccall safe "cairo_set_dash"
cairo_set_dash :: ((Ptr Cairo) -> ((Ptr CDouble) -> (CInt -> (CDouble -> (IO ())))))
foreign import ccall safe "cairo_set_fill_rule"
setFillRule'_ :: ((Ptr Cairo) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_get_fill_rule"
getFillRule'_ :: ((Ptr Cairo) -> (IO CInt))
foreign import ccall safe "cairo_set_line_cap"
setLineCap'_ :: ((Ptr Cairo) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_get_line_cap"
getLineCap'_ :: ((Ptr Cairo) -> (IO CInt))
foreign import ccall safe "cairo_set_line_join"
setLineJoin'_ :: ((Ptr Cairo) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_get_line_join"
getLineJoin'_ :: ((Ptr Cairo) -> (IO CInt))
foreign import ccall safe "cairo_set_line_width"
setLineWidth'_ :: ((Ptr Cairo) -> (CDouble -> (IO ())))
foreign import ccall safe "cairo_get_line_width"
getLineWidth'_ :: ((Ptr Cairo) -> (IO CDouble))
foreign import ccall safe "cairo_set_miter_limit"
setMiterLimit'_ :: ((Ptr Cairo) -> (CDouble -> (IO ())))
foreign import ccall safe "cairo_get_miter_limit"
getMiterLimit'_ :: ((Ptr Cairo) -> (IO CDouble))
foreign import ccall safe "cairo_set_operator"
setOperator'_ :: ((Ptr Cairo) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_get_operator"
getOperator'_ :: ((Ptr Cairo) -> (IO CInt))
foreign import ccall safe "cairo_set_tolerance"
setTolerance'_ :: ((Ptr Cairo) -> (CDouble -> (IO ())))
foreign import ccall safe "cairo_get_tolerance"
getTolerance'_ :: ((Ptr Cairo) -> (IO CDouble))
foreign import ccall safe "cairo_clip"
clip'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_clip_preserve"
clipPreserve'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_reset_clip"
resetClip'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_clip_extents"
clipExtents'_ :: ((Ptr Cairo) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO ()))))))
foreign import ccall safe "cairo_fill"
fill'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_fill_preserve"
fillPreserve'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_fill_extents"
fillExtents'_ :: ((Ptr Cairo) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO ()))))))
foreign import ccall safe "cairo_in_fill"
inFill'_ :: ((Ptr Cairo) -> (CDouble -> (CDouble -> (IO CInt))))
foreign import ccall safe "cairo_mask"
mask'_ :: ((Ptr Cairo) -> ((Ptr Pattern) -> (IO ())))
foreign import ccall safe "cairo_mask_surface"
maskSurface'_ :: ((Ptr Cairo) -> ((Ptr Surface) -> (CDouble -> (CDouble -> (IO ())))))
foreign import ccall safe "cairo_paint"
paint'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_paint_with_alpha"
paintWithAlpha'_ :: ((Ptr Cairo) -> (CDouble -> (IO ())))
foreign import ccall safe "cairo_stroke"
stroke'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_stroke_preserve"
strokePreserve'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_stroke_extents"
strokeExtents'_ :: ((Ptr Cairo) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> ((Ptr CDouble) -> (IO ()))))))
foreign import ccall safe "cairo_in_stroke"
inStroke'_ :: ((Ptr Cairo) -> (CDouble -> (CDouble -> (IO CInt))))
foreign import ccall safe "cairo_copy_page"
copyPage'_ :: ((Ptr Cairo) -> (IO ()))
foreign import ccall safe "cairo_show_page"
showPage'_ :: ((Ptr Cairo) -> (IO ()))