{-# LINE 2 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
module Graphics.Rendering.Cairo.Internal.Surfaces.Image where
import Graphics.Rendering.Cairo.Types
{-# LINE 18 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
import Foreign
import Foreign.C
{-# LINE 23 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceCreateForData :: Ptr CUChar -> Format -> Int -> Int -> Int -> IO (Surface)
imageSurfaceCreateForData a1 a2 a3 a4 a5 =
let {a1' = id a1} in
let {a2' = cFromEnum a2} in
let {a3' = cIntConv a3} in
let {a4' = cIntConv a4} in
let {a5' = cIntConv a5} in
imageSurfaceCreateForData'_ a1' a2' a3' a4' a5' >>= \res ->
mkSurface res >>= \res' ->
return (res')
{-# LINE 31 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceCreate :: Format -> Int -> Int -> IO (Surface)
imageSurfaceCreate a1 a2 a3 =
let {a1' = cFromEnum a1} in
let {a2' = cIntConv a2} in
let {a3' = cIntConv a3} in
imageSurfaceCreate'_ a1' a2' a3' >>= \res ->
mkSurface res >>= \res' ->
return (res')
{-# LINE 33 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceGetWidth :: Surface -> IO (Int)
imageSurfaceGetWidth a1 =
withSurface a1 $ \a1' ->
imageSurfaceGetWidth'_ a1' >>= \res ->
let {res' = cIntConv res} in
return (res')
{-# LINE 34 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceGetHeight :: Surface -> IO (Int)
imageSurfaceGetHeight a1 =
withSurface a1 $ \a1' ->
imageSurfaceGetHeight'_ a1' >>= \res ->
let {res' = cIntConv res} in
return (res')
{-# LINE 35 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceGetStride :: Surface -> IO (Int)
imageSurfaceGetStride a1 =
withSurface a1 $ \a1' ->
imageSurfaceGetStride'_ a1' >>= \res ->
let {res' = cIntConv res} in
return (res')
{-# LINE 37 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceGetFormat :: Surface -> IO (Format)
imageSurfaceGetFormat a1 =
withSurface a1 $ \a1' ->
imageSurfaceGetFormat'_ a1' >>= \res ->
let {res' = cToEnum res} in
return (res')
{-# LINE 38 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
imageSurfaceGetData :: Surface -> IO ((Ptr CUChar))
imageSurfaceGetData a1 =
withSurface a1 $ \a1' ->
imageSurfaceGetData'_ a1' >>= \res ->
let {res' = id res} in
return (res')
{-# LINE 39 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
formatStrideForWidth :: Format -> Int -> Int
formatStrideForWidth a1 a2 =
let {a1' = cFromEnum a1} in
let {a2' = cIntConv a2} in
let {res = formatStrideForWidth'_ a1' a2'} in
let {res' = cIntConv res} in
(res')
{-# LINE 41 "./Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs" #-}
foreign import ccall safe "cairo_image_surface_create_for_data"
imageSurfaceCreateForData'_ :: ((Ptr CUChar) -> (CInt -> (CInt -> (CInt -> (CInt -> (IO (Ptr Surface)))))))
foreign import ccall safe "cairo_image_surface_create"
imageSurfaceCreate'_ :: (CInt -> (CInt -> (CInt -> (IO (Ptr Surface)))))
foreign import ccall safe "cairo_image_surface_get_width"
imageSurfaceGetWidth'_ :: ((Ptr Surface) -> (IO CInt))
foreign import ccall safe "cairo_image_surface_get_height"
imageSurfaceGetHeight'_ :: ((Ptr Surface) -> (IO CInt))
foreign import ccall safe "cairo_image_surface_get_stride"
imageSurfaceGetStride'_ :: ((Ptr Surface) -> (IO CInt))
foreign import ccall safe "cairo_image_surface_get_format"
imageSurfaceGetFormat'_ :: ((Ptr Surface) -> (IO CInt))
foreign import ccall safe "cairo_image_surface_get_data"
imageSurfaceGetData'_ :: ((Ptr Surface) -> (IO (Ptr CUChar)))
foreign import ccall safe "cairo_format_stride_for_width"
formatStrideForWidth'_ :: (CInt -> (CInt -> CInt))