### Namespace

# Gegl – 0.4

GEGL library

Version | 0.4.48
Authors | GEGL contributors
License | LGPL-3.0-or-later
Website | https://www.gegl.org/
Source | https://gitlab.gnome.org/GNOME/gegl/

#### Build

C headers | `gegl.h`
pkg-config files | `gegl-0.4`

#### Dependencies

Babl—0.1 | Pixel encoding and color space conversion engine
| Browse documentation
GLib—2.0 | C Utility Library
| Browse documentation
GObject—2.0 | The base type system library
| Browse documentation

#### Additional documentation

- Classes Hierarchy

#### Classes

AudioFragment | since: 0.4
Buffer | since: 0.4
Color | since: 0.4
Config | since: 0.4
Curve | since: 0.4
MetadataHash | since: 0.4
MetadataStore | since: 0.4
Node | since: 0.4
Operation | since: 0.4
ParamAudioFragment | since: 0.4
ParamColor | since: 0.4
ParamCurve | since: 0.4
ParamDouble | since: 0.4
ParamEnum | since: 0.4
ParamFilePath | since: 0.4
ParamFormat | since: 0.4
ParamInt | since: 0.4
ParamPath | since: 0.4
ParamSeed | since: 0.4
ParamString | since: 0.4
ParamUri | since: 0.4
Path | since: 0.4
Processor | since: 0.4
Stats | since: 0.4
TileBackend | since: 0.4
TileHandler | since: 0.4
TileSource | since: 0.4

#### Interfaces

Metadata | since: 0.4

#### Structs

BufferIterator | since: 0.4
BufferIteratorItem | since: 0.4
BufferIteratorPriv | since: 0.4
BufferMatrix2 | since: 0.4
Lookup | since: 0.4
Matrix3 | since: 0.4
MetadataIter | An opaque type representing a metadata iterator. since: 0.4
MetadataMap | Struct to describe how a metadata variable is mapped from the name used by the image file module to the name used by Gegl. An optional transform function may be specified, e.g. to transform from a `GDatetime` to a string. since: 0.4
OperationContext | since: 0.4
ParamSpecDouble | since: 0.4
ParamSpecEnum | since: 0.4
ParamSpecFilePath | since: 0.4
ParamSpecFormat | since: 0.4
ParamSpecInt | since: 0.4
ParamSpecSeed | since: 0.4
ParamSpecString | since: 0.4
ParamSpecUri | since: 0.4
PathItem | since: 0.4
PathList | since: 0.4
PathPoint | since: 0.4
Random | since: 0.4
Rectangle | since: 0.4
Sampler | since: 0.4
Tile | since: 0.4
TileCopyParams | since: 0.4

#### Enumerations

AbyssPolicy | since: 0.4
BablVariant | since: 0.4
CachePolicy | since: 0.4
DistanceMetric | since: 0.4
DitherMethod | since: 0.4
MapFlags | Flags controlling the mapping strategy. since: 0.4
Orientation | since: 0.4
RectangleAlignment | since: 0.4
ResolutionUnit | An enumerated type specifying resolution (density) units. If resolution units are unknown, X and Y resolution specify the pixel aspect ratio. since: 0.4
SamplerType | since: 0.4
SplitStrategy | since: 0.4
TileCommand | since: 0.4

#### Bitfields

AccessMode | since: 0.4
BlitFlags | since: 0.4
PadType | since: 0.4
SerializeFlag | since: 0.4

#### Callbacks

FlattenerFunc | since: 0.4
LookupFunction | since: 0.4
NodeFunction | since: 0.4
ParallelDistributeAreaFunc | Specifies the type of function passed to gegl_parallel_distribute_area(). since: 0.4
ParallelDistributeFunc | Specifies the type of function passed to gegl_parallel_distribute(). since: 0.4
ParallelDistributeRangeFunc | Specifies the type of function passed to gegl_parallel_distribute_range(). since: 0.4
SamplerGetFun | since: 0.4
TileCallback | since: 0.4
TileSourceCommand | since: 0.4

#### Functions

apply_op | Apply the operation to buffer, overwritting the contents of buffer. since: 0.4
apply_op_valist | Apply the operation to buffer, overwritting the contents of buffer. since: 0.4
babl_variant | since: 0.4
calloc | Allocated 0’d memory. since: 0.4
cl_disable | Disable OpenCL. since: 0.4
cl_init | Initialize and enable OpenCL, calling this function again will re-enable OpenCL if it has been disabled. since: 0.4
cl_is_accelerated | Check if OpenCL is enabled. since: 0.4
config | Returns a GeglConfig object with properties that can be manipulated to control GEGLs behavior. since: 0.4
create_chain | Create a node chain from an unparsed commandline string. since: 0.4
create_chain_argv | Create a node chain from argv style list of op data. since: 0.4
exit | Call this function when you’re done using GEGL. It will clean up caches and write/dump debug information if the correct debug flags are set. since: 0.4
filter_op | Apply the operation to source_buffer, returning the result in a new buffer. since: 0.4
filter_op_valist | Apply the operation to source_buffer, returning the result in a new buffer. since: 0.4
format | Returns a value sutable to pass to the GeglBuffer constructor or any other property that expects a Babl format. since: 0.4
format_get_name | since: 0.4
free | Frees the memory pointed to by `mem`. If `mem` is NULL, does nothing. since: 0.4
get_option_group | Returns a GOptionGroup for the commandline arguments recognized by GEGL. You should add this group to your GOptionContext with `g_option_context_add_group()` if you are using `g_option_context_parse()` to parse your commandline arguments. since: 0.4
get_version | This function fetches the version of the GEGL library being used by the running process. since: 0.4
graph_dump_outputs | Dump the bounds and format of each node in the graph to stdout. since: 0.4
graph_dump_request | Dump the region that will be rendered for each node to fulfill the request. since: 0.4
has_operation | since: 0.4
init | Call this function before using any other GEGL functions. It will initialize everything needed to operate GEGL and parses some standard command line options. `argc` and `argv` are adjusted accordingly so your own code will never see those standard arguments. since: 0.4
is_main_thread | since: 0.4
list_operations | since: 0.4
load_module_directory | Load all gegl modules found in the given directory. since: 0.4
malloc | Allocates `n_bytes` of memory. If `n_bytes` is 0, returns NULL. since: 0.4
memeq_zero | Checks if all the bytes of the memory block `ptr`, of size `size`, are equal to zero. since: 0.4
memset_pattern | Fill `dst_ptr` with `count` copies of the bytes in `src_ptr`. since: 0.4
parallel_distribute | Distributes the execution of a function across multiple threads, by calling it with a different index on each thread. since: 0.4
parallel_distribute_area | Distributes the processing of a planar data-structure across multiple threads, by calling the given function with different sub-areas on different threads. since: 0.4
parallel_distribute_range | Distributes the processing of a linear data-structure across multiple threads, by calling the given function with different sub-ranges on different threads. since: 0.4
param_spec_audio_fragment | Creates a new `GParamSpec` instance specifying a `GeglAudioFragment` property. since: 0.4
param_spec_color | Creates a new `GParamSpec` instance specifying a `GeglColor` property. since: 0.4
param_spec_color_from_string | Creates a new `GParamSpec` instance specifying a `GeglColor` property. since: 0.4
param_spec_color_get_default | Get the default color value of the param spec. since: 0.4
param_spec_curve | Creates a new `GParamSpec` instance specifying a `GeglCurve` property. since: 0.4
param_spec_double | Creates a new `GeglParamSpecDouble` instance. since: 0.4
param_spec_enum | Creates a new `GeglParamSpecEnum` instance. since: 0.4
param_spec_file_path | Creates a new `GeglParamSpecFilePath` instance. since: 0.4
param_spec_format | Creates a new `GeglParamSpecFormat` instance specifying a Babl format. since: 0.4
param_spec_get_property_key | since: 0.4
param_spec_int | Creates a new `GeglParamSpecInt` instance. since: 0.4
param_spec_path | Creates a new `GParamSpec` instance specifying a `GeglPath` property. since: 0.4
param_spec_seed | Creates a new `GeglParamSpecSeed` instance specifying an integer random seed. since: 0.4
param_spec_set_property_key | since: 0.4
param_spec_string | Creates a new `GeglParamSpecString` instance. since: 0.4
param_spec_uri | Creates a new `GeglParamSpecUri` instance. since: 0.4
render_op | Apply the operation to source_buffer, writing the results to target_buffer. since: 0.4
render_op_valist | Apply the operation to source_buffer, writing the results to target_buffer. since: 0.4
reset_stats | Resets the cumulative data gathered by the `GeglStats` object returned by #gegl_stats(). since: 0.4
scratch_alloc | Allocates `size` bytes of scratch memory. since: 0.4
scratch_alloc0 | Allocates `size` bytes of scratch memory, initialized to zero. since: 0.4
scratch_free | Frees the memory pointed to by `ptr`. since: 0.4
serialize | since: 0.4
stats | Returns a GeglStats object with properties that can be read to monitor GEGL statistics. since: 0.4
try_malloc | Allocates `n_bytes` of memory. If allocation fails, or if `n_bytes` is 0, returns `NULL`. since: 0.4

#### Function Macros

buffer_get_height | Evaluates to the height of the buffer’s extent. since: 0.4
buffer_get_pixel_count | Returns the number of pixels of the extent of the buffer. since: 0.4
buffer_get_width | Evaluates to the width of the buffer’s extent. since: 0.4
buffer_get_x | Evaluates to the X coordinate of the upper left corner of the buffer’s extent. since: 0.4
buffer_get_y | Evaluates to the Y coordinate of the upper left corner of the buffer’s extent. since: 0.4
FLOAT_EQUAL | since: 0.4
sampler_compute_scale | since: 0.4
scratch_new | Allocates `n` elements of type `type` using scratch memory. The returned pointer is cast to a pointer to the given type. Care is taken to avoid overflow when calculating the size of the allocated block. since: 0.4
scratch_new0 | Allocates `n` elements of type `type` using scratch memory, initialized to 0. The returned pointer is cast to a pointer to the given type. Care is taken to avoid overflow when calculating the size of the allocated block. since: 0.4
tile_handler_get_source | since: 0.4
tile_handler_source_command | since: 0.4
VALUE_HOLDS_MATRIX3 | since: 0.4

#### Constants

AUTO_ROWSTRIDE | since: 0.4
CH_BACK_CENTER | since: 0.4
CH_BACK_LEFT | since: 0.4
CH_BACK_RIGHT | since: 0.4
CH_FRONT_CENTER | since: 0.4
CH_FRONT_LEFT | since: 0.4
CH_FRONT_LEFT_OF_CENTER | since: 0.4
CH_FRONT_RIGHT | since: 0.4
CH_FRONT_RIGHT_OF_CENTER | since: 0.4
CH_LAYOUT_2_1 | since: 0.4
CH_LAYOUT_2_2 | since: 0.4
CH_LAYOUT_2POINT1 | since: 0.4
CH_LAYOUT_3POINT1 | since: 0.4
CH_LAYOUT_4POINT0 | since: 0.4
CH_LAYOUT_4POINT1 | since: 0.4
CH_LAYOUT_5POINT0 | since: 0.4
CH_LAYOUT_5POINT0_BACK | since: 0.4
CH_LAYOUT_5POINT1 | since: 0.4
CH_LAYOUT_5POINT1_BACK | since: 0.4
CH_LAYOUT_6POINT0 | since: 0.4
CH_LAYOUT_6POINT0_FRONT | since: 0.4
CH_LAYOUT_6POINT1 | since: 0.4
CH_LAYOUT_6POINT1_BACK | since: 0.4
CH_LAYOUT_6POINT1_FRONT | since: 0.4
CH_LAYOUT_7POINT0 | since: 0.4
CH_LAYOUT_7POINT0_FRONT | since: 0.4
CH_LAYOUT_7POINT1 | since: 0.4
CH_LAYOUT_7POINT1_WIDE | since: 0.4
CH_LAYOUT_7POINT1_WIDE_BACK | since: 0.4
CH_LAYOUT_HEXADECAGONAL | since: 0.4
CH_LAYOUT_HEXAGONAL | since: 0.4
CH_LAYOUT_NATIVE | since: 0.4
CH_LAYOUT_OCTAGONAL | since: 0.4
CH_LAYOUT_QUAD | since: 0.4
CH_LAYOUT_STEREO | since: 0.4
CH_LAYOUT_STEREO_DOWNMIX | since: 0.4
CH_LAYOUT_SURROUND | since: 0.4
CH_LOW_FREQUENCY | since: 0.4
CH_LOW_FREQUENCY_2 | since: 0.4
CH_SIDE_LEFT | since: 0.4
CH_SIDE_RIGHT | since: 0.4
CH_STEREO_LEFT | since: 0.4
CH_STEREO_RIGHT | since: 0.4
CH_SURROUND_DIRECT_LEFT | since: 0.4
CH_SURROUND_DIRECT_RIGHT | since: 0.4
CH_TOP_BACK_CENTER | since: 0.4
CH_TOP_BACK_LEFT | since: 0.4
CH_TOP_BACK_RIGHT | since: 0.4
CH_TOP_CENTER | since: 0.4
CH_TOP_FRONT_CENTER | since: 0.4
CH_TOP_FRONT_LEFT | since: 0.4
CH_TOP_FRONT_RIGHT | since: 0.4
CH_WIDE_LEFT | since: 0.4
CH_WIDE_RIGHT | since: 0.4
FLOAT_EPSILON | since: 0.4
LOOKUP_MAX_ENTRIES | since: 0.4
MAJOR_VERSION | since: 0.4
MAX_AUDIO_CHANNELS | since: 0.4
MICRO_VERSION | since: 0.4
MINOR_VERSION | since: 0.4
PARAM_NO_VALIDATE | since: 0.4