Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
develop.h File Reference
#include <cairo.h>
#include <glib.h>
#include <inttypes.h>
#include <stdint.h>
#include "common/debug.h"
#include "common/darktable.h"
#include "common/dtpthread.h"
#include "common/image.h"
#include "control/settings.h"
#include "develop/imageop.h"
#include "develop/dev_history.h"
+ Include dependency graph for develop.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_dev_proxy_exposure_t
 
struct  dt_backbuf_t
 
struct  dt_develop_t
 

Macros

#define dt_dev_refresh_ui_images(dev)   DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_refresh_ui_images_real, (dev))
 
#define dt_dev_invalidate(dev)   DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_real, (dev))
 
#define dt_dev_invalidate_preview(dev)   DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_preview_real, (dev))
 
#define dt_dev_invalidate_all(dev)   DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_all_real, (dev))
 
#define dt_dev_invalidate_zoom(dev)   DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_zoom_real, (dev))
 
#define dt_dev_configure(dev, wd, ht)   DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_configure_real, (dev), (wd), (ht))
 

Typedefs

typedef enum dt_dev_overexposed_colorscheme_t dt_dev_overexposed_colorscheme_t
 
typedef enum dt_dev_overlay_colors_t dt_dev_overlay_colors_t
 
typedef enum dt_dev_rawoverexposed_mode_t dt_dev_rawoverexposed_mode_t
 
typedef enum dt_dev_rawoverexposed_colorscheme_t dt_dev_rawoverexposed_colorscheme_t
 
typedef enum dt_dev_transform_direction_t dt_dev_transform_direction_t
 
typedef enum dt_dev_pixelpipe_display_mask_t dt_dev_pixelpipe_display_mask_t
 
typedef enum dt_develop_detail_mmask_t dt_develop_detail_mask_t
 
typedef enum dt_clipping_preview_mode_t dt_clipping_preview_mode_t
 
typedef struct dt_dev_proxy_exposure_t dt_dev_proxy_exposure_t
 
typedef struct dt_backbuf_t dt_backbuf_t
 
typedef struct dt_develop_t dt_develop_t
 

Enumerations

enum  dt_dev_overexposed_colorscheme_t {
  DT_DEV_OVEREXPOSED_BLACKWHITE = 0 ,
  DT_DEV_OVEREXPOSED_REDBLUE = 1 ,
  DT_DEV_OVEREXPOSED_PURPLEGREEN = 2
}
 
enum  dt_dev_overlay_colors_t {
  DT_DEV_OVERLAY_GRAY = 0 ,
  DT_DEV_OVERLAY_RED = 1 ,
  DT_DEV_OVERLAY_GREEN = 2 ,
  DT_DEV_OVERLAY_YELLOW = 3 ,
  DT_DEV_OVERLAY_CYAN = 4 ,
  DT_DEV_OVERLAY_MAGENTA = 5
}
 
enum  dt_dev_rawoverexposed_mode_t {
  DT_DEV_RAWOVEREXPOSED_MODE_MARK_CFA = 0 ,
  DT_DEV_RAWOVEREXPOSED_MODE_MARK_SOLID = 1 ,
  DT_DEV_RAWOVEREXPOSED_MODE_FALSECOLOR = 2
}
 
enum  dt_dev_rawoverexposed_colorscheme_t {
  DT_DEV_RAWOVEREXPOSED_RED = 0 ,
  DT_DEV_RAWOVEREXPOSED_GREEN = 1 ,
  DT_DEV_RAWOVEREXPOSED_BLUE = 2 ,
  DT_DEV_RAWOVEREXPOSED_BLACK = 3
}
 
enum  dt_dev_transform_direction_t {
  DT_DEV_TRANSFORM_DIR_ALL = 0 ,
  DT_DEV_TRANSFORM_DIR_FORW_INCL = 1 ,
  DT_DEV_TRANSFORM_DIR_FORW_EXCL = 2 ,
  DT_DEV_TRANSFORM_DIR_BACK_INCL = 3 ,
  DT_DEV_TRANSFORM_DIR_BACK_EXCL = 4
}
 
enum  dt_dev_pixelpipe_display_mask_t {
  DT_DEV_PIXELPIPE_DISPLAY_NONE = 0 ,
  DT_DEV_PIXELPIPE_DISPLAY_MASK = 1 << 0 ,
  DT_DEV_PIXELPIPE_DISPLAY_CHANNEL = 1 << 1 ,
  DT_DEV_PIXELPIPE_DISPLAY_OUTPUT = 1 << 2 ,
  DT_DEV_PIXELPIPE_DISPLAY_L = 1 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_a = 2 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_b = 3 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_R = 4 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_G = 5 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_B = 6 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_GRAY = 7 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_LCH_C = 8 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_LCH_h = 9 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_HSL_H = 10 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_HSL_S = 11 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_HSL_l = 12 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz = 13 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz = 14 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz = 15 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU = 16 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU_MONO = 17 << 3 ,
  DT_DEV_PIXELPIPE_DISPLAY_ANY = 0xff << 2 ,
  DT_DEV_PIXELPIPE_DISPLAY_STICKY = 1 << 16
}
 
enum  dt_develop_detail_mmask_t {
  DT_DEV_DETAIL_MASK_NONE = 0 ,
  DT_DEV_DETAIL_MASK_REQUIRED = 1 ,
  DT_DEV_DETAIL_MASK_DEMOSAIC = 2 ,
  DT_DEV_DETAIL_MASK_RAWPREPARE = 4
}
 
enum  dt_clipping_preview_mode_t {
  DT_CLIPPING_PREVIEW_GAMUT = 0 ,
  DT_CLIPPING_PREVIEW_ANYRGB = 1 ,
  DT_CLIPPING_PREVIEW_LUMINANCE = 2 ,
  DT_CLIPPING_PREVIEW_SATURATION = 3
}
 

Functions

void dt_dev_init (dt_develop_t *dev, int32_t gui_attached)
 
void dt_dev_cleanup (dt_develop_t *dev)
 
void dt_dev_process_image_job (dt_develop_t *dev)
 
void dt_dev_process_preview_job (dt_develop_t *dev)
 
void dt_dev_process_image (dt_develop_t *dev)
 
void dt_dev_process_preview (dt_develop_t *dev)
 
void dt_dev_refresh_ui_images_real (dt_develop_t *dev)
 
int dt_dev_load_image (dt_develop_t *dev, const int32_t imgid)
 
int dt_dev_is_current_image (dt_develop_t *dev, int32_t imgid)
 
void dt_dev_pixelpipe_rebuild (struct dt_develop_t *dev)
 
void dt_dev_invalidate_real (dt_develop_t *dev)
 
void dt_dev_invalidate_preview_real (dt_develop_t *dev)
 
void dt_dev_invalidate_all_real (dt_develop_t *dev)
 
void dt_dev_invalidate_zoom_real (dt_develop_t *dev)
 
void dt_dev_pixelpipe_resync_all (dt_develop_t *dev)
 
void dt_dev_pixelpipe_resync_main (dt_develop_t *dev)
 
void dt_dev_pixelpipe_resync_preview (dt_develop_t *dev)
 
void dt_dev_reprocess_all (dt_develop_t *dev)
 
void dt_dev_get_processed_size (const dt_develop_t *dev, int *procw, int *proch)
 
void dt_dev_check_zoom_bounds (dt_develop_t *dev, float *zoom_x, float *zoom_y, dt_dev_zoom_t zoom, int closeup, float *boxw, float *boxh)
 
float dt_dev_get_zoom_scale (dt_develop_t *dev, dt_dev_zoom_t zoom, int closeup_factor, int mode)
 
void dt_dev_get_pointer_zoom_pos (dt_develop_t *dev, const float px, const float py, float *zoom_x, float *zoom_y)
 
void dt_dev_configure_real (dt_develop_t *dev, int wd, int ht)
 
float dt_dev_exposure_get_exposure (dt_develop_t *dev)
 
float dt_dev_exposure_get_black (dt_develop_t *dev)
 
void dt_dev_modulegroups_switch (dt_develop_t *dev, struct dt_iop_module_t *module)
 
void dt_dev_modulegroups_update_visibility (dt_develop_t *dev)
 
void dt_dev_modulegroups_set (dt_develop_t *dev, uint32_t group)
 
uint32_t dt_dev_modulegroups_get (dt_develop_t *dev)
 
void dt_dev_reorder_gui_module_list (dt_develop_t *dev)
 
void dt_dev_snapshot_request (dt_develop_t *dev, const char *filename)
 
void dt_dev_average_delay_update (const dt_times_t *start, uint32_t *average_delay)
 
void dt_dev_masks_list_change (dt_develop_t *dev)
 
void dt_dev_masks_list_update (dt_develop_t *dev)
 
void dt_dev_masks_list_remove (dt_develop_t *dev, int formid, int parentid)
 
void dt_dev_masks_selection_change (dt_develop_t *dev, struct dt_iop_module_t *module, const int selectid, const int throw_event)
 
void dt_dev_masks_update_hash (dt_develop_t *dev)
 
struct dt_iop_module_tdt_dev_module_duplicate (dt_develop_t *dev, struct dt_iop_module_t *base)
 
void dt_dev_module_remove (dt_develop_t *dev, struct dt_iop_module_t *module)
 
void dt_dev_modules_update_multishow (dt_develop_t *dev)
 
gchar * dt_history_item_get_name (const struct dt_iop_module_t *module)
 
gchar * dt_history_item_get_name_html (const struct dt_iop_module_t *module)
 
gchar * dt_history_item_get_label (const struct dt_iop_module_t *module)
 
int dt_dev_distort_transform (dt_develop_t *dev, float *points, size_t points_count)
 
int dt_dev_distort_backtransform (dt_develop_t *dev, float *points, size_t points_count)
 
int dt_dev_distort_transform_plus (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
 
int dt_dev_distort_transform_locked (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
 
int dt_dev_distort_backtransform_plus (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
 
int dt_dev_distort_backtransform_locked (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
 
struct dt_dev_pixelpipe_iop_tdt_dev_distort_get_iop_pipe (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, struct dt_iop_module_t *module)
 
uint64_t dt_dev_hash (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe)
 
int dt_dev_wait_hash (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, dt_pthread_mutex_t *lock, const volatile uint64_t *const hash)
 
int dt_dev_sync_pixelpipe_hash (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, dt_pthread_mutex_t *lock, const volatile uint64_t *const hash)
 
void dt_dev_undo_start_record (dt_develop_t *dev)
 
void dt_dev_undo_end_record (dt_develop_t *dev)
 
gboolean dt_masks_get_lock_mode (dt_develop_t *dev)
 
void dt_masks_set_lock_mode (dt_develop_t *dev, gboolean mode)
 
guint dt_dev_mask_history_overload (GList *dev_history, guint threshold)
 
void dt_dev_append_changed_tag (const int32_t imgid)
 
void dt_dev_get_final_size (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, const int32_t imgid, const int input_width, const int input_height, int *processed_width, int *processed_height)
 Compute the theoritical final size of a pipeline taking the full-resolution image at input.
 

Macro Definition Documentation

◆ dt_dev_configure

#define dt_dev_configure (   dev,
  wd,
  ht 
)    DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_configure_real, (dev), (wd), (ht))

◆ dt_dev_invalidate

#define dt_dev_invalidate (   dev)    DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_real, (dev))

◆ dt_dev_invalidate_all

#define dt_dev_invalidate_all (   dev)    DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_all_real, (dev))

◆ dt_dev_invalidate_preview

#define dt_dev_invalidate_preview (   dev)    DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_preview_real, (dev))

◆ dt_dev_invalidate_zoom

#define dt_dev_invalidate_zoom (   dev)    DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_invalidate_zoom_real, (dev))

◆ dt_dev_refresh_ui_images

#define dt_dev_refresh_ui_images (   dev)    DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_refresh_ui_images_real, (dev))

Typedef Documentation

◆ dt_backbuf_t

typedef struct dt_backbuf_t dt_backbuf_t

◆ dt_clipping_preview_mode_t

◆ dt_dev_overexposed_colorscheme_t

◆ dt_dev_overlay_colors_t

◆ dt_dev_pixelpipe_display_mask_t

◆ dt_dev_proxy_exposure_t

◆ dt_dev_rawoverexposed_colorscheme_t

◆ dt_dev_rawoverexposed_mode_t

◆ dt_dev_transform_direction_t

◆ dt_develop_detail_mask_t

◆ dt_develop_t

typedef struct dt_develop_t dt_develop_t

Enumeration Type Documentation

◆ dt_clipping_preview_mode_t

Enumerator
DT_CLIPPING_PREVIEW_GAMUT 
DT_CLIPPING_PREVIEW_ANYRGB 
DT_CLIPPING_PREVIEW_LUMINANCE 
DT_CLIPPING_PREVIEW_SATURATION 

◆ dt_dev_overexposed_colorscheme_t

Enumerator
DT_DEV_OVEREXPOSED_BLACKWHITE 
DT_DEV_OVEREXPOSED_REDBLUE 
DT_DEV_OVEREXPOSED_PURPLEGREEN 

◆ dt_dev_overlay_colors_t

Enumerator
DT_DEV_OVERLAY_GRAY 
DT_DEV_OVERLAY_RED 
DT_DEV_OVERLAY_GREEN 
DT_DEV_OVERLAY_YELLOW 
DT_DEV_OVERLAY_CYAN 
DT_DEV_OVERLAY_MAGENTA 

◆ dt_dev_pixelpipe_display_mask_t

Enumerator
DT_DEV_PIXELPIPE_DISPLAY_NONE 
DT_DEV_PIXELPIPE_DISPLAY_MASK 
DT_DEV_PIXELPIPE_DISPLAY_CHANNEL 
DT_DEV_PIXELPIPE_DISPLAY_OUTPUT 
DT_DEV_PIXELPIPE_DISPLAY_L 
DT_DEV_PIXELPIPE_DISPLAY_a 
DT_DEV_PIXELPIPE_DISPLAY_b 
DT_DEV_PIXELPIPE_DISPLAY_R 
DT_DEV_PIXELPIPE_DISPLAY_G 
DT_DEV_PIXELPIPE_DISPLAY_B 
DT_DEV_PIXELPIPE_DISPLAY_GRAY 
DT_DEV_PIXELPIPE_DISPLAY_LCH_C 
DT_DEV_PIXELPIPE_DISPLAY_LCH_h 
DT_DEV_PIXELPIPE_DISPLAY_HSL_H 
DT_DEV_PIXELPIPE_DISPLAY_HSL_S 
DT_DEV_PIXELPIPE_DISPLAY_HSL_l 
DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz 
DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz 
DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz 
DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU 
DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU_MONO 
DT_DEV_PIXELPIPE_DISPLAY_ANY 
DT_DEV_PIXELPIPE_DISPLAY_STICKY 

◆ dt_dev_rawoverexposed_colorscheme_t

Enumerator
DT_DEV_RAWOVEREXPOSED_RED 
DT_DEV_RAWOVEREXPOSED_GREEN 
DT_DEV_RAWOVEREXPOSED_BLUE 
DT_DEV_RAWOVEREXPOSED_BLACK 

◆ dt_dev_rawoverexposed_mode_t

Enumerator
DT_DEV_RAWOVEREXPOSED_MODE_MARK_CFA 
DT_DEV_RAWOVEREXPOSED_MODE_MARK_SOLID 
DT_DEV_RAWOVEREXPOSED_MODE_FALSECOLOR 

◆ dt_dev_transform_direction_t

Enumerator
DT_DEV_TRANSFORM_DIR_ALL 
DT_DEV_TRANSFORM_DIR_FORW_INCL 
DT_DEV_TRANSFORM_DIR_FORW_EXCL 
DT_DEV_TRANSFORM_DIR_BACK_INCL 
DT_DEV_TRANSFORM_DIR_BACK_EXCL 

◆ dt_develop_detail_mmask_t

Enumerator
DT_DEV_DETAIL_MASK_NONE 
DT_DEV_DETAIL_MASK_REQUIRED 
DT_DEV_DETAIL_MASK_DEMOSAIC 
DT_DEV_DETAIL_MASK_RAWPREPARE 

Function Documentation

◆ dt_dev_append_changed_tag()

◆ dt_dev_average_delay_update()

void dt_dev_average_delay_update ( const dt_times_t start,
uint32_t *  average_delay 
)

update gliding average for pixelpipe delay

References dt_times_t::clock, DT_DEV_AVERAGE_DELAY_COUNT, and dt_get_times().

Referenced by dt_dev_process_image_job(), and dt_dev_process_preview_job().

◆ dt_dev_check_zoom_bounds()

void dt_dev_check_zoom_bounds ( dt_develop_t dev,
float *  zoom_x,
float *  zoom_y,
dt_dev_zoom_t  zoom,
int  closeup,
float *  boxw,
float *  boxh 
)

◆ dt_dev_cleanup()

◆ dt_dev_configure_real()

◆ dt_dev_distort_backtransform()

◆ dt_dev_distort_backtransform_locked()

int dt_dev_distort_backtransform_locked ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe,
const double  iop_order,
const int  transf_direction,
float *  points,
size_t  points_count 
)

◆ dt_dev_distort_backtransform_plus()

int dt_dev_distort_backtransform_plus ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe,
const double  iop_order,
const int  transf_direction,
float *  points,
size_t  points_count 
)

◆ dt_dev_distort_get_iop_pipe()

◆ dt_dev_distort_transform()

int dt_dev_distort_transform ( dt_develop_t dev,
float *  points,
size_t  points_count 
)

apply all transforms to the specified points (in preview pipe space)

References dt_dev_distort_transform_plus(), DT_DEV_TRANSFORM_DIR_ALL, and dt_develop_t::preview_pipe.

Referenced by _circle_get_points(), _ellipse_get_points(), and _gradient_get_points().

◆ dt_dev_distort_transform_locked()

int dt_dev_distort_transform_locked ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe,
const double  iop_order,
const int  transf_direction,
float *  points,
size_t  points_count 
)

◆ dt_dev_distort_transform_plus()

◆ dt_dev_exposure_get_black()

float dt_dev_exposure_get_black ( dt_develop_t dev)

get exposure black level

References find_last_exposure_instance(), and dt_dev_proxy_exposure_t::get_black.

Referenced by _extract_patches().

◆ dt_dev_exposure_get_exposure()

float dt_dev_exposure_get_exposure ( dt_develop_t dev)

◆ dt_dev_get_final_size()

void dt_dev_get_final_size ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe,
const int32_t  imgid,
const int  input_width,
const int  input_height,
int *  processed_width,
int *  processed_height 
)

Compute the theoritical final size of a pipeline taking the full-resolution image at input.

Note: this creates a dummy pipeline and develop but doesn't trigger file I/O.

Parameters
devAn inited develop object, with dev->iop and dev->history already populated. Can be NULL, in which case a temporary develop is created from scratch (slower).
pipeAn inited pipeline object, with pipe->iwidth and pipe->iheight already set and pipeline pieces params already synchronized. Can be NULL, in which case a temporary pipeline is created from scratch (slower).
imgid
input_widthNot used if pipe is not NULL, will use pipe->iwidth
input_heightNot used if pipe is not NULL, will use pipe->iheight
processed_widthreturned computed value
processed_heightreturned computed value

References darktable, dt_dev_cleanup(), dt_dev_init(), dt_dev_pixelpipe_cleanup(), dt_dev_pixelpipe_create_nodes(), dt_dev_pixelpipe_get_roi_out(), dt_dev_pixelpipe_init_dummy(), dt_dev_pixelpipe_set_input(), dt_dev_pixelpipe_synch_all, dt_dev_read_history_ext(), dt_get_times(), dt_image_cache_get(), dt_image_cache_read_release(), dt_iop_load_modules(), DT_MIPMAP_NONE, dt_show_times(), FALSE, darktable_t::image_cache, dt_develop_t::image_storage, dt_develop_t::iop, and TRUE.

Referenced by dt_imageio_export_with_flags().

◆ dt_dev_get_pointer_zoom_pos()

◆ dt_dev_get_processed_size()

◆ dt_dev_get_zoom_scale()

◆ dt_dev_hash()

uint64_t dt_dev_hash ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe 
)

Get the global hash of the last module in pipe

Todo:
: this should have its own hash

References dt_dev_pixelpipe_iop_t::global_hash, dt_pixel_cache_entry_t::hash, and dt_dev_pixelpipe_t::nodes.

Referenced by commit_params_late(), dt_dev_wait_hash(), gui_post_expose(), process(), and process_drago().

◆ dt_dev_init()

void dt_dev_init ( dt_develop_t dev,
int32_t  gui_attached 
)
Todo:
: these are uint32_t, setting to -1 is confusing

References dt_develop_t::allforms, dt_develop_t::alliop, dt_develop_t::allprofile_info, dt_develop_t::auto_save_timeout, dt_develop_t::average_delay, dt_backbuf_t::bpp, dt_backbuf_t::buffer, dt_develop_t::chroma_adaptation, dt_develop_t::colorscheme, dt_develop_t::darkroom_skip_mouse_events, dt_develop_t::display_histogram, dt_develop_t::drawing_timeout, dt_conf_get_float(), dt_conf_get_int(), DT_DEV_AVERAGE_DELAY_START, dt_dev_pixelpipe_init(), dt_dev_pixelpipe_init_preview(), DT_DEV_PREVIEW_AVERAGE_DELAY_START, dt_image_init(), dt_pthread_mutex_init(), dt_develop_t::enabled, dt_develop_t::exit, dt_develop_t::exposure, FALSE, dt_develop_t::form_gui, dt_develop_t::form_visible, dt_develop_t::forms, dt_develop_t::forms_changed, dt_develop_t::forms_hash, dt_develop_t::gui_attached, dt_develop_t::gui_module, dt_backbuf_t::hash, dt_backbuf_t::height, dt_develop_t::height, dt_develop_t::histogram_pre_levels, dt_develop_t::histogram_pre_levels_max, dt_develop_t::histogram_pre_tonecurve, dt_develop_t::histogram_pre_tonecurve_max, dt_develop_t::history, dt_develop_t::history_end, dt_develop_t::history_hash, dt_develop_t::history_mutex, dt_develop_t::image_invalid_cnt, dt_develop_t::image_storage, dt_develop_t::iop, dt_develop_t::iop_instance, dt_develop_t::iop_order_list, dt_develop_t::iop_order_version, dt_develop_t::iso_12646, dt_develop_t::lower, dt_develop_t::mask_lock, dt_develop_t::mode, dt_backbuf_t::op, dt_develop_t::output_histogram, dt_develop_t::overexposed, dt_develop_t::pipe, dt_develop_t::preview_average_delay, dt_develop_t::preview_pipe, dt_develop_t::proxy, dt_develop_t::raw_histogram, dt_develop_t::rawoverexposed, dt_develop_t::threshold, TRUE, dt_develop_t::upper, dt_develop_t::wb_coeffs, dt_develop_t::wb_is_D65, dt_backbuf_t::width, and dt_develop_t::width.

Referenced by _history_copy_and_paste_on_image_merge(), dt_dev_get_final_size(), dt_focus_draw_clusters(), dt_imageio_export_with_flags(), dt_styles_apply_to_image(), and init().

◆ dt_dev_invalidate_all_real()

◆ dt_dev_invalidate_preview_real()

◆ dt_dev_invalidate_real()

◆ dt_dev_invalidate_zoom_real()

◆ dt_dev_is_current_image()

int dt_dev_is_current_image ( dt_develop_t dev,
int32_t  imgid 
)

checks if provided imgid is the image currently in develop

References dt_image_t::id, and dt_develop_t::image_storage.

Referenced by dt_styles_apply_to_image().

◆ dt_dev_load_image()

◆ dt_dev_mask_history_overload()

guint dt_dev_mask_history_overload ( GList *  dev_history,
guint  threshold 
)

◆ dt_dev_masks_list_change()

void dt_dev_masks_list_change ( dt_develop_t dev)

◆ dt_dev_masks_list_remove()

void dt_dev_masks_list_remove ( dt_develop_t dev,
int  formid,
int  parentid 
)

◆ dt_dev_masks_list_update()

void dt_dev_masks_list_update ( dt_develop_t dev)

◆ dt_dev_masks_selection_change()

◆ dt_dev_masks_update_hash()

◆ dt_dev_module_duplicate()

◆ dt_dev_module_remove()

◆ dt_dev_modulegroups_get()

◆ dt_dev_modulegroups_set()

◆ dt_dev_modulegroups_switch()

void dt_dev_modulegroups_switch ( dt_develop_t dev,
struct dt_iop_module_t module 
)

◆ dt_dev_modulegroups_update_visibility()

void dt_dev_modulegroups_update_visibility ( dt_develop_t dev)

◆ dt_dev_modules_update_multishow()

◆ dt_dev_pixelpipe_rebuild()

◆ dt_dev_pixelpipe_resync_all()

◆ dt_dev_pixelpipe_resync_main()

◆ dt_dev_pixelpipe_resync_preview()

◆ dt_dev_process_image()

◆ dt_dev_process_image_job()

void dt_dev_process_image_job ( dt_develop_t dev)

References _flag_pipe(), _update_darkroom_roi(), _update_gui_backbuf(), dt_develop_t::average_delay, dt_dev_pixelpipe_t::backbuf_scale, dt_dev_pixelpipe_t::backbuf_zoom_x, dt_dev_pixelpipe_t::backbuf_zoom_y, dt_mipmap_buffer_t::buf, dt_dev_pixelpipe_t::busy_mutex, dt_dev_pixelpipe_t::changed, darktable, dt_atomic_set_int(), dt_control_log_busy_enter(), dt_control_log_busy_leave(), dt_control_queue_redraw_center(), dt_control_toast_busy_enter(), dt_control_toast_busy_leave(), DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_DEBUG_DEV, dt_dev_average_delay_update(), DT_DEV_PIPE_REMOVE, dt_dev_pixelpipe_cache_flush(), dt_dev_pixelpipe_change(), DT_DEV_PIXELPIPE_DIRTY, dt_dev_pixelpipe_has_reentry(), dt_dev_pixelpipe_process(), dt_dev_pixelpipe_reset_reentry(), dt_dev_pixelpipe_set_input(), DT_DEV_PIXELPIPE_UNDEF, DT_DEV_PIXELPIPE_VALID, dt_get_times(), dt_iop_nap(), DT_MIPMAP_BLOCKING, dt_mipmap_cache_get, dt_mipmap_cache_release, DT_MIPMAP_FULL, dt_print(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_show_times(), DT_SIGNAL_DEVELOP_UI_PIPE_FINISHED, dt_develop_t::exit, FALSE, dt_mipmap_buffer_t::height, dt_develop_t::height, dt_image_t::id, dt_develop_t::image_invalid_cnt, dt_develop_t::image_storage, darktable_t::mipmap_cache, dt_develop_t::pipe, darktable_t::pixelpipe_cache, dt_dev_pixelpipe_t::processing, dt_dev_pixelpipe_t::running, dt_dev_pixelpipe_t::shutdown, darktable_t::signals, dt_dev_pixelpipe_t::status, dt_dev_pixelpipe_t::type, dt_mipmap_buffer_t::width, and dt_develop_t::width.

Referenced by dt_dev_process_image_job_run().

◆ dt_dev_process_preview()

◆ dt_dev_process_preview_job()

◆ dt_dev_refresh_ui_images_real()

◆ dt_dev_reorder_gui_module_list()

void dt_dev_reorder_gui_module_list ( dt_develop_t dev)

◆ dt_dev_reprocess_all()

◆ dt_dev_snapshot_request()

void dt_dev_snapshot_request ( dt_develop_t dev,
const char *  filename 
)

◆ dt_dev_sync_pixelpipe_hash()

int dt_dev_sync_pixelpipe_hash ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe,
const double  iop_order,
const int  transf_direction,
dt_pthread_mutex_t *  lock,
const volatile uint64_t *const  hash 
)

synchronize pixelpipe by means hash values by waiting with timeout and potential reprocessing FIXME: modules that need to resync internal data with pipeline should listen to the PREVIEW_PIPE_RECOMPUTED signal. This function relies on timeouts, waiting for the pipe to finish, and the exception is not caught if the timeout expires with no result.

References dt_dev_pixelpipe_t::changed, dt_dev_invalidate, DT_DEV_PIPE_REMOVE, DT_DEV_PIPE_SYNCH, DT_DEV_PIPE_TOP_CHANGED, dt_dev_wait_hash(), FALSE, dt_pixel_cache_entry_t::hash, dt_pixel_cache_entry_t::lock, and TRUE.

Referenced by commit_params_late(), process(), and process_drago().

◆ dt_dev_undo_end_record()

◆ dt_dev_undo_start_record()

◆ dt_dev_wait_hash()

int dt_dev_wait_hash ( dt_develop_t dev,
struct dt_dev_pixelpipe_t pipe,
const double  iop_order,
const int  transf_direction,
dt_pthread_mutex_t *  lock,
const volatile uint64_t *const  hash 
)

◆ dt_history_item_get_label()

gchar * dt_history_item_get_label ( const struct dt_iop_module_t module)

generate item multi-instance name with mnemonics, for Gtk labels

References dt_iop_module_t::multi_name.

Referenced by _iop_panel_label().

◆ dt_history_item_get_name()

gchar * dt_history_item_get_name ( const struct dt_iop_module_t module)

◆ dt_history_item_get_name_html()

gchar * dt_history_item_get_name_html ( const struct dt_iop_module_t module)

◆ dt_masks_get_lock_mode()

◆ dt_masks_set_lock_mode()