![]() |
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 gboolean | _darkroom_gui_module_requests_uncropped_full_image (const dt_develop_t *dev) |
| 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) |
| static gboolean | _darkroom_attach_missing_iop_guis (dt_develop_t *dev) |
| 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 | _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 497 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 775 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 3473 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 3424 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 473 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 |
Definition at line 1273 of file darkroom.c.
References dt_iop_gui_init(), dt_iop_gui_set_expander(), dt_iop_gui_update(), dt_iop_is_hidden(), FALSE, dt_develop_t::iop, IS_NULL_PTR, and TRUE.
Referenced by _darkroom_image_loaded_callback().
|
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 1933 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 1941 of file darkroom.c.
References dt_iop_autoset_module_set_enabled().
Referenced by _darkroom_autoset_popover_rebuild().
|
static |
Definition at line 1947 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 1977 of file darkroom.c.
References _darkroom_autoset_popover_rebuild().
Referenced by cleanup(), and gui_init().
|
static |
Definition at line 1926 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 1565 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 2895 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 2822 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 2980 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 2840 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 2810 of file darkroom.c.
References CLAMPF, position(), and size.
Referenced by _darkroom_edge_pan_update_state().
|
inlinestatic |
Definition at line 860 of file darkroom.c.
References dt_iop_get_cache_bypass(), dt_develop_t::gui_attached, and dt_develop_t::gui_module.
Referenced by expose().
|
static |
Definition at line 1294 of file darkroom.c.
References _darkroom_attach_missing_iop_guis(), _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 298 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 1257 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 330 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 912 of file darkroom.c.
References _darkroom_reset_expose_state(), _release_expose_source_caches(), _release_preview_fallback_surface(), dt_cairo_image_surface_create(), 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 FALSE, IS_NULL_PTR, state, and UNKNOWN_IMAGE.
Referenced by _darkroom_prepare_image_surface().
|
static |
Definition at line 631 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 311 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 303 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 2768 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 1466 of file darkroom.c.
References FALSE, IS_NULL_PTR, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 1477 of file darkroom.c.
References _toolbar_show_popup(), FALSE, IS_NULL_PTR, and TRUE.
Referenced by gui_init().
|
static |
Definition at line 2784 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 1394 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 1545 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 1819 of file darkroom.c.
References darktable, dt_ui_center(), darktable_t::gui, TRUE, and dt_gui_gtk_t::ui.
Definition at line 1672 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 1493 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 1526 of file darkroom.c.
References dt_control_queue_redraw_center(), and dt_guides_button_toggled().
Referenced by gui_init().
|
static |
Definition at line 1532 of file darkroom.c.
References dt_guides_update_button_state().
Referenced by gui_init().
|
static |
Definition at line 2743 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 2438 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 1513 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 3514 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 293 of file darkroom.c.
References DT_DARKROOM_LAYOUT_EDITING.
Referenced by gui_init().
|
static |
Definition at line 650 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 1573 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 1876 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 1790 of file darkroom.c.
References _toolbar_show_popup(), FALSE, and TRUE.
Referenced by connect_button_press_release().
Definition at line 1621 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 638 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 596 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 616 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 481 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), and _render_main_locked_surface().
|
static |
Definition at line 745 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 852 of file darkroom.c.
References _darkroom_preview_fallback_surface, FALSE, IS_NULL_PTR, and TRUE.
Referenced by expose().
|
static |
Definition at line 233 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 2458 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 1659 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 1826 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 1851 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 1417 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 1686 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 1406 of file darkroom.c.
References _dev_change_image(), and UNKNOWN_IMAGE.
|
static |
Definition at line 284 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 3238 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 3192 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 244 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 1580 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 3606 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 1813 of file darkroom.c.
References _quickbutton_press_release(), and p.
Referenced by gui_init().
Definition at line 1556 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 1549 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().
Definition at line 2472 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 938 of file darkroom.c.
References _build_preview_fallback_surface(), _colormanage_ui_color(), _darkroom_gui_module_requests_uncropped_full_image(), _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_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_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_hash, darkroom_expose_state_t::main_zoom_hash, dt_colorspaces_t::mode, O_BINARY, dt_bauhaus_t::pango_font_desc, 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::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 1982 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(), 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_int(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_free, dt_get_help_url(), dt_gui_add_help_link(), 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_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_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 220 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 3522 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 2552 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(), 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_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 1590 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 1610 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 2778 of file darkroom.c.
References dt_view_t::data, dt_masks_events_mouse_enter(), and dt_develop_t::gui_module.
Definition at line 2763 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 2754 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 2699 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 3012 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 214 of file darkroom.c.
Definition at line 1638 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 1628 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 1648 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 1252 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 3485 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 1699 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 1351 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 1600 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 228 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(), _detach_selected_tag(), _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_delete_tag(), _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(), _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(), 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(), entry_activated(), gui_init(), gui_init(), gui_post_expose(), row_activated_with_event(), and view_onRowExpanded().
|
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 585 of file darkroom.c.
Referenced by _darkroom_locked_main_valid_for_zoom(), _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().
|
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 592 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _release_preview_fallback_surface(), and expose().
|
static |
Definition at line 594 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 589 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 593 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 591 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 586 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _release_expose_source_caches(), and expose().
|
static |
Definition at line 588 of file darkroom.c.
Referenced by _lock_pipe_surface(), and _release_expose_source_caches().