Method
GeglBufferget
Declaration [src]
void
gegl_buffer_get (
GeglBuffer* buffer,
const GeglRectangle* rect,
gdouble scale,
const Babl* format,
gpointer dest,
gint rowstride,
GeglAbyssPolicy repeat_mode
)
Description [src]
Fetch a rectangular linear buffer of pixel data from the GeglBuffer, the data is converted to the desired BablFormat, if the BablFormat stored and fetched is the same this amounts to a series of memcpy’s aligned to demux the tile structure into a linear buffer.
This method is not directly available to language bindings.
The implementation of this method is provided by gegl_buffer_introspectable_get()
in language bindings
Parameters
rect
-
Type:
GeglRectangle
The coordinates we want to retrieve data from, and width/height of destination buffer, if NULL equal to the extent of the buffer. The coordinates and dimensions are after scale has been applied.
The data is owned by the caller of the function. scale
-
Type:
gdouble
Sampling scale, 1.0 = pixel for pixel 2.0 = magnify, 0.5 scale down.
format
-
Type:
Babl
The BablFormat to store in the linear buffer
dest
.The data is owned by the caller of the function. dest
-
Type:
gpointer
The memory destination for a linear buffer for the pixels, the size needed depends on the requested BablFormat.
The argument can be NULL
.The data is owned by the caller of the function. rowstride
-
Type:
gint
Rowstride in bytes, or GEGL_AUTO_ROWSTRIDE to compute the rowstride based on the width and bytes per pixel for the specified format.
repeat_mode
-
Type:
GeglAbyssPolicy
How requests outside the buffer extent are handled. Valid values: GEGL_ABYSS_NONE (abyss pixels are zeroed), GEGL_ABYSS_WHITE (abyss pixels are white), GEGL_ABYSS_BLACK (abyss pixels are black), GEGL_ABYSS_CLAMP (coordinates are clamped to the abyss rectangle), GEGL_ABYSS_LOOP (buffer contents are tiled if outside of the abyss rectangle) this argument also takes a GEGL_BUFFER_FILTER value or’ed into it, allowing to specify trade-off of performance/quality, valid values are: GEGL_BUFFER_FILTER_NEAREST, GEGL_BUFFER_FILTER_BILINEAR, GEGL_BUFFER_FILTER_BOX and GEGL_BUFFER_FILTER_AUTO.