![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <assert.h>#include <glib/gprintf.h>#include <math.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include <strings.h>#include <unistd.h>#include "common/atomic.h"#include "common/debug.h"#include "common/history.h"#include "common/image_cache.h"#include "common/imageio.h"#include "common/mipmap_cache.h"#include "common/opencl.h"#include "common/tags.h"#include "control/conf.h"#include "control/control.h"#include "control/jobs.h"#include "develop/blend.h"#include "develop/develop.h"#include "develop/imageop.h"#include "develop/lightroom.h"#include "develop/masks.h"#include "develop/pixelpipe_cache.h"#include "gui/gtk.h"#include "gui/presets.h"
Include dependency graph for develop.c:Macros | |
| #define | DT_DEV_AVERAGE_DELAY_START 250 |
| #define | DT_DEV_PREVIEW_AVERAGE_DELAY_START 50 |
| #define | DT_DEV_AVERAGE_DELAY_COUNT 5 |
| #define | DT_IOP_ORDER_INFO (darktable.unmuted & DT_DEBUG_IOPORDER) |
Functions | |
| static gchar * | dt_pipe_type_to_str (dt_dev_pixelpipe_type_t pipe_type) |
| 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 (dt_develop_t *dev) |
| void | dt_dev_process_preview (dt_develop_t *dev) |
| void | dt_dev_process_all_real (dt_develop_t *dev) |
| static void | _flag_pipe (dt_dev_pixelpipe_t *pipe, gboolean error) |
| static void | _update_gui_backbuf (dt_dev_pixelpipe_t *pipe) |
| static gboolean | _update_darkroom_roi (dt_develop_t *dev, dt_dev_pixelpipe_t *pipe, int *x, int *y, int *wd, int *ht, float *scale) |
| void | dt_dev_darkroom_pipeline (dt_develop_t *dev, dt_dev_pixelpipe_t *pipe) |
| void | dt_dev_process_preview_job (dt_develop_t *dev) |
| void | dt_dev_process_image_job (dt_develop_t *dev) |
| static int | _dt_dev_load_raw (dt_develop_t *dev, const int32_t imgid) |
| float | dt_dev_get_zoom_scale (dt_develop_t *dev, const gboolean preview) |
| int | dt_dev_load_image (dt_develop_t *dev, const int32_t imgid) |
| void | dt_dev_configure_real (dt_develop_t *dev, int wd, int ht) |
| 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 . | |
| void | dt_dev_get_processed_size (const dt_develop_t *dev, int *procw, int *proch) |
| void | dt_dev_retrieve_full_pos (dt_develop_t *dev, const int px, const int py, float *mouse_x, float *mouse_y) |
| Get the pointer position from widget space to preview buffer space [0..1]. | |
| int | dt_dev_is_current_image (dt_develop_t *dev, int32_t imgid) |
| static dt_dev_proxy_exposure_t * | find_last_exposure_instance (dt_develop_t *dev) |
| float | dt_dev_exposure_get_exposure (dt_develop_t *dev) |
| float | dt_dev_exposure_get_black (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_modulegroups_switch (dt_develop_t *dev, dt_iop_module_t *module) |
| void | dt_dev_modulegroups_update_visibility (dt_develop_t *dev) |
| 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_snapshot_request (dt_develop_t *dev, const char *filename) |
| void | dt_dev_average_delay_update (const dt_times_t *start, uint32_t *average_delay) |
| dt_iop_module_t * | dt_dev_module_duplicate (dt_develop_t *dev, dt_iop_module_t *base) |
| void | dt_dev_module_remove (dt_develop_t *dev, dt_iop_module_t *module) |
| void | _dev_module_update_multishow (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_label (const struct dt_iop_module_t *module) |
| 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) |
| 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_locked (dt_develop_t *dev, dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count) |
| int | dt_dev_distort_transform_plus (dt_develop_t *dev, 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, 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, dt_dev_pixelpipe_t *pipe, const double iop_order, const int transf_direction, float *points, size_t points_count) |
| 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) |
| 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) |
| uint64_t | dt_dev_hash (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe) |
| void | dt_dev_reorder_gui_module_list (dt_develop_t *dev) |
| 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) |
| int32_t | dt_dev_get_history_end (dt_develop_t *dev) |
| void | dt_dev_set_history_end (dt_develop_t *dev, const uint32_t index) |
| void | dt_dev_append_changed_tag (const int32_t imgid) |
| void | dt_dev_masks_update_hash (dt_develop_t *dev) |
| float | dt_dev_get_natural_scale (dt_develop_t *dev, struct dt_dev_pixelpipe_t *pipe) |
| 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_size) | |
| float | dt_dev_get_overlay_scale (dt_develop_t *dev) |
| Get the overlay scale factor (scaling * natural_scale_on_processed_size * ppd) | |
| float | dt_dev_get_zoom_level (const dt_develop_t *dev) |
| void | dt_dev_reset_roi (dt_develop_t *dev) |
| 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. | |
| static gboolean | _dev_translate_roi (dt_develop_t *dev, cairo_t *cr, int32_t width, int32_t height) |
| 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. | |
| 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. | |
| gboolean | dt_dev_check_zoom_scale_bounds (dt_develop_t *dev) |
| Ensure that the current zoom level is within allowed bounds (for scrolling). | |
| gboolean | dt_dev_roi_to_input_space (dt_develop_t *dev, gboolean normalize_out, const float in_x, const float in_y, float *point_x, float *point_y) |
| Get point in input image space from point in normalized ROI space. The function performs a distortion backtransform. | |
| gboolean | dt_dev_roi_delta_to_input_space (dt_develop_t *dev, const float delta[2], const float in[2], float points[2]) |
| Convert a delta vector in ROI space to input image space. The function performs a distortion backtransform. | |
| #define DT_DEV_AVERAGE_DELAY_COUNT 5 |
| #define DT_DEV_AVERAGE_DELAY_START 250 |
| #define DT_DEV_PREVIEW_AVERAGE_DELAY_START 50 |
| #define DT_IOP_ORDER_INFO (darktable.unmuted & DT_DEBUG_IOPORDER) |
| void _dev_module_update_multishow | ( | dt_develop_t * | dev, |
| struct dt_iop_module_t * | module | ||
| ) |
|
static |
References darktable, dt_dev_get_processed_size(), dt_dev_get_zoom_level(), FALSE, darktable_t::gui, height, dt_gui_gtk_t::ppd, TRUE, width, dt_develop_t::x, and dt_develop_t::y.
Referenced by dt_dev_rescale_roi(), and dt_dev_rescale_roi_to_input().
|
inlinestatic |
References dt_mipmap_buffer_t::buf, darktable, dt_get_times(), dt_image_cache_get(), dt_image_cache_read_release(), DT_MIPMAP_BLOCKING, dt_mipmap_cache_get, dt_mipmap_cache_release, DT_MIPMAP_FULL, dt_show_times_f(), dt_mipmap_buffer_t::height, darktable_t::image_cache, dt_develop_t::image_storage, darktable_t::mipmap_cache, and dt_mipmap_buffer_t::width.
Referenced by dt_dev_load_image().
|
static |
|
static |
References darktable, dt_dev_get_natural_scale(), DT_DEV_PIXELPIPE_FULL, dt_dev_pixelpipe_get_roi_out(), DT_DEV_PIXELPIPE_PREVIEW, darktable_t::gui, dt_develop_t::height, dt_dev_pixelpipe_t::iheight, dt_dev_pixelpipe_t::iwidth, dt_develop_t::natural_scale, dt_gui_gtk_t::ppd, dt_dev_pixelpipe_t::processed_height, dt_dev_pixelpipe_t::processed_width, dt_develop_t::scaling, dt_dev_pixelpipe_t::type, dt_develop_t::width, dt_develop_t::x, and dt_develop_t::y.
Referenced by dt_dev_darkroom_pipeline().
|
static |
References dt_dev_pixelpipe_t::backbuf, dt_dev_pixelpipe_t::backbuf_height, dt_dev_pixelpipe_t::backbuf_mutex, dt_dev_pixelpipe_t::backbuf_width, darktable, dt_dev_pixelpipe_cache_get_entry_from_data(), dt_dev_pixelpipe_cache_rdlock_entry(), dt_dev_pixelpipe_cache_ref_count_entry(), dt_dev_pixelpipe_cache_remove(), DT_DEV_PIXELPIPE_VALID, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, dt_image_t::id, dt_dev_pixelpipe_t::image, dt_dev_pixelpipe_t::output_backbuf, dt_dev_pixelpipe_t::output_backbuf_height, dt_dev_pixelpipe_t::output_backbuf_width, dt_dev_pixelpipe_t::output_imgid, darktable_t::pixelpipe_cache, and dt_dev_pixelpipe_t::status.
Referenced by dt_dev_darkroom_pipeline().
| void dt_dev_append_changed_tag | ( | const int32_t | imgid | ) |
| 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_darkroom_pipeline().
| 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 .
| dev | the develop instance |
| dev_x | the normalized x position of ROI |
| dev_y | the normalized y position of ROI |
| box_w | the width of navigation's box |
| box_h | the height of navigation's box |
References CLAMPF, darktable, dt_dev_get_processed_size(), dt_dev_get_zoom_level(), darktable_t::gui, dt_develop_t::height, dt_gui_gtk_t::ppd, dt_develop_t::scaling, and dt_develop_t::width.
Referenced by _change_scaling(), _lib_navigation_draw_callback(), _lib_navigation_set_position(), _zoom_preset_change(), and mouse_moved().
| gboolean dt_dev_check_zoom_scale_bounds | ( | dt_develop_t * | dev | ) |
Ensure that the current zoom level is within allowed bounds (for scrolling).
| dev | the develop instance |
References darktable, FALSE, darktable_t::gui, dt_develop_t::natural_scale, dt_gui_gtk_t::ppd, dt_develop_t::scaling, and TRUE.
Referenced by _change_scaling().
| void dt_dev_cleanup | ( | dt_develop_t * | dev | ) |
References dt_develop_t::allforms, dt_develop_t::alliop, dt_develop_t::allprofile_info, dt_develop_t::auto_save_timeout, dt_backbuf_t::buffer, dt_develop_t::chroma_adaptation, dt_develop_t::colorscheme, dt_develop_t::display_histogram, dt_develop_t::drawing_timeout, dt_conf_set_float(), dt_conf_set_int(), dt_dev_free_history_item(), dt_dev_pixelpipe_cleanup(), dt_free_align, dt_iop_cleanup_module(), dt_ioppr_cleanup_profile_info(), dt_masks_free_form(), dt_pthread_rwlock_destroy, dt_develop_t::forms, dt_develop_t::histogram_pre_levels, dt_develop_t::histogram_pre_tonecurve, dt_develop_t::history, dt_develop_t::history_mutex, dt_develop_t::iop, dt_develop_t::iop_order_list, dt_develop_t::lower, dt_develop_t::mode, dt_develop_t::output_histogram, dt_develop_t::overexposed, dt_develop_t::pipe, dt_develop_t::preview_pipe, dt_develop_t::proxy, dt_develop_t::raw_histogram, dt_develop_t::rawoverexposed, dt_develop_t::threshold, dt_develop_t::upper, void(), and dt_develop_t::wb_coeffs.
Referenced by _history_copy_and_paste_on_image_merge(), cleanup(), dt_focus_draw_clusters(), dt_imageio_export_with_flags(), and dt_styles_apply_to_image().
| 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.
| dev | the develop instance |
| cr | the cairo context to clip on |
| width | the view width |
| height | the view height |
References dt_dev_pixelpipe_t::backbuf_height, dt_dev_pixelpipe_t::backbuf_width, dt_develop_t::border_size, dt_dev_get_overlay_scale(), FALSE, height, dt_develop_t::preview_pipe, TRUE, and width.
Referenced by expose(), and gui_post_expose().
| void dt_dev_configure_real | ( | dt_develop_t * | dev, |
| int | wd, | ||
| int | ht | ||
| ) |
References darktable, dt_control_queue_redraw_center(), DT_DEBUG_DEV, dt_dev_pixelpipe_change_zoom_main, dt_dev_pixelpipe_change_zoom_preview(), dt_dev_process_all, dt_print(), dt_develop_t::height, dt_image_t::id, dt_develop_t::image_storage, darktable_t::mipmap_cache, dt_dev_pixelpipe_t::output_backbuf, dt_develop_t::pipe, and dt_develop_t::width.
| void dt_dev_darkroom_pipeline | ( | dt_develop_t * | dev, |
| dt_dev_pixelpipe_t * | pipe | ||
| ) |
References _flag_pipe(), _update_darkroom_roi(), _update_gui_backbuf(), dt_develop_t::average_delay, dt_mipmap_buffer_t::buf, dt_dev_pixelpipe_t::busy_mutex, dt_dev_pixelpipe_t::changed, dt_develop_t::completed, darktable, dt_atomic_set_int(), dt_control_log_busy_enter(), dt_control_log_busy_leave(), dt_control_queue_redraw(), 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_FULL, dt_dev_pixelpipe_has_reentry(), DT_DEV_PIXELPIPE_PREVIEW, 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_pipe_type_to_str(), dt_print(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), DT_SIGNAL_DEVELOP_PREVIEW_PIPE_FINISHED, 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_storage, darktable_t::mipmap_cache, darktable_t::pipeline_threadsafe, darktable_t::pixelpipe_cache, dt_develop_t::preview_average_delay, dt_dev_pixelpipe_t::processing, dt_develop_t::progress, dt_dev_pixelpipe_t::running, dt_dev_pixelpipe_t::shutdown, darktable_t::signals, dt_dev_pixelpipe_t::status, dt_dev_pixelpipe_t::timeout, dt_develop_t::total, type, dt_dev_pixelpipe_t::type, dt_mipmap_buffer_t::width, and dt_develop_t::width.
Referenced by dt_dev_process_image_job(), and dt_dev_process_preview_job().
| int dt_dev_distort_backtransform | ( | dt_develop_t * | dev, |
| float * | points, | ||
| size_t | points_count | ||
| ) |
reverse apply all transforms to the specified points (in preview pipe space)
References dt_dev_distort_backtransform_plus(), DT_DEV_TRANSFORM_DIR_ALL, and dt_develop_t::preview_pipe.
Referenced by _add_node_to_segment(), _brush_events_button_released(), _brush_events_mouse_moved(), _circle_events_post_expose(), _ellipse_events_post_expose(), _gradient_events_post_expose(), _polygon_events_mouse_moved(), button_released(), dt_dev_roi_delta_to_input_space(), dt_dev_roi_to_input_space(), dt_masks_rotate_with_anchor(), and dt_masks_set_source_pos_initial_value().
| 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 | ||
| ) |
same fct, but can only be called from a distort_backtransform function called by dt_dev_distort_backtransform_plus
References dt_dev_pixelpipe_activemodule_disables_currentmodule(), DT_DEV_TRANSFORM_DIR_ALL, DT_DEV_TRANSFORM_DIR_BACK_EXCL, DT_DEV_TRANSFORM_DIR_BACK_INCL, DT_DEV_TRANSFORM_DIR_FORW_EXCL, DT_DEV_TRANSFORM_DIR_FORW_INCL, dt_dev_pixelpipe_t::iop, and dt_dev_pixelpipe_t::nodes.
Referenced by 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 | ||
| ) |
same fct as dt_dev_distort_backtransform, but we can specify iop with priority between pmin and pmax
References dt_dev_distort_backtransform_locked(), dt_pthread_rwlock_rdlock, dt_pthread_rwlock_unlock, and dt_develop_t::history_mutex.
Referenced by _circle_get_mask(), _circle_get_mask_roi(), _commit_box(), _do_get_structure_quad(), _draw_save_lines_to_params(), _ellipse_get_mask(), _ellipse_get_mask_roi(), _gradient_get_mask(), _gradient_get_mask_roi(), button_pressed(), button_released(), commit_box(), dt_dev_distort_backtransform(), get_point_scale(), mouse_moved(), pixelpipe_picker_helper(), process(), process(), and set_grad_from_points().
| 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 | ||
| ) |
get the iop_pixelpipe instance corresponding to the iop in the given pipe
References dt_dev_pixelpipe_t::nodes.
Referenced by _aspect_ratio_get(), _commit_box(), _do_get_structure_lines(), _do_get_structure_quad(), _draw_retrieve_lines_from_params(), _iop_clipping_set_max_clip(), _ratio_get_aspect(), _set_max_clip(), button_pressed(), call_distort_transform(), commit_box(), gui_post_expose(), mouse_moved(), set_grad_from_points(), and set_points_from_grad().
| 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().
| 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 | ||
| ) |
same fct, but can only be called from a distort_transform function called by dt_dev_distort_transform_plus
References dt_dev_pixelpipe_activemodule_disables_currentmodule(), DT_DEV_TRANSFORM_DIR_ALL, DT_DEV_TRANSFORM_DIR_BACK_EXCL, DT_DEV_TRANSFORM_DIR_BACK_INCL, DT_DEV_TRANSFORM_DIR_FORW_EXCL, DT_DEV_TRANSFORM_DIR_FORW_INCL, dt_dev_pixelpipe_t::iop, and dt_dev_pixelpipe_t::nodes.
Referenced by _distort_paths(), and dt_dev_distort_transform_plus().
| 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 | ||
| ) |
same fct, but we can specify iop with priority between pmin and pmax
References dt_dev_distort_transform_locked(), dt_pthread_rwlock_rdlock, dt_pthread_rwlock_unlock, and dt_develop_t::history_mutex.
Referenced by _brush_get_pts_border(), _circle_get_area(), _circle_get_mask_roi(), _circle_get_points_source(), _circle_get_source_area(), _distort_paths(), _draw_retrieve_lines_from_params(), _ellipse_get_area(), _ellipse_get_mask_roi(), _ellipse_get_points_source(), _ellipse_get_source_area(), _get_selected_area(), _get_selected_area(), _gradient_get_area(), _iop_clipping_set_max_clip(), _polygon_get_pts_border(), _process(), _set_max_clip(), button_pressed(), dt_dev_distort_transform(), dt_focus_draw_clusters(), get_points(), gui_post_expose(), masks_point_calc_delta(), rt_masks_point_calc_delta(), and set_points_from_grad().
| 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().
| float dt_dev_exposure_get_exposure | ( | dt_develop_t * | dev | ) |
get exposure
References find_last_exposure_instance(), and dt_dev_proxy_exposure_t::get_exposure.
Referenced by _extract_patches().
| 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_size)
| dev | the develop instance |
References dt_dev_pixelpipe_t::backbuf_height, dt_dev_pixelpipe_t::backbuf_width, dt_develop_t::height, dt_develop_t::preview_pipe, dt_develop_t::scaling, and dt_develop_t::width.
Referenced by _darkroom_pickers_draw(), dt_dev_get_overlay_scale(), dt_dev_rescale_roi(), and expose().
| int32_t dt_dev_get_history_end | ( | dt_develop_t * | dev | ) |
References dt_develop_t::history, and dt_develop_t::history_end.
Referenced by _gui_delete_callback(), _lib_history_change_callback(), _lib_snapshots_add_button_clicked_callback(), _remove_history_leaks(), dt_dev_add_history_item_real(), dt_dev_history_get_hash(), dt_dev_module_remove(), dt_dev_pixelpipe_synch_all_real(), dt_dev_pixelpipe_synch_top(), dt_dev_pop_history_items_ext(), dt_dev_undo_start_record(), dt_dev_write_history_ext(), dt_masks_cleanup_unused(), dt_masks_read_masks_history(), and dt_styles_apply_to_image().
| float dt_dev_get_natural_scale | ( | dt_develop_t * | dev, |
| struct dt_dev_pixelpipe_t * | pipe | ||
| ) |
References darktable, darktable_t::gui, dt_develop_t::height, dt_gui_gtk_t::ppd, dt_dev_pixelpipe_t::processed_height, dt_dev_pixelpipe_t::processed_width, and dt_develop_t::width.
Referenced by _update_darkroom_roi(), and gui_post_expose().
| float dt_dev_get_overlay_scale | ( | dt_develop_t * | dev | ) |
Get the overlay scale factor (scaling * natural_scale_on_processed_size * ppd)
| dev | the develop instance |
References darktable, dt_dev_get_fit_scale(), darktable_t::gui, and dt_gui_gtk_t::ppd.
Referenced by button_pressed(), dt_dev_clip_roi(), expose(), gui_post_expose(), and mouse_moved().
| void dt_dev_get_processed_size | ( | const dt_develop_t * | dev, |
| int * | procw, | ||
| int * | proch | ||
| ) |
References dt_develop_t::pipe, dt_develop_t::preview_pipe, dt_dev_pixelpipe_t::processed_height, and dt_dev_pixelpipe_t::processed_width.
Referenced by _aspect_apply(), _aspect_ratio_get(), _change_scaling(), _dev_translate_roi(), _lib_navigation_set_position(), _ratio_get_aspect(), apply_box_aspect(), dt_dev_check_zoom_pos_bounds(), dt_masks_events_post_expose(), and gui_post_expose().
| float dt_dev_get_zoom_level | ( | const dt_develop_t * | dev | ) |
| float dt_dev_get_zoom_scale | ( | dt_develop_t * | dev, |
| const gboolean | preview | ||
| ) |
References dt_develop_t::height, dt_develop_t::pipe, dt_develop_t::preview_pipe, dt_dev_pixelpipe_t::processed_height, dt_dev_pixelpipe_t::processed_width, and dt_develop_t::width.
Referenced by button_pressed(), and get_zoom_scale().
| 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
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().
| void dt_dev_init | ( | dt_develop_t * | dev, |
| int32_t | gui_attached | ||
| ) |
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::completed, 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_dev_reset_roi(), dt_image_init(), dt_pthread_rwlock_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_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::loading_cache, 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::progress, dt_develop_t::proxy, dt_develop_t::raw_histogram, dt_develop_t::rawoverexposed, dt_develop_t::threshold, dt_develop_t::total, 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_focus_draw_clusters(), dt_imageio_export_with_flags(), dt_styles_apply_to_image(), and init().
| 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().
| int dt_dev_load_image | ( | dt_develop_t * | dev, |
| const int32_t | imgid | ||
| ) |
References _dt_dev_load_raw(), dt_dev_pixelpipe_rebuild_all(), dt_dev_read_history_ext(), dt_iop_load_modules(), dt_pthread_rwlock_unlock, dt_pthread_rwlock_wrlock, FALSE, dt_develop_t::history_mutex, dt_image_t::id, dt_develop_t::image_storage, dt_develop_t::iop, dt_develop_t::pipe, dt_develop_t::preview_pipe, dt_dev_pixelpipe_t::processed_height, and dt_dev_pixelpipe_t::processed_width.
Referenced by dt_focus_draw_clusters(), dt_imageio_export_with_flags(), and try_enter().
| void dt_dev_masks_list_change | ( | dt_develop_t * | dev | ) |
References dt_develop_t::list_change, dt_develop_t::masks, and dt_develop_t::proxy.
Referenced by dt_dev_read_history_ext().
| void dt_dev_masks_list_remove | ( | dt_develop_t * | dev, |
| int | formid, | ||
| int | parentid | ||
| ) |
References dt_develop_t::list_remove, dt_develop_t::masks, and dt_develop_t::proxy.
| void dt_dev_masks_list_update | ( | dt_develop_t * | dev | ) |
References dt_develop_t::list_update, dt_develop_t::masks, and dt_develop_t::proxy.
Referenced by dt_dev_add_history_item_real().
| void dt_dev_masks_selection_change | ( | dt_develop_t * | dev, |
| struct dt_iop_module_t * | module, | ||
| const int | selectid, | ||
| const int | throw_event | ||
| ) |
References dt_develop_t::masks, dt_develop_t::proxy, and dt_develop_t::selection_change.
Referenced by _brush_events_button_released(), _circle_events_button_pressed(), _ellipse_events_button_pressed(), _gradient_events_button_pressed(), _polygon_events_button_pressed(), _tree_add_exist(), _tree_duplicate_shape(), dt_masks_events_button_released(), and dt_masks_set_edit_mode().
| void dt_dev_masks_update_hash | ( | dt_develop_t * | dev | ) |
integrity hash of the forms/shapes stack
References dt_get_times(), dt_masks_group_get_hash(), dt_show_times(), dt_develop_t::forms, dt_develop_t::forms_changed, dt_develop_t::forms_hash, and dt_pixel_cache_entry_t::hash.
Referenced by _delayed_history_commit(), and dt_dev_read_history_ext().
| dt_iop_module_t * dt_dev_module_duplicate | ( | dt_develop_t * | dev, |
| dt_iop_module_t * | base | ||
| ) |
duplicate a existent module
References dt_iop_module_t::dev, dt_iop_load_module(), dt_iop_update_multi_priority(), dt_ioppr_insert_module_instance(), dt_ioppr_move_iop_after(), dt_sort_iop_by_order(), FALSE, dt_iop_module_t::instance, dt_develop_t::iop, dt_iop_module_t::multi_name, dt_iop_module_t::multi_priority, dt_iop_module_t::so, and TRUE.
| void dt_dev_module_remove | ( | dt_develop_t * | dev, |
| struct dt_iop_module_t * | module | ||
| ) |
remove an existent module
References darktable, DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_DEBUG_HISTORY, dt_dev_free_history_item(), dt_dev_get_history_end(), dt_dev_set_history_end(), dt_dev_undo_end_record(), dt_dev_undo_start_record(), dt_print(), dt_pthread_rwlock_unlock, dt_pthread_rwlock_wrlock, DT_SIGNAL_DEVELOP_MODULE_REMOVE, dt_develop_t::gui_attached, dt_develop_t::history, dt_develop_t::history_mutex, dt_develop_t::iop, dt_dev_history_item_t::multi_name, and darktable_t::signals.
Referenced by _gui_delete_callback().
| uint32_t dt_dev_modulegroups_get | ( | dt_develop_t * | dev | ) |
get the active modulegroup
References dt_develop_t::get, dt_develop_t::modulegroups, and dt_develop_t::proxy.
Referenced by _find_first_visible_module(), _find_last_visible_module(), _lib_history_button_clicked_callback(), _lib_modulegroups_scroll(), _modulegroups_switch_tab_next(), _modulegroups_switch_tab_previous(), _pop_undo(), default_iop_focus(), gui_reset(), and leave().
| void dt_dev_modulegroups_set | ( | dt_develop_t * | dev, |
| uint32_t | group | ||
| ) |
set the active modulegroup
References dt_develop_t::modulegroups, dt_develop_t::proxy, and dt_develop_t::set.
Referenced by _lib_history_button_clicked_callback(), _lib_modulegroups_scroll(), _modulegroups_switch_tab_next(), _modulegroups_switch_tab_previous(), _pop_undo(), enter(), and gui_reset().
| void dt_dev_modulegroups_switch | ( | dt_develop_t * | dev, |
| struct dt_iop_module_t * | module | ||
| ) |
switch to modulegroup of module
References dt_develop_t::modulegroups, dt_develop_t::proxy, and dt_develop_t::switch_group.
Referenced by _lib_history_button_clicked_callback(), and default_iop_focus().
| void dt_dev_modulegroups_update_visibility | ( | dt_develop_t * | dev | ) |
update modulegroup visibility
References dt_develop_t::modulegroups, dt_develop_t::proxy, dt_develop_t::switch_group, and dt_develop_t::update_visibility.
Referenced by _gui_off_callback(), and dt_iop_gui_duplicate().
| void dt_dev_modules_update_multishow | ( | dt_develop_t * | dev | ) |
same, but for all modules
References _dev_module_update_multishow(), dt_ioppr_check_iop_order(), dt_iop_module_t::expander, and dt_develop_t::iop.
Referenced by _gui_delete_callback(), _gui_movedown_callback(), _gui_moveup_callback(), _lib_modulegroups_update_iop_visibility(), _on_drag_data_received(), and dt_iop_gui_duplicate().
| void dt_dev_process_all_real | ( | dt_develop_t * | dev | ) |
| void dt_dev_process_image | ( | dt_develop_t * | dev | ) |
| void dt_dev_process_image_job | ( | dt_develop_t * | dev | ) |
References dt_dev_darkroom_pipeline(), and dt_develop_t::pipe.
Referenced by dt_dev_process_image_job_run().
| void dt_dev_process_preview | ( | dt_develop_t * | dev | ) |
| void dt_dev_process_preview_job | ( | dt_develop_t * | dev | ) |
References dt_dev_darkroom_pipeline(), and dt_develop_t::preview_pipe.
Referenced by dt_dev_process_preview_job_run().
| void dt_dev_reorder_gui_module_list | ( | dt_develop_t * | dev | ) |
reorder the module list
References darktable, DT_UI_CONTAINER_PANEL_RIGHT_CENTER, dt_ui_get_container(), darktable_t::gui, dt_develop_t::iop, and dt_gui_gtk_t::ui.
Referenced by _lib_history_button_clicked_callback().
| 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.
| dev | the develop instance |
| cr | the cairo context to draw on |
| width | the widget width |
| height | the widget height |
References _dev_translate_roi(), dt_dev_get_fit_scale(), FALSE, height, TRUE, and width.
Referenced by _darkroom_pickers_draw(), expose(), gui_post_expose(), and gui_post_expose().
| 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.
| dev | the develop instance |
| cr | the cairo context to draw on |
| width | the widget width |
| height | the widget height |
References _dev_translate_roi(), darktable, dt_dev_get_zoom_level(), FALSE, darktable_t::gui, height, dt_gui_gtk_t::ppd, TRUE, and width.
Referenced by dt_masks_events_post_expose().
| void dt_dev_reset_roi | ( | dt_develop_t * | dev | ) |
References dt_develop_t::natural_scale, dt_develop_t::scaling, dt_develop_t::x, and dt_develop_t::y.
Referenced by dt_dev_init(), and reset().
| void dt_dev_retrieve_full_pos | ( | dt_develop_t * | dev, |
| const int | px, | ||
| const int | py, | ||
| float * | mouse_x, | ||
| float * | mouse_y | ||
| ) |
Get the pointer position from widget space to preview buffer space [0..1].
NOTE: The input mouse coordinates are without border subtraction.
| dev | the develop instance |
| px | the x mouse coordinate in widget space, with no border subtraction. |
| py | the y mouse coordinate in widget space, with no border subtraction. |
| mouse_x | the returned x mouse coordinate relative to processed image [0..1]. |
| mouse_y | the returned y mouse coordinate relative to processed image [0..1]. |
References dt_develop_t::border_size, darktable, dt_dev_get_zoom_level(), darktable_t::gui, dt_develop_t::height, dt_develop_t::pipe, dt_gui_gtk_t::ppd, dt_dev_pixelpipe_t::processed_height, dt_dev_pixelpipe_t::processed_width, dt_develop_t::width, dt_develop_t::x, and dt_develop_t::y.
Referenced by button_pressed(), button_pressed(), button_released(), dt_masks_events_button_pressed(), dt_masks_events_button_released(), dt_masks_events_mouse_moved(), dt_masks_events_mouse_scrolled(), get_point_scale(), gui_post_expose(), mouse_moved(), mouse_moved(), and scrolled().
| gboolean dt_dev_roi_delta_to_input_space | ( | dt_develop_t * | dev, |
| const float | delta[2], | ||
| const float | in[2], | ||
| float | points[2] | ||
| ) |
Convert a delta vector in ROI space to input image space. The function performs a distortion backtransform.
| dev | the develop instance |
| delta | the delta vector in anormalized ROI space. |
| in | the input point in normalized ROI space [0..1]. |
| points | the returned two points in input image space, normalized or pixel depending on normalize_out. |
References dt_dev_pixelpipe_t::backbuf_height, dt_dev_pixelpipe_t::backbuf_width, dt_dev_distort_backtransform(), FALSE, dt_dev_pixelpipe_t::iheight, dt_dev_pixelpipe_t::iwidth, dt_develop_t::natural_scale, dt_develop_t::preview_pipe, and TRUE.
Referenced by _brush_events_mouse_moved(), _circle_events_mouse_moved(), _ellipse_events_mouse_moved(), _gradient_events_mouse_moved(), _polygon_events_mouse_moved(), and dt_masks_set_source_pos_initial_value().
| gboolean dt_dev_roi_to_input_space | ( | dt_develop_t * | dev, |
| gboolean | normalize_out, | ||
| const float | in_x, | ||
| const float | in_y, | ||
| float * | out_x, | ||
| float * | out_y | ||
| ) |
Get point in input image space from point in normalized ROI space. The function performs a distortion backtransform.
| dev | the develop instance |
| normalize_out | if TRUE, out_x and out_y will be normalized [0..1], if FALSE, they will be in pixel coordinates. |
| in_x | the x point in normalized ROI space [0..1]. |
| in_y | the y point in normalized ROI space [0..1]. |
| out_x | the returned x point in input image space, normalized or pixel depending on normalize_out. |
| out_y | the returned y point in input image space, normalized or pixel depending on normalize_out. |
References dt_dev_pixelpipe_t::backbuf_height, dt_dev_pixelpipe_t::backbuf_width, dt_dev_distort_backtransform(), FALSE, dt_dev_pixelpipe_t::iheight, dt_dev_pixelpipe_t::iwidth, dt_develop_t::natural_scale, dt_develop_t::preview_pipe, and TRUE.
Referenced by _add_node_to_segment(), _add_node_to_segment(), _circle_events_button_pressed(), _ellipse_events_button_pressed(), _gradient_events_button_pressed(), and _polygon_events_button_pressed().
| void dt_dev_set_history_end | ( | dt_develop_t * | dev, |
| const uint32_t | index | ||
| ) |
| void dt_dev_snapshot_request | ( | dt_develop_t * | dev, |
| const char * | filename | ||
| ) |
request snapshot
References dt_control_queue_redraw_center(), dt_develop_t::filename, dt_develop_t::proxy, dt_develop_t::request, dt_develop_t::snapshot, and TRUE.
Referenced by _lib_snapshots_add_button_clicked_callback().
| 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_PIPE_REMOVE, DT_DEV_PIPE_SYNCH, DT_DEV_PIPE_TOP_CHANGED, dt_dev_pixelpipe_update_main, 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().
| void dt_dev_undo_end_record | ( | dt_develop_t * | dev | ) |
References darktable, DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_SIGNAL_DEVELOP_HISTORY_CHANGE, DT_VIEW_DARKROOM, dt_view_manager_get_current_view(), dt_develop_t::gui_attached, darktable_t::signals, and darktable_t::view_manager.
Referenced by _darkroom_ui_apply_style_activate_callback(), _lib_history_button_clicked_callback(), _lib_history_truncate(), compress_history_callback(), delete_history_callback(), dt_dev_add_history_item_real(), dt_dev_module_remove(), enter(), gui_reset(), paste_all_callback(), and paste_parts_callback().
| void dt_dev_undo_start_record | ( | dt_develop_t * | dev | ) |
References darktable, DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_dev_get_history_end(), dt_history_duplicate(), dt_ioppr_iop_order_copy_deep(), DT_SIGNAL_DEVELOP_HISTORY_WILL_CHANGE, DT_VIEW_DARKROOM, dt_view_manager_get_current_view(), dt_develop_t::gui_attached, dt_develop_t::history, dt_develop_t::iop_order_list, darktable_t::signals, and darktable_t::view_manager.
Referenced by _darkroom_ui_apply_style_activate_callback(), _lib_history_button_clicked_callback(), _lib_history_truncate(), compress_history_callback(), delete_history_callback(), dt_dev_add_history_item_real(), dt_dev_module_remove(), enter(), gui_reset(), paste_all_callback(), and paste_parts_callback().
| 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 | ||
| ) |
wait until hash value found in hash matches hash value defined by dev/pipe/pmin/pmax with timeout
References darktable, dt_dev_pixelpipe_t::devid, dt_atomic_get_int(), dt_conf_get_int(), dt_dev_hash(), dt_iop_nap(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, dt_pixel_cache_entry_t::hash, dt_pixel_cache_entry_t::lock, darktable_t::opencl, dt_dev_pixelpipe_t::shutdown, and TRUE.
Referenced by dt_dev_sync_pixelpipe_hash().
| 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().
| gchar * dt_history_item_get_name | ( | const struct dt_iop_module_t * | module | ) |
generates item multi-instance name without mnemonics
References delete_underscore(), and dt_iop_module_t::multi_name.
Referenced by _gui_off_callback(), _mask_indicator_tooltip(), _print_nan_debug(), _print_perf_debug(), _set_group_name_from_module(), _tree_button_pressed(), dt_dev_pixelpipe_process_rec(), dt_iop_set_mask_mode(), and dt_masks_iop_combo_populate().
| gchar * dt_history_item_get_name_html | ( | const struct dt_iop_module_t * | module | ) |
References delete_underscore(), and dt_iop_module_t::multi_name.
| gboolean dt_masks_get_lock_mode | ( | dt_develop_t * | dev | ) |
References darktable, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, darktable_t::gui, dt_develop_t::gui_attached, dt_develop_t::mask_lock, and dt_gui_gtk_t::mutex.
Referenced by mask_lock_callback().
| void dt_masks_set_lock_mode | ( | dt_develop_t * | dev, |
| gboolean | mode | ||
| ) |
References darktable, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), darktable_t::gui, dt_develop_t::gui_attached, dt_develop_t::mask_lock, and dt_gui_gtk_t::mutex.
Referenced by mask_lock_callback().
|
static |
References DT_DEV_PIXELPIPE_ANY, DT_DEV_PIXELPIPE_EXPORT, DT_DEV_PIXELPIPE_FULL, DT_DEV_PIXELPIPE_PREVIEW, and DT_DEV_PIXELPIPE_THUMBNAIL.
Referenced by dt_dev_darkroom_pipeline().
|
static |
References dt_develop_t::exposure, and dt_develop_t::proxy.
Referenced by dt_dev_exposure_get_black(), and dt_dev_exposure_get_exposure().