![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/module_api.h"
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. | |
| DEFAULT | ( | const char ** | , |
| description | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
get a descriptive text used for example in a tooltip in more modules
get the alternative names or keywords of the module, to be translated. Separate variants by a pipe |
| DEFAULT | ( | const char * | , |
| deprecated_msg | , | ||
| void | |||
| ) |
get the deprecated message if needed, to be translated.
| DEFAULT | ( | dt_introspection_field_t * | , |
| get_f | , | ||
| const char * | name | ||
| ) |
| DEFAULT | ( | dt_introspection_field_t * | , |
| get_introspection_linear | , | ||
| void | |||
| ) |
| DEFAULT | ( | dt_introspection_t * | , |
| get_introspection | , | ||
| void | |||
| ) |
| 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 | ( | 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 | ( | 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 | ( | int | , |
| default_group | , | ||
| void | |||
| ) |
get the default group this module belongs to.
| 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 | ( | 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 | ( | 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 | ( | int | , |
| operation_tags | , | ||
| void | |||
| ) |
| DEFAULT | ( | int | , |
| operation_tags_filter | , | ||
| void | |||
| ) |
| 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 | ( | void | , |
| cleanup | , | ||
| 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 | ||
| ) |
this destroys all resources needed by the piece of the pixelpipe.
| 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 | ( | void | , |
| gui_cleanup | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
destroy widget.
| 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 | ( | 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 | ( | 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 | ( | 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 | ( | gboolean | , |
| force_enable | , | ||
| struct dt_iop_module_t * | self, | ||
| const gboolean | current_state | ||
| ) |
| 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 | ( | 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 | ( | int | , |
| button_pressed | , | ||
| struct dt_iop_module_t * | self, | ||
| double | x, | ||
| double | y, | ||
| double | pressure, | ||
| int | which, | ||
| int | type, | ||
| uint32_t | state | ||
| ) |
| OPTIONAL | ( | int | , |
| button_released | , | ||
| struct dt_iop_module_t * | self, | ||
| double | x, | ||
| double | y, | ||
| int | which, | ||
| uint32_t | state | ||
| ) |
| OPTIONAL | ( | int | , |
| introspection_init | , | ||
| struct dt_iop_module_so_t * | self, | ||
| int | api_version | ||
| ) |
| OPTIONAL | ( | int | , |
| key_pressed | , | ||
| struct dt_iop_module_t * | self, | ||
| GdkEventKey * | event | ||
| ) |
| 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 | ( | int | , |
| mouse_leave | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
optional event callbacks
| OPTIONAL | ( | int | , |
| mouse_moved | , | ||
| struct dt_iop_module_t * | self, | ||
| double | x, | ||
| double | y, | ||
| double | pressure, | ||
| int | which | ||
| ) |
| OPTIONAL | ( | int | , |
| populate_masks_context_menu | , | ||
| struct dt_iop_module_t * | self, | ||
| GtkWidget * | menu, | ||
| const int | formid, | ||
| const float | pzx, | ||
| const float | pzy | ||
| ) |
| 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 | ||
| ) |
a tiling variant of process_cl().
| OPTIONAL | ( | int | , |
| scrolled | , | ||
| struct dt_iop_module_t * | self, | ||
| double | x, | ||
| double | y, | ||
| int | up, | ||
| uint32_t | state | ||
| ) |
| 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.
| self | |
| pipe | |
| piece | |
| input |
| OPTIONAL | ( | void | , |
| change_image | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
called after the image has changed in darkroom
| OPTIONAL | ( | void | , |
| cleanup_global | , | ||
| struct dt_iop_module_so_t * | self | ||
| ) |
called once per module, at shutdown.
| 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 | ( | 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 | ( | void | , |
| configure | , | ||
| struct dt_iop_module_t * | self, | ||
| int | width, | ||
| int | height | ||
| ) |
| 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 | ( | void | , |
| gui_changed | , | ||
| struct dt_iop_module_t * | self, | ||
| GtkWidget * | widget, | ||
| void * | previous | ||
| ) |
called by standard widget callbacks after value changed
| 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 | ( | void | , |
| gui_init | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
construct widget.
| 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 | ( | void | , |
| gui_reset | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
reset ui to defaults
| OPTIONAL | ( | void | , |
| gui_update | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
callback methods for gui. synch gtk interface with gui params, if necessary.
| OPTIONAL | ( | void | , |
| init | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
| OPTIONAL | ( | void | , |
| init_global | , | ||
| struct dt_iop_module_so_t * | self | ||
| ) |
called once per module, at startup.
| 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 | ( | void | , |
| masks_selection_changed | , | ||
| struct dt_iop_module_t * | self, | ||
| const int | form_selected_id | ||
| ) |
| 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 | ( | 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.
| self |
| 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 | ( | void | , |
| reload_defaults | , | ||
| struct dt_iop_module_t * | self | ||
| ) |
this is the chance to update default parameters, after the full raw is loaded.
| OPTIONAL | ( | void | , |
| set_preferences | , | ||
| void * | menu, | ||
| struct dt_iop_module_t * | self | ||
| ) |
| 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 | ( | 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 | ||
| ) |