### Namespace

# Gimp – 3.0

GIMP library

Version | 2.99.18
Authors | GIMP contributors
License | GPL-3.0-or-later
Website | https://www.gimp.org
Source | https://gitlab.gnome.org/GNOME/gimp/

#### Build

C headers | `libgimp/gimp.h`
pkg-config files | `gimp-3.0`

#### 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
Gio—2.0 | GObject interfaces and objects
| Browse documentation
GdkPixbuf—2.0 | Image loading and scaling
| Browse documentation
Gegl—0.4 | Generic Graphics Library
| Browse documentation
cairo—1.0 | A 2D graphics library with support for multiple output devices
| Browse documentation
Pango—1.0 | Internationalized text layout and rendering
| Browse documentation

#### Additional documentation

- Classes Hierarchy

#### Classes

BatchProcedure | unstable since: 3.0
Brush | Installable object used by painting and stroking tools. unstable since: 3.0
Channel | Functions for manipulating channels. unstable since: 3.0
ColorConfig | Color management settings. unstable since: 3.0
ColorProfile | Definitions and Functions relating to LCMS. unstable since: 3.0
ColorTransform | Definitions and Functions relating to LCMS. unstable since: 3.0
ConfigPath | unstable since: 3.0
Display | Functions to create, delete and flush displays (views) on an image. unstable since: 3.0
Drawable | Functions to manipulate drawables. unstable since: 3.0
FileProcedure | unstable since: 3.0
Font | Installable object used by text tools. unstable since: 3.0
Gradient | Installable object used by the gradient rendering tool. unstable since: 3.0
Image | Operations on complete images: creation, resizing/rescaling, and operations involving multiple layers. unstable since: 3.0
ImageProcedure | A `GimpProcedure` subclass that makes it easier to write standard plug-in procedures that operate on drawables. unstable since: 3.0
Item | Functions to manipulate items. unstable since: 3.0
Layer | Operations on a single layer. unstable since: 3.0
LayerMask | unstable since: 3.0
LoadProcedure | A `GimpProcedure` subclass that makes it easier to write file load procedures. unstable since: 3.0
Memsize | Functions to (de)serialize a given memory size. unstable since: 3.0
Metadata | Basic functions for handling `GimpMetadata` objects. unstable since: 3.0
Module | `GimpModule` is a generic mechanism to dynamically load modules into GIMP. It is a `GTypeModule` subclass, implementing module loading using `GModule`. `GimpModule` does not know which functionality is implemented by the modules, it just provides a framework to get arbitrary `GType` implementations loaded from disk. unstable since: 3.0
ModuleDB | Keeps a list of `GimpModule`‘s found in a given searchpath. unstable since: 3.0
Palette | Installable object, a small set of colors a user can choose from. unstable since: 3.0
ParamArray | unstable since: 3.0
ParamBrush | unstable since: 3.0
ParamChannel | unstable since: 3.0
ParamChoice | unstable since: 3.0
ParamConfigPath | unstable since: 3.0
ParamDisplay | unstable since: 3.0
ParamDrawable | unstable since: 3.0
ParamFloatArray | unstable since: 3.0
ParamFont | unstable since: 3.0
ParamGradient | unstable since: 3.0
ParamImage | unstable since: 3.0
ParamInt32Array | unstable since: 3.0
ParamItem | unstable since: 3.0
ParamLayer | unstable since: 3.0
ParamLayerMask | unstable since: 3.0
ParamMatrix2 | unstable since: 3.0
ParamMatrix3 | unstable since: 3.0
ParamMemsize | unstable since: 3.0
ParamObjectArray | unstable since: 3.0
ParamPalette | unstable since: 3.0
ParamParasite | unstable since: 3.0
ParamPattern | unstable since: 3.0
ParamResource | unstable since: 3.0
ParamRGB | unstable since: 3.0
ParamRGBArray | unstable since: 3.0
ParamSelection | unstable since: 3.0
ParamTextLayer | unstable since: 3.0
ParamUnit | unstable since: 3.0
ParamValueArray | unstable since: 3.0
ParamVectors | unstable since: 3.0
Pattern | Installable object used by fill and clone tools. unstable since: 3.0
PDB | Provides access to the Procedural DataBase (PDB). unstable since: 3.0
PlugIn | The base class for plug-ins to derive from. unstable since: 3.0
Procedure | unstable since: 3.0
ProcedureConfig | The base class for `GimpProcedure` specific config objects and the main interface to manage aspects of `GimpProcedure`‘s arguments such as persistency of the last used arguments across GIMP sessions. unstable since: 3.0
Resource | Functions to manipulate resources. unstable since: 3.0
SaveProcedure | unstable since: 3.0
Selection | Functions for manipulating selections. unstable since: 3.0
TextLayer | Functions for querying and manipulating text layers. unstable since: 3.0
ThumbnailProcedure | unstable since: 3.0
Unit | Provides a collection of predefined units and functions for creating user-defined units. unstable since: 3.0
Vectors | Functions for querying and manipulating vectors. unstable since: 3.0

#### Interfaces

ColorManaged | An interface dealing with color profiles. unstable since: 3.0
ConfigInterface | unstable since: 3.0

#### Structs

Array | unstable since: 3.0
Choice | unstable since: 3.0
CMYK | Definitions and Functions relating to CMYK colors. unstable since: 3.0
Config | unstable since: 3.0
ConfigWriter | Functions for writing config info to a file for libgimpconfig. unstable since: 3.0
EnumDesc | This structure is used to register translatable descriptions and help texts for enum values. See gimp_enum_set_value_descriptions(). unstable since: 3.0
FlagsDesc | This structure is used to register translatable descriptions and help texts for flag values. See gimp_flags_set_value_descriptions(). unstable since: 3.0
HSL | Used to keep HSL and HSLA colors. All components are in a range of [0.0..1.0]. unstable since: 3.0
HSV | Definitions and Functions relating to HSV colors. unstable since: 3.0
Matrix2 | A two by two matrix. unstable since: 3.0
Matrix3 | A three by three matrix. unstable since: 3.0
Matrix4 | A four by four matrix. unstable since: 3.0
ModuleInfo | This structure contains information about a loadable module. unstable since: 3.0
ObjectArray | unstable since: 3.0
ParamSpecArray | unstable since: 3.0
ParamSpecBrush | unstable since: 3.0
ParamSpecChannel | unstable since: 3.0
ParamSpecChoice | unstable since: 3.0
ParamSpecDisplay | unstable since: 3.0
ParamSpecDrawable | unstable since: 3.0
ParamSpecFloatArray | unstable since: 3.0
ParamSpecFont | unstable since: 3.0
ParamSpecGradient | unstable since: 3.0
ParamSpecImage | unstable since: 3.0
ParamSpecInt32Array | unstable since: 3.0
ParamSpecItem | unstable since: 3.0
ParamSpecLayer | unstable since: 3.0
ParamSpecLayerMask | unstable since: 3.0
ParamSpecObjectArray | unstable since: 3.0
ParamSpecPalette | unstable since: 3.0
ParamSpecParasite | unstable since: 3.0
ParamSpecPattern | unstable since: 3.0
ParamSpecResource | unstable since: 3.0
ParamSpecRGB | unstable since: 3.0
ParamSpecRGBArray | unstable since: 3.0
ParamSpecSelection | unstable since: 3.0
ParamSpecTextLayer | unstable since: 3.0
ParamSpecUnit | unstable since: 3.0
ParamSpecValueArray | A `GParamSpec` derived structure that contains the meta data for value array properties. unstable since: 3.0
ParamSpecVectors | unstable since: 3.0
Parasite | Arbitrary pieces of data which can be attached to various GIMP objects. unstable since: 3.0
PixPipeParams | PLease somebody help documenting this. unstable since: 3.0
ProgressVtable | unstable since: 3.0
RGB | Definitions and Functions relating to RGB colors. unstable since: 3.0
Scanner | A wrapper around `GScanner` with some convenience API. unstable since: 3.0
ValueArray | The prime purpose of a `GimpValueArray` is for it to be used as an object property that holds an array of values. A `GimpValueArray` wraps an array of `GValue` elements in order for it to be used as a boxed type through `GIMP_TYPE_VALUE_ARRAY`. since: 2.10
Vector2 | A two dimensional vector. unstable since: 3.0
Vector3 | A three dimensional vector. unstable since: 3.0
Vector4 | A four dimensional vector. unstable since: 3.0

#### Aliases

ColorArray | unstable since: 3.0

#### Enumerations

AddMaskType | Modes of initialising a layer mask. unstable since: 3.0
ArgumentSync | Methods of syncing procedure arguments. unstable since: 3.0
BrushApplicationMode | Extracted from app/paint/paint-enums.h. unstable since: 3.0
BrushGeneratedShape | Shapes of generated brushes. unstable since: 3.0
CapStyle | Style of line endings. unstable since: 3.0
ChannelOps | Operations to combine channels and selections. unstable since: 3.0
ChannelType | Channels (as in color components). unstable since: 3.0
CheckSize | Size of the checkerboard indicating transparency. unstable since: 3.0
CheckType | Color/Brightness of the checkerboard indicating transparency. unstable since: 3.0
CloneType | Clone sources. unstable since: 3.0
ColorManagementMode | Modes of color management. unstable since: 3.0
ColorRenderingIntent | Intents for color management. unstable since: 3.0
ColorTag | Possible tag colors. since: 2.10
ColorTransformFlags | Flags for modifying `GimpColorTransform`‘s behavior. unstable since: 3.0
ComponentType | Encoding types of image components. since: 2.10
ConfigPathType | Types of config paths. unstable since: 3.0
ConvertDitherType | Extracted from app/core/core-enums.h. unstable since: 3.0
ConvertPaletteType | Types of palettes for indexed conversion. unstable since: 3.0
ConvolveType | Types of convolutions. unstable since: 3.0
CpuAccelFlags | Types of detectable CPU accelerations. unstable since: 3.0
DesaturateMode | Grayscale conversion methods. unstable since: 3.0
DodgeBurnType | Methods for the dodge/burn operation. unstable since: 3.0
FillType | Types of filling. unstable since: 3.0
ForegroundExtractMode | Foreground extract engines. unstable since: 3.0
GradientBlendColorSpace | Color space for blending gradients. since: 2.10
GradientSegmentColor | Coloring types for gradient segments. unstable since: 3.0
GradientSegmentType | Transition functions for gradient segments. unstable since: 3.0
GradientType | Gradient shapes. unstable since: 3.0
GridStyle | Rendering types for the display grid. unstable since: 3.0
HistogramChannel | Extracted from app/core/core-enums.h. unstable since: 3.0
HueRange | Hue ranges. unstable since: 3.0
IconType | Icon types for plug-ins to register. unstable since: 3.0
ImageBaseType | Image color models. unstable since: 3.0
ImageType | Possible drawable types. unstable since: 3.0
InkBlobType | Ink tool tips. unstable since: 3.0
InterpolationType | Interpolation types. unstable since: 3.0
JoinStyle | Line join styles. unstable since: 3.0
LayerColorSpace | Extracted from app/operations/operations-enums.h. unstable since: 3.0
LayerCompositeMode | Extracted from app/operations/operations-enums.h. unstable since: 3.0
LayerMode | Extracted from app/operations/operations-enums.h. unstable since: 3.0
MaskApplyMode | Layer mask apply modes. unstable since: 3.0
MergeType | Types of merging layers. unstable since: 3.0
MessageHandlerType | How to present messages. unstable since: 3.0
MetadataColorspace | Well-defined colorspace information available from metadata. unstable since: 3.0
ModuleError | Types of errors returned by modules. unstable since: 3.0
ModuleState | The possible states a `GimpModule` can be in. unstable since: 3.0
OffsetType | Background fill types for the offset operation. unstable since: 3.0
OrientationType | Orientations for various purposes. unstable since: 3.0
PaintApplicationMode | Paint application modes. unstable since: 3.0
PDBErrorHandler | PDB error handlers. unstable since: 3.0
PDBProcType | Types of PDB procedures. unstable since: 3.0
PDBStatusType | Return status of PDB calls. unstable since: 3.0
PixbufTransparency | How to deal with transparency when creating thubnail pixbufs from images and drawables. unstable since: 3.0
Precision | Precisions for pixel encoding. since: 2.10
ProgressCommand | Commands for the progress API. unstable since: 3.0
RepeatMode | Repeat modes for example for gradients. unstable since: 3.0
RGBCompositeMode | unstable since: 3.0
RotationType | Types of simple rotations. unstable since: 3.0
RunMode | Run modes for plug-ins. unstable since: 3.0
SelectCriterion | Criterions for color similarity. unstable since: 3.0
SizeType | Size types for the old-style text API. unstable since: 3.0
StackTraceMode | When to generate stack traces in case of an error. unstable since: 3.0
StrokeMethod | Methods of stroking selections and paths. unstable since: 3.0
TextDirection | Text directions. unstable since: 3.0
TextHintStyle | Text hint strengths. unstable since: 3.0
TextJustification | Text justifications. unstable since: 3.0
TransferMode | For choosing which brightness ranges to transform. unstable since: 3.0
TransformDirection | Transform directions. unstable since: 3.0
TransformResize | Ways of clipping the result when transforming drawables. unstable since: 3.0
VectorsStrokeType | Possible type of strokes in vectors objects. unstable since: 3.0

#### Bitfields

MetadataLoadFlags | What metadata to load when importing images. unstable since: 3.0
MetadataSaveFlags | What kinds of metadata to save when exporting images. unstable since: 3.0
ProcedureSensitivityMask | The cases when a `GimpProcedure` should be shown as sensitive. unstable since: 3.0

#### Error Domains

ConfigError | The possible values of a `GError` thrown by libgimpconfig. unstable since: 3.0

#### Callbacks

BatchFunc | The batch function is run during the lifetime of the GIMP session, each time a plug-in batch procedure is called. unstable since: 3.0
ModuleQueryFunc | The signature of the query function a loadable GIMP module must implement. In the module, the function must be called `gimp_module_query()`. unstable since: 3.0
ModuleRegisterFunc | The signature of the register function a loadable GIMP module must implement. In the module, the function must be called `gimp_module_register()`. unstable since: 3.0
ProgressFunc | unstable since: 3.0
ProgressVtableEndFunc | Ends the progress. unstable since: 3.0
ProgressVtableGetWindowFunc | unstable since: 3.0
ProgressVtablePulseFunc | Makes the progress pulse. unstable since: 3.0
ProgressVtableSetTextFunc | Sets a new text on the progress. unstable since: 3.0
ProgressVtableSetValueFunc | Sets a new percentage on the progress. unstable since: 3.0
ProgressVtableStartFunc | Starts the progress. unstable since: 3.0
PutPixelFunc | unstable since: 3.0
RenderFunc | unstable since: 3.0
ResourceChoosedCallback | Callback from libgimp GimpResourceSelect adapter to owner. unstable since: 3.0
RunFunc | The run function is run during the lifetime of the GIMP session, each time a plug-in procedure is called. unstable since: 3.0
RunImageFunc | The image function is run during the lifetime of the GIMP session, each time a plug-in image procedure is called. unstable since: 3.0
RunLoadFunc | The load function is run during the lifetime of the GIMP session, each time a plug-in load procedure is called. unstable since: 3.0
RunSaveFunc | The save function is run during the lifetime of the GIMP session, each time a plug-in save procedure is called. unstable since: 3.0
RunThumbnailFunc | The thumbnail function is run during the lifetime of the GIMP session, each time a plug-in thumbnail procedure is called. unstable since: 3.0
SignalHandlerFunc | A prototype for a reference to a signal handler functions. Note that each function which takes or returns a variable of this type also accepts or may return special values defined by your system’s signal.h header file (like `SIG_DFL` or `SIG_IGN`). unstable since: 3.0

#### Functions

adaptive_supersample_area | unstable since: 3.0
airbrush | Paint in the current brush with varying pressure. Paint application is time-dependent. unstable since: 3.0
airbrush_default | Paint in the current brush with varying pressure. Paint application is time-dependent. unstable since: 3.0
any_to_utf8 | This function takes any string (UTF-8 or not) and always returns a valid UTF-8 string. unstable since: 3.0
attach_parasite | Add a global parasite. since: 2.8
bilinear | unstable since: 3.0
bilinear_16 | unstable since: 3.0
bilinear_32 | unstable since: 3.0
bilinear_8 | unstable since: 3.0
bilinear_rgb | unstable since: 3.0
bilinear_rgba | unstable since: 3.0
bind_text_domain | This function wraps bindtextdomain on UNIX and wbintextdomain on Windows. `dir_name` is expected to be in the encoding used by the C library on UNIX and UTF-8 on Windows. unstable since: 3.0
brushes_close_popup | Close the brush selection dialog. unstable since: 3.0
brushes_get_list | Retrieve a complete listing of the available brushes. unstable since: 3.0
brushes_popup | Invokes the GIMP brush selection dialog. unstable since: 3.0
brushes_refresh | Refresh current brushes. This function always succeeds. unstable since: 3.0
brushes_set_popup | Sets the selected brush in a brush selection dialog. unstable since: 3.0
buffer_delete | Deletes a named buffer. since: 2.4
buffer_get_bytes | Retrieves the specified buffer’s bytes. since: 2.4
buffer_get_height | Retrieves the specified buffer’s height. since: 2.4
buffer_get_image_type | Retrieves the specified buffer’s image type. since: 2.4
buffer_get_width | Retrieves the specified buffer’s width. since: 2.4
buffer_rename | Renames a named buffer. since: 2.4
buffers_get_list | Retrieve a complete listing of the available buffers. since: 2.4
cache_directory | Returns the default top directory for GIMP cached files. If the environment variable GIMP3_CACHEDIR exists, that is used. It should be an absolute pathname. Otherwise, a subdirectory of the directory returned by `g_get_user_cache_dir()` is used. since: 2.10.10
cairo_checkerboard_create | Create a repeating checkerboard pattern. since: 2.6
cairo_set_source_rgb | Sets the source pattern within `cr` to the solid opaque color described by `color`. since: 2.6
cairo_set_source_rgba | Sets the source pattern within `cr` to the solid translucent color described by `color`. since: 2.6
cairo_surface_create_buffer | This function returns a `GeglBuffer` which wraps `surface`‘s pixels. It must only be called on image surfaces, calling it on other surface types is an error. since: 2.10
cairo_surface_get_format | This function returns a `Babl` format that corresponds to `surface`‘s pixel format. since: 2.10
canonicalize_identifier | Turns any input string into a canonicalized string. since: 2.4
check_custom_color1 | Returns the first checkerboard custom color that can be used in previews. unstable since: 3.0
check_custom_color2 | Returns the second checkerboard custom color that can be used in previews. unstable since: 3.0
check_size | Returns the size of the checkerboard to be used in previews. since: 2.2
check_type | Returns the type of the checkerboard to be used in previews. since: 2.2
checks_get_colors | Retrieves the colors to use when drawing a checkerboard for a certain `GimpCheckType` and custom colors. If `type` is `GIMP_CHECK_TYPE_CUSTOM_CHECKS`, then `color1` and `color2` will remain untouched, which means you must initialize them to the values expected for custom checks. unstable since: 3.0
clone | Clone from the source to the dest drawable using the current brush. unstable since: 3.0
clone_default | Clone from the source to the dest drawable using the current brush. unstable since: 3.0
cmyka_get_uchar | Retrieve individual channel values from a `GimpCMYK` structure. Channel values are pointers to unsigned chars in the range 0 to 255. unstable since: 3.0
cmyka_set | Initialiser for the internal `GimpCMYK` structure. Channel values are doubles in the range 0 to 1. unstable since: 3.0
cmyka_set_uchar | The same as gimp_cmyka_set(), except that channel values are unsigned chars in the range 0 to 255. unstable since: 3.0
color_array_copy | Creates a new `GimpColorArray` containing a deep copy of a `NULL`-terminated array of `GeglColor`. unstable since: 3.0
color_array_free | Frees a `NULL`-terminated array of `GeglColor`. unstable since: 3.0
color_array_get_length | unstable since: 3.0
color_array_get_type | unstable since: 3.0
color_is_out_of_gamut | Determine whether `color` is out of its `space` gamut. A small error of margin is accepted, so that for instance a component at -0.0000001 is not making the whole color to be considered as out-of-gamut while it may just be computation imprecision. unstable since: 3.0

color_is_out_of_self_gamut

Determine whether `color` is out of its own space gamut. This can only happen if the color space is unbounded and any of the color component is out of the `[0; 1]` range. A small error of margin is accepted, so that for instance a component at -0.0000001 is not making the whole color to be considered as out-of-gamut while it may just be computation imprecision.

unstable since: 3.0

color_is_perceptually_identical | Determine whether `color1` and `color2` can be considered identical to the human eyes, by computing the distance in a color space as perceptually uniform as possible. unstable since: 3.0
color_parse_css | Attempts to parse a string describing an sRGB color in CSS notation. This can be either a numerical representation (`rgb(255,0,0)` or `rgb(100%,0%,0%)`) or a hexadecimal notation as parsed by `gimp_color_parse_hex()` (`##ff0000`) or a color name as parsed by `gimp_color_parse_name()` (`red`). since: 2.2
color_parse_hex | Attempts to parse a string describing an RGB color in hexadecimal notation (optionally prefixed with a ‘#’). since: 2.2
color_parse_name | Attempts to parse a color name. This function accepts SVG 1.1 color keywords. since: 2.2
color_set_alpha | Update the `alpha` channel, and any other component if necessary (e.g. in case of premultiplied channels), without changing the format of `color`. unstable since: 3.0
context_are_dynamics_enabled | Whether the currently active paint dynamics will be applied to painting. unstable since: 3.0
context_enable_dynamics | Enables paint dynamics using the active paint dynamics. unstable since: 3.0
context_get_antialias | Get the antialias setting. since: 2.8
context_get_background | Get the current GIMP background color. since: 2.2
context_get_brush | Get the currently active brush. since: 2.2
context_get_brush_angle | Get brush angle in degrees. since: 2.8
context_get_brush_aspect_ratio | Get brush aspect ratio. since: 2.8
context_get_brush_force | Get brush force in paint options. since: 2.10
context_get_brush_hardness | Get brush hardness in paint options. since: 2.10
context_get_brush_size | Get brush size in pixels. since: 2.8
context_get_brush_spacing | Get brush spacing as percent of size. since: 2.10
context_get_diagonal_neighbors | Get the diagonal neighbors setting. since: 2.10
context_get_distance_metric | Get the distance metric used in some computations. since: 2.10
context_get_dynamics | Get the currently active paint dynamics. since: 2.8
context_get_feather | Get the feather setting. since: 2.8
context_get_feather_radius | Get the feather radius setting. since: 2.8
context_get_font | Get the currently active font. since: 2.2
context_get_foreground | Get the current GIMP foreground color. since: 2.2
context_get_gradient | Get the currently active gradient. since: 2.2
context_get_gradient_blend_color_space | Get the gradient blend color space. since: 2.10
context_get_gradient_repeat_mode | Get the gradient repeat mode. since: 2.10
context_get_gradient_reverse | Get the gradient reverse setting. since: 2.10
context_get_ink_angle | Get ink angle in degrees. since: 2.8
context_get_ink_blob_angle | Get ink blob angle in degrees. since: 2.8
context_get_ink_blob_aspect_ratio | Get ink blob aspect ratio. since: 2.8
context_get_ink_blob_type | Get ink blob type. since: 2.8
context_get_ink_size | Get ink blob size in pixels. since: 2.8
context_get_ink_size_sensitivity | Get ink size sensitivity. since: 2.8
context_get_ink_speed_sensitivity | Get ink speed sensitivity. since: 2.8
context_get_ink_tilt_sensitivity | Get ink tilt sensitivity. since: 2.8
context_get_interpolation | Get the interpolation type. since: 2.8
context_get_line_cap_style | Get the line cap style setting. since: 2.10
context_get_line_dash_offset | Get the line dash offset setting. since: 2.10
context_get_line_dash_pattern | Get the line dash pattern setting. since: 2.10
context_get_line_join_style | Get the line join style setting. since: 2.10
context_get_line_miter_limit | Get the line miter limit setting. since: 2.10
context_get_line_width | Get the line width setting. since: 2.10
context_get_line_width_unit | Get the line width unit setting. since: 2.10
context_get_mypaint_brush | Get the currently active MyPaint brush. since: 2.10
context_get_opacity | Get the opacity. since: 2.2
context_get_paint_method | Get the currently active paint method. since: 2.4
context_get_paint_mode | Get the paint mode. since: 2.2
context_get_palette | Get the currently active palette. since: 2.2
context_get_pattern | Get the currently active pattern. since: 2.2
context_get_sample_criterion | Get the sample criterion setting. since: 2.8
context_get_sample_merged | Get the sample merged setting. since: 2.8
context_get_sample_threshold | Get the sample threshold setting. since: 2.8
context_get_sample_threshold_int | Get the sample threshold setting as an integer value. since: 2.8
context_get_sample_transparent | Get the sample transparent setting. since: 2.8
context_get_stroke_method | Get the currently active stroke method. since: 2.10
context_get_transform_direction | Get the transform direction. since: 2.8
context_get_transform_resize | Get the transform resize type. since: 2.8
context_list_paint_methods | Lists the available paint methods. since: 2.4
context_pop | Pops the topmost context from the plug-in’s context stack. since: 2.2
context_push | Pushes a context onto the top of the plug-in’s context stack. since: 2.2
context_set_antialias | Set the antialias setting. since: 2.8
context_set_background | Set the current GIMP background color. since: 2.2
context_set_brush | Set the active brush. since: 2.2
context_set_brush_angle | Set brush angle in degrees. since: 2.8
context_set_brush_aspect_ratio | Set brush aspect ratio. since: 2.8
context_set_brush_default_hardness | Set brush spacing to its default. since: 2.10
context_set_brush_default_size | Set brush size to its default. since: 2.8
context_set_brush_default_spacing | Set brush spacing to its default. since: 2.10
context_set_brush_force | Set brush application force. since: 2.10
context_set_brush_hardness | Set brush hardness. since: 2.10
context_set_brush_size | Set brush size in pixels. since: 2.8
context_set_brush_spacing | Set brush spacing as percent of size. since: 2.10
context_set_default_colors | Set the current GIMP foreground and background colors to black and white. since: 2.2
context_set_defaults | Reset context settings to their default values. since: 2.8
context_set_diagonal_neighbors | Set the diagonal neighbors setting. since: 2.10
context_set_distance_metric | Set the distance metric used in some computations. since: 2.10
context_set_dynamics | Set the active paint dynamics. since: 2.8
context_set_feather | Set the feather setting. since: 2.8
context_set_feather_radius | Set the feather radius setting. since: 2.8
context_set_font | Set the active font. since: 2.2
context_set_foreground | Set the current GIMP foreground color. since: 2.2
context_set_gradient | Sets the active gradient. since: 2.2
context_set_gradient_blend_color_space | Set the gradient blend color space. since: 2.10
context_set_gradient_fg_bg_hsv_ccw | Sets the built-in FG-BG HSV (ccw) gradient as the active gradient. since: 2.10
context_set_gradient_fg_bg_hsv_cw | Sets the built-in FG-BG HSV (cw) gradient as the active gradient. since: 2.10
context_set_gradient_fg_bg_rgb | Sets the built-in FG-BG RGB gradient as the active gradient. since: 2.10
context_set_gradient_fg_transparent | Sets the built-in FG-Transparent gradient as the active gradient. since: 2.10
context_set_gradient_repeat_mode | Set the gradient repeat mode. since: 2.10
context_set_gradient_reverse | Set the gradient reverse setting. since: 2.10
context_set_ink_angle | Set ink angle in degrees. since: 2.8
context_set_ink_blob_angle | Set ink blob angle in degrees. since: 2.8
context_set_ink_blob_aspect_ratio | Set ink blob aspect ratio. since: 2.8
context_set_ink_blob_type | Set ink blob type. since: 2.8
context_set_ink_size | Set ink blob size in pixels. since: 2.8
context_set_ink_size_sensitivity | Set ink size sensitivity. since: 2.8
context_set_ink_speed_sensitivity | Set ink speed sensitivity. since: 2.8
context_set_ink_tilt_sensitivity | Set ink tilt sensitivity. since: 2.8
context_set_interpolation | Set the interpolation type. since: 2.8
context_set_line_cap_style | Set the line cap style setting. since: 2.10
context_set_line_dash_offset | Set the line dash offset setting. since: 2.10
context_set_line_dash_pattern | Set the line dash pattern setting. since: 2.10
context_set_line_join_style | Set the line join style setting. since: 2.10
context_set_line_miter_limit | Set the line miter limit setting. since: 2.10
context_set_line_width | Set the line width setting. since: 2.10
context_set_line_width_unit | Set the line width unit setting. since: 2.10
context_set_mypaint_brush | Set a MyPaint brush as the active MyPaint brush. since: 2.10
context_set_opacity | Set the opacity. since: 2.2
context_set_paint_method | Set the active paint method. since: 2.4
context_set_paint_mode | Set the paint mode. since: 2.2
context_set_palette | Set the active palette. since: 2.2
context_set_pattern | Set the active pattern. since: 2.2
context_set_sample_criterion | Set the sample criterion setting. since: 2.8
context_set_sample_merged | Set the sample merged setting. since: 2.8
context_set_sample_threshold | Set the sample threshold setting. since: 2.8
context_set_sample_threshold_int | Set the sample threshold setting as an integer value. since: 2.8
context_set_sample_transparent | Set the sample transparent setting. since: 2.8
context_set_stroke_method | Set the active stroke method. since: 2.10
context_set_transform_direction | Set the transform direction. since: 2.8
context_set_transform_resize | Set the transform resize type. since: 2.8
context_swap_colors | Swap the current GIMP foreground and background colors. since: 2.2
convolve | Convolve (Blur, Sharpen) using the current brush. unstable since: 3.0
convolve_default | Convolve (Blur, Sharpen) using the current brush. unstable since: 3.0
cpu_accel_get_support | Query for CPU acceleration support. since: 2.4
cpu_accel_set_use | This function is for internal use only. since: 2.4
data_directory | Returns the default top directory for GIMP data. If the environment variable GIMP3_DATADIR exists, that is used. It should be an absolute pathname. Otherwise, on Unix the compile-time defined directory is used. On Windows, the installation directory as deduced from the executable’s full filename is used. unstable since: 3.0
data_directory_file | Returns a `GFile` in the data directory, or the data directory itself if `first_element` is `NULL`. since: 2.10
debug_timer_end | Finishes measuring elapsed time. unstable since: 3.0
debug_timer_start | Starts measuring elapsed time. unstable since: 3.0
default_display | Returns the default display ID. This corresponds to the display the running procedure’s menu entry was invoked from. unstable since: 3.0
detach_parasite | Removes a global parasite. since: 2.8
directory | Returns the user-specific GIMP settings directory. If the environment variable GIMP3_DIRECTORY exists, it is used. If it is an absolute path, it is used as is. If it is a relative path, it is taken to be a subdirectory of the home directory. If it is a relative path, and no home directory can be determined, it is taken to be a subdirectory of gimp_data_directory(). unstable since: 3.0
directory_file | Returns a `GFile` in the user’s GIMP directory, or the GIMP directory itself if `first_element` is `NULL`. since: 2.10
displays_flush | Flush all internal changes to the user interface. unstable since: 3.0
displays_reconnect | Reconnect displays from one image to another image. unstable since: 3.0
dodgeburn | Dodgeburn image with varying exposure. unstable since: 3.0
dodgeburn_default | Dodgeburn image with varying exposure. This is the same as the `gimp_dodgeburn()` function except that the exposure, type and mode are taken from the tools option dialog. If the dialog has not been activated then the defaults as used by the dialog will be used. unstable since: 3.0
drawables_close_popup | Close the drawable selection dialog. unstable since: 3.0
drawables_popup | Invokes the drawable selection dialog. unstable since: 3.0
drawables_set_popup | Sets the selected drawable in a drawable selection dialog. unstable since: 3.0
dynamics_get_list | Retrieve the list of loaded paint dynamics. since: 2.8
dynamics_refresh | Refresh current paint dynamics. This function always succeeds. since: 2.8
edit_copy | Copy from the specified drawables. unstable since: 3.0
edit_copy_visible | Copy from the projection. since: 2.2
edit_cut | Cut from the specified drawables. unstable since: 3.0
edit_named_copy | Copy into a named buffer. since: 2.4
edit_named_copy_visible | Copy from the projection into a named buffer. since: 2.4
edit_named_cut | Cut into a named buffer. since: 2.4
edit_named_paste | Paste named buffer to the specified drawable. since: 2.4
edit_named_paste_as_new_image | Paste named buffer to a new image. since: 2.10
edit_paste | Paste buffer to the specified drawable. unstable since: 3.0
edit_paste_as_new_image | Paste buffer to a new image. since: 2.10
enum_get_desc | Retrieves `GimpEnumDesc` associated with the given value, or `NULL`. since: 2.2
enum_get_value | Checks if `value` is valid for the enum registered as `enum_type`. If the value exists in that enum, its name, nick and its translated description and help are returned (if `value_name`, `value_nick`, `value_desc` and `value_help` are not `NULL`). since: 2.2
enum_get_value_descriptions | Retrieves the array of human readable and translatable descriptions and help texts for enum values. since: 2.2
enum_set_value_descriptions | Sets the array of human readable and translatable descriptions and help texts for enum values. since: 2.2
enum_value_get_abbrev | Retrieves the translated abbreviation for a given `enum_value`. since: 2.10
enum_value_get_desc | Retrieves the translated description for a given `enum_value`. since: 2.2
enum_value_get_help | Retrieves the translated help for a given `enum_value`. since: 2.2
enums_get_type_names | This function gives access to the list of enums registered by libgimp. The returned array is static and must not be modified. since: 2.2
enums_init | This function makes sure all the enum types are registered with the `GType` system. This is intended for use by language bindings that need the symbols early, before gimp_main is run. It’s not necessary for plug-ins to call this directly, because the normal plug-in initialization code will handle it implicitly. since: 2.4
env_init | You don’t need to care about this function. It is being called for you automatically (by means of the MAIN() macro that every plug-in runs). Calling it again will cause a fatal error. since: 2.4
eraser | Erase using the current brush. unstable since: 3.0
eraser_default | Erase using the current brush. unstable since: 3.0
escape_uline | This function returns a copy of `str` with all underline converted to two adjacent underlines. This comes in handy when needing to display strings with underlines (like filenames) in a place that would convert them to mnemonics. since: 2.2
export_color_profile | Returns whether file plug-ins should default to exporting the image’s color profile. since: 2.10.4
export_comment | Returns whether file plug-ins should default to exporting the image’s comment. unstable since: 3.0
export_exif | Returns whether file plug-ins should default to exporting Exif metadata, according preferences (original settings is `FALSE` since metadata can contain sensitive information). since: 2.10
export_iptc | Returns whether file plug-ins should default to exporting IPTC metadata, according preferences (original settings is `FALSE` since metadata can contain sensitive information). since: 2.10
export_thumbnail | Returns whether file plug-ins should default to exporting the image’s comment. unstable since: 3.0
export_xmp | Returns whether file plug-ins should default to exporting XMP metadata, according preferences (original settings is `FALSE` since metadata can contain sensitive information). since: 2.10
file_get_config_path | Unexpands `file`‘s path using `gimp_config_path_unexpand()` and returns the unexpanded path. since: 2.10
file_get_utf8_name | This function works like `gimp_filename_to_utf8()` and returns a UTF-8 encoded string that does not need to be freed. since: 2.10
file_has_extension | This function checks if `file`‘s URI ends with `extension`. It behaves like `g_str_has_suffix()` on g_file_get_uri(), except that the string comparison is done case-insensitively using g_ascii_strcasecmp(). since: 2.10
file_load | Loads an image file by invoking the right load handler. unstable since: 3.0
file_load_layer | Loads an image file as a layer for an existing image. since: 2.4
file_load_layers | Loads an image file as layers for an existing image. since: 2.4
file_new_for_config_path | Expands `path` using `gimp_config_path_expand()` and returns a `GFile` for the expanded path. since: 2.10
file_save | Saves a file by extension. unstable since: 3.0
file_save_thumbnail | Saves a thumbnail for the given image. unstable since: 3.0
file_show_in_file_manager | Shows `file` in the system file manager. since: 2.10
filename_to_utf8 | Convert a filename in the filesystem’s encoding to UTF-8 temporarily. The return value is a pointer to a string that is guaranteed to be valid only during the current iteration of the main loop or until the next call to gimp_filename_to_utf8(). unstable since: 3.0
flags_get_first_desc | Retrieves the first `GimpFlagsDesc` that matches the given value, or `NULL`. since: 2.2
flags_get_first_value | Checks if `value` is valid for the flags registered as `flags_type`. If the value exists in that flags, its name, nick and its translated description and help are returned (if `value_name`, `value_nick`, `value_desc` and `value_help` are not `NULL`). since: 2.2
flags_get_value_descriptions | Retrieves the array of human readable and translatable descriptions and help texts for flags values. since: 2.2
flags_set_value_descriptions | Sets the array of human readable and translatable descriptions and help texts for flags values. since: 2.2
flags_value_get_abbrev | Retrieves the translated abbreviation for a given `flags_value`. since: 2.10
flags_value_get_desc | Retrieves the translated description for a given `flags_value`. since: 2.2
flags_value_get_help | Retrieves the translated help for a given `flags_value`. since: 2.2
floating_sel_anchor | Anchor the specified floating selection to its associated drawable. unstable since: 3.0
floating_sel_attach | Attach the specified layer as floating to the specified drawable. unstable since: 3.0
floating_sel_remove | Remove the specified floating selection from its associated drawable. unstable since: 3.0
floating_sel_to_layer | Transforms the specified floating selection into a layer. unstable since: 3.0
fonts_close_popup | Close the font selection dialog. unstable since: 3.0
fonts_get_by_name | Returns the fonts with the given name. unstable since: 3.0
fonts_get_list | Retrieve the list of loaded fonts. unstable since: 3.0
fonts_popup | Invokes the Gimp font selection dialog. unstable since: 3.0
fonts_refresh | Refresh current fonts. This function always succeeds. unstable since: 3.0
fonts_set_popup | Sets the current font in a font selection dialog. unstable since: 3.0
get_color_configuration | Retrieve a copy of the current color management configuration. since: 2.4
get_default_comment | Get the default image comment as specified in the Preferences. unstable since: 3.0
get_default_unit | Get the default unit (taken from the user’s locale). since: 2.4
get_images | Returns the list of images currently open. unstable since: 3.0
get_module_load_inhibit | Get the list of modules which should not be loaded. unstable since: 3.0
get_monitor_resolution | Get the monitor resolution as specified in the Preferences. unstable since: 3.0
get_num_processors | Returns the number of threads set explicitly by the user in the preferences. This information can be used by plug-ins wishing to follow user settings for multi-threaded implementations. unstable since: 3.0
get_parasite | Look up a global parasite. since: 2.8
get_parasite_list | List all parasites. since: 2.8
get_pdb | This function returns the plug-in’s `GimpPDB` instance, which is a singleton that can exist exactly once per running plug-in. unstable since: 3.0
get_plug_in | This function returns the plug-in’s `GimpPlugIn` instance, which is a a singleton that can exist exactly once per running plug-in. unstable since: 3.0
get_progname | Returns the plug-in’s executable name. unstable since: 3.0
getpid | Returns the PID of the host GIMP process. since: 2.4
gimprc_query | Queries the gimprc file parser for information on a specified token. unstable since: 3.0
gimprc_set | Sets a gimprc token to a value and saves it in the gimprc. unstable since: 3.0
gradients_close_popup | Close the gradient selection dialog. unstable since: 3.0
gradients_get_list | Retrieve the list of loaded gradients. unstable since: 3.0
gradients_popup | Invokes the Gimp gradients selection dialog. unstable since: 3.0
gradients_refresh | Refresh current gradients. This function always succeeds. unstable since: 3.0
gradients_set_popup | Sets the current gradient in a gradient selection dialog. unstable since: 3.0
heal | Heal from the source to the dest drawable using the current brush. since: 2.4
heal_default | Heal from the source to the dest drawable using the current brush. since: 2.4
help | Load a help page. unstable since: 3.0
hsva_set | unstable since: 3.0
icon_theme_dir | Returns the directory of the current icon theme. since: 2.10.4
installation_directory | Returns the top installation directory of GIMP. On Unix the compile-time defined installation prefix is used. On Windows, the installation directory as deduced from the executable’s full filename is used. On OSX we ask [NSBundle mainBundle] for the resource path to check if GIMP is part of a relocatable bundle. since: 2.8
installation_directory_file | Returns a `GFile` in the installation directory, or the installation directory itself if `first_element` is `NULL`. since: 2.10.10
is_canonical_identifier | Checks if `identifier` is canonical and non-`NULL`. unstable since: 3.0
list_images | Returns the list of images currently open. unstable since: 3.0
locale_directory | Returns the top directory for GIMP locale files. If the environment variable GIMP3_LOCALEDIR exists, that is used. It should be an absolute pathname. Otherwise, on Unix the compile-time defined directory is used. On Windows, the installation directory as deduced from the executable’s full filename is used. unstable since: 3.0
locale_directory_file | Returns a `GFile` in the locale directory, or the locale directory itself if `first_element` is `NULL`. since: 2.10
main | The main plug-in function that must be called with the plug-in’s `GimpPlugIn` subclass `GType` and the ‘argc’ and ‘argv’ that are passed to the platform’s main(). unstable since: 3.0
message | Displays a dialog box with a message. unstable since: 3.0
message_get_handler | Returns the current state of where warning messages are displayed. unstable since: 3.0
message_set_handler | Controls where warning messages are displayed. unstable since: 3.0
monitor_number | Returns the monitor number to be used for plug-in windows. unstable since: 3.0
paintbrush | Paint in the current brush with optional fade out parameter and pull colors from a gradient. unstable since: 3.0
paintbrush_default | Paint in the current brush. The fade out parameter and pull colors from a gradient parameter are set from the paintbrush options dialog. If this dialog has not been activated then the dialog defaults will be used. unstable since: 3.0
palettes_close_popup | Close the palette selection dialog. unstable since: 3.0
palettes_get_list | Retrieves a list of all of the available palettes. unstable since: 3.0
palettes_popup | Invokes the Gimp palette selection dialog. unstable since: 3.0
palettes_refresh | Refreshes current palettes. This function always succeeds. unstable since: 3.0
palettes_set_popup | Sets the current palette in a palette selection dialog. unstable since: 3.0
param_spec_array | Creates a new `GimpParamSpecArray` specifying a `GimpArray` property. unstable since: 3.0
param_spec_brush | Creates a new `GimpParamSpecBrush` specifying a `GimpBrush` property. unstable since: 3.0
param_spec_channel | Creates a new `GimpParamSpecChannel` specifying a `GimpChannel` property. unstable since: 3.0

param_spec_choice

Creates a new `GimpParamSpecChoice` specifying a

# G_TYPE_STRING property.

This %GimpParamSpecChoice takes ownership of the reference on `choice`.

unstable since: 3.0

param_spec_config_path | Creates a param spec to hold a filename, dir name, or list of file or dir names. See `g_param_spec_internal()` for more information. since: 2.4
param_spec_config_path_type | Tells whether the path param encodes a filename, dir name, or list of file or dir names. since: 2.4
param_spec_display | Creates a new `GimpParamSpecDisplay` specifying a `GimpDisplay` property. unstable since: 3.0
param_spec_drawable | Creates a new `GimpParamSpecDrawable` specifying a `GimpDrawable` property. unstable since: 3.0
param_spec_float_array | Creates a new `GimpParamSpecFloatArray` specifying a `GIMP_TYPE_FLOAT_ARRAY` property. unstable since: 3.0
param_spec_font | Creates a new `GimpParamSpecFont` specifying a `GimpFont` property. unstable since: 3.0
param_spec_gradient | Creates a new `GimpParamSpecGradient` specifying a `GimpGradient` property. unstable since: 3.0
param_spec_image | Creates a new `GimpParamSpecImage` specifying a `GimpImage` property. unstable since: 3.0
param_spec_int32_array | Creates a new `GimpParamSpecInt32Array` specifying a `GIMP_TYPE_INT32_ARRAY` property. unstable since: 3.0
param_spec_item | Creates a new `GimpParamSpecItem` specifying a `GimpItem` property. unstable since: 3.0
param_spec_layer | Creates a new `GimpParamSpecLayer` specifying a `GimpLayer` property. unstable since: 3.0
param_spec_layer_mask | Creates a new `GimpParamSpecLayerMask` specifying a `GimpLayerMask` property. unstable since: 3.0
param_spec_matrix2 | Creates a param spec to hold a `GimpMatrix2` value. See `g_param_spec_internal()` for more information. since: 2.4
param_spec_matrix3 | Creates a param spec to hold a `GimpMatrix3` value. See `g_param_spec_internal()` for more information. since: 2.8
param_spec_memsize | Creates a param spec to hold a memory size value. See `g_param_spec_internal()` for more information. since: 2.4
param_spec_object_array | Creates a new `GimpParamSpecObjectArray` specifying a `GimpObjectArray` property. unstable since: 3.0
param_spec_palette | Creates a new `GimpParamSpecPalette` specifying a `GimpPalette` property. unstable since: 3.0
param_spec_parasite | Creates a new `GimpParamSpecParasite` specifying a `GimpParasite` property. since: 2.4
param_spec_pattern | Creates a new `GimpParamSpecPattern` specifying a `GimpPattern` property. unstable since: 3.0
param_spec_resource | Creates a new `GimpParamSpecResource` specifying a `GimpResource` property. unstable since: 3.0
param_spec_rgb | Creates a param spec to hold an `GimpRGB` value. See `g_param_spec_internal()` for more information. since: 2.4
param_spec_rgb_array | Creates a new `GimpParamSpecRGBArray` specifying a `GIMP_TYPE_RGB_ARRAY` property. unstable since: 3.0
param_spec_selection | Creates a new `GimpParamSpecSelection` specifying a `GimpSelection` property. unstable since: 3.0
param_spec_text_layer | Creates a new `GimpParamSpecTextLayer` specifying a `GimpTextLayer` property. unstable since: 3.0
param_spec_unit | Creates a param spec to hold a units param. See `g_param_spec_internal()` for more information. since: 2.4
param_spec_value_array | Creates a new `GimpParamSpecValueArray` specifying a `GValueArray` property. unstable since: 3.0
param_spec_vectors | Creates a new `GimpParamSpecVectors` specifying a `GimpVectors` property. unstable since: 3.0
path_free | This function frees the memory allocated for the list and the strings it contains. unstable since: 3.0
path_get_user_writable_dir | Note that you have to `g_free()` the returned string. unstable since: 3.0
path_parse | unstable since: 3.0
path_to_str | unstable since: 3.0
patterns_close_popup | Close the pattern selection dialog. unstable since: 3.0
patterns_get_list | Retrieve a complete listing of the available patterns. unstable since: 3.0
patterns_popup | Invokes the Gimp pattern selection. unstable since: 3.0
patterns_refresh | Refresh current patterns. This function always succeeds. unstable since: 3.0
patterns_set_popup | Sets the current pattern in a pattern selection dialog. unstable since: 3.0
pencil | Paint in the current brush without sub-pixel sampling. unstable since: 3.0
pixbuf_create_buffer | Returns a `GeglBuffer` that’s either backed by the `pixbuf`‘s pixels, or a copy of them. This function tries to not copy the `pixbuf`‘s pixels. If the pixbuf’s rowstride is a multiple of its bpp, a simple reference to the `pixbuf`‘s pixels is made and `pixbuf` will be kept around for as long as the buffer exists; otherwise the pixels are copied. since: 2.10
pixbuf_get_format | Returns the Babl format that corresponds to the `pixbuf`‘s pixel format. since: 2.10
pixbuf_get_icc_profile | Returns the ICC profile attached to the `pixbuf`, or `NULL` if there is none. since: 2.10
pixels_to_units | Converts a `value` specified in pixels to `unit`. since: 2.8
pixpipe_params_build | unstable since: 3.0
pixpipe_params_free | unstable since: 3.0
pixpipe_params_init | unstable since: 3.0
pixpipe_params_parse | unstable since: 3.0
progress_cancel | Cancels a running progress. since: 2.2
progress_end | Ends the progress bar for the current plug-in. since: 2.4
progress_get_window_handle | Returns the native handle of the toplevel window this plug-in’s progress is displayed in. since: 2.2
progress_init | Initializes the progress bar for the current plug-in. unstable since: 3.0
progress_init_printf | Initializes the progress bar for the current plug-in. since: 2.4
progress_install_vtable | since: 2.4
progress_pulse | Pulses the progress bar for the current plug-in. since: 2.4
progress_set_text | Changes the text in the progress bar for the current plug-in. since: 2.4
progress_set_text_printf | Changes the text in the progress bar for the current plug-in. since: 2.4
progress_uninstall | Uninstalls a temporary progress procedure that was installed using gimp_progress_install(). since: 2.2
progress_update | Updates the progress bar for the current plug-in. unstable since: 3.0
quit | Forcefully causes the GIMP library to exit and close down its connection to main gimp application. This function never returns. unstable since: 3.0
range_estimate_settings | This function proposes reasonable settings for increments and display digits. These can be used for instance on `GtkRange` or other widgets using a `GtkAdjustment` typically. Note that it will never return `digits` with value 0. If you know that your input needs to display integer values, there is no need to set `digits`. unstable since: 3.0
rectangle_intersect | Calculates the intersection of two rectangles. since: 2.4
rectangle_union | Calculates the union of two rectangles. since: 2.8
rgba_add | unstable since: 3.0
rgba_distance | unstable since: 3.0
rgba_get_pixel | Writes the red, green, blue and alpha components of `rgba` to the color stored in `pixel`. The pixel format of `pixel` is determined by `format`. since: 2.10
rgba_get_uchar | Gets the 8bit red, green, blue and alpha components of `rgba`. unstable since: 3.0
rgba_multiply | unstable since: 3.0
rgba_parse_css | Similar to `gimp_rgb_parse_css()` but handles RGB colors with alpha channel in the numerical CSS notation (`rgba(255,0,0,255)` or `rgba(100%,0%,0%,1000%)`). since: 2.2
rgba_set | Sets the red, green, blue and alpha components of `rgb`. The values should be between 0.0 and 1.0 but there is no check to enforce this and the values are set exactly as they are passed in. unstable since: 3.0
rgba_set_pixel | Sets the red, green, blue and alpha components of `rgba` from the color stored in `pixel`. The pixel format of `pixel` is determined by `format`. since: 2.10
rgba_set_uchar | Sets the red, green, blue and alpha components of `rgba` from 8bit values (0 to 255). unstable since: 3.0
rgba_subtract | unstable since: 3.0
show_help_button | Returns whether or not GimpDialog should automatically add a help button if help_func and help_id are given. since: 2.2
signal_private | This function furnishes a workalike for signal(2) but which internally invokes sigaction(2) after certain sa_flags are set; these primarily to ensure restarting of interrupted system calls. See sigaction(2) It is a aid to transition and not new development: that effort should employ sigaction directly. [gosgood 18.04.2000] unstable since: 3.0
smudge | Smudge image with varying pressure. unstable since: 3.0
smudge_default | Smudge image with varying pressure. unstable since: 3.0
stack_trace_available | Returns `TRUE` if we have dependencies to generate backtraces. If `optimal` is `TRUE`, the function will return `TRUE` only when we are able to generate optimal traces (i.e. with GDB or LLDB); otherwise we return `TRUE` even if only `backtrace()` API is available. since: 2.10

stack_trace_print

Attempts to generate a stack trace at current code position in `prog_name`. `prog_name` is mostly a helper and can be set to NULL. Nevertheless if set, it has to be the current program name (argv[0]). This function is not meant to generate stack trace for third-party programs, and will attach the current process id only. Internally, this function uses `gdb` or `lldb` if they are available, or the `stacktrace()` API on platforms where it is available. It always fails on Win32.

since: 2.10

stack_trace_query | This is mostly the same as `g_on_error_query()` except that we use our own backtrace function, much more complete. `prog_name` must be the current program name (argv[0]). It does nothing on Win32. since: 2.10
strip_uline | This function returns a copy of `str` stripped of underline characters. This comes in handy when needing to strip mnemonics from menu paths etc. unstable since: 3.0
sysconf_directory | Returns the top directory for GIMP config files. If the environment variable GIMP3_SYSCONFDIR exists, that is used. It should be an absolute pathname. Otherwise, on Unix the compile-time defined directory is used. On Windows, the installation directory as deduced from the executable’s full filename is used. unstable since: 3.0
sysconf_directory_file | Returns a `GFile` in the sysconf directory, or the sysconf directory itself if `first_element` is `NULL`. since: 2.10
temp_directory | Returns the default top directory for GIMP temporary files. If the environment variable GIMP3_TEMPDIR exists, that is used. It should be an absolute pathname. Otherwise, a subdirectory of the directory returned by `g_get_tmp_dir()` is used. since: 2.10.10
temp_file | Generates a unique temporary file. unstable since: 3.0
text_font | Add text at the specified location as a floating selection or a new layer. unstable since: 3.0
text_get_extents_font | Get extents of the bounding box for the specified text. unstable since: 3.0
tile_height | Returns the tile height GIMP is using. unstable since: 3.0
tile_width | Returns the tile width GIMP is using. unstable since: 3.0
type_get_translation_context | Retrieves the translation context that has been previously set using gimp_type_set_translation_context(). You should not need to use this function directly, use `gimp_enum_get_value()` or `gimp_enum_value_get_desc()` instead. since: 2.8
type_get_translation_domain | Retrieves the gettext translation domain identifier that has been previously set using gimp_type_set_translation_domain(). You should not need to use this function directly, use `gimp_enum_get_value()` or `gimp_enum_value_get_desc()` instead. since: 2.2
type_set_translation_context | This function attaches a constant string as a translation context to a `GType`. The only purpose of this function is to use it when registering a #G_TYPE_ENUM with translatable value names. since: 2.8
type_set_translation_domain | This function attaches a constant string as a gettext translation domain identifier to a `GType`. The only purpose of this function is to use it when registering a #G_TYPE_ENUM with translatable value names. since: 2.2
units_to_pixels | Converts a `value` specified in `unit` to pixels. since: 2.8
units_to_points | Converts a `value` specified in `unit` to points. since: 2.8
user_time | Returns the timestamp of the user interaction that should be set on the plug-in window. This is handled transparently, plug-in authors do not have to care about it. since: 2.6
utf8_strtrim | Creates a (possibly trimmed) copy of `str`. The string is cut if it exceeds `max_chars` characters or on the first newline. The fact that the string was trimmed is indicated by appending an ellipsis. unstable since: 3.0
value_dup_float_array | Gets the contents of a `GIMP_TYPE_FLOAT_ARRAY` `GValue`. unstable since: 3.0
value_dup_int32_array | Gets the contents of a `GIMP_TYPE_INT32_ARRAY` `GValue`. unstable since: 3.0
value_dup_object_array | unstable since: 3.0
value_dup_rgb_array | Gets the contents of a `GIMP_TYPE_RGB_ARRAY` `GValue`. unstable since: 3.0
value_get_float_array | Gets the contents of a `GIMP_TYPE_FLOAT_ARRAY` `GValue`. unstable since: 3.0
value_get_int32_array | Gets the contents of a `GIMP_TYPE_INT32_ARRAY` `GValue`. unstable since: 3.0
value_get_object_array | unstable since: 3.0
value_get_rgb | unstable since: 3.0
value_get_rgb_array | Gets the contents of a `GIMP_TYPE_RGB_ARRAY` `GValue`. unstable since: 3.0
value_set_float_array | Sets the contents of `value` to `data`. unstable since: 3.0
value_set_int32_array | Sets the contents of `value` to `data`. unstable since: 3.0
value_set_object_array | Sets the contents of `value` to `data`. unstable since: 3.0
value_set_rgb | unstable since: 3.0
value_set_rgb_array | Sets the contents of `value` to `data`. unstable since: 3.0
value_set_static_float_array | Sets the contents of `value` to `data`, without copying the data. unstable since: 3.0
value_set_static_int32_array | Sets the contents of `value` to `data`, without copying the data. unstable since: 3.0
value_set_static_object_array | Sets the contents of `value` to `data`, without copying the data. unstable since: 3.0
value_set_static_rgb_array | Sets the contents of `value` to `data`, without copying the data. unstable since: 3.0
value_take_float_array | Sets the contents of `value` to `data`, and takes ownership of `data`. unstable since: 3.0
value_take_int32_array | Sets the contents of `value` to `data`, and takes ownership of `data`. unstable since: 3.0
value_take_object_array | Sets the contents of `value` to `data`, and takes ownership of `data`. unstable since: 3.0
value_take_rgb_array | Sets the contents of `value` to `data`, and takes ownership of `data`. unstable since: 3.0
vector_2d_to_3d | "Compute screen (sx, sy) - (sx + w, sy + h) to 3D unit square mapping. The plane to map to is given in the z field of p. The observer is located at position vp (vp->z != 0.0)." unstable since: 3.0
vector_2d_to_3d_val | This function is identical to `gimp_vector_2d_to_3d()` but the position of the `observer` and the resulting point `p` are passed by value rather than by reference. unstable since: 3.0
vector_3d_to_2d | Convert the given 3D point to 2D (project it onto the viewing plane, (sx, sy, 0) - (sx + w, sy + h, 0). The input is assumed to be in the unit square (0, 0, z) - (1, 1, z). The viewpoint of the observer is passed in vp. unstable since: 3.0
version | Returns the host GIMP version. unstable since: 3.0
wm_class | Returns the window manager class to be used for plug-in windows. unstable since: 3.0

#### Function Macros

CAIRO_ARGB32_SET_PIXEL | Sets a single pixel in an Cairo image surface in `CAIRO_FORMAT_ARGB32`. since: 2.6
CAIRO_RGB24_SET_PIXEL | Sets a single pixel in an Cairo image surface in `CAIRO_FORMAT_RGB24`. since: 2.6
CHECK_VERSION | unstable since: 3.0
CONFIG_PROP_BOOLEAN | unstable since: 3.0
CONFIG_PROP_BOXED | unstable since: 3.0
CONFIG_PROP_COLOR | unstable since: 3.0
CONFIG_PROP_DOUBLE | unstable since: 3.0
CONFIG_PROP_ENUM | unstable since: 3.0
CONFIG_PROP_FONT | unstable since: 3.0
CONFIG_PROP_INT | unstable since: 3.0
CONFIG_PROP_INT64 | unstable since: 3.0
CONFIG_PROP_MATRIX2 | unstable since: 3.0
CONFIG_PROP_MEMSIZE | unstable since: 3.0
CONFIG_PROP_OBJECT | unstable since: 3.0
CONFIG_PROP_PATH | unstable since: 3.0
CONFIG_PROP_POINTER | unstable since: 3.0
CONFIG_PROP_RESOLUTION | unstable since: 3.0
CONFIG_PROP_RGB | unstable since: 3.0
CONFIG_PROP_STRING | unstable since: 3.0
CONFIG_PROP_UINT | unstable since: 3.0
CONFIG_PROP_UINT64 | unstable since: 3.0
CONFIG_PROP_UNIT | unstable since: 3.0
DEPRECATED_FOR | unstable since: 3.0
MAIN | A macro that expands to the appropriate `main()` function for the platform being compiled for. unstable since: 3.0
METADATA_CLASS | unstable since: 3.0
PARAM_SPEC_RGB_ARRAY | unstable since: 3.0
PDB_CLASS | unstable since: 3.0
PLUG_IN | unstable since: 3.0
PLUG_IN_CLASS | unstable since: 3.0
RGB_LUMINANCE | unstable since: 3.0
UNAVAILABLE | unstable since: 3.0
VALUE_HOLDS_ARRAY | unstable since: 3.0
VALUE_HOLDS_BRUSH | unstable since: 3.0
VALUE_HOLDS_CHANNEL | unstable since: 3.0
VALUE_HOLDS_COLOR | unstable since: 3.0
VALUE_HOLDS_COLOR_ARRAY | unstable since: 3.0
VALUE_HOLDS_CONFIG_PATH | unstable since: 3.0
VALUE_HOLDS_DISPLAY | unstable since: 3.0
VALUE_HOLDS_DRAWABLE | unstable since: 3.0
VALUE_HOLDS_FLOAT_ARRAY | unstable since: 3.0
VALUE_HOLDS_FONT | unstable since: 3.0
VALUE_HOLDS_GRADIENT | unstable since: 3.0
VALUE_HOLDS_IMAGE | unstable since: 3.0
VALUE_HOLDS_INT32_ARRAY | unstable since: 3.0
VALUE_HOLDS_ITEM | unstable since: 3.0
VALUE_HOLDS_LAYER | unstable since: 3.0
VALUE_HOLDS_LAYER_MASK | unstable since: 3.0
VALUE_HOLDS_MATRIX2 | unstable since: 3.0
VALUE_HOLDS_MATRIX3 | unstable since: 3.0
VALUE_HOLDS_MEMSIZE | unstable since: 3.0
VALUE_HOLDS_OBJECT_ARRAY | unstable since: 3.0
VALUE_HOLDS_PALETTE | unstable since: 3.0
VALUE_HOLDS_PARASITE | unstable since: 3.0
VALUE_HOLDS_PATTERN | unstable since: 3.0
VALUE_HOLDS_RESOURCE | unstable since: 3.0
VALUE_HOLDS_RGB | unstable since: 3.0
VALUE_HOLDS_RGB_ARRAY | unstable since: 3.0
VALUE_HOLDS_SELECTION | unstable since: 3.0
VALUE_HOLDS_TEXT_LAYER | unstable since: 3.0
VALUE_HOLDS_UNIT | unstable since: 3.0
VALUE_HOLDS_VECTORS | unstable since: 3.0

#### Constants

API_VERSION | unstable since: 3.0
CHECK_DARK | The dark gray value for the default checkerboard pattern. unstable since: 3.0
CHECK_LIGHT | The dark light value for the default checkerboard pattern. unstable since: 3.0
CHECK_SIZE | The default checkerboard size in pixels. This is configurable in the core but GIMP plug-ins can’t access the user preference and should use this constant instead. unstable since: 3.0
CHECK_SIZE_SM | The default small checkerboard size in pixels. unstable since: 3.0
CONFIG_PARAM_AGGREGATE | The object property is to be treated as part of the parent object. unstable since: 3.0
CONFIG_PARAM_CONFIRM | Changes to this property should be confirmed by the user before being applied. unstable since: 3.0
CONFIG_PARAM_DEFAULTS | Don’t serialize this property if it has the default value. unstable since: 3.0
CONFIG_PARAM_DONT_COMPARE | Ignore this property when comparing objects. unstable since: 3.0
CONFIG_PARAM_FLAGS | The default flags that should be used for serializable `GimpConfig` properties. unstable since: 3.0
CONFIG_PARAM_IGNORE | This property exists for obscure reasons or is needed for backward compatibility. Ignore the value read and don’t serialize it. unstable since: 3.0
CONFIG_PARAM_RESTART | Changes to this property take effect only after a restart. unstable since: 3.0
CONFIG_PARAM_SERIALIZE | A property that can and should be serialized and deserialized. unstable since: 3.0
MAJOR_VERSION | The major GIMP version number. unstable since: 3.0
MAX_IMAGE_SIZE | The maximum width and height of a GIMP image in pixels. This is a somewhat arbitrary value that can be used when an upper value for pixel sizes is needed; for example to give a spin button an upper limit. unstable since: 3.0
MAX_MEMSIZE | A large but arbitrary value that can be used when an upper limit for a memory size (in bytes) is needed. It is smaller than `G_MAXDOUBLE` since the `GimpMemsizeEntry` doesn’t handle larger values. unstable since: 3.0
MAX_RESOLUTION | The maximum resolution of a GIMP image in pixels per inch. This is a somewhat arbitrary value that can be used to when an upper value for a resolution is needed. GIMP will not accept resolutions larger than this value. unstable since: 3.0
MICRO_VERSION | The micro GIMP version number. unstable since: 3.0
MIN_IMAGE_SIZE | The minimum width and height of a GIMP image in pixels. unstable since: 3.0
MIN_RESOLUTION | The minimum resolution of a GIMP image in pixels per inch. This is a somewhat arbitrary value that can be used when a lower value for a resolution is needed. GIMP will not accept resolutions smaller than this value. unstable since: 3.0
MINOR_VERSION | The minor GIMP version number. unstable since: 3.0
MODULE_ABI_VERSION | The version of the module system’s ABI. Modules put this value into `GimpModuleInfo`‘s `abi_version` field so the code loading the modules can check if it was compiled against the same module ABI the modules are compiled against. unstable since: 3.0
PARAM_NO_VALIDATE | Since 3.0 unstable since: 3.0
PARAM_READABLE | unstable since: 3.0
PARAM_READWRITE | unstable since: 3.0
PARAM_STATIC_STRINGS | unstable since: 3.0
PARAM_WRITABLE | unstable since: 3.0
PARASITE_ATTACH_GRANDPARENT | unstable since: 3.0
PARASITE_ATTACH_PARENT | unstable since: 3.0
PARASITE_GRANDPARENT_PERSISTENT | unstable since: 3.0
PARASITE_GRANDPARENT_UNDOABLE | unstable since: 3.0
PARASITE_PARENT_PERSISTENT | unstable since: 3.0
PARASITE_PARENT_UNDOABLE | unstable since: 3.0
PARASITE_PERSISTENT | unstable since: 3.0
PARASITE_UNDOABLE | unstable since: 3.0
PIXPIPE_MAXDIM | unstable since: 3.0
RGB_LUMINANCE_BLUE | unstable since: 3.0
RGB_LUMINANCE_GREEN | unstable since: 3.0
RGB_LUMINANCE_RED | unstable since: 3.0
VERSION | The GIMP version as a string. unstable since: 3.0