Copyright | (c) Amedeo Molnár, 2015-2016 |
---|---|
License | LGPL-3 |
Maintainer | nek0@nek0.eu |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
This module contains all functions necessary for manipulate GeglBuffer
s.
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
:: 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.
:: GeglBuffer | Buffer to flush |
-> IO () |
Flush all unsaved data to disk. This is not necessary for shared GeglBuffer
s
opened with "gegl_buffer_open" since they auto-sync on writes.
gegl_buffer_create_sub_buffer #
:: 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.
:: GeglBuffer | The buffer |
-> IO GeglRectangle | active area |
Retrieve position and size of the area considered active in a buffer.
:: 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
.
:: GeglBuffer | The buffer |
-> IO Int |
get X coordinate of the upper left corner of a buffer
:: GeglBuffer | The buffer |
-> IO Int |
get Y coordinate of the upper left corner of a buffer
Returning to main functions
:: 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.
:: 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.
:: GeglBuffer | Target buffer |
-> GeglRectangle | Area to clear |
-> IO () |
Clear a provided rectangular region by setting all associated memory to 0.
:: 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.