{-# LINE 1 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
module Graphics.Rendering.Cairo.Internal.Drawing.Patterns where
import Graphics.Rendering.Cairo.Types
{-# LINE 16 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
import Foreign
import Foreign.C
{-# LINE 21 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternAddColorStopRGB :: Pattern -> Double -> Double -> Double -> Double -> IO ()
patternAddColorStopRGB a1 a2 a3 a4 a5 =
let {a1' = unPattern a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
let {a5' = cFloatConv a5} in
patternAddColorStopRGB'_ a1' a2' a3' a4' a5' >>= \res ->
return ()
{-# LINE 23 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternAddColorStopRGBA :: Pattern -> Double -> Double -> Double -> Double -> Double -> IO ()
patternAddColorStopRGBA a1 a2 a3 a4 a5 a6 =
let {a1' = unPattern a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
let {a5' = cFloatConv a5} in
let {a6' = cFloatConv a6} in
patternAddColorStopRGBA'_ a1' a2' a3' a4' a5' a6' >>= \res ->
return ()
{-# LINE 24 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternCreateRGB :: Double -> Double -> Double -> IO (Pattern)
patternCreateRGB a1 a2 a3 =
let {a1' = cFloatConv a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
patternCreateRGB'_ a1' a2' a3' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 25 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternCreateRGBA :: Double -> Double -> Double -> Double -> IO (Pattern)
patternCreateRGBA a1 a2 a3 a4 =
let {a1' = cFloatConv a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
patternCreateRGBA'_ a1' a2' a3' a4' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 26 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternCreateForSurface :: Surface -> IO (Pattern)
patternCreateForSurface a1 =
withSurface a1 $ \a1' ->
patternCreateForSurface'_ a1' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 27 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternCreateLinear :: Double -> Double -> Double -> Double -> IO (Pattern)
patternCreateLinear a1 a2 a3 a4 =
let {a1' = cFloatConv a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
patternCreateLinear'_ a1' a2' a3' a4' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 28 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternCreateRadial :: Double -> Double -> Double -> Double -> Double -> Double -> IO (Pattern)
patternCreateRadial a1 a2 a3 a4 a5 a6 =
let {a1' = cFloatConv a1} in
let {a2' = cFloatConv a2} in
let {a3' = cFloatConv a3} in
let {a4' = cFloatConv a4} in
let {a5' = cFloatConv a5} in
let {a6' = cFloatConv a6} in
patternCreateRadial'_ a1' a2' a3' a4' a5' a6' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 29 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternDestroy :: Pattern -> IO ()
patternDestroy a1 =
let {a1' = unPattern a1} in
patternDestroy'_ a1' >>= \res ->
return ()
{-# LINE 30 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternReference :: Pattern -> IO (Pattern)
patternReference a1 =
let {a1' = unPattern a1} in
patternReference'_ a1' >>= \res ->
let {res' = Pattern res} in
return (res')
{-# LINE 31 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternStatus :: Pattern -> IO (Status)
patternStatus a1 =
let {a1' = unPattern a1} in
patternStatus'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 32 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternSetExtend :: Pattern -> Extend -> IO ()
patternSetExtend a1 a2 =
let {a1' = unPattern a1} in
let {a2' = cFromEnum a2} in
patternSetExtend'_ a1' a2' >>= \res ->
return ()
{-# LINE 33 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternGetExtend :: Pattern -> IO (Extend)
patternGetExtend a1 =
let {a1' = unPattern a1} in
patternGetExtend'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 34 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternSetFilter :: Pattern -> Filter -> IO ()
patternSetFilter a1 a2 =
let {a1' = unPattern a1} in
let {a2' = cFromEnum a2} in
patternSetFilter'_ a1' a2' >>= \res ->
return ()
{-# LINE 35 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternGetFilter :: Pattern -> IO (Filter)
patternGetFilter a1 =
let {a1' = unPattern a1} in
patternGetFilter'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 36 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternSetMatrix :: Pattern -> Matrix -> IO ()
patternSetMatrix a1 a2 =
let {a1' = unPattern a1} in
with a2 $ \a2' ->
patternSetMatrix'_ a1' a2' >>= \res ->
return ()
{-# LINE 37 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
patternGetMatrix :: Pattern -> IO (Matrix)
patternGetMatrix a1 =
let {a1' = unPattern a1} in
alloca $ \a2' ->
patternGetMatrix'_ a1' a2' >>= \res ->
peek a2'>>= \a2'' ->
return (a2'')
{-# LINE 38 "./Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs" #-}
foreign import ccall safe "cairo_pattern_add_color_stop_rgb"
patternAddColorStopRGB'_ :: ((Ptr Pattern) -> (CDouble -> (CDouble -> (CDouble -> (CDouble -> (IO ()))))))
foreign import ccall safe "cairo_pattern_add_color_stop_rgba"
patternAddColorStopRGBA'_ :: ((Ptr Pattern) -> (CDouble -> (CDouble -> (CDouble -> (CDouble -> (CDouble -> (IO ())))))))
foreign import ccall safe "cairo_pattern_create_rgb"
patternCreateRGB'_ :: (CDouble -> (CDouble -> (CDouble -> (IO (Ptr Pattern)))))
foreign import ccall safe "cairo_pattern_create_rgba"
patternCreateRGBA'_ :: (CDouble -> (CDouble -> (CDouble -> (CDouble -> (IO (Ptr Pattern))))))
foreign import ccall safe "cairo_pattern_create_for_surface"
patternCreateForSurface'_ :: ((Ptr Surface) -> (IO (Ptr Pattern)))
foreign import ccall safe "cairo_pattern_create_linear"
patternCreateLinear'_ :: (CDouble -> (CDouble -> (CDouble -> (CDouble -> (IO (Ptr Pattern))))))
foreign import ccall safe "cairo_pattern_create_radial"
patternCreateRadial'_ :: (CDouble -> (CDouble -> (CDouble -> (CDouble -> (CDouble -> (CDouble -> (IO (Ptr Pattern))))))))
foreign import ccall safe "cairo_pattern_destroy"
patternDestroy'_ :: ((Ptr Pattern) -> (IO ()))
foreign import ccall safe "cairo_pattern_reference"
patternReference'_ :: ((Ptr Pattern) -> (IO (Ptr Pattern)))
foreign import ccall safe "cairo_pattern_status"
patternStatus'_ :: ((Ptr Pattern) -> (IO CInt))
foreign import ccall safe "cairo_pattern_set_extend"
patternSetExtend'_ :: ((Ptr Pattern) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_pattern_get_extend"
patternGetExtend'_ :: ((Ptr Pattern) -> (IO CInt))
foreign import ccall safe "cairo_pattern_set_filter"
patternSetFilter'_ :: ((Ptr Pattern) -> (CInt -> (IO ())))
foreign import ccall safe "cairo_pattern_get_filter"
patternGetFilter'_ :: ((Ptr Pattern) -> (IO CInt))
foreign import ccall safe "cairo_pattern_set_matrix"
patternSetMatrix'_ :: ((Ptr Pattern) -> ((Ptr Matrix) -> (IO ())))
foreign import ccall safe "cairo_pattern_get_matrix"
patternGetMatrix'_ :: ((Ptr Pattern) -> ((Ptr Matrix) -> (IO ())))