516 const int64_t hash,
const int64_t history_hash);
568#define dt_dev_configure(dev, wd, ht) DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_configure_real, (dev), (wd), (ht))
633 float *points,
size_t points_count);
636 const int transf_direction,
float *points,
size_t points_count);
639 float *points,
size_t points_count);
uint64_t dt_atomic_get_uint64(const dt_atomic_uint64 *var)
void dt_atomic_set_uint64(dt_atomic_uint64 *var, uint64_t value)
int width
Definition bilateral.h:1
int height
Definition bilateral.h:1
static const float scaling
Definition chromatic_adaptation.h:293
const float threshold
Definition colorspaces_inline_conversions.h:176
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
void dt_dev_signal_modules_moved(dt_develop_t *dev)
Definition develop.c:1470
void dt_dev_masks_list_change(dt_develop_t *dev)
Definition develop.c:1050
void dt_dev_coordinates_image_abs_to_image_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:952
float dt_dev_get_natural_scale(dt_develop_t *dev)
Definition develop.c:1559
void dt_dev_get_processed_size(const dt_develop_t *dev, int *procw, int *proch)
Definition develop.c:856
static uint64_t dt_dev_get_history_hash(const dt_develop_t *dev)
Definition develop.h:473
int dt_dev_distort_transform_plus(const struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
void dt_masks_set_lock_mode(dt_develop_t *dev, gboolean mode)
Definition develop.c:1511
dt_dev_overexposed_colorscheme_t
Definition develop.h:71
@ DT_DEV_OVEREXPOSED_PURPLEGREEN
Definition develop.h:74
@ DT_DEV_OVEREXPOSED_REDBLUE
Definition develop.h:73
@ DT_DEV_OVEREXPOSED_BLACKWHITE
Definition develop.h:72
void dt_dev_coordinates_preview_abs_to_image_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:1022
int dt_dev_get_thumbnail_size(dt_develop_t *dev)
Definition develop.c:298
int dt_dev_coordinates_raw_abs_to_image_abs(dt_develop_t *dev, float *points, size_t points_count)
Definition develop.c:1387
void dt_dev_coordinates_raw_norm_to_raw_abs(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:986
void dt_dev_get_widget_center(const dt_develop_t *dev, float *point)
Get the center of the darkroom widget in logical coordinates.
Definition develop.c:1585
float dt_dev_get_widget_zoom_scale(const dt_develop_t *dev, float scaling)
Convert a darkroom scaling factor to GUI logical zoom.
Definition develop.c:1579
void dt_dev_cleanup(dt_develop_t *dev)
Definition develop.c:187
void dt_dev_module_remove(dt_develop_t *dev, struct dt_iop_module_t *module)
Definition develop.c:1152
dt_dev_overlay_colors_t
Definition develop.h:78
@ DT_DEV_OVERLAY_CYAN
Definition develop.h:83
@ DT_DEV_OVERLAY_YELLOW
Definition develop.h:82
@ DT_DEV_OVERLAY_RED
Definition develop.h:80
@ DT_DEV_OVERLAY_GREEN
Definition develop.h:81
@ DT_DEV_OVERLAY_GRAY
Definition develop.h:79
@ DT_DEV_OVERLAY_MAGENTA
Definition develop.h:84
dt_dev_pixelpipe_display_mask_t
Definition develop.h:116
@ DT_DEV_PIXELPIPE_DISPLAY_a
Definition develop.h:122
@ DT_DEV_PIXELPIPE_DISPLAY_OUTPUT
Definition develop.h:120
@ DT_DEV_PIXELPIPE_DISPLAY_G
Definition develop.h:125
@ DT_DEV_PIXELPIPE_DISPLAY_L
Definition develop.h:121
@ DT_DEV_PIXELPIPE_DISPLAY_CHANNEL
Definition develop.h:119
@ DT_DEV_PIXELPIPE_DISPLAY_ANY
Definition develop.h:138
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_h
Definition develop.h:129
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz
Definition develop.h:135
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_H
Definition develop.h:130
@ DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU_MONO
Definition develop.h:137
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_S
Definition develop.h:131
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz
Definition develop.h:134
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_C
Definition develop.h:128
@ DT_DEV_PIXELPIPE_DISPLAY_b
Definition develop.h:123
@ DT_DEV_PIXELPIPE_DISPLAY_STICKY
Definition develop.h:139
@ DT_DEV_PIXELPIPE_DISPLAY_MASK
Definition develop.h:118
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz
Definition develop.h:133
@ DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU
Definition develop.h:136
@ DT_DEV_PIXELPIPE_DISPLAY_NONE
Definition develop.h:117
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_l
Definition develop.h:132
@ DT_DEV_PIXELPIPE_DISPLAY_GRAY
Definition develop.h:127
@ DT_DEV_PIXELPIPE_DISPLAY_B
Definition develop.h:126
@ DT_DEV_PIXELPIPE_DISPLAY_R
Definition develop.h:124
void dt_dev_modulegroups_switch_tab(dt_develop_t *dev, struct dt_iop_module_t *module)
Definition develop.c:1044
dt_dev_transform_direction_t
Definition develop.h:101
@ DT_DEV_TRANSFORM_DIR_BACK_EXCL
Definition develop.h:106
@ DT_DEV_TRANSFORM_DIR_BACK_INCL
Definition develop.h:105
@ DT_DEV_TRANSFORM_DIR_FORW_INCL
Definition develop.h:103
@ DT_DEV_TRANSFORM_DIR_ALL
Definition develop.h:102
@ DT_DEV_TRANSFORM_DIR_FORW_EXCL
Definition develop.h:104
float dt_dev_get_overlay_scale(dt_develop_t *dev)
Get the overlay scale factor in GUI logical coordinates.
Definition develop.c:1574
void dt_dev_append_changed_tag(const int32_t imgid)
Definition develop.c:1534
dt_dev_image_storage_t dt_dev_load_image(dt_develop_t *dev, const int32_t imgid)
Definition develop.c:764
void dt_dev_coordinates_image_norm_to_preview_abs(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:1007
float dt_dev_get_zoom_level(const dt_develop_t *dev)
Definition develop.c:1607
void dt_dev_coordinates_image_norm_to_widget(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:908
void dt_dev_masks_selection_change(dt_develop_t *dev, struct dt_iop_module_t *module, const int selectid, const int throw_event)
Definition develop.c:1065
void dt_dev_init(dt_develop_t *dev, int32_t gui_attached)
Definition develop.c:128
int dt_dev_is_current_image(dt_develop_t *dev, int32_t imgid)
Definition develop.c:1039
void dt_dev_undo_start_record(dt_develop_t *dev)
Definition develop.c:1476
dt_dev_rawoverexposed_mode_t
Definition develop.h:87
@ DT_DEV_RAWOVEREXPOSED_MODE_FALSECOLOR
Definition develop.h:90
@ DT_DEV_RAWOVEREXPOSED_MODE_MARK_CFA
Definition develop.h:88
@ DT_DEV_RAWOVEREXPOSED_MODE_MARK_SOLID
Definition develop.h:89
void dt_dev_snapshot_request(dt_develop_t *dev, const char *filename)
Definition develop.c:1072
gboolean dt_masks_get_lock_mode(dt_develop_t *dev)
Definition develop.c:1499
dt_dev_roi_space_t
Definition develop.h:110
@ DT_DEV_ROI_GUI_LOGICAL
Definition develop.h:112
@ DT_DEV_ROI_PIPELINE
Definition develop.h:111
gchar * dt_history_item_get_label(const struct dt_iop_module_t *module)
Definition develop.c:1321
gchar * dt_history_item_get_name_html(const struct dt_iop_module_t *module)
Definition develop.c:1371
void dt_dev_check_zoom_pos_bounds(dt_develop_t *dev, float *dev_x, float *dev_y, float *box_w, float *box_h)
Ensure that the current ROI position is within allowed bounds .
Definition develop.c:821
gboolean dt_dev_check_zoom_scale_bounds(dt_develop_t *dev)
Ensure that the current zoom level is within allowed bounds (for scrolling).
Definition develop.c:1706
dt_develop_detail_mask_t
Definition develop.h:143
@ DT_DEV_DETAIL_MASK_ENABLED
Definition develop.h:145
@ DT_DEV_DETAIL_MASK_NONE
Definition develop.h:144
dt_clipping_preview_mode_t
Definition develop.h:149
@ DT_CLIPPING_PREVIEW_ANYRGB
Definition develop.h:151
@ DT_CLIPPING_PREVIEW_GAMUT
Definition develop.h:150
@ DT_CLIPPING_PREVIEW_SATURATION
Definition develop.h:153
@ DT_CLIPPING_PREVIEW_LUMINANCE
Definition develop.h:152
void dt_dev_reset_roi(dt_develop_t *dev)
Definition develop.c:1613
struct dt_iop_module_t * dt_dev_module_duplicate(dt_develop_t *dev, struct dt_iop_module_t *base)
Definition develop.c:1080
GList * dt_dev_load_modules(dt_develop_t *dev)
Definition develop.c:98
void dt_dev_set_backbuf(dt_backbuf_t *backbuf, const int width, const int height, const size_t bpp, const int64_t hash, const int64_t history_hash)
Definition develop.c:1747
gboolean dt_dev_rescale_roi_to_input(dt_develop_t *dev, cairo_t *cr, int32_t width, int32_t height)
Scale the ROI to fit the input size within given width/height, centered.
Definition develop.c:1696
gboolean dt_dev_pixelpipe_has_preview_output(const dt_develop_t *dev, const struct dt_dev_pixelpipe_t *pipe, const struct dt_iop_roi_t *roi)
Tell whether a GUI-attached pipe currently targets the darkroom preview-sized output.
gboolean dt_dev_pipelines_share_preview_output(dt_develop_t *dev)
Tell whether the darkroom main and preview pipes currently target the same GUI output.
Definition develop.c:421
void dt_dev_configure_real(dt_develop_t *dev, int wd, int ht)
Definition develop.c:799
void dt_dev_masks_update_hash(dt_develop_t *dev)
Definition develop.c:1543
gboolean dt_dev_clip_roi(dt_develop_t *dev, cairo_t *cr, int32_t width, int32_t height)
Clip the view to the ROI. WARNING: this must be done before any translation.
Definition develop.c:1643
static void dt_dev_set_history_hash(dt_develop_t *dev, const uint64_t history_hash)
Definition develop.h:478
dt_dev_rawoverexposed_colorscheme_t
Definition develop.h:93
@ DT_DEV_RAWOVEREXPOSED_RED
Definition develop.h:94
@ DT_DEV_RAWOVEREXPOSED_BLUE
Definition develop.h:96
@ DT_DEV_RAWOVEREXPOSED_BLACK
Definition develop.h:97
@ DT_DEV_RAWOVEREXPOSED_GREEN
Definition develop.h:95
int dt_dev_coordinates_image_abs_to_raw_abs(dt_develop_t *dev, float *points, size_t points_count)
Definition develop.c:1392
void dt_dev_get_image_box_in_widget(const dt_develop_t *dev, int32_t width, int32_t height, float *box)
Get the displayed image rectangle in darkroom widget coordinates.
Definition develop.c:1592
void dt_dev_undo_end_record(dt_develop_t *dev)
Definition develop.c:1487
gboolean dt_dev_rescale_roi(dt_develop_t *dev, cairo_t *cr, int32_t width, int32_t height)
Scale the ROI to fit within given width/height, centered.
Definition develop.c:1686
void dt_dev_coordinates_widget_delta_to_image_delta(dt_develop_t *dev, float *points, size_t num_points)
Convert a widget-space distance to processed-image pixels.
Definition develop.c:863
void dt_dev_convert_roi(const dt_develop_t *dev, const dt_iop_roi_t *roi_in, dt_iop_roi_t *roi_out, const dt_dev_roi_space_t from, const dt_dev_roi_space_t to)
Convert a full ROI object between pipeline raster coordinates and GUI logical coordinates.
Definition develop.c:1621
float dt_dev_get_fit_scale(dt_develop_t *dev)
Get the scale factor that maps preview-buffer pixels to GUI coordinates.
Definition develop.c:1568
dt_dev_image_storage_t dt_dev_ensure_image_storage(dt_develop_t *dev, const int32_t imgid)
Definition develop.c:724
dt_dev_image_storage_t
Definition develop.h:492
@ DT_DEV_IMAGE_STORAGE_DB_NOT_READ
Definition develop.h:495
@ DT_DEV_IMAGE_STORAGE_OK
Definition develop.h:493
@ DT_DEV_IMAGE_STORAGE_MIPMAP_NOT_FOUND
Definition develop.h:494
void dt_dev_modules_update_multishow(dt_develop_t *dev)
Definition develop.c:1253
void dt_dev_coordinates_image_norm_to_image_abs(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:937
guint dt_dev_mask_history_overload(GList *dev_history, guint threshold)
Definition dev_history.c:1151
gchar * dt_dev_get_masks_group_name(const struct dt_iop_module_t *module)
Definition develop.c:1342
void dt_dev_coordinates_widget_to_image_norm(dt_develop_t *dev, float *points, size_t num_points)
Coordinate conversion helpers between widget, normalized image, and absolute image spaces.
Definition develop.c:880
void dt_dev_update_mouse_effect_radius(dt_develop_t *dev)
Convert absolute output-image coordinates to input image space by calling dt_dev_coordinates_image_ab...
Definition develop.c:1731
void dt_dev_masks_list_update(dt_develop_t *dev)
Definition develop.c:1055
int dt_dev_distort_backtransform_plus(const struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
gchar * dt_dev_get_multi_name(const struct dt_iop_module_t *module)
Definition develop.c:1334
void dt_dev_masks_list_remove(dt_develop_t *dev, int formid, int parentid)
Definition develop.c:1060
int dt_dev_distort_transform_locked(const struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
float dt_dev_get_zoom_scale(const dt_develop_t *dev, gboolean preview)
Definition develop.c:757
void dt_dev_coordinates_raw_abs_to_raw_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:969
void dt_dev_coordinates_image_abs_to_raw_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:1001
gchar * dt_history_item_get_name(const struct dt_iop_module_t *module)
Definition develop.c:1356
void dt_dev_retrieve_full_pos(dt_develop_t *dev, const int px, const int py, float *mouse_x, float *mouse_y)
Get a point position from widget space to preview buffer space [0..1].
struct dt_dev_pixelpipe_iop_t * dt_dev_distort_get_iop_pipe(struct dt_dev_pixelpipe_t *pipe, struct dt_iop_module_t *module)
Definition develop.c:1455
void dt_dev_start_all_pipelines(dt_develop_t *dev)
Definition develop.c:688
#define dt_pthread_rwlock_t
Definition dtpthread.h:389
float dt_aligned_pixel_t[4]
Definition noiseprofile.c:28
struct _GtkWidget GtkWidget
Definition splash.h:29
unsigned __int64 uint64_t
Definition strptime.c:75
Definition pixelpipe_hb.h:189
Definition colorpicker.h:53
Definition pixelpipe_hb.h:96
dt_iop_roi_t roi_in
Definition pixelpipe_hb.h:132
dt_iop_roi_t roi_out
Definition pixelpipe_hb.h:132
Definition pixelpipe_hb.h:218
void(* list_update)(struct dt_lib_module_t *self)
Definition develop.h:399
int32_t height
Definition develop.h:178
int32_t gui_attached
Definition develop.h:162
cairo_surface_t * image_surface
Definition develop.h:468
GList * iop_order_list
Definition develop.h:274
int undo_history_before_end
Definition develop.h:281
struct dt_develop_t::@25 profile
dt_image_t image_storage
Definition develop.h:248
int picker_cst
Definition develop.h:357
struct dt_develop_t::@19 color_picker
Authoritative darkroom color-picker state.
struct dt_develop_t::@23 display
int32_t orig_height
Definition develop.h:194
struct dt_colorpicker_sample_t * primary_sample
Definition develop.h:362
int iop_order_version
Definition develop.h:273
GList * undo_history_before_snapshot
Definition develop.h:280
float x
Definition develop.h:186
gboolean output_inited
Definition develop.h:231
dt_dev_rawoverexposed_colorscheme_t colorscheme
Definition develop.h:434
int32_t border_size
Definition develop.h:189
dt_backbuf_t display_histogram
Definition develop.h:308
uint32_t * histogram_pre_levels
Definition develop.h:288
GList * iop
Definition develop.h:268
gboolean request
Definition develop.h:388
gboolean update_pending
Definition develop.h:359
int32_t raw_height
Definition develop.h:217
dt_backbuf_t output_histogram
Definition develop.h:307
int32_t preview_height
Definition develop.h:202
int32_t history_end
Definition develop.h:261
uint64_t wait_output_hash
Definition develop.h:374
int kind
Definition develop.h:356
GList * undo_history_before_iop_order_list
Definition develop.h:282
GtkWidget * widget
Definition develop.h:355
gboolean wb_is_D65
Definition develop.h:410
gboolean(* refresh_global_picker)(struct dt_lib_module_t *self)
Definition develop.h:370
struct dt_develop_t::@24 iso_12646
struct dt_iop_module_t * pending_module
Definition develop.h:376
gboolean restrict_histogram
Definition develop.h:367
int statistic
Definition develop.h:368
void(* list_remove)(struct dt_lib_module_t *self, int formid, int parentid)
Definition develop.h:398
int completed
Definition develop.h:462
struct dt_iop_module_t * gui_module
Definition develop.h:165
dt_pthread_rwlock_t history_mutex
Definition develop.h:252
GSList * samples
Definition develop.h:363
gboolean live_samples_enabled
Definition develop.h:366
dt_clipping_preview_mode_t mode
Definition develop.h:424
gboolean gui_inited
Definition develop.h:225
struct dt_develop_t::@20::@27 snapshot
float brightness
Definition develop.h:442
dt_atomic_uint64 history_hash
Definition develop.h:312
struct dt_lib_module_t *void(* list_change)(struct dt_lib_module_t *self)
Definition develop.h:397
gboolean forms_changed
Definition develop.h:297
GtkWidget * floating_window
Definition develop.h:418
float lower
Definition develop.h:422
float y
Definition develop.h:186
struct dt_dev_pixelpipe_t * preview_pipe
Definition develop.h:236
gboolean pipelines_started
Definition develop.h:316
GList * history
Definition develop.h:264
struct dt_dev_pixelpipe_t * virtual_pipe
Definition develop.h:240
GList * allprofile_info
Definition develop.h:285
gboolean darkroom_skip_mouse_events
Definition develop.h:465
GList * alliop
Definition develop.h:270
dt_aligned_pixel_t wb_coeffs
Definition develop.h:411
struct dt_iop_module_t *struct dt_iop_color_picker_t * picker
Definition develop.h:354
dt_dev_overexposed_colorscheme_t colorscheme
Definition develop.h:421
GList * allforms
Definition develop.h:300
dt_backbuf_t raw_histogram
Definition develop.h:306
float scaling
Definition develop.h:182
struct dt_masks_form_gui_t * form_gui
Definition develop.h:298
struct dt_develop_t::@20::@28 masks
GtkWidget * button
Definition develop.h:418
void(* selection_change)(struct dt_lib_module_t *self, struct dt_iop_module_t *module, const int selectid, const int throw_event)
Definition develop.h:401
int border
Definition develop.h:443
struct dt_colorpicker_sample_t * selected_sample
Definition develop.h:364
struct dt_develop_t::@20 proxy
uint32_t * histogram_pre_tonecurve
Definition develop.h:288
uint64_t wait_input_hash
Definition develop.h:373
guint refresh_idle_source
Definition develop.h:360
uint32_t histogram_pre_levels_max
Definition develop.h:289
int32_t processed_height
Definition develop.h:222
struct dt_dev_pixelpipe_t * pending_pipe
Definition develop.h:377
struct dt_lib_module_t * histogram_module
Definition develop.h:369
GtkWidget * gamut_button
Definition develop.h:456
struct dt_iop_module_t * chroma_adaptation
Definition develop.h:407
gboolean mask_lock
Definition develop.h:466
gboolean enabled
Definition develop.h:358
int exit
Definition develop.h:164
int32_t iop_instance
Definition develop.h:267
dt_pthread_rwlock_t masks_mutex
Definition develop.h:304
uint64_t forms_hash
Definition develop.h:295
dt_dev_rawoverexposed_mode_t mode
Definition develop.h:433
struct dt_develop_t::@22 rawoverexposed
const gchar * filename
Definition develop.h:389
uint32_t histogram_pre_tonecurve_max
Definition develop.h:289
float threshold
Definition develop.h:435
struct dt_develop_t::@26 progress
uint64_t piece_hash
Definition develop.h:372
gboolean raw_inited
Definition develop.h:228
struct dt_dev_pixelpipe_t * pipe
Definition develop.h:236
float upper
Definition develop.h:423
GtkWidget * softproof_button
Definition develop.h:456
gboolean display_samples
Definition develop.h:365
struct dt_develop_t::@18 roi
GList * forms
Definition develop.h:292
int undo_history_depth
Definition develop.h:279
struct dt_develop_t::@21 overexposed
gboolean loading_cache
Definition develop.h:470
int32_t main_height
Definition develop.h:209
float natural_scale
Definition develop.h:213
Definition color_picker_proxy.h:50
struct dt_develop_t * dev
Definition imageop.h:298
int iop_order
Definition imageop.h:260
Region of interest passed through the pixelpipe.
Definition imageop.h:72
Definition ashift_lsd.c:192