Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
iop_api.h File Reference
+ Include dependency graph for iop_api.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 OPTIONAL (void, init_presets, struct dt_iop_module_so_t *self)
 
 OPTIONAL (void, init_global, struct dt_iop_module_so_t *self)
 
 OPTIONAL (void, cleanup_global, struct dt_iop_module_so_t *self)
 
 REQUIRED (const char *, name, void)
 
 DEFAULT (const char *, aliases, void)
 
 DEFAULT (int, default_group, void)
 
 DEFAULT (int, flags, void)
 
 DEFAULT (const char *, deprecated_msg, void)
 
 DEFAULT (int, iop_focus, struct dt_gui_module_t *module, gboolean toggle)
 
 DEFAULT (const char **, description, struct dt_iop_module_t *self)
 
 DEFAULT (int, operation_tags, void)
 
 DEFAULT (int, operation_tags_filter, void)
 
 DEFAULT (void, input_format, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, struct dt_iop_buffer_dsc_t *dsc)
 
 DEFAULT (void, output_format, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, struct dt_iop_buffer_dsc_t *dsc)
 
 REQUIRED (int, default_colorspace, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece)
 
 DEFAULT (int, blend_colorspace, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece)
 
 DEFAULT (void, tiling_callback, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, struct dt_develop_tiling_t *tiling)
 
 OPTIONAL (void, gui_update, struct dt_iop_module_t *self)
 
 OPTIONAL (void, gui_reset, struct dt_iop_module_t *self)
 
 OPTIONAL (void, gui_init, struct dt_iop_module_t *self)
 
 OPTIONAL (void, color_picker_apply, struct dt_iop_module_t *self, struct _GtkWidget *picker, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece)
 
 OPTIONAL (void, gui_changed, struct dt_iop_module_t *self, GtkWidget *widget, void *previous)
 
 DEFAULT (void, gui_cleanup, struct dt_iop_module_t *self)
 
 OPTIONAL (void, gui_post_expose, struct dt_iop_module_t *self, cairo_t *cr, int32_t width, int32_t height, int32_t pointerx, int32_t pointery)
 
 OPTIONAL (void, gui_focus, struct dt_iop_module_t *self, gboolean in)
 
 OPTIONAL (gboolean, module_will_remove, struct dt_iop_module_t *self)
 
 OPTIONAL (void, quiesce, struct dt_iop_module_t *self)
 
 OPTIONAL (int, mouse_leave, struct dt_iop_module_t *self)
 
 OPTIONAL (int, mouse_moved, struct dt_iop_module_t *self, double x, double y, double pressure, int which)
 
 OPTIONAL (int, button_released, struct dt_iop_module_t *self, double x, double y, int which, uint32_t state)
 
 OPTIONAL (int, button_pressed, struct dt_iop_module_t *self, double x, double y, double pressure, int which, int type, uint32_t state)
 
 OPTIONAL (int, key_pressed, struct dt_iop_module_t *self, GdkEventKey *event)
 
 OPTIONAL (int, scrolled, struct dt_iop_module_t *self, double x, double y, int up, uint32_t state)
 
 OPTIONAL (void, configure, struct dt_iop_module_t *self, int width, int height)
 
 OPTIONAL (void, init, struct dt_iop_module_t *self)
 
 DEFAULT (void, cleanup, struct dt_iop_module_t *self)
 
 DEFAULT (void, init_pipe, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece)
 
 DEFAULT (void, commit_params, struct dt_iop_module_t *self, dt_iop_params_t *params, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece)
 
 OPTIONAL (void, reload_defaults, struct dt_iop_module_t *self)
 
 DEFAULT (gboolean, has_defaults, struct dt_iop_module_t *self)
 
 DEFAULT (gboolean, runtime_data_hash, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece)
 
 OPTIONAL (gboolean, geometry_record, struct dt_iop_module_t *self, const void *params, struct dt_geometry_record_t *record)
 
 OPTIONAL (void, change_image, struct dt_iop_module_t *self)
 
 OPTIONAL (void, commit_proxy, struct dt_iop_module_t *self)
 
 DEFAULT (void, cleanup_pipe, struct dt_iop_module_t *self, struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece)
 
 OPTIONAL (void, modify_roi_in, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, const struct dt_iop_roi_t *roi_out, struct dt_iop_roi_t *roi_in)
 
 OPTIONAL (void, modify_roi_out, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, struct dt_iop_roi_t *roi_out, const struct dt_iop_roi_t *roi_in)
 
 OPTIONAL (int, legacy_params, struct dt_iop_module_t *self, const void *const old_params, const int old_version, void *new_params, const int new_version)
 
 OPTIONAL (void, masks_selection_changed, struct dt_iop_module_t *self, const int form_selected_id)
 
 REQUIRED (int, process, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, const void *const i, void *const o)
 
 DEFAULT (int, process_tiling, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, const void *const i, void *const o, const int bpp)
 
 OPTIONAL (int, process_cl, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, cl_mem dev_in, cl_mem dev_out)
 
 OPTIONAL (int, process_tiling_cl, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, const void *const i, void *const o, const int bpp)
 
 DEFAULT (int, distort_transform, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, float *points, size_t points_count)
 
 DEFAULT (int, distort_backtransform, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, float *points, size_t points_count)
 
 OPTIONAL (void, distort_mask, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, struct dt_dev_pixelpipe_iop_t *piece, const float *const in, float *const out, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out)
 
 OPTIONAL (int, introspection_init, struct dt_iop_module_so_t *self, int api_version)
 
 DEFAULT (dt_introspection_t *, get_introspection, void)
 
 DEFAULT (dt_introspection_field_t *, get_introspection_linear, void)
 
 DEFAULT (void *, get_p, const void *param, const char *name)
 
 DEFAULT (dt_introspection_field_t *, get_f, const char *name)
 
 OPTIONAL (void, set_preferences, void *menu, struct dt_iop_module_t *self)
 
 OPTIONAL (gboolean, force_enable, struct dt_iop_module_t *self, const gboolean current_state)
 
 OPTIONAL (void, post_history_commit, struct dt_iop_module_t *self)
 Callback to run after a module's history is commited. This is mostly useful to synchronize mask drawing events with internal module resynchronization of masks, since the drawing events directly trigger the history appending.
 
 OPTIONAL (int, populate_masks_context_menu, struct dt_iop_module_t *self, GtkWidget *menu, const int formid, const float pzx, const float pzy)
 
 OPTIONAL (void, autoset, struct dt_iop_module_t *self, const struct dt_dev_pixelpipe_t *pipe, const struct dt_dev_pixelpipe_iop_t *piece, const void *i)
 Used for modules to init their parameters based on actual input reading, while init_defaults() only reads metadata.
 

Function Documentation

◆ DEFAULT() [1/26]

DEFAULT ( const char **  ,
description  ,
struct dt_iop_module_t self 
)

get a descriptive text used for example in a tooltip in more modules

◆ DEFAULT() [2/26]

DEFAULT ( const char *  ,
aliases  ,
void   
)

get the alternative names or keywords of the module, to be translated. Separate variants by a pipe |

◆ DEFAULT() [3/26]

DEFAULT ( const char *  ,
deprecated_msg  ,
void   
)

get the deprecated message if needed, to be translated.

◆ DEFAULT() [4/26]

DEFAULT ( dt_introspection_field_t ,
get_f  ,
const char *  name 
)

◆ DEFAULT() [5/26]

DEFAULT ( dt_introspection_field_t ,
get_introspection_linear  ,
void   
)

◆ DEFAULT() [6/26]

DEFAULT ( dt_introspection_t ,
get_introspection  ,
void   
)

◆ DEFAULT() [7/26]

DEFAULT ( gboolean  ,
has_defaults  ,
struct dt_iop_module_t self 
)

check if params are set to defaults. Modules where defaults are partially or totally inited at runtime and where memcmp() wouldn't work can implement their own custom checks. Return TRUE if params are set to defaults.

◆ DEFAULT() [8/26]

DEFAULT ( gboolean  ,
runtime_data_hash  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece 
)

whether commit_params() seals extra effective runtime state into piece->data that must be part of the cache hash.

Returning TRUE makes dt_iop_commit_params() hash the first piece->data_size bytes of piece->data BLINDLY. Those bytes must therefore be CONTENT, and piece->data_size must stop before the first pointer in the struct – keep runtime pointers last and set piece->data_size = G_STRUCT_OFFSET(<data_t>, <first pointer>) in init_pipe(), as iop/colorbalancergb.c and iop/colorout.c both do.

A pointer in the hashed prefix is wrong in both directions, and the second one is silent: a re-allocation gives a new address for identical state, re-keying the whole downstream chain to recompute pixels that cannot have moved; and the allocator handing the SAME address back for different state makes the cache serve the previous state's pixels under the new key. That is issue #1145: colorout's rendering state moved behind an opaque pointer, its hashed prefix became an address, and every darkroom pipeline resync recomputed colorout, dither and gamma. A module whose state is opaque must have its owner publish an identity for it (dt_colorspaces_conversion_identity()) and hash THAT.

◆ DEFAULT() [9/26]

DEFAULT ( int  ,
blend_colorspace  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece 
)

what colorspace the blend module operates with?

◆ DEFAULT() [10/26]

DEFAULT ( int  ,
default_group  ,
void   
)

get the default group this module belongs to.

◆ DEFAULT() [11/26]

DEFAULT ( int  ,
distort_backtransform  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
float *  points,
size_t  points_count 
)

reverse points after the iop is applied => point before process

◆ DEFAULT() [12/26]

DEFAULT ( int  ,
distort_transform  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
float *  points,
size_t  points_count 
)

this functions are used for distort iop points is an array of float {x1,y1,x2,y2,...} size is 2*points_count points before the iop is applied => point after processed

◆ DEFAULT() [13/26]

DEFAULT ( int  ,
flags  ,
void   
)

get the iop module flags.

◆ DEFAULT() [14/26]

DEFAULT ( int  ,
iop_focus  ,
struct dt_gui_module_t module,
gboolean  toggle 
)

give focus to the current module and adapt other parts of the GUI if needed

◆ DEFAULT() [15/26]

DEFAULT ( int  ,
operation_tags  ,
void   
)

◆ DEFAULT() [16/26]

DEFAULT ( int  ,
operation_tags_filter  ,
void   
)

◆ DEFAULT() [17/26]

DEFAULT ( int  ,
process_tiling  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
const void *const  i,
void *const  o,
const int  bpp 
)

a tiling variant of process().

◆ DEFAULT() [18/26]

DEFAULT ( void ,
get_p  ,
const void param,
const char *  name 
)

◆ DEFAULT() [19/26]

DEFAULT ( void  ,
cleanup  ,
struct dt_iop_module_t self 
)

◆ DEFAULT() [20/26]

DEFAULT ( void  ,
cleanup_pipe  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece 
)

this destroys all resources needed by the piece of the pixelpipe.

◆ DEFAULT() [21/26]

DEFAULT ( void  ,
commit_params  ,
struct dt_iop_module_t self,
dt_iop_params_t params,
struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece 
)

this resets the params to factory defaults. used at the beginning of each history synch. this commits (a mutex will be locked to synch pipe/gui) the given history params to the pixelpipe piece.

◆ DEFAULT() [22/26]

DEFAULT ( void  ,
gui_cleanup  ,
struct dt_iop_module_t self 
)

destroy widget.

◆ DEFAULT() [23/26]

DEFAULT ( void  ,
init_pipe  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece 
)

this inits the piece of the pipe, allocing piece->data as necessary.

◆ DEFAULT() [24/26]

DEFAULT ( void  ,
input_format  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece,
struct dt_iop_buffer_dsc_t dsc 
)

what do the iop want as an input?

◆ DEFAULT() [25/26]

DEFAULT ( void  ,
output_format  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece,
struct dt_iop_buffer_dsc_t dsc 
)

what will it output?

◆ DEFAULT() [26/26]

DEFAULT ( void  ,
tiling_callback  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
struct dt_develop_tiling_t tiling 
)

report back info for tiling: memory usage and overlap. Memory usage: factor * input_size + overhead

◆ OPTIONAL() [1/37]

OPTIONAL ( gboolean  ,
force_enable  ,
struct dt_iop_module_t self,
const gboolean  current_state 
)

◆ OPTIONAL() [2/37]

OPTIONAL ( gboolean  ,
geometry_record  ,
struct dt_iop_module_t self,
const void params,
struct dt_geometry_record_t record 
)

Publish this module's geometry as data, for develop/geometry (the service that replaced the GUI's pixel-less clone of the pipeline – see doc/geometry-service.md).

Fill record's vtable/data and return TRUE; return FALSE (the default) for a module that does not change geometry. Called on the GUI thread.

params is THE SAME BLOB commit_params() is handed for this module – resolved from the history stack, or the module's defaults where the pipe would use those. It is not self->params: those are the GUI thread's live values, and dt_dev_add_history_item() is throttled, so between an edit and its commit they describe a geometry the pipes are not rendering. Read this argument, exactly as commit_params() reads its own.

THE ONE-CONSTRUCTOR RULE: whatever commit_params() derives for geometry and whatever the record carries must come from ONE shared helper, and the record's evaluators must be the same code distort_transform()/modify_roi_out() run. Two derivations of the same geometry drift, and the drift surfaces as an overlay that no longer sits on what it describes.

◆ OPTIONAL() [3/37]

OPTIONAL ( gboolean  ,
module_will_remove  ,
struct dt_iop_module_t self 
)

optional callback invoked before removing a module instance. Return FALSE to cancel the removal.

◆ OPTIONAL() [4/37]

OPTIONAL ( int  ,
button_pressed  ,
struct dt_iop_module_t self,
double  x,
double  y,
double  pressure,
int  which,
int  type,
uint32_t  state 
)

◆ OPTIONAL() [5/37]

OPTIONAL ( int  ,
button_released  ,
struct dt_iop_module_t self,
double  x,
double  y,
int  which,
uint32_t  state 
)

◆ OPTIONAL() [6/37]

OPTIONAL ( int  ,
introspection_init  ,
struct dt_iop_module_so_t self,
int  api_version 
)

◆ OPTIONAL() [7/37]

OPTIONAL ( int  ,
key_pressed  ,
struct dt_iop_module_t self,
GdkEventKey *  event 
)

◆ OPTIONAL() [8/37]

OPTIONAL ( int  ,
legacy_params  ,
struct dt_iop_module_t self,
const void *const  old_params,
const int  old_version,
void new_params,
const int  new_version 
)

◆ OPTIONAL() [9/37]

OPTIONAL ( int  ,
mouse_leave  ,
struct dt_iop_module_t self 
)

optional event callbacks

◆ OPTIONAL() [10/37]

OPTIONAL ( int  ,
mouse_moved  ,
struct dt_iop_module_t self,
double  x,
double  y,
double  pressure,
int  which 
)

◆ OPTIONAL() [11/37]

OPTIONAL ( int  ,
populate_masks_context_menu  ,
struct dt_iop_module_t self,
GtkWidget menu,
const int  formid,
const float  pzx,
const float  pzy 
)

◆ OPTIONAL() [12/37]

OPTIONAL ( int  ,
process_cl  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
cl_mem  dev_in,
cl_mem  dev_out 
)

◆ OPTIONAL() [13/37]

OPTIONAL ( int  ,
process_tiling_cl  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
const void *const  i,
void *const  o,
const int  bpp 
)

a tiling variant of process_cl().

◆ OPTIONAL() [14/37]

OPTIONAL ( int  ,
scrolled  ,
struct dt_iop_module_t self,
double  x,
double  y,
int  up,
uint32_t  state 
)

◆ OPTIONAL() [15/37]

OPTIONAL ( void  ,
autoset  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
const void i 
)

Used for modules to init their parameters based on actual input reading, while init_defaults() only reads metadata.

Parameters
self
pipe
piece
input

◆ OPTIONAL() [16/37]

OPTIONAL ( void  ,
change_image  ,
struct dt_iop_module_t self 
)

called after the image has changed in darkroom

◆ OPTIONAL() [17/37]

OPTIONAL ( void  ,
cleanup_global  ,
struct dt_iop_module_so_t self 
)

called once per module, at shutdown.

◆ OPTIONAL() [18/37]

OPTIONAL ( void  ,
color_picker_apply  ,
struct dt_iop_module_t self,
struct _GtkWidget *  picker,
struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece 
)

apply color picker results

◆ OPTIONAL() [19/37]

OPTIONAL ( void  ,
commit_proxy  ,
struct dt_iop_module_t self 
)

Publish module-derived state into dev->proxy (e.g. temperature's WB coeffs) on the GUI/main thread. Called after history is applied to params (dt_dev_pop_history_items_ext) and on every GUI history commit (dt_dev_add_history_item_real), i.e. always BEFORE any pipeline runs. dev->proxy is a GUI/main-thread inter-module channel; pipelines must never access it (neither read nor write) – the pipeline only needs module params.

◆ OPTIONAL() [20/37]

OPTIONAL ( void  ,
configure  ,
struct dt_iop_module_t self,
int  width,
int  height 
)

◆ OPTIONAL() [21/37]

OPTIONAL ( void  ,
distort_mask  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece,
const float *const  in,
float *const  out,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out 
)

◆ OPTIONAL() [22/37]

OPTIONAL ( void  ,
gui_changed  ,
struct dt_iop_module_t self,
GtkWidget widget,
void previous 
)

called by standard widget callbacks after value changed

◆ OPTIONAL() [23/37]

OPTIONAL ( void  ,
gui_focus  ,
struct dt_iop_module_t self,
gboolean  in 
)

optional callback to be notified if the module acquires gui focus/loses it.

◆ OPTIONAL() [24/37]

OPTIONAL ( void  ,
gui_init  ,
struct dt_iop_module_t self 
)

construct widget.

◆ OPTIONAL() [25/37]

OPTIONAL ( void  ,
gui_post_expose  ,
struct dt_iop_module_t self,
cairo_t *  cr,
int32_t  width,
int32_t  height,
int32_t  pointerx,
int32_t  pointery 
)

optional method called after darkroom expose.

◆ OPTIONAL() [26/37]

OPTIONAL ( void  ,
gui_reset  ,
struct dt_iop_module_t self 
)

reset ui to defaults

◆ OPTIONAL() [27/37]

OPTIONAL ( void  ,
gui_update  ,
struct dt_iop_module_t self 
)

callback methods for gui. synch gtk interface with gui params, if necessary.

◆ OPTIONAL() [28/37]

OPTIONAL ( void  ,
init  ,
struct dt_iop_module_t self 
)

◆ OPTIONAL() [29/37]

OPTIONAL ( void  ,
init_global  ,
struct dt_iop_module_so_t self 
)

called once per module, at startup.

◆ OPTIONAL() [30/37]

OPTIONAL ( void  ,
init_presets  ,
struct dt_iop_module_so_t self 
)

this initializes static, hardcoded presets for this module and is called only once per run of dt.

◆ OPTIONAL() [31/37]

OPTIONAL ( void  ,
masks_selection_changed  ,
struct dt_iop_module_t self,
const int  form_selected_id 
)

◆ OPTIONAL() [32/37]

OPTIONAL ( void  ,
modify_roi_in  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece,
const struct dt_iop_roi_t roi_out,
struct dt_iop_roi_t roi_in 
)

◆ OPTIONAL() [33/37]

OPTIONAL ( void  ,
modify_roi_out  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
struct dt_dev_pixelpipe_iop_t piece,
struct dt_iop_roi_t roi_out,
const struct dt_iop_roi_t roi_in 
)

◆ OPTIONAL() [34/37]

OPTIONAL ( void  ,
post_history_commit  ,
struct dt_iop_module_t self 
)

Callback to run after a module's history is commited. This is mostly useful to synchronize mask drawing events with internal module resynchronization of masks, since the drawing events directly trigger the history appending.

Parameters
self

◆ OPTIONAL() [35/37]

OPTIONAL ( void  ,
quiesce  ,
struct dt_iop_module_t self 
)

optional callback invoked on the GUI thread when leaving the darkroom view, BEFORE the pixelpipe nodes and history are torn down. A module that owns background threads still touching the pipe, dev or history (e.g. an asynchronous paint/commit worker) must stop/join them here so they cannot run a resync against freed pipeline nodes during teardown.

◆ OPTIONAL() [36/37]

OPTIONAL ( void  ,
reload_defaults  ,
struct dt_iop_module_t self 
)

this is the chance to update default parameters, after the full raw is loaded.

◆ OPTIONAL() [37/37]

OPTIONAL ( void  ,
set_preferences  ,
void menu,
struct dt_iop_module_t self 
)

◆ REQUIRED() [1/3]

REQUIRED ( const char *  ,
name  ,
void   
)

get name of the module, to be translated.

◆ REQUIRED() [2/3]

REQUIRED ( int  ,
default_colorspace  ,
struct dt_iop_module_t self,
struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece 
)

what default colorspace this iop use?

◆ REQUIRED() [3/3]

REQUIRED ( int  ,
process  ,
struct dt_iop_module_t self,
const struct dt_dev_pixelpipe_t pipe,
const struct dt_dev_pixelpipe_iop_t piece,
const void *const  i,
void *const  o 
)