### Namespace

# Gegl – 0.4

GEGL library

Version | 0.4.58
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 |
Buffer |
Color |
Config |
Curve |
MetadataHash |
MetadataStore |
Node |
Operation |
ParamAudioFragment |
ParamColor |
ParamCurve |
ParamDouble |
ParamEnum |
ParamFilePath |
ParamFormat |
ParamInt |
ParamPath |
ParamSeed |
ParamString |
ParamUri |
Path |
Processor |
Stats |
TileBackend |
TileHandler |
TileSource |

#### Interfaces

Metadata |

#### Structs

BufferIterator |
BufferIteratorItem |
BufferIteratorPriv |
BufferMatrix2 |
Lookup |
Matrix3 |
MetadataIter | An opaque type representing a metadata iterator.
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.
OperationContext |
ParamSpecDouble |
ParamSpecEnum |
ParamSpecFilePath |
ParamSpecFormat |
ParamSpecInt |
ParamSpecSeed |
ParamSpecString |
ParamSpecUri |
PathItem |
PathList |
PathPoint |
Random |
Rectangle |
Sampler |
Tile |
TileCopyParams |

#### Enumerations

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

#### Bitfields

AccessMode |
BlitFlags |
PadType |
SerializeFlag |

#### Callbacks

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

#### Functions

apply_op | Apply the operation to buffer, overwritting the contents of buffer.
apply_op_valist | Apply the operation to buffer, overwritting the contents of buffer.
babl_variant |
calloc | Allocated 0’d memory.
cl_disable | Disable OpenCL.
cl_init | Initialize and enable OpenCL, calling this function again will re-enable OpenCL if it has been disabled.
cl_is_accelerated | Check if OpenCL is enabled.
config | Returns a GeglConfig object with properties that can be manipulated to control GEGLs behavior.
create_chain | Create a node chain from an unparsed commandline string.
create_chain_argv | Create a node chain from argv style list of op data.
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.
filter_op | Apply the operation to source_buffer, returning the result in a new buffer.
filter_op_valist | Apply the operation to source_buffer, returning the result in a new buffer.
format | Returns a value sutable to pass to the GeglBuffer constructor or any other property that expects a Babl format.
format_get_name |
free | Frees the memory pointed to by `mem`. If `mem` is NULL, does nothing.
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.
get_version | This function fetches the version of the GEGL library being used by the running process.
graph_dump_outputs | Dump the bounds and format of each node in the graph to stdout.
graph_dump_request | Dump the region that will be rendered for each node to fulfill the request.
has_operation |
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.
is_main_thread |
list_operations |
load_module_directory | Load all gegl modules found in the given directory.
malloc | Allocates `n_bytes` of memory. If `n_bytes` is 0, returns NULL.
memeq_zero | Checks if all the bytes of the memory block `ptr`, of size `size`, are equal to zero.
memset_pattern | Fill `dst_ptr` with `count` copies of the bytes in `src_ptr`.
parallel_distribute | Distributes the execution of a function across multiple threads, by calling it with a different index on each thread.
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.
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.
param_spec_audio_fragment | Creates a new `GParamSpec` instance specifying a `GeglAudioFragment` property.
param_spec_color | Creates a new `GParamSpec` instance specifying a `GeglColor` property.
param_spec_color_from_string | Creates a new `GParamSpec` instance specifying a `GeglColor` property.
param_spec_color_get_default | Get the default color value of the param spec.
param_spec_curve | Creates a new `GParamSpec` instance specifying a `GeglCurve` property.
param_spec_double | Creates a new `GeglParamSpecDouble` instance.
param_spec_enum | Creates a new `GeglParamSpecEnum` instance.
param_spec_file_path | Creates a new `GeglParamSpecFilePath` instance.
param_spec_format | Creates a new `GeglParamSpecFormat` instance specifying a Babl format.
param_spec_get_property_key |
param_spec_int | Creates a new `GeglParamSpecInt` instance.
param_spec_path | Creates a new `GParamSpec` instance specifying a `GeglPath` property.
param_spec_seed | Creates a new `GeglParamSpecSeed` instance specifying an integer random seed.
param_spec_set_property_key |
param_spec_string | Creates a new `GeglParamSpecString` instance.
param_spec_uri | Creates a new `GeglParamSpecUri` instance.
render_op | Apply the operation to source_buffer, writing the results to target_buffer.
render_op_valist | Apply the operation to source_buffer, writing the results to target_buffer.
reset_stats | Resets the cumulative data gathered by the `GeglStats` object returned by #gegl_stats().
scratch_alloc | Allocates `size` bytes of scratch memory.
scratch_alloc0 | Allocates `size` bytes of scratch memory, initialized to zero.
scratch_free | Frees the memory pointed to by `ptr`.
serialize |
stats | Returns a GeglStats object with properties that can be read to monitor GEGL statistics.
try_malloc | Allocates `n_bytes` of memory. If allocation fails, or if `n_bytes` is 0, returns `NULL`.

#### Function Macros

buffer_get_height | Evaluates to the height of the buffer’s extent.
buffer_get_pixel_count | Returns the number of pixels of the extent of the buffer.
buffer_get_width | Evaluates to the width of the buffer’s extent.
buffer_get_x | Evaluates to the X coordinate of the upper left corner of the buffer’s extent.
buffer_get_y | Evaluates to the Y coordinate of the upper left corner of the buffer’s extent.
FLOAT_EQUAL |
sampler_compute_scale |
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.
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.
tile_handler_get_source |
tile_handler_source_command |
VALUE_HOLDS_MATRIX3 |

#### Constants

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