cairo-0.11.0: Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs
{-# LANGUAGE CPP #-}
-----------------------------------------------------------------------------
-- |
-- Module : Graphics.Rendering.Cairo.Internal.Surfaces.Image
-- Copyright : (c) Paolo Martini 2005
-- License : BSD-style (see doc/COPYRIGHT)
--
-- Maintainer : p.martini@neuralnoise.com
-- Stability : experimental
-- Portability : portable
--
-- Rendering to memory buffers.
-----------------------------------------------------------------------------
module Graphics.Rendering.Cairo.Internal.Surfaces.Image where
{#import Graphics.Rendering.Cairo.Types#}
import Foreign
import Foreign.C
{#context lib="cairo" prefix="cairo"#}
{#fun image_surface_create as imageSurfaceCreate { cFromEnum `Format', `Int', `Int' } -> `Surface' mkSurface*#}
{#fun image_surface_get_width as imageSurfaceGetWidth { withSurface* `Surface' } -> `Int'#}
{#fun image_surface_get_height as imageSurfaceGetHeight { withSurface* `Surface' } -> `Int'#}
#if CAIRO_CHECK_VERSION(1,2,0)
{#fun image_surface_get_stride as imageSurfaceGetStride { withSurface* `Surface' } -> `Int'#}
{#fun image_surface_get_format as imageSurfaceGetFormat { withSurface* `Surface' } -> `Format' cToEnum#}
{#fun image_surface_get_data as imageSurfaceGetData { withSurface* `Surface' } -> `(Ptr CUChar)' id#}
#if CAIRO_CHECK_VERSION(1,6,0)
{#fun pure format_stride_for_width as formatStrideForWidth { cFromEnum `Format', `Int' } -> `Int'#}
#endif
#endif