| Copyright | (c) Amedeo Molnár, 2015-2016 | 
|---|---|
| License | LGPL-3 | 
| Maintainer | nek0@nek0.eu | 
| Stability | experimental | 
| Portability | POSIX | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
GEGL.Buffer
Description
This module contains all functions necessary for manipulate GeglBuffers.
Contents is roughly comparable to the functions provided by gegl-buffer.h in
gegl-0.3.8.
- data GeglBuffer = GeglBuffer GeglBufferDummy
 - gegl_buffer_new :: Maybe GeglRectangle -> BablFormatPtr -> IO GeglBuffer
 - gegl_buffer_default_new :: IO GeglBuffer
 - gegl_buffer_save :: GeglBuffer -> FilePath -> GeglRectangle -> IO ()
 - gegl_buffer_load :: FilePath -> IO GeglBuffer
 - gegl_buffer_flush :: GeglBuffer -> IO ()
 - gegl_buffer_create_sub_buffer :: GeglBuffer -> GeglRectangle -> IO GeglBuffer
 - gegl_buffer_get_extent :: GeglBuffer -> IO GeglRectangle
 - gegl_buffer_set_extent :: GeglBuffer -> GeglRectangle -> IO Bool
 - gegl_buffer_get_x :: GeglBuffer -> IO Int
 - gegl_buffer_get_y :: GeglBuffer -> IO Int
 - gegl_buffer_get_height :: GeglBuffer -> IO Int
 - gegl_buffer_get_width :: GeglBuffer -> IO Int
 - gegl_buffer_get_pixel_count :: GeglBuffer -> IO Int
 - gegl_buffer_set_color :: GeglBuffer -> GeglRectangle -> GeglColor -> IO ()
 - gegl_buffer_set_pattern :: GeglBuffer -> GeglRectangle -> GeglBuffer -> Double -> Double -> IO ()
 - gegl_buffer_clear :: GeglBuffer -> GeglRectangle -> IO ()
 - gegl_buffer_get :: GeglBuffer -> Maybe GeglRectangle -> Double -> Maybe BablFormatPtr -> Ptr a -> Int -> GeglAbyssPolicy -> IO ()
 
Documentation
Arguments
| :: Maybe GeglRectangle | Geometry of the buffer. If   | 
| -> BablFormatPtr | Pixel format of the buffer  | 
| -> IO GeglBuffer | 
Create a new GeglBuffer.
gegl_buffer_default_new :: IO GeglBuffer #
Creates a new GeglBuffer, which defaults to an empty buffer with the RGBAfloat format.
gegl_buffer_save :: GeglBuffer -> FilePath -> GeglRectangle -> IO () #
Write a GeglBuffer to a file.
gegl_buffer_load :: FilePath -> IO GeglBuffer #
Load an existing buffer from disk.
Arguments
| :: GeglBuffer | Buffer to flush  | 
| -> IO () | 
Flush all unsaved data to disk. This is not necessary for shared GeglBuffers
   opened with "gegl_buffer_open" since they auto-sync on writes.
gegl_buffer_create_sub_buffer #
Arguments
| :: GeglBuffer | Parent buffer  | 
| -> GeglRectangle | Coordinates of new buffer  | 
| -> IO GeglBuffer | Child buffer  | 
Create a new sub GeglBuffer, that is a view on a larger buffer.
Arguments
| :: GeglBuffer | The buffer  | 
| -> IO GeglRectangle | active area  | 
Retrieve position and size of the area considered active in a buffer.
Arguments
| :: GeglBuffer | The buffer  | 
| -> GeglRectangle | New extent of the buffer  | 
| -> IO Bool | Returns   | 
Change postition and size of the area considered active in a buffer.
Some convenience functions that operate on the basis of
 gegl_buffer_get_extent.
Arguments
| :: GeglBuffer | The buffer  | 
| -> IO Int | 
get X coordinate of the upper left corner of a buffer
Arguments
| :: GeglBuffer | The buffer  | 
| -> IO Int | 
get Y coordinate of the upper left corner of a buffer
Returning to main functions
Arguments
| :: GeglBuffer | The buffer  | 
| -> GeglRectangle | Area of the buffer to fill  | 
| -> GeglColor | The colour to fill with  | 
| -> IO () | 
Sets a region covered by a GeglRectangle to a specified colour.
Arguments
| :: GeglBuffer | Target buffer  | 
| -> GeglRectangle | Area of target buffer to fill  | 
| -> GeglBuffer | A buffer to be repeated as pattern  | 
| -> Double | X offset  | 
| -> Double | Y offset  | 
| -> IO () | 
Fill a region with a repeating pattern.
Arguments
| :: GeglBuffer | Target buffer  | 
| -> GeglRectangle | Area to clear  | 
| -> IO () | 
Clear a provided rectangular region by setting all associated memory to 0.
Arguments
| :: GeglBuffer | Buffer to retrieve data from  | 
| -> Maybe GeglRectangle | Coordinates to retrieve data from. If set to
   | 
| -> Double | Sampling scale  | 
| -> Maybe BablFormatPtr | Format to convert the data to. If set to   | 
| -> Ptr a | |
| -> Int | |
| -> GeglAbyssPolicy | |
| -> IO () | 
Fetch a rectangular linear buffer of pixel data from the GeglBuffer,
 convert it if neccessary and push it into a memory location.