![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "bauhaus/bauhaus.h"#include "common/collection.h"#include "common/colorspaces.h"#include "common/darktable.h"#include "gui/gdkkeys.h"#include "common/debug.h"#include "common/file_location.h"#include "common/history.h"#include "common/image_cache.h"#include "common/imageio.h"#include "common/iop-autoset.h"#include "common/imageio_module.h"#include "common/mipmap_cache.h"#include "common/selection.h"#include "common/tags.h"#include "common/undo.h"#include "control/conf.h"#include "control/control.h"#include "control/jobs.h"#include "develop/blend.h"#include "develop/dev_pixelpipe.h"#include "develop/develop.h"#include "develop/imageop.h"#include "develop/masks.h"#include "dtgtk/button.h"#include "dtgtk/thumbtable.h"#include "gui/color_picker_proxy.h"#include "gui/draw.h"#include "gui/gtk.h"#include "gui/gui_throttle.h"#include "gui/guides.h"#include "gui/presets.h"#include "libs/colorpicker.h"#include "libs/lib.h"#include "views/view.h"#include "views/view_api.h"#include <gdk/gdkkeysyms.h>#include <glib.h>#include <math.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>
Include dependency graph for darkroom.c:Go to the source code of this file.
Data Structures | |
| struct | coords_t |
| struct | darkroom_locked_surface_t |
| struct | darkroom_expose_state_t |
| struct | darkroom_edge_pan_test_t |
Macros | |
| #define | G_SOURCE_FUNC(f) ((GSourceFunc) (void (*)(void)) (f)) |
| #define | DARKROOM_EDGE_PAN_INTERVAL_MS 64 |
| #define | DARKROOM_EDGE_PAN_MARGIN_PX DT_PIXEL_APPLY_DPI(100) |
| #define | DARKROOM_EDGE_PAN_SPEED_PX_PER_S 360.0f |
| #define | DARKROOM_EXPOSE_DUMB_DEBUG 0 |
Typedefs | |
| typedef struct coords_t | coords_t |
| typedef struct darkroom_locked_surface_t | darkroom_locked_surface_t |
| typedef struct darkroom_expose_state_t | darkroom_expose_state_t |
| typedef struct darkroom_edge_pan_test_t | darkroom_edge_pan_test_t |
Functions | |
| static void | _update_softproof_gamut_checking (dt_develop_t *d) |
| static void | _view_darkroom_filmstrip_activate_callback (gpointer instance, int32_t imgid, gpointer user_data) |
| static void | _darkroom_image_loaded_callback (gpointer instance, guint request_id, guint result, gpointer user_data) |
| static void | _dev_change_image (dt_view_t *self, const int32_t imgid) |
| static void | _darkroom_autoset_popover_rebuild (dt_develop_t *dev) |
| static int | _change_scaling (dt_develop_t *dev, const float point[2], const float new_scaling) |
| static void | _release_expose_source_caches (void) |
| static void | _darkroom_set_default_cursor (dt_view_t *self, double x, double y) |
| static void | _darkroom_autoset_popover_refresh (gpointer instance, gpointer user_data) |
| static void | _darkroom_autoset_button_set_running (const gboolean running) |
| Reflect autoset processing state on the darkroom quick button. | |
| static void | _darkroom_ioporder_quickbutton_clicked (GtkButton *button, gpointer user_data) |
| const char * | name (const dt_view_t *self) |
| void | init (dt_view_t *self) |
| uint32_t | view (const dt_view_t *self) |
| static void | _reset_edge_pan () |
| void | cleanup (dt_view_t *self) |
| static cairo_status_t | _write_snapshot_data (void *closure, const unsigned char *data, unsigned int length) |
| static dt_darkroom_layout_t | _lib_darkroom_get_layout (dt_view_t *self) |
| static gboolean | _darkroom_is_only_selected_sample (gboolean is_primary_sample, dt_colorpicker_sample_t *selected_sample, gboolean display_samples) |
| static void | _darkroom_sample_raw_point_to_image_norm (const dt_colorpicker_sample_t *const sample, float point[2]) |
| static void | _darkroom_sample_raw_box_to_image_norm (const dt_colorpicker_sample_t *const sample, float box[4]) |
| static void | _darkroom_pickers_draw (dt_view_t *self, cairo_t *cri, int32_t width, int32_t height, int32_t pozx, int32_t pozy, GSList *samples, gboolean is_primary_sample) |
| Draw colorpicker samples overlays in darkroom view. | |
| void | _colormanage_ui_color (const float L, const float a, const float b, dt_aligned_pixel_t RGB) |
| static void | _render_iso12646 (cairo_t *cr, double width, double height, int border) |
| static void | _release_locked_surface (darkroom_locked_surface_t *locked) |
| static void | _release_preview_fallback_surface (void) |
| static void | _darkroom_restart_cache_wait (gpointer user_data) |
| static gboolean | _lock_pipe_surface (dt_develop_t *dev, dt_dev_pixelpipe_t *pipe, darkroom_locked_surface_t *locked, const gboolean keep_previous_on_fail, const gboolean lock_read) |
| static gboolean | _render_main_locked_surface (cairo_t *cr, dt_develop_t *dev, darkroom_locked_surface_t *locked, const int width, const int height, const int border, const dt_aligned_pixel_t bg_color) |
| static gboolean | _build_preview_fallback_surface (dt_develop_t *dev, const int width, const int height, const int border, const dt_aligned_pixel_t bg_color, const uint64_t zoom_hash) |
| static gboolean | _render_preview_fallback_surface (cairo_t *cr) |
| static void | _paint_all (cairo_t *cri, cairo_t *cr, cairo_surface_t *image_surface) |
| static gboolean | _darkroom_preview_fallback_valid (const dt_develop_t *dev, const int width, const int height, const uint64_t zoom_hash) |
| static gboolean | _darkroom_locked_main_valid_for_zoom (const darkroom_expose_state_t *state, const uint64_t zoom_hash) |
| static void | _darkroom_reset_expose_state (darkroom_expose_state_t *state) |
| static void | _darkroom_prepare_image_surface (dt_develop_t *dev, const int width, const int height, darkroom_expose_state_t *state) |
| void | expose (dt_view_t *self, cairo_t *cri, int32_t width, int32_t height, int32_t pointerx, int32_t pointery) |
| void | reset (dt_view_t *self) |
| static void | _darkroom_log_image_load_error (const int ret) |
| int | try_enter (dt_view_t *self) |
| static gboolean | _toolbar_show_popup (gpointer user_data) |
| static gboolean | _darkroom_toolbox_button_activate_accel (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| static gboolean | _darkroom_toolbox_button_focus_accel (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| static void | _get_final_size_with_iso_12646 (dt_develop_t *d) |
| static void | _iso_12646_quickbutton_clicked (GtkWidget *w, gpointer user_data) |
| static void | _guides_quickbutton_clicked (GtkWidget *widget, gpointer user_data) |
| static void | _guides_view_changed (gpointer instance, dt_view_t *old_view, dt_view_t *new_view, dt_lib_module_t *self) |
| static void | _display_quickbutton_clicked (GtkWidget *w, gpointer user_data) |
| static void | display_brightness_callback (GtkWidget *slider, gpointer user_data) |
| static void | display_borders_callback (GtkWidget *slider, gpointer user_data) |
| static void | display_mask_checker_1_callback (GtkColorButton *widget, gpointer user_data) |
| Persist the global mask-preview appearance and resynchronize every node using it. | |
| static void | display_mask_checker_2_callback (GtkColorButton *widget, gpointer user_data) |
| static void | display_mask_checker_size_callback (GtkWidget *slider, gpointer user_data) |
| static void | display_mask_black_and_white_callback (GtkToggleButton *toggle, gpointer user_data) |
| static void | _darkroom_change_rendering_size (GtkWidget *combobox, gpointer user_data) |
| static void | _overexposed_quickbutton_clicked (GtkWidget *w, gpointer user_data) |
| static void | colorscheme_callback (GtkWidget *combo, gpointer user_data) |
| static void | lower_callback (GtkWidget *slider, gpointer user_data) |
| static void | upper_callback (GtkWidget *slider, gpointer user_data) |
| static void | mode_callback (GtkWidget *slider, gpointer user_data) |
| static void | _rawoverexposed_quickbutton_clicked (GtkWidget *w, gpointer user_data) |
| static void | rawoverexposed_mode_callback (GtkWidget *combo, gpointer user_data) |
| static void | rawoverexposed_colorscheme_callback (GtkWidget *combo, gpointer user_data) |
| static void | rawoverexposed_threshold_callback (GtkWidget *slider, gpointer user_data) |
| static void | _softproof_quickbutton_clicked (GtkWidget *w, gpointer user_data) |
| static void | _gamut_quickbutton_clicked (GtkWidget *w, gpointer user_data) |
| static void | softproof_profile_callback (GtkWidget *combo, gpointer user_data) |
| static gboolean | _quickbutton_press_release (GtkWidget *button, GdkEventButton *event, GtkWidget *popover) |
| void | connect_button_press_release (GtkWidget *w, GtkWidget *p) |
| gboolean | _focus_main_image (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| gboolean | _switch_to_next_picture (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| gboolean | _switch_to_prev_picture (GtkAccelGroup *accel_group, GObject *accelerable, guint keyval, GdkModifierType modifier, gpointer data) |
| static void | _preview_pipe_finished (gpointer instance, gpointer user_data) |
| static void | _darkroom_autoset_quickbutton_clicked (GtkButton *button, gpointer user_data) |
| static gchar * | _darkroom_autoset_label (const dt_iop_module_t *module) |
| static void | _darkroom_autoset_module_toggled (GtkToggleButton *toggle, gpointer user_data) |
| void | gui_init (dt_view_t *self) |
| static gboolean | _is_scroll_captured_by_widget () |
| gboolean | _scroll_on_focus (GdkEventScroll event, void *data) |
| void | enter (dt_view_t *self) |
| void | leave (dt_view_t *self) |
| void | mouse_leave (dt_view_t *self) |
| static gboolean | _is_in_frame (const int width, const int height, const int x, const int y) |
| static gboolean | mouse_in_imagearea (dt_view_t *self, double x, double y) |
| static gboolean | mouse_in_actionarea (dt_view_t *self, double x, double y) |
| void | mouse_enter (dt_view_t *self) |
| static void | _delayed_history_commit (gpointer data) |
| static float | _darkroom_edge_pan_velocity (const double position, const double size, const float margin) |
| static gboolean | _darkroom_edge_pan_enable_check (dt_develop_t *dev) |
| static void | _darkroom_edge_pan_update_state (dt_view_t *self, const double pointer_x, const double pointer_y, const int width, const int height, darkroom_edge_pan_test_t *edge) |
| Test every condition that allows edge-pan for the current pointer. | |
| static gboolean | _darkroom_edge_pan_apply (dt_view_t *self, const double pointer_x, const double pointer_y, const int width, const int height) |
| Apply one edge-pan step when the current drag is still eligible. | |
| static gboolean | _darkroom_edge_pan_tick (gpointer user_data) |
| Move the darkroom ROI while a drag stays in the center-widget edge band. | |
| void | mouse_moved (dt_view_t *self, double x, double y, double pressure, int which) |
| int | button_released (dt_view_t *self, double x, double y, int which, uint32_t state) |
| int | button_pressed (dt_view_t *self, double x, double y, double pressure, int which, int type, uint32_t state) |
| static gboolean | _center_view_free_zoom (dt_view_t *self, double x, double y, int up, int state, int flow) |
| int | scrolled (dt_view_t *self, double x, double y, int up, int state, int delta_y) |
| static void | _key_scroll (dt_develop_t *dev) |
| int | key_pressed (dt_view_t *self, GdkEventKey *event) |
| void | configure (dt_view_t *self, int wd, int ht) |
| #define DARKROOM_EDGE_PAN_INTERVAL_MS 64 |
Definition at line 149 of file darkroom.c.
| #define DARKROOM_EDGE_PAN_MARGIN_PX DT_PIXEL_APPLY_DPI(100) |
Definition at line 150 of file darkroom.c.
| #define DARKROOM_EDGE_PAN_SPEED_PX_PER_S 360.0f |
Definition at line 151 of file darkroom.c.
| #define DARKROOM_EXPOSE_DUMB_DEBUG 0 |
Definition at line 496 of file darkroom.c.
this is the view for the darkroom module.
Definition at line 136 of file darkroom.c.
| typedef struct darkroom_edge_pan_test_t darkroom_edge_pan_test_t |
| typedef struct darkroom_expose_state_t darkroom_expose_state_t |
| typedef struct darkroom_locked_surface_t darkroom_locked_surface_t |
|
static |
Definition at line 774 of file darkroom.c.
References _darkroom_preview_fallback_backbuf_hash, _darkroom_preview_fallback_height, _darkroom_preview_fallback_imgid, _darkroom_preview_fallback_surface, _darkroom_preview_fallback_width, _darkroom_preview_fallback_zoom_hash, _darkroom_preview_locked, _release_preview_fallback_surface(), _render_iso12646(), dt_dev_pixelpipe_t::backbuf, darktable, dt_cairo_image_surface_create(), dt_dev_backbuf_get_hash(), dt_dev_get_image_box_in_widget(), dt_dev_pixelpipe_cache_rdlock_entry(), dt_develop_t::enabled, darkroom_locked_surface_t::entry, FALSE, darktable_t::gui, darkroom_locked_surface_t::hash, height, darkroom_locked_surface_t::height, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, dt_develop_t::iso_12646, darktable_t::pixelpipe_cache, dt_gui_gtk_t::ppd, dt_develop_t::preview_pipe, dt_develop_t::roi, dt_develop_t::scaling, darkroom_locked_surface_t::surface, TRUE, width, darkroom_locked_surface_t::width, dt_develop_t::x, and dt_develop_t::y.
Referenced by expose().
|
static |
Definition at line 3579 of file darkroom.c.
References _change_scaling(), darktable, darktable_t::develop, dt_develop_t::roi, dt_develop_t::scaling, and x.
Referenced by scrolled().
|
static |
Definition at line 3530 of file darkroom.c.
References dt_dev_check_zoom_pos_bounds(), dt_dev_check_zoom_scale_bounds(), dt_dev_get_processed_size(), dt_dev_get_widget_center(), dt_dev_get_widget_zoom_scale(), dt_dev_pixelpipe_change_zoom_main(), dt_develop_t::roi, dt_develop_t::scaling, dt_develop_t::x, and dt_develop_t::y.
Referenced by _center_view_free_zoom(), button_pressed(), and key_pressed().
| void _colormanage_ui_color | ( | const float | L, |
| const float | a, | ||
| const float | b, | ||
| dt_aligned_pixel_t | RGB | ||
| ) |
Definition at line 472 of file darkroom.c.
References darktable_t::color_profiles, darktable, dt_Lab_to_XYZ(), L, Lab, RGB, dt_colorspaces_t::transform_xyz_to_display, and XYZ.
Referenced by expose().
|
static |
Reflect autoset processing state on the darkroom quick button.
The autoset pipeline advances asynchronously across preview-finished callbacks. We keep the button state explicit so users can see when a run is in progress.
| running | TRUE while autoset still has operations to process. |
Definition at line 195 of file darkroom.c.
References _darkroom_autoset_button, _darkroom_autoset_button_is_running, dt_gui_add_class(), dt_gui_remove_class(), and IS_NULL_PTR.
Referenced by _darkroom_autoset_quickbutton_clicked(), _preview_pipe_finished(), and gui_init().
|
static |
Definition at line 1971 of file darkroom.c.
References dt_free, dt_history_item_get_name(), and dt_iop_module_t::multi_priority.
Referenced by _darkroom_autoset_popover_rebuild().
|
static |
Definition at line 1979 of file darkroom.c.
References dt_iop_autoset_module_set_enabled().
Referenced by _darkroom_autoset_popover_rebuild().
|
static |
Definition at line 1985 of file darkroom.c.
References _darkroom_autoset_label(), _darkroom_autoset_list, _darkroom_autoset_module_toggled(), dt_gui_add_class(), dt_iop_autoset_module_is_enabled(), FALSE, dt_develop_t::iop, and IS_NULL_PTR.
Referenced by _darkroom_autoset_popover_refresh(), _toolbar_show_popup(), and gui_init().
|
static |
Definition at line 2015 of file darkroom.c.
References _darkroom_autoset_popover_rebuild().
Referenced by cleanup(), and gui_init().
|
static |
Definition at line 1964 of file darkroom.c.
References _autoset_manager, _darkroom_autoset_button_set_running(), darktable, darktable_t::develop, dt_iop_autoset_build_list(), and dt_autoset_manager_t::progress_cursor_active.
Referenced by gui_init().
Definition at line 1603 of file darkroom.c.
References d, dt_bauhaus_combobox_get(), dt_conf_set_int(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
|
static |
Apply one edge-pan step when the current drag is still eligible.
Edge-pan is gated by darktable.gui->pan_edge.enabled, then by the live pointer position in the displayed image edge band. The timeout calls this repeatedly because the ROI must keep moving even when the mouse is still.
Definition at line 3001 of file darkroom.c.
References _darkroom_edge_pan_update_state(), _reset_edge_pan(), dt_gui_gtk_t::block_normal_pan, dt_control_t::button_x, dt_control_t::button_y, CLAMPF, darktable_t::control, DARKROOM_EDGE_PAN_SPEED_PX_PER_S, darktable, delta, darkroom_edge_pan_test_t::dev, darkroom_edge_pan_test_t::drag, dt_dev_check_zoom_pos_bounds(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_pixelpipe_change_zoom_main(), dt_gui_gtk_t::enabled, FALSE, darktable_t::gui, height, darkroom_edge_pan_test_t::in_margin, IS_NULL_PTR, dt_gui_gtk_t::last_time_us, mouse_moved(), dt_gui_gtk_t::pan_edge, dt_develop_t::processed_height, dt_develop_t::processed_width, dt_develop_t::roi, dt_gui_gtk_t::timeout_source, TRUE, dt_gui_gtk_t::velocity, dt_gui_gtk_t::view, width, dt_develop_t::x, and dt_develop_t::y.
Referenced by _darkroom_edge_pan_tick().
|
static |
Definition at line 2928 of file darkroom.c.
References dt_masks_form_gui_t::creation, darktable, FALSE, dt_develop_t::form_gui, darktable_t::gui, dt_gui_gtk_t::is_dragging, IS_NULL_PTR, and dt_gui_gtk_t::mouse.
Referenced by _darkroom_edge_pan_update_state().
|
static |
Move the darkroom ROI while a drag stays in the center-widget edge band.
The timeout owns only the cadence of the auto-pan. Each tick rechecks the real pointer position because a timeout keeps running when the mouse stops moving.
Definition at line 3086 of file darkroom.c.
References _darkroom_edge_pan_apply(), _reset_edge_pan(), darktable, dt_ui_center(), FALSE, darktable_t::gui, IS_NULL_PTR, dt_gui_gtk_t::pan_edge, dt_gui_gtk_t::timeout_source, dt_gui_gtk_t::ui, dt_gui_gtk_t::view, and dt_view_t::width.
Referenced by mouse_moved().
|
static |
Test every condition that allows edge-pan for the current pointer.
The helper keeps the geometry and drag-state checks identical between real mouse moves and timeout ticks. It also computes the velocity because the distance to the edge is part of the same eligibility decision.
Definition at line 2946 of file darkroom.c.
References _darkroom_edge_pan_enable_check(), _darkroom_edge_pan_velocity(), CLAMPF, darktable_t::control, DARKROOM_EDGE_PAN_MARGIN_PX, darktable, dt_view_t::data, darkroom_edge_pan_test_t::dev, double(), darkroom_edge_pan_test_t::drag, dt_dev_get_image_box_in_widget(), dt_view_manager_get_current_view(), dt_gui_gtk_t::enabled, darktable_t::gui, height, darkroom_edge_pan_test_t::in_margin, darkroom_edge_pan_test_t::inside_image, IS_NULL_PTR, darkroom_edge_pan_test_t::margin, MIN, mouse_in_actionarea(), mouse_in_imagearea(), dt_gui_gtk_t::pan_edge, dt_develop_t::roi, dt_develop_t::scaling, TRUE, darkroom_edge_pan_test_t::velocity, darktable_t::view_manager, and width.
Referenced by _darkroom_edge_pan_apply(), and mouse_moved().
|
static |
Definition at line 2916 of file darkroom.c.
References CLAMPF, position(), and size.
Referenced by _darkroom_edge_pan_update_state().
|
static |
Definition at line 1287 of file darkroom.c.
References _darkroom_log_image_load_error(), _darkroom_pending_focus_module, dt_view_manager_t::current_view, darktable, dt_view_t::data, darktable_t::develop, dt_control_queue_redraw_center(), DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_dev_get_thumbnail_size(), dt_dev_history_gui_update(), dt_dev_pixelpipe_rebuild_all, dt_dev_pop_history_items(), dt_dev_start_all_pipelines(), dt_dev_undo_end_record(), dt_dev_undo_start_record(), dt_image_check_camera_missing_sample(), dt_iop_request_focus(), dt_selection_clear(), DT_SIGNAL_DEVELOP_IMAGE_CHANGED, DT_SIGNAL_DEVELOP_INITIALIZE, dt_undo_clear(), DT_UNDO_DEVELOP, dt_view_active_images_add(), dt_view_active_images_reset(), dt_view_image_info_update(), FALSE, dt_image_t::id, dt_develop_t::image_storage, dt_develop_t::iop, dt_develop_t::proxy, darktable_t::selection, darktable_t::signals, TRUE, darktable_t::undo, darktable_t::view_manager, and dt_develop_t::wb_coeffs.
Referenced by enter().
|
static |
Definition at line 179 of file darkroom.c.
Referenced by gui_init().
|
static |
Definition at line 297 of file darkroom.c.
Referenced by _darkroom_pickers_draw().
|
inlinestatic |
Definition at line 894 of file darkroom.c.
References _darkroom_main_locked, darkroom_locked_surface_t::hash, state, and darkroom_locked_surface_t::surface.
Referenced by expose().
|
static |
Definition at line 1271 of file darkroom.c.
References dt_control_log(), DT_DEV_IMAGE_STORAGE_DB_NOT_READ, and DT_DEV_IMAGE_STORAGE_MIPMAP_NOT_FOUND.
Referenced by _darkroom_image_loaded_callback().
|
static |
Draw colorpicker samples overlays in darkroom view.
| self | actual view |
| cri | cairo context |
| width | width of the widget |
| height | height of the widget |
| pozx | x pointer |
| pozy | y pointer |
| samples | list of samples to draw |
| is_primary_sample | whether we are drawing the primary sample or live samples |
Definition at line 329 of file darkroom.c.
References _darkroom_is_only_selected_sample(), _darkroom_sample_raw_box_to_image_norm(), _darkroom_sample_raw_point_to_image_norm(), dt_develop_t::color_picker, darktable, dt_view_t::data, darktable_t::develop, dt_develop_t::display_samples, dt_dev_get_fit_scale(), dt_dev_rescale_roi(), DT_LIB_COLORPICKER_SIZE_BOX, DT_LIB_COLORPICKER_SIZE_POINT, FALSE, height, IS_NULL_PTR, lw, M_PI, dt_develop_t::preview_height, dt_develop_t::preview_width, dt_develop_t::roi, dt_develop_t::selected_sample, set_color(), dt_colorpicker_sample_t::size, dt_colorpicker_sample_t::swatch, TRUE, width, and x.
Referenced by expose().
|
static |
Definition at line 913 of file darkroom.c.
References _darkroom_reset_expose_state(), _release_expose_source_caches(), _release_preview_fallback_surface(), dt_cairo_image_surface_create(), DT_PIXELPIPE_CACHE_HASH_INVALID, FALSE, height, dt_image_t::id, dt_develop_t::image_storage, dt_develop_t::image_surface, IS_NULL_PTR, state, UNKNOWN_IMAGE, and width.
Referenced by expose().
|
inlinestatic |
Definition at line 883 of file darkroom.c.
References _darkroom_preview_fallback_height, _darkroom_preview_fallback_imgid, _darkroom_preview_fallback_surface, _darkroom_preview_fallback_width, _darkroom_preview_fallback_zoom_hash, height, dt_image_t::id, dt_develop_t::image_storage, and width.
Referenced by expose().
|
inlinestatic |
Definition at line 903 of file darkroom.c.
References DT_PIXELPIPE_CACHE_HASH_INVALID, FALSE, IS_NULL_PTR, state, and UNKNOWN_IMAGE.
Referenced by _darkroom_prepare_image_surface().
|
static |
Definition at line 630 of file darkroom.c.
References dt_control_queue_redraw_center(), dt_develop_t::gui_attached, and IS_NULL_PTR.
Referenced by _lock_pipe_surface().
|
inlinestatic |
Definition at line 310 of file darkroom.c.
References dt_colorpicker_sample_t::box, darktable, darktable_t::develop, and dt_dev_coordinates_raw_norm_to_image_norm().
Referenced by _darkroom_pickers_draw().
|
inlinestatic |
Definition at line 302 of file darkroom.c.
References darktable, darktable_t::develop, dt_dev_coordinates_raw_norm_to_image_norm(), and dt_colorpicker_sample_t::point.
Referenced by _darkroom_pickers_draw(), and mouse_moved().
Definition at line 2874 of file darkroom.c.
References dt_control_queue_cursor_by_name(), mouse_in_actionarea(), mouse_in_imagearea(), and x.
Referenced by gui_init(), and mouse_moved().
|
static |
DOC Toolbox accelerators forward keyboard activation to the existing Gtk buttons so the keyboard path reuses the exact same callbacks, state changes and popover anchoring as the pointer path.
Definition at line 1457 of file darkroom.c.
References FALSE, IS_NULL_PTR, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 1468 of file darkroom.c.
References _toolbar_show_popup(), FALSE, IS_NULL_PTR, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 2890 of file darkroom.c.
References dt_dev_add_history_item, dt_dev_masks_update_hash(), dt_pthread_rwlock_unlock, dt_pthread_rwlock_wrlock, FALSE, dt_develop_t::forms_changed, dt_develop_t::gui_module, dt_develop_t::history_mutex, and TRUE.
Referenced by button_pressed(), button_released(), key_pressed(), mouse_moved(), and scrolled().
Definition at line 1385 of file darkroom.c.
References darktable, dt_control_set_mouse_over_id(), dt_view_manager_switch(), and darktable_t::view_manager.
Referenced by _switch_to_next_picture(), _switch_to_prev_picture(), and _view_darkroom_filmstrip_activate_callback().
DOC Overexposed and gamut modules are inserted inplace in pipeline at runtime, only for the main preview, and don't add history items. They all need a full history -> pipeline resynchronization.
Definition at line 1536 of file darkroom.c.
Referenced by gui_init().
| gboolean _focus_main_image | ( | GtkAccelGroup * | accel_group, |
| GObject * | accelerable, | ||
| guint | keyval, | ||
| GdkModifierType | modifier, | ||
| gpointer | data | ||
| ) |
Definition at line 1857 of file darkroom.c.
References darktable, dt_ui_center(), darktable_t::gui, TRUE, and dt_gui_gtk_t::ui.
Definition at line 1710 of file darkroom.c.
References _update_softproof_gamut_checking(), darktable_t::color_profiles, d, darktable, dt_dev_pixelpipe_resync_history_main, DT_PROFILE_GAMUTCHECK, DT_PROFILE_NORMAL, and dt_colorspaces_t::mode.
Referenced by _update_softproof_gamut_checking(), and gui_init().
|
static |
Definition at line 1484 of file darkroom.c.
References d, dt_conf_get_int(), dt_dev_configure, DT_PIXEL_APPLY_DPI, and MIN.
Referenced by _iso_12646_quickbutton_clicked(), configure(), and display_borders_callback().
Definition at line 1517 of file darkroom.c.
References dt_control_queue_redraw_center(), and dt_guides_button_toggled().
Referenced by gui_init().
|
static |
Definition at line 1523 of file darkroom.c.
References dt_guides_update_button_state().
Referenced by gui_init().
|
static |
Definition at line 2849 of file darkroom.c.
References DT_PIXEL_APPLY_DPI, height, width, and x.
Referenced by mouse_in_actionarea(), and mouse_in_imagearea().
|
static |
Definition at line 2530 of file darkroom.c.
References dt_gui_gtk_t::accels, dt_accels_t::active_key, darktable, FALSE, darktable_t::gui, dt_gui_gtk_t::has_scroll_focus, and key.
Referenced by _scroll_on_focus(), and scrolled().
Definition at line 1504 of file darkroom.c.
References _get_final_size_with_iso_12646(), d, dt_control_queue_redraw_center(), dt_develop_t::enabled, and dt_develop_t::iso_12646.
Referenced by gui_init().
|
static |
Definition at line 3620 of file darkroom.c.
References dt_control_queue_redraw_center(), dt_dev_check_zoom_pos_bounds(), dt_dev_pixelpipe_change_zoom_main(), dt_develop_t::roi, dt_develop_t::x, and dt_develop_t::y.
Referenced by key_pressed().
|
static |
Definition at line 292 of file darkroom.c.
References DT_DARKROOM_LAYOUT_EDITING.
Referenced by gui_init().
|
static |
Definition at line 649 of file darkroom.c.
References _darkroom_main_wait, _darkroom_preview_wait, _darkroom_restart_cache_wait(), _release_locked_surface(), dt_dev_pixelpipe_t::backbuf, dt_pixel_cache_entry_t::data, darkroom_locked_surface_t::data, dt_dev_backbuf_get_hash(), dt_dev_pixelpipe_cache_peek_gui(), dt_dev_pixelpipe_cache_wait_set_owner(), dt_pixel_cache_entry_get_data(), dt_pixel_cache_entry_get_size(), darkroom_locked_surface_t::entry, FALSE, dt_pixel_cache_entry_t::hash, darkroom_locked_surface_t::hash, height, dt_backbuf_t::height, darkroom_locked_surface_t::height, IS_NULL_PTR, dt_develop_t::pipe, dt_develop_t::preview_pipe, darkroom_locked_surface_t::surface, TRUE, void(), width, dt_backbuf_t::width, and darkroom_locked_surface_t::width.
Referenced by expose().
Definition at line 1611 of file darkroom.c.
References d, dt_dev_pixelpipe_resync_history_main, dt_develop_t::enabled, and dt_develop_t::overexposed.
Referenced by gui_init().
|
static |
|
static |
Definition at line 1914 of file darkroom.c.
References _autoset_manager, _darkroom_autoset_button_set_running(), dt_dev_pixelpipe_t::autoset, dt_dev_pixelpipe_t::backbuf, dt_mipmap_buffer_t::buf, darktable, darktable_t::develop, dt_iop_autoset_advance(), dt_mipmap_cache_get, dt_mipmap_cache_get_fitting_size(), dt_mipmap_cache_release, DT_MIPMAP_TESTLOCK, dt_thumbtable_refresh_thumbnail, darktable_t::gui, dt_backbuf_t::height, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, darktable_t::mipmap_cache, dt_develop_t::preview_pipe, dt_autoset_manager_t::progress_cursor_active, dt_ui_t::thumbtable_filmstrip, dt_ui_t::thumbtable_lighttable, TRUE, dt_gui_gtk_t::ui, and dt_backbuf_t::width.
Referenced by gui_init().
|
static |
end of toolbox
Definition at line 1828 of file darkroom.c.
References _toolbar_show_popup(), FALSE, and TRUE.
Referenced by connect_button_press_release().
Definition at line 1659 of file darkroom.c.
References d, dt_dev_pixelpipe_resync_history_main, dt_develop_t::enabled, and dt_develop_t::rawoverexposed.
Referenced by gui_init().
Definition at line 637 of file darkroom.c.
References _darkroom_main_locked, _darkroom_main_wait, _darkroom_preview_locked, _darkroom_preview_wait, _release_locked_surface(), _release_preview_fallback_surface(), and dt_dev_pixelpipe_cache_wait_cleanup().
Referenced by _darkroom_prepare_image_surface(), cleanup(), and leave().
|
static |
Definition at line 595 of file darkroom.c.
References darkroom_locked_surface_t::data, darkroom_locked_surface_t::entry, darkroom_locked_surface_t::hash, darkroom_locked_surface_t::height, IS_NULL_PTR, darkroom_locked_surface_t::surface, and darkroom_locked_surface_t::width.
Referenced by _lock_pipe_surface(), and _release_expose_source_caches().
Definition at line 615 of file darkroom.c.
References _darkroom_preview_fallback_backbuf_hash, _darkroom_preview_fallback_height, _darkroom_preview_fallback_imgid, _darkroom_preview_fallback_surface, _darkroom_preview_fallback_width, _darkroom_preview_fallback_zoom_hash, and UNKNOWN_IMAGE.
Referenced by _build_preview_fallback_surface(), _darkroom_prepare_image_surface(), _release_expose_source_caches(), and expose().
Definition at line 480 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), and _render_main_locked_surface().
|
static |
Definition at line 744 of file darkroom.c.
References _render_iso12646(), darktable, dt_dev_pixelpipe_cache_rdlock_entry(), dt_develop_t::enabled, darkroom_locked_surface_t::entry, FALSE, darktable_t::gui, darkroom_locked_surface_t::hash, height, darkroom_locked_surface_t::height, IS_NULL_PTR, dt_develop_t::iso_12646, darktable_t::pixelpipe_cache, dt_gui_gtk_t::ppd, darkroom_locked_surface_t::surface, TRUE, width, and darkroom_locked_surface_t::width.
Referenced by expose().
|
static |
Definition at line 851 of file darkroom.c.
References _darkroom_preview_fallback_surface, FALSE, IS_NULL_PTR, and TRUE.
Referenced by expose().
|
static |
Definition at line 232 of file darkroom.c.
References darktable, darktable_t::gui, IS_NULL_PTR, dt_gui_gtk_t::pan_edge, and dt_gui_gtk_t::timeout_source.
Referenced by _darkroom_edge_pan_apply(), _darkroom_edge_pan_tick(), button_released(), cleanup(), leave(), mouse_leave(), and mouse_moved().
| gboolean _scroll_on_focus | ( | GdkEventScroll | event, |
| void * | data | ||
| ) |
Definition at line 2550 of file darkroom.c.
References _is_scroll_captured_by_widget(), darktable, FALSE, darktable_t::gui, and dt_gui_gtk_t::has_scroll_focus.
Referenced by enter().
Definition at line 1697 of file darkroom.c.
References _update_softproof_gamut_checking(), darktable_t::color_profiles, d, darktable, dt_dev_pixelpipe_resync_history_main, DT_PROFILE_NORMAL, DT_PROFILE_SOFTPROOF, and dt_colorspaces_t::mode.
Referenced by _update_softproof_gamut_checking(), and gui_init().
| gboolean _switch_to_next_picture | ( | GtkAccelGroup * | accel_group, |
| GObject * | accelerable, | ||
| guint | keyval, | ||
| GdkModifierType | modifier, | ||
| gpointer | data | ||
| ) |
Definition at line 1864 of file darkroom.c.
References _dev_change_image(), darktable_t::collection, darktable, dt_collection_get_all(), dt_image_t::id, dt_develop_t::image_storage, TRUE, and view().
Referenced by gui_init().
| gboolean _switch_to_prev_picture | ( | GtkAccelGroup * | accel_group, |
| GObject * | accelerable, | ||
| guint | keyval, | ||
| GdkModifierType | modifier, | ||
| gpointer | data | ||
| ) |
Definition at line 1889 of file darkroom.c.
References _dev_change_image(), darktable_t::collection, darktable, dt_collection_get_all(), dt_image_t::id, dt_develop_t::image_storage, TRUE, and view().
Referenced by gui_init().
|
static |
toolbar buttons
Definition at line 1408 of file darkroom.c.
References _darkroom_autoset_popover, _darkroom_autoset_popover_rebuild(), darktable, darktable_t::develop, dt_gui_get_popup_relative_widget(), dt_guides_update_popover_values(), FALSE, dt_view_manager_t::guides_popover, darktable_t::view_manager, x, rect::x, and rect::y.
Referenced by _darkroom_toolbox_button_focus_accel(), and _quickbutton_press_release().
|
static |
Definition at line 1724 of file darkroom.c.
References _gamut_quickbutton_clicked(), _softproof_quickbutton_clicked(), darktable_t::color_profiles, d, darktable, DT_PROFILE_GAMUTCHECK, DT_PROFILE_SOFTPROOF, and dt_colorspaces_t::mode.
Referenced by _gamut_quickbutton_clicked(), _softproof_quickbutton_clicked(), and gui_init().
|
static |
Definition at line 1397 of file darkroom.c.
References _dev_change_image(), and UNKNOWN_IMAGE.
|
static |
Definition at line 283 of file darkroom.c.
Referenced by expose().
| int button_pressed | ( | dt_view_t * | self, |
| double | x, | ||
| double | y, | ||
| double | pressure, | ||
| int | which, | ||
| int | type, | ||
| uint32_t | state | ||
| ) |
Definition at line 3344 of file darkroom.c.
References _change_scaling(), _darkroom_center_pan_drag, _delayed_history_commit(), dt_colorpicker_sample_t::box, dt_develop_t::color_picker, dt_masks_form_gui_t::creation, darktable, dt_view_t::data, darktable_t::develop, dt_develop_t::display_samples, DT_COLOR_PICKER_AREA, DT_COLOR_PICKER_POINT, dt_control_queue_cursor, DT_DEBUG_INPUT, dt_dev_coordinates_image_norm_to_raw_norm(), dt_dev_coordinates_raw_norm_to_image_norm(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_coordinates_widget_to_image_norm(), dt_dev_get_fit_scale(), dt_gui_throttle_queue(), dt_iop_color_picker_is_visible(), dt_lib_colorpicker_set_box_area(), dt_lib_colorpicker_set_point(), DT_LIB_COLORPICKER_SIZE_BOX, DT_LIB_COLORPICKER_SIZE_POINT, dt_masks_events_button_pressed(), dt_masks_get_visible_form(), dt_print(), dt_ui_center(), dt_iop_module_t::enabled, FALSE, dt_develop_t::form_gui, darktable_t::gui, dt_develop_t::gui_module, dt_gui_gtk_t::is_dragging, dt_iop_color_picker_t::kind, darktable_t::lib, MAX, dt_gui_gtk_t::mouse, mouse_in_imagearea(), dt_develop_t::natural_scale, dt_develop_t::picker, dt_colorpicker_sample_t::point, dt_develop_t::primary_sample, dt_develop_t::processed_height, dt_develop_t::processed_width, reset(), dt_develop_t::roi, dt_develop_t::samples, dt_develop_t::scaling, dt_colorpicker_sample_t::size, state, TRUE, type, dt_gui_gtk_t::ui, and x.
Definition at line 3298 of file darkroom.c.
References _darkroom_center_pan_drag, _delayed_history_commit(), _reset_edge_pan(), dt_develop_t::color_picker, darktable, dt_view_t::data, darktable_t::develop, dt_control_queue_cursor, dt_control_queue_redraw_center(), DT_DEBUG_INPUT, dt_dev_pixelpipe_update_history_preview, dt_gui_throttle_queue(), dt_iop_color_picker_is_visible(), DT_LIB_COLORPICKER_SIZE_BOX, dt_masks_events_button_released(), dt_masks_get_visible_form(), dt_print(), dt_iop_module_t::enabled, FALSE, darktable_t::gui, dt_develop_t::gui_module, dt_gui_gtk_t::is_dragging, dt_gui_gtk_t::mouse, dt_develop_t::primary_sample, dt_colorpicker_sample_t::size, state, and x.
Definition at line 243 of file darkroom.c.
References _autoset_manager, _darkroom_autoset_button_is_running, _darkroom_autoset_list, _darkroom_autoset_popover, _darkroom_autoset_popover_refresh(), _darkroom_pending_focus_module, _darkroom_pending_imgid, _release_expose_source_caches(), _reset_edge_pan(), darktable, dt_view_t::data, dt_control_log_busy_leave(), DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_dev_cleanup(), dt_dev_pixelpipe_cache_wait_cleanup(), dt_free, dt_free_align, dt_gui_throttle_cancel(), FALSE, dt_view_manager_t::guides_popover, dt_autoset_manager_t::input_wait, dt_autoset_manager_t::iop_to_set, IS_NULL_PTR, dt_autoset_manager_t::progress_cursor_active, darktable_t::signals, UNKNOWN_IMAGE, and darktable_t::view_manager.
Definition at line 1618 of file darkroom.c.
References dt_develop_t::colorscheme, d, dt_bauhaus_combobox_get(), dt_dev_pixelpipe_resync_history_main, FALSE, and dt_develop_t::overexposed.
Referenced by gui_init().
Definition at line 3712 of file darkroom.c.
References _get_final_size_with_iso_12646(), darktable, dt_view_t::data, dt_view_manager_get_current_view(), dt_develop_t::orig_height, dt_develop_t::orig_width, dt_develop_t::roi, and darktable_t::view_manager.
Definition at line 1851 of file darkroom.c.
References _quickbutton_press_release(), and p.
Referenced by gui_init().
Definition at line 1547 of file darkroom.c.
References _get_final_size_with_iso_12646(), d, darktable, dt_bauhaus_slider_get(), dt_conf_set_int(), DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_dev_pixelpipe_change_zoom_main(), DT_SIGNAL_DARKROOM_UI_CHANGED, and darktable_t::signals.
Referenced by gui_init().
Definition at line 1540 of file darkroom.c.
References darktable, dt_bauhaus_slider_get(), dt_conf_set_int(), dt_control_queue_redraw_center(), DT_DEBUG_CONTROL_SIGNAL_RAISE, DT_SIGNAL_DARKROOM_UI_CHANGED, and darktable_t::signals.
Referenced by gui_init().
|
static |
Definition at line 1594 of file darkroom.c.
References d, dt_atomic_add_int(), dt_conf_set_bool(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
|
static |
Persist the global mask-preview appearance and resynchronize every node using it.
The historical Color Balance key namespace is intentionally retained so existing checkerboard preferences survive moving these controls into the darkroom toolbox.
Definition at line 1562 of file darkroom.c.
References d, dt_atomic_add_int(), dt_conf_set_float(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
|
static |
Definition at line 1574 of file darkroom.c.
References d, dt_atomic_add_int(), dt_conf_set_float(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
Definition at line 1586 of file darkroom.c.
References d, dt_atomic_add_int(), dt_bauhaus_slider_get(), dt_conf_set_int(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
Definition at line 2564 of file darkroom.c.
References _darkroom_image_loaded_callback(), _darkroom_pending_focus_module, _darkroom_pending_imgid, _scroll_on_focus(), _view_darkroom_filmstrip_activate_callback(), dt_gui_gtk_t::accels, darktable_t::bauhaus, darktable_t::control, darktable, dt_view_t::data, dt_bauhaus_t::default_value_changed_callback, darktable_t::develop, dt_accels_attach_scroll_handler(), dt_accels_connect_accels(), dt_accels_connect_active_group(), dt_bauhaus_value_changed_default_callback(), dt_conf_get_string_const(), dt_control_flush_jobs_queue(), dt_control_set_keyboard_over_id(), dt_control_set_mouse_over_id(), DT_DEBUG_CONTROL, DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_dev_load_image(), dt_dev_load_modules(), dt_get_wtime(), dt_gui_refocus_center(), dt_iop_color_picker_init(), dt_iop_gui_init(), dt_iop_gui_set_expander(), dt_iop_gui_update_expanded(), dt_iop_is_hidden(), DT_JOB_QUEUE_SYSTEM_FG, dt_masks_gui_init(), dt_print(), DT_SIGNAL_VIEWMANAGER_THUMBTABLE_ACTIVATE, dt_thumbtable_scroll_to_selection(), dt_thumbtable_show(), dt_thumbtable_update_parent(), dt_ui_center(), dt_undo_clear(), DT_UNDO_TAGS, dt_develop_t::exit, darktable_t::gui, dt_develop_t::gui_module, dt_develop_t::iop, IS_NULL_PTR, darktable_t::signals, dt_ui_t::thumbtable_filmstrip, dt_gui_gtk_t::ui, darktable_t::undo, and UNKNOWN_IMAGE.
| void expose | ( | dt_view_t * | self, |
| cairo_t * | cri, | ||
| int32_t | width, | ||
| int32_t | height, | ||
| int32_t | pointerx, | ||
| int32_t | pointery | ||
| ) |
Definition at line 940 of file darkroom.c.
References _build_preview_fallback_surface(), _colormanage_ui_color(), _darkroom_locked_main_valid_for_zoom(), _darkroom_main_locked, _darkroom_pickers_draw(), _darkroom_prepare_image_surface(), _darkroom_preview_fallback_backbuf_hash, _darkroom_preview_fallback_valid(), _darkroom_preview_locked, _lock_pipe_surface(), _paint_all(), _release_preview_fallback_surface(), _render_main_locked_surface(), _render_preview_fallback_surface(), _write_snapshot_data(), dt_dev_pixelpipe_t::backbuf, darktable_t::bauhaus, dt_develop_t::border_size, dt_develop_t::color_picker, darktable_t::color_profiles, darktable, dt_view_t::data, darktable_t::develop, dt_develop_t::display_samples, dt_conf_get_int(), dt_control_queue_redraw_center(), DT_DEBUG_DEV, dt_dev_backbuf_get_hash(), dt_dev_clip_roi(), dt_dev_get_overlay_scale(), dt_dev_pipelines_share_preview_output(), dt_dev_rescale_roi(), dt_get_times(), dt_guides_draw(), dt_hash(), dt_iop_color_picker_is_visible(), dt_lib_get_module(), dt_lib_gui_get_expanded(), dt_masks_events_post_expose(), dt_masks_get_visible_form(), DT_PIXEL_APPLY_DPI, DT_PIXELPIPE_CACHE_HASH_INVALID, dt_print(), DT_PROFILE_GAMUTCHECK, DT_PROFILE_NORMAL, dt_show_times_f(), dt_develop_t::enabled, dt_iop_module_t::enabled, FALSE, dt_develop_t::filename, dt_develop_t::gui_module, darkroom_locked_surface_t::hash, height, dt_backbuf_t::height, dt_image_t::id, dt_develop_t::image_storage, dt_develop_t::image_surface, darkroom_expose_state_t::image_surface_has_main, darkroom_expose_state_t::image_surface_hash, darkroom_expose_state_t::image_surface_imgid, darkroom_expose_state_t::image_surface_width, IOP_FLAGS_GUIDES_SPECIAL_DRAW, IS_NULL_PTR, dt_develop_t::iso_12646, darkroom_expose_state_t::main_zoom_hash, dt_colorspaces_t::mode, O_BINARY, dt_bauhaus_t::pango_font_desc, darkroom_expose_state_t::pending_main_hash, dt_develop_t::pipe, dt_develop_t::preview_height, dt_develop_t::preview_pipe, dt_develop_t::preview_width, dt_develop_t::primary_sample, dt_develop_t::proxy, dt_develop_t::request, dt_develop_t::roi, dt_develop_t::samples, scaling, dt_develop_t::selected_sample, dt_develop_t::snapshot, darkroom_locked_surface_t::surface, TRUE, UNKNOWN_IMAGE, width, and dt_backbuf_t::width.
Referenced by mouse_moved().
let's fill the encapsulating widgets
let's fill the encapsulating widgets
let's fill the encapsulating widgets
let's fill the encapsulating widgets
Definition at line 2020 of file darkroom.c.
References _autoset_manager, _darkroom_autoset_button, _darkroom_autoset_button_set_running(), _darkroom_autoset_list, _darkroom_autoset_popover, _darkroom_autoset_popover_rebuild(), _darkroom_autoset_popover_refresh(), _darkroom_autoset_quickbutton_clicked(), _darkroom_change_rendering_size(), _darkroom_ioporder_button, _darkroom_ioporder_quickbutton_clicked(), _darkroom_set_default_cursor(), _darkroom_toolbox_button_activate_accel(), _darkroom_toolbox_button_focus_accel(), _display_quickbutton_clicked(), _gamut_quickbutton_clicked(), _guides_quickbutton_clicked(), _guides_view_changed(), _iso_12646_quickbutton_clicked(), _lib_darkroom_get_layout(), _overexposed_quickbutton_clicked(), _preview_pipe_finished(), _rawoverexposed_quickbutton_clicked(), _softproof_quickbutton_clicked(), _switch_to_next_picture(), _switch_to_prev_picture(), _update_softproof_gamut_checking(), dt_gui_gtk_t::accels, darktable_t::bauhaus, dt_develop_t::border_size, dt_develop_t::button, darktable_t::color_profiles, dt_develop_t::colorscheme, colorscheme_callback(), connect_button_press_release(), dt_view_manager_t::darkroom, dt_accels_t::darkroom_accels, darktable, dt_view_t::data, dt_develop_t::display, display_borders_callback(), display_brightness_callback(), display_mask_black_and_white_callback(), display_mask_checker_1_callback(), display_mask_checker_2_callback(), display_mask_checker_size_callback(), dt_accels_build_path(), dt_accels_new_darkroom_action, dt_accels_new_virtual_shortcut(), dt_bauhaus_combobox_add(), dt_bauhaus_combobox_new(), DT_BAUHAUS_COMBOBOX_NEW_FULL, dt_bauhaus_combobox_set(), dt_bauhaus_combobox_set_entries_ellipsis(), dt_bauhaus_slider_new_with_range(), dt_bauhaus_slider_set(), dt_bauhaus_slider_set_format(), dt_bauhaus_widget_set_label(), dt_calloc_align(), DT_COLORSPACE_FILE, dt_conf_get_bool(), dt_conf_get_float(), dt_conf_get_int(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_free, dt_get_help_url(), dt_gui_add_help_link(), DT_GUI_BOX_SPACING, DT_GUI_MODULE, dt_guides_popover(), dt_loc_get_datadir(), dt_loc_get_user_config_dir(), DT_PIXEL_APPLY_DPI, DT_SIGNAL_DEVELOP_HISTORY_CHANGE, DT_SIGNAL_DEVELOP_IMAGE_CHANGED, DT_SIGNAL_DEVELOP_MODULE_REMOVE, DT_SIGNAL_DEVELOP_PREVIEW_PIPE_FINISHED, DT_SIGNAL_VIEWMANAGER_VIEW_CHANGED, dt_ui_center(), dt_ui_label_new(), dt_ui_section_label_new(), DT_VIEW_DARKROOM, dt_view_manager_module_toolbox_add(), dtgtk_button_new(), dtgtk_cairo_paint_bulb(), dtgtk_cairo_paint_display(), dtgtk_cairo_paint_flowchart(), dtgtk_cairo_paint_gamut_check(), dtgtk_cairo_paint_grid(), dtgtk_cairo_paint_overexposed(), dtgtk_cairo_paint_rawoverexposed(), dtgtk_cairo_paint_softproof(), dtgtk_cairo_paint_wand(), dtgtk_togglebutton_new(), FALSE, dt_colorspaces_color_profile_t::filename, dt_develop_t::floating_window, dt_develop_t::gamut_button, dt_view_manager_t::get_layout, darktable_t::gui, dt_view_manager_t::guides_popover, dt_view_manager_t::guides_toggle, dt_develop_t::iso_12646, dt_develop_t::lower, lower_callback(), dt_develop_t::mode, mode_callback(), dt_colorspaces_color_profile_t::name, dt_colorspaces_color_profile_t::out_pos, dt_develop_t::overexposed, PATH_MAX, dt_develop_t::profile, dt_colorspaces_t::profiles, dt_view_manager_t::proxy, dt_develop_t::rawoverexposed, rawoverexposed_colorscheme_callback(), rawoverexposed_mode_callback(), rawoverexposed_threshold_callback(), dt_develop_t::roi, dt_view_manager_t::set_default_cursor, darktable_t::signals, dt_develop_t::softproof_button, dt_colorspaces_t::softproof_filename, softproof_profile_callback(), dt_colorspaces_t::softproof_type, threshold, dt_develop_t::threshold, tooltip, TRUE, dt_colorspaces_color_profile_t::type, dt_gui_gtk_t::ui, dt_develop_t::upper, upper_callback(), and darktable_t::view_manager.
Definition at line 219 of file darkroom.c.
References dt_view_manager_t::darkroom, darktable, dt_view_t::data, darktable_t::develop, dt_dev_init(), dt_view_manager_t::proxy, dt_view_manager_t::view, and darktable_t::view_manager.
| int key_pressed | ( | dt_view_t * | self, |
| GdkEventKey * | event | ||
| ) |
Definition at line 3628 of file darkroom.c.
References _change_scaling(), _delayed_history_commit(), _key_scroll(), darktable, dt_view_t::data, delta, dt_ctl_switch_mode_to(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_get_widget_center(), dt_gui_throttle_queue(), dt_keys_mainpad_alternatives(), dt_masks_events_key_pressed(), dt_masks_get_visible_form(), dt_modifier_is(), dt_modifiers_include(), FALSE, darktable_t::gui, dt_develop_t::gui_module, IS_NULL_PTR, key, dt_ui_t::main_window, dt_develop_t::processed_height, dt_develop_t::processed_width, dt_develop_t::roi, dt_develop_t::scaling, TRUE, dt_gui_gtk_t::ui, dt_develop_t::x, and dt_develop_t::y.
Definition at line 2644 of file darkroom.c.
References _autoset_manager, _darkroom_center_pan_drag, _darkroom_pending_focus_module, _release_expose_source_caches(), _reset_edge_pan(), _view_darkroom_filmstrip_activate_callback(), dt_gui_gtk_t::accels, dt_develop_t::allforms, dt_develop_t::alliop, dt_dev_pixelpipe_t::backbuf, dt_dev_pixelpipe_t::busy_mutex, dt_develop_t::color_picker, darktable, dt_view_t::data, darktable_t::develop, dt_develop_t::display_histogram, dt_accels_detach_scroll_handler(), dt_accels_disconnect_active_group(), dt_atomic_set_int(), dt_conf_set_string(), DT_DEBUG_CONTROL, DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_dev_backbuf_get_hash(), dt_dev_backbuf_set_hash(), dt_dev_history_free_history(), dt_dev_pixelpipe_cache_flush_clmem_for_pipe(), dt_dev_pixelpipe_cache_unref_hash(), dt_dev_pixelpipe_cache_wait_cleanup(), dt_dev_pixelpipe_cache_wait_dump_pending(), dt_dev_pixelpipe_cleanup_nodes(), dt_dev_set_backbuf(), dt_free, dt_get_wtime(), dt_gui_throttle_cancel(), dt_iop_cleanup_module(), dt_iop_color_picker_cleanup(), dt_iop_color_picker_reset(), dt_iop_gui_cleanup_module(), dt_iop_is_hidden(), dt_masks_free_form(), dt_masks_gui_cleanup(), DT_PIXELPIPE_CACHE_HASH_INVALID, dt_print(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_pthread_rwlock_unlock, dt_pthread_rwlock_wrlock, dt_selection_select_single(), dt_thumbtable_hide(), dt_thumbtable_refresh_thumbnail, dt_ui_center(), dt_view_active_images_get_first(), dt_view_active_images_reset(), dt_develop_t::exit, FALSE, dt_develop_t::floating_window, dt_develop_t::form_gui, dt_develop_t::forms, darktable_t::gui, dt_develop_t::gui_module, dt_develop_t::history_mutex, dt_image_t::id, dt_develop_t::image_storage, dt_develop_t::image_surface, dt_autoset_manager_t::input_wait, dt_develop_t::iop, dt_gui_gtk_t::is_dragging, IS_NULL_PTR, dt_dev_pixelpipe_t::last_devid, m, dt_develop_t::masks_mutex, dt_gui_gtk_t::mouse, dt_iop_module_t::op, dt_develop_t::output_histogram, dt_develop_t::overexposed, dt_develop_t::picker, dt_develop_t::pipe, dt_develop_t::pipelines_started, darktable_t::pixelpipe_cache, dt_develop_t::preview_pipe, dt_develop_t::profile, dt_develop_t::raw_histogram, dt_develop_t::rawoverexposed, darktable_t::selection, dt_dev_pixelpipe_t::shutdown, darktable_t::signals, dt_ui_t::thumbtable_filmstrip, dt_ui_t::thumbtable_lighttable, TRUE, dt_gui_gtk_t::ui, dt_develop_t::virtual_pipe, and void().
Referenced by _event_dnd_received(), and _name_editing_done().
Definition at line 1628 of file darkroom.c.
References d, dt_bauhaus_slider_get(), dt_dev_pixelpipe_resync_history_main, FALSE, dt_develop_t::lower, and dt_develop_t::overexposed.
Referenced by gui_init().
Definition at line 1648 of file darkroom.c.
References d, dt_bauhaus_combobox_get(), dt_dev_pixelpipe_update_history_main, FALSE, dt_develop_t::mode, and dt_develop_t::overexposed.
Referenced by gui_init().
Definition at line 2884 of file darkroom.c.
References dt_view_t::data, dt_masks_events_mouse_enter(), and dt_develop_t::gui_module.
Definition at line 2869 of file darkroom.c.
References _is_in_frame(), dt_view_t::height, dt_view_t::width, and x.
Referenced by _darkroom_edge_pan_update_state(), and _darkroom_set_default_cursor().
Definition at line 2860 of file darkroom.c.
References _is_in_frame(), dt_view_t::data, dt_dev_get_image_box_in_widget(), dt_view_t::height, dt_view_t::width, and x.
Referenced by _darkroom_edge_pan_update_state(), _darkroom_set_default_cursor(), button_pressed(), and mouse_moved().
Definition at line 2805 of file darkroom.c.
References _darkroom_center_pan_drag, _reset_edge_pan(), dt_gui_gtk_t::block_normal_pan, dt_control_t::button_down, dt_control_t::button_down_which, darktable_t::control, darktable, dt_view_t::data, dt_control_change_cursor, dt_control_queue_redraw_center(), dt_control_set_cursor_visible, dt_masks_events_mouse_leave(), dt_masks_get_visible_form(), FALSE, darktable_t::gui, dt_develop_t::gui_module, dt_gui_gtk_t::is_dragging, IS_NULL_PTR, dt_gui_gtk_t::last_time_us, dt_gui_gtk_t::mouse, dt_gui_gtk_t::pan_edge, dt_gui_gtk_t::timeout_source, TRUE, dt_gui_gtk_t::velocity, and dt_gui_gtk_t::view.
Definition at line 3118 of file darkroom.c.
References _darkroom_center_pan_drag, _darkroom_edge_pan_tick(), _darkroom_edge_pan_update_state(), _darkroom_sample_raw_point_to_image_norm(), _darkroom_set_default_cursor(), _delayed_history_commit(), _reset_edge_pan(), dt_gui_gtk_t::block_normal_pan, dt_colorpicker_sample_t::box, dt_control_t::button_down, dt_control_t::button_down_which, dt_control_t::button_x, dt_control_t::button_y, dt_develop_t::color_picker, darktable_t::control, DARKROOM_EDGE_PAN_INTERVAL_MS, darktable, dt_view_t::data, delta, darktable_t::develop, darkroom_edge_pan_test_t::drag, dt_control_commit_cursor(), dt_control_queue_redraw_center(), dt_dev_check_zoom_pos_bounds(), dt_dev_coordinates_raw_norm_to_image_norm(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_coordinates_widget_to_image_norm(), dt_dev_pixelpipe_change_zoom_main(), dt_gui_throttle_queue(), dt_iop_color_picker_is_visible(), dt_lib_colorpicker_set_box_area(), dt_lib_colorpicker_set_point(), DT_LIB_COLORPICKER_SIZE_BOX, DT_LIB_COLORPICKER_SIZE_POINT, dt_masks_events_mouse_moved(), dt_masks_get_visible_form(), FALSE, darktable_t::gui, dt_develop_t::gui_module, dt_view_t::height, darkroom_edge_pan_test_t::in_margin, dt_gui_gtk_t::is_dragging, k, dt_gui_gtk_t::last_time_us, darktable_t::lib, MAX, MIN, dt_gui_gtk_t::mouse, mouse_in_imagearea(), dt_gui_gtk_t::pan_edge, dt_develop_t::primary_sample, dt_develop_t::processed_height, dt_develop_t::processed_width, dt_develop_t::roi, dt_develop_t::scaling, dt_colorpicker_sample_t::size, dt_gui_gtk_t::timeout_source, TRUE, dt_gui_gtk_t::velocity, darkroom_edge_pan_test_t::velocity, dt_gui_gtk_t::view, dt_view_t::width, x, dt_develop_t::x, and dt_develop_t::y.
Referenced by _darkroom_edge_pan_apply().
| const char * name | ( | const dt_view_t * | self | ) |
Definition at line 213 of file darkroom.c.
Definition at line 1676 of file darkroom.c.
References dt_develop_t::colorscheme, d, dt_bauhaus_combobox_get(), dt_dev_pixelpipe_resync_history_main, FALSE, and dt_develop_t::rawoverexposed.
Referenced by gui_init().
Definition at line 1666 of file darkroom.c.
References d, dt_bauhaus_combobox_get(), dt_dev_pixelpipe_resync_history_main, FALSE, dt_develop_t::mode, and dt_develop_t::rawoverexposed.
Referenced by gui_init().
Definition at line 1686 of file darkroom.c.
References d, dt_bauhaus_slider_get(), dt_dev_pixelpipe_resync_history_main, FALSE, dt_develop_t::rawoverexposed, and dt_develop_t::threshold.
Referenced by gui_init().
Definition at line 1266 of file darkroom.c.
References dt_view_t::data, and dt_dev_reset_roi().
Referenced by _add_masks_history_item(), _downsample_guided_laplacian_apply(), _ioporder_init_popup(), _name_editing_done(), button_pressed(), and dt_opencl_events_flush().
Definition at line 3591 of file darkroom.c.
References _center_view_free_zoom(), _delayed_history_commit(), _is_scroll_captured_by_widget(), dt_view_t::data, DT_DEBUG_INPUT, dt_gui_throttle_queue(), dt_masks_events_mouse_scrolled(), dt_masks_get_visible_form(), dt_print(), dt_iop_module_t::enabled, FALSE, dt_develop_t::gui_module, state, TRUE, and x.
Definition at line 1737 of file darkroom.c.
References darktable_t::color_profiles, d, darktable, dt_bauhaus_combobox_get(), dt_bauhaus_combobox_get_text(), DT_COLORSPACE_FILE, DT_COLORSPACE_SRGB, DT_COLORSPACES_PROFILE_TYPE_SOFTPROOF, DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_dev_pixelpipe_resync_history_main, DT_SIGNAL_CONTROL_PROFILE_USER_CHANGED, FALSE, dt_colorspaces_color_profile_t::filename, dt_colorspaces_color_profile_t::out_pos, profile_changed(), dt_colorspaces_t::profiles, darktable_t::signals, dt_colorspaces_t::softproof_filename, dt_colorspaces_t::softproof_type, TRUE, and dt_colorspaces_color_profile_t::type.
Referenced by gui_init().
| int try_enter | ( | dt_view_t * | self | ) |
Definition at line 1342 of file darkroom.c.
References _darkroom_pending_imgid, darktable, dt_control_get_mouse_over_id(), dt_control_log(), dt_selection_get_first_id(), dt_selection_get_length(), dt_view_active_images_reset(), FALSE, darktable_t::selection, UNKNOWN_IMAGE, and void().
Definition at line 1638 of file darkroom.c.
References d, dt_bauhaus_slider_get(), dt_dev_pixelpipe_resync_history_main, FALSE, dt_develop_t::overexposed, and dt_develop_t::upper.
Referenced by gui_init().
| uint32_t view | ( | const dt_view_t * | self | ) |
Definition at line 227 of file darkroom.c.
References DT_VIEW_DARKROOM.
Referenced by _active_modules_popup(), _add_selected_metadata(), _add_tag_button_clicked(), _apply_smudge_stroke_mode(), _attached_key_pressed(), _blendop_masks_all_rename_callback(), _brush_runtime_view_from_state(), _click_on_metadata_list(), _click_on_view(), _click_on_view_attached(), _click_on_view_dictionary(), _collect_expanded_cb(), _dictionary_key_pressed(), _discarded_files_popup(), _dt_ctl_switch_mode_to_by_view(), _ensure_widget_cache(), _estimate_alpha_noise_gain(), _init_treeview(), _menuitem_preferences(), _needs_recompute(), _pop_menu_dictionary_change_path(), _pop_menu_dictionary_create_tag(), _pop_menu_dictionary_delete_node(), _pop_menu_dictionary_edit_tag(), _pop_menu_dictionary_set_as_tag(), _pop_menu_view(), _prepare_analytic_pixel_context(), _prepare_blur_context(), _preview_button_press(), _sample_alpha_noise_raw(), _select_next_user_attached_tag(), _select_previous_user_attached_tag(), _selected_tagids(), _show_iter_on_view(), _show_keyword_on_view(), _show_tag_on_view(), _switch_to_next_picture(), _switch_to_prev_picture(), _unselect_all_in_view(), _update_attached_count(), _view_button_pressed(), _view_row_activated(), _view_row_expanded(), append_views(), available_in_lighttable_callback(), dt_ctl_switch_mode_to_by_view(), dt_drawlayer_brush_rasterize(), dt_drawlayer_compute_view_patch(), dt_lib_export_metadata_configuration_dialog(), dt_lib_init_module(), dt_lib_is_visible_in_view(), dt_lib_load_module(), dt_lib_unload_module(), dt_view_manager_gui_init(), dt_view_unload_module(), gui_init(), gui_init(), gui_post_expose(), and row_activated().
|
static |
Definition at line 171 of file darkroom.c.
Referenced by _darkroom_autoset_quickbutton_clicked(), _preview_pipe_finished(), cleanup(), gui_init(), and leave().
|
static |
Definition at line 172 of file darkroom.c.
Referenced by _darkroom_autoset_button_set_running(), and gui_init().
|
static |
Definition at line 175 of file darkroom.c.
Referenced by _darkroom_autoset_button_set_running(), and cleanup().
|
static |
Definition at line 174 of file darkroom.c.
Referenced by _darkroom_autoset_popover_rebuild(), cleanup(), and gui_init().
|
static |
Definition at line 173 of file darkroom.c.
Referenced by _toolbar_show_popup(), cleanup(), and gui_init().
|
static |
Definition at line 169 of file darkroom.c.
Referenced by button_pressed(), button_released(), leave(), mouse_leave(), and mouse_moved().
|
static |
Definition at line 168 of file darkroom.c.
Referenced by gui_init().
|
static |
Definition at line 584 of file darkroom.c.
Referenced by _darkroom_locked_main_valid_for_zoom(), _release_expose_source_caches(), and expose().
|
static |
Definition at line 586 of file darkroom.c.
Referenced by _lock_pipe_surface(), and _release_expose_source_caches().
|
static |
Definition at line 167 of file darkroom.c.
Referenced by _darkroom_image_loaded_callback(), cleanup(), enter(), and leave().
|
static |
Definition at line 166 of file darkroom.c.
Referenced by cleanup(), enter(), and try_enter().
|
static |
Definition at line 591 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _release_preview_fallback_surface(), and expose().
|
static |
Definition at line 593 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 589 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 588 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), _release_preview_fallback_surface(), and _render_preview_fallback_surface().
|
static |
Definition at line 592 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 590 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 585 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _release_expose_source_caches(), and expose().
|
static |
Definition at line 587 of file darkroom.c.
Referenced by _lock_pipe_surface(), and _release_expose_source_caches().