509 const int64_t hash,
const int64_t history_hash);
547#define dt_dev_configure(dev, wd, ht) DT_DEBUG_TRACE_WRAPPER(DT_DEBUG_DEV, dt_dev_configure_real, (dev), (wd), (ht))
614 float *points,
size_t points_count);
617 const int transf_direction,
float *points,
size_t points_count);
620 float *points,
size_t points_count);
uint64_t dt_atomic_get_uint64(const dt_atomic_uint64 *var)
Definition atomic.h:68
void dt_atomic_set_uint64(dt_atomic_uint64 *var, uint64_t value)
Definition atomic.h:67
int width
Definition bilateral.h:1
int height
Definition bilateral.h:1
const float threshold
Definition colorspaces_inline_conversions.h:340
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
void dt_dev_masks_list_change(dt_develop_t *dev)
Definition develop.c:1051
void dt_dev_coordinates_image_abs_to_image_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:947
float dt_dev_get_natural_scale(dt_develop_t *dev)
Definition develop.c:1567
void dt_dev_get_processed_size(const dt_develop_t *dev, int *procw, int *proch)
Definition develop.c:868
static uint64_t dt_dev_get_history_hash(const dt_develop_t *dev)
Definition develop.h:466
void dt_masks_set_lock_mode(dt_develop_t *dev, gboolean mode)
Definition develop.c:1519
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:1017
int dt_dev_get_thumbnail_size(dt_develop_t *dev)
Definition develop.c:341
int dt_dev_coordinates_raw_abs_to_image_abs(dt_develop_t *dev, float *points, size_t points_count)
Definition develop.c:1385
void dt_dev_coordinates_raw_norm_to_raw_abs(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:981
void dt_dev_cleanup(dt_develop_t *dev)
Definition develop.c:189
void dt_dev_module_remove(dt_develop_t *dev, struct dt_iop_module_t *module)
Definition develop.c:1153
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:110
@ DT_DEV_PIXELPIPE_DISPLAY_a
Definition develop.h:116
@ DT_DEV_PIXELPIPE_DISPLAY_OUTPUT
Definition develop.h:114
@ DT_DEV_PIXELPIPE_DISPLAY_G
Definition develop.h:119
@ DT_DEV_PIXELPIPE_DISPLAY_L
Definition develop.h:115
@ DT_DEV_PIXELPIPE_DISPLAY_CHANNEL
Definition develop.h:113
@ DT_DEV_PIXELPIPE_DISPLAY_ANY
Definition develop.h:132
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_h
Definition develop.h:123
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz
Definition develop.h:129
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_H
Definition develop.h:124
@ DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU_MONO
Definition develop.h:131
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_S
Definition develop.h:125
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz
Definition develop.h:128
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_C
Definition develop.h:122
@ DT_DEV_PIXELPIPE_DISPLAY_b
Definition develop.h:117
@ DT_DEV_PIXELPIPE_DISPLAY_STICKY
Definition develop.h:133
@ DT_DEV_PIXELPIPE_DISPLAY_MASK
Definition develop.h:112
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz
Definition develop.h:127
@ DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU
Definition develop.h:130
@ DT_DEV_PIXELPIPE_DISPLAY_NONE
Definition develop.h:111
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_l
Definition develop.h:126
@ DT_DEV_PIXELPIPE_DISPLAY_GRAY
Definition develop.h:121
@ DT_DEV_PIXELPIPE_DISPLAY_B
Definition develop.h:120
@ DT_DEV_PIXELPIPE_DISPLAY_R
Definition develop.h:118
int dt_dev_distort_transform_plus(dt_develop_t *dev, const struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
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 (scaling * natural_scale_on_processed_size * ppd)
Definition develop.c:1585
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)
Definition develop.c:1446
void dt_dev_append_changed_tag(const int32_t imgid)
Definition develop.c:1542
dt_dev_image_storage_t dt_dev_load_image(dt_develop_t *dev, const int32_t imgid)
Definition develop.c:782
void dt_dev_coordinates_image_norm_to_preview_abs(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:1002
float dt_dev_get_zoom_level(const dt_develop_t *dev)
Definition develop.c:1590
void dt_dev_coordinates_image_norm_to_widget(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:905
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:1066
void dt_dev_init(dt_develop_t *dev, int32_t gui_attached)
Definition develop.c:129
int dt_dev_is_current_image(dt_develop_t *dev, int32_t imgid)
Definition develop.c:1034
void dt_dev_undo_start_record(dt_develop_t *dev)
Definition develop.c:1484
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:1073
void dt_dev_modulegroups_update_visibility(dt_develop_t *dev)
Definition develop.c:1045
gboolean dt_masks_get_lock_mode(dt_develop_t *dev)
Definition develop.c:1507
gchar * dt_history_item_get_label(const struct dt_iop_module_t *module)
Definition develop.c:1319
gchar * dt_history_item_get_name_html(const struct dt_iop_module_t *module)
Definition develop.c:1369
void dt_dev_modulegroups_switch(dt_develop_t *dev, struct dt_iop_module_t *module)
Definition develop.c:1039
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:833
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:1667
int dt_dev_distort_transform_locked(dt_develop_t *dev, const struct dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count)
dt_clipping_preview_mode_t
Definition develop.h:145
@ DT_CLIPPING_PREVIEW_ANYRGB
Definition develop.h:147
@ DT_CLIPPING_PREVIEW_GAMUT
Definition develop.h:146
@ DT_CLIPPING_PREVIEW_SATURATION
Definition develop.h:149
@ DT_CLIPPING_PREVIEW_LUMINANCE
Definition develop.h:148
struct dt_dev_pixelpipe_iop_t * dt_dev_distort_get_iop_pipe(dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe, struct dt_iop_module_t *module)
Definition develop.c:1453
void dt_dev_reset_roi(dt_develop_t *dev)
Definition develop.c:1596
struct dt_iop_module_t * dt_dev_module_duplicate(dt_develop_t *dev, struct dt_iop_module_t *base)
Definition develop.c:1081
GList * dt_dev_load_modules(dt_develop_t *dev)
Definition develop.c:99
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:1709
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:1657
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:462
void dt_dev_configure_real(dt_develop_t *dev, int wd, int ht)
Definition develop.c:817
void dt_dev_masks_update_hash(dt_develop_t *dev)
Definition develop.c:1551
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:1604
static void dt_dev_set_history_hash(dt_develop_t *dev, const uint64_t history_hash)
Definition develop.h:471
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:1390
void dt_dev_undo_end_record(dt_develop_t *dev)
Definition develop.c:1495
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:1647
float dt_dev_get_fit_scale(dt_develop_t *dev)
Get the scale factor to fit the image into the darkroom area. (scaling * natural_scale_on_processed_s...
Definition develop.c:1577
dt_dev_image_storage_t dt_dev_ensure_image_storage(dt_develop_t *dev, const int32_t imgid)
Definition develop.c:742
dt_dev_image_storage_t
Definition develop.h:485
@ DT_DEV_IMAGE_STORAGE_DB_NOT_READ
Definition develop.h:488
@ DT_DEV_IMAGE_STORAGE_OK
Definition develop.h:486
@ DT_DEV_IMAGE_STORAGE_MIPMAP_NOT_FOUND
Definition develop.h:487
void dt_dev_modules_update_multishow(dt_develop_t *dev)
Definition develop.c:1251
dt_develop_detail_mmask_t
Definition develop.h:137
@ DT_DEV_DETAIL_MASK_DEMOSAIC
Definition develop.h:140
@ DT_DEV_DETAIL_MASK_REQUIRED
Definition develop.h:139
@ DT_DEV_DETAIL_MASK_RAWPREPARE
Definition develop.h:141
@ DT_DEV_DETAIL_MASK_NONE
Definition develop.h:138
void dt_dev_coordinates_image_norm_to_image_abs(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:932
guint dt_dev_mask_history_overload(GList *dev_history, guint threshold)
Definition dev_history.c:1113
gchar * dt_dev_get_masks_group_name(const struct dt_iop_module_t *module)
Definition develop.c:1340
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:1693
void dt_dev_masks_list_update(dt_develop_t *dev)
Definition develop.c:1056
void dt_dev_reorder_gui_module_list(dt_develop_t *dev)
Definition develop.c:1468
gchar * dt_dev_get_multi_name(const struct dt_iop_module_t *module)
Definition develop.c:1332
void dt_dev_masks_list_remove(dt_develop_t *dev, int formid, int parentid)
Definition develop.c:1061
float dt_dev_get_zoom_scale(const dt_develop_t *dev, gboolean preview)
Definition develop.c:775
void dt_dev_coordinates_raw_abs_to_raw_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:964
void dt_dev_coordinates_image_abs_to_raw_norm(dt_develop_t *dev, float *points, size_t num_points)
Definition develop.c:996
gchar * dt_history_item_get_name(const struct dt_iop_module_t *module)
Definition develop.c:1354
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].
enum dt_develop_detail_mmask_t dt_develop_detail_mask_t
void dt_dev_start_all_pipelines(dt_develop_t *dev)
Definition develop.c:706
#define dt_pthread_rwlock_t
Definition dtpthread.h:389
struct _GtkWidget GtkWidget
Definition splash.h:29
unsigned __int64 uint64_t
Definition strptime.c:74
Definition pixelpipe_hb.h:187
Definition colorpicker.h:53
Definition pixelpipe_hb.h:95
Definition pixelpipe_hb.h:216
void(* list_update)(struct dt_lib_module_t *self)
Definition develop.h:392
int32_t height
Definition develop.h:173
int32_t gui_attached
Definition develop.h:158
cairo_surface_t * image_surface
Definition develop.h:461
GList * iop_order_list
Definition develop.h:269
int undo_history_before_end
Definition develop.h:276
struct dt_develop_t::@25 profile
dt_image_t image_storage
Definition develop.h:243
int picker_cst
Definition develop.h:352
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:189
struct dt_colorpicker_sample_t * primary_sample
Definition develop.h:358
int iop_order_version
Definition develop.h:268
GList * undo_history_before_snapshot
Definition develop.h:275
float x
Definition develop.h:181
gboolean output_inited
Definition develop.h:226
dt_dev_rawoverexposed_colorscheme_t colorscheme
Definition develop.h:427
int32_t border_size
Definition develop.h:184
dt_backbuf_t display_histogram
Definition develop.h:303
uint32_t * histogram_pre_levels
Definition develop.h:283
GList * iop
Definition develop.h:263
gboolean request
Definition develop.h:381
gboolean update_pending
Definition develop.h:354
int32_t raw_height
Definition develop.h:212
dt_backbuf_t output_histogram
Definition develop.h:302
int32_t preview_height
Definition develop.h:197
int32_t history_end
Definition develop.h:256
int kind
Definition develop.h:351
GList * undo_history_before_iop_order_list
Definition develop.h:277
GtkWidget * widget
Definition develop.h:350
gboolean wb_is_D65
Definition develop.h:403
struct dt_develop_t::@24 iso_12646
struct dt_iop_module_t * pending_module
Definition develop.h:369
gboolean restrict_histogram
Definition develop.h:363
int statistic
Definition develop.h:364
void(* list_remove)(struct dt_lib_module_t *self, int formid, int parentid)
Definition develop.h:391
int completed
Definition develop.h:455
struct dt_iop_module_t * gui_module
Definition develop.h:161
dt_pthread_rwlock_t history_mutex
Definition develop.h:247
GSList * samples
Definition develop.h:359
gboolean live_samples_enabled
Definition develop.h:362
dt_clipping_preview_mode_t mode
Definition develop.h:417
gboolean gui_inited
Definition develop.h:220
struct dt_develop_t::@20::@27 snapshot
float brightness
Definition develop.h:435
dt_atomic_uint64 history_hash
Definition develop.h:307
struct dt_lib_module_t *void(* list_change)(struct dt_lib_module_t *self)
Definition develop.h:390
gboolean forms_changed
Definition develop.h:292
GtkWidget * floating_window
Definition develop.h:411
float lower
Definition develop.h:415
float y
Definition develop.h:181
struct dt_dev_pixelpipe_t * preview_pipe
Definition develop.h:231
gboolean pipelines_started
Definition develop.h:311
GList * history
Definition develop.h:259
struct dt_dev_pixelpipe_t * virtual_pipe
Definition develop.h:235
GList * allprofile_info
Definition develop.h:280
gboolean darkroom_skip_mouse_events
Definition develop.h:458
GList * alliop
Definition develop.h:265
dt_aligned_pixel_t wb_coeffs
Definition develop.h:404
struct dt_iop_module_t *struct dt_iop_color_picker_t * picker
Definition develop.h:349
dt_dev_overexposed_colorscheme_t colorscheme
Definition develop.h:414
GList * allforms
Definition develop.h:295
dt_backbuf_t raw_histogram
Definition develop.h:301
float scaling
Definition develop.h:177
struct dt_masks_form_gui_t * form_gui
Definition develop.h:293
struct dt_develop_t::@20::@28 masks
GtkWidget * button
Definition develop.h:411
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:394
int border
Definition develop.h:436
struct dt_colorpicker_sample_t * selected_sample
Definition develop.h:360
struct dt_develop_t::@20 proxy
uint32_t * histogram_pre_tonecurve
Definition develop.h:283
guint refresh_idle_source
Definition develop.h:356
uint32_t histogram_pre_levels_max
Definition develop.h:284
int32_t processed_height
Definition develop.h:217
struct dt_dev_pixelpipe_t * pending_pipe
Definition develop.h:370
struct dt_lib_module_t * histogram_module
Definition develop.h:365
GtkWidget * gamut_button
Definition develop.h:449
struct dt_iop_module_t * chroma_adaptation
Definition develop.h:400
gboolean mask_lock
Definition develop.h:459
gboolean enabled
Definition develop.h:353
int exit
Definition develop.h:160
int32_t iop_instance
Definition develop.h:262
dt_pthread_rwlock_t masks_mutex
Definition develop.h:299
uint64_t forms_hash
Definition develop.h:290
dt_dev_rawoverexposed_mode_t mode
Definition develop.h:426
struct dt_develop_t::@22 rawoverexposed
const gchar * filename
Definition develop.h:382
uint32_t histogram_pre_tonecurve_max
Definition develop.h:284
float threshold
Definition develop.h:428
struct dt_develop_t::@26 progress
uint64_t piece_hash
Definition develop.h:367
gboolean raw_inited
Definition develop.h:223
struct dt_dev_pixelpipe_t * pipe
Definition develop.h:231
float upper
Definition develop.h:416
GtkWidget * softproof_button
Definition develop.h:449
gboolean display_samples
Definition develop.h:361
struct dt_develop_t::@18 roi
GList * forms
Definition develop.h:287
int undo_history_depth
Definition develop.h:274
struct dt_develop_t::@21 overexposed
gboolean recompute_requested
Definition develop.h:355
gboolean loading_cache
Definition develop.h:463
int32_t main_height
Definition develop.h:204
float natural_scale
Definition develop.h:208
Definition common/image.h:247
Definition color_picker_proxy.h:50
struct dt_develop_t * dev
Definition imageop.h:261
int iop_order
Definition imageop.h:230