![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "develop/imageop_gui.h"#include "widgets/bauhaus.h"#include "widgets/accelerators.h"#include "widgets/widget_settings.h"#include <glib/gstdio.h>#include "common/paths.h"#include "common/collection.h"#include "widgets/gdkkeys.h"#include "common/hash.h"#include "common/iop-autoset.h"#include "imageio/imageio_module.h"#include "caches/mipmap_cache.h"#include "common/module_versioning.h"#include "common/selection.h"#include "common/undo.h"#include "common/conf.h"#include "control/input.h"#include "control/control.h"#include "control/jobs.h"#include "develop/dev_pixelpipe.h"#include "develop/dev_history.h"#include "develop/pixelpipe_hb.h"#include "develop/develop.h"#include "develop/dev_history_gui.h"#include "develop/imageop.h"#include "develop/supervisor.h"#include "develop/masks.h"#include "develop/masks_gui.h"#include "widgets/button.h"#include "gui/dtgtk/thumbtable.h"#include "gui/color_picker_proxy.h"#include "gui/application.h"#include "develop/gui_throttle.h"#include "develop/blend_gui.h"#include "gui/guides.h"#include "libs/colorpicker.h"#include "libs/lib.h"#include "views/dev_backbuf.h"#include "views/dev_toolbox.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 <fcntl.h>#include "widgets/label.h"#include "widgets/widget_style.h"#include "gui/screen_metrics.h"#include "widgets/togglebutton.h"#include "control/signal.h"
Include dependency graph for darkroom.c:Go to the source code of this file.
Data Structures | |
| struct | coords_t |
| struct | darkroom_expose_state_t |
| struct | _darkroom_compose_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(50) |
| #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_expose_state_t | darkroom_expose_state_t |
| typedef struct _darkroom_compose_t | _darkroom_compose_t |
| typedef struct darkroom_edge_pan_test_t | darkroom_edge_pan_test_t |
Functions | |
| 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) |
| uint32_t | flags () |
| 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. | |
| static void | _release_preview_fallback_surface (void) |
| 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 uint64_t | _darkroom_compose_key (const uint64_t source_hash, const uint64_t zoom_hash, const dt_aligned_pixel_t bg_color, const int border, const gboolean iso, const int width, const int height) |
| static gboolean | _darkroom_preview_fallback_valid (const dt_develop_t *dev, const int width, const int height, const uint64_t zoom_hash) |
| static uint64_t | _darkroom_zoom_hash (const dt_develop_t *dev) |
| The frame-validity key for the locked main surface. | |
| 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 uint64_t | _darkroom_compose_key_of (const _darkroom_compose_t *const c, const uint64_t source_hash) |
| static gboolean | _darkroom_composed_already (const _darkroom_compose_t *const c, const uint64_t key) |
| static gboolean | _darkroom_compose_locked (const _darkroom_compose_t *const c, dt_dev_locked_surface_t *locked) |
| static gboolean | _darkroom_compose_fallback (const _darkroom_compose_t *const c) |
| 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 void | _guides_popover_preshow (gpointer user_data) |
| static void | _autoset_popover_preshow (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_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 | _darkroom_change_mask_rasterization (GtkWidget *combobox, gpointer user_data) |
| 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 gboolean | _zoom_to_fit (GtkAccelGroup *accel_group __attribute__((unused)), GObject *accelerable __attribute__((unused)), guint keyval __attribute__((unused)), GdkModifierType modifier __attribute__((unused)), gpointer data) |
| static gboolean | _zoom_to_100 (GtkAccelGroup *accel_group __attribute__((unused)), GObject *accelerable __attribute__((unused)), guint keyval __attribute__((unused)), GdkModifierType modifier __attribute__((unused)), gpointer data) |
| static void | _preferences_changed (gpointer instance, gpointer user_data) |
| Re-settle every node against the preferences that were just changed. | |
| 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 | _publish_mask_edit_transient (dt_develop_t *dev) |
| static void | _delayed_history_commit (gpointer data) |
| static void | _queue_delayed_history_commit (dt_develop_t *dev) |
| 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 float | _snap_step_to_fit (const float old_scaling, const float new_scaling) |
| 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 160 of file darkroom.c.
| #define DARKROOM_EDGE_PAN_MARGIN_PX DT_PIXEL_APPLY_DPI(50) |
Definition at line 161 of file darkroom.c.
| #define DARKROOM_EDGE_PAN_SPEED_PX_PER_S 360.0f |
Definition at line 162 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 147 of file darkroom.c.
| typedef struct _darkroom_compose_t _darkroom_compose_t |
| typedef struct darkroom_edge_pan_test_t darkroom_edge_pan_test_t |
| typedef struct darkroom_expose_state_t darkroom_expose_state_t |
|
static |
Definition at line 1370 of file darkroom.c.
References _darkroom_autoset_popover_rebuild(), and dt_dev_get_global().
Referenced by gui_init().
|
static |
Definition at line 614 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(), dt_dev_pixelpipe_t::backbuf, dt_cairo_image_surface_create(), dt_dev_backbuf_get_hash(), dt_dev_draw_iso12646_border(), dt_dev_get_image_box_in_widget(), dt_dev_pixelpipe_cache_rdlock_entry(), dt_dev_viewport_center_x(), dt_dev_viewport_center_y(), dt_dev_viewport_scaling(), dt_gui_get_global(), dt_develop_t::enabled, dt_dev_locked_surface_t::entry, FALSE, dt_dev_locked_surface_t::hash, height, dt_dev_locked_surface_t::height, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, dt_develop_t::iso_12646, dt_gui_gtk_t::ppd, dt_develop_t::preview_pipe, dt_dev_locked_surface_t::surface, TRUE, width, and dt_dev_locked_surface_t::width.
Referenced by expose().
|
static |
Definition at line 3175 of file darkroom.c.
References _change_scaling(), _snap_step_to_fit(), dt_dev_get_global(), dt_dev_viewport_scaling(), and x.
Referenced by scrolled().
|
static |
Definition at line 3130 of file darkroom.c.
References dt_dev_viewport_state_t::center_x, dt_dev_viewport_state_t::center_y, dt_dev_check_zoom_scale_bounds(), dt_dev_clamp_viewport_center(), dt_dev_get_processed_size(), dt_dev_get_widget_center(), dt_dev_get_widget_zoom_scale(), dt_dev_pixelpipe_change_zoom_main(), dt_dev_viewport_get(), dt_dev_viewport_scaling(), dt_dev_viewport_set_center(), and dt_dev_viewport_set_scaling().
Referenced by _center_view_free_zoom(), _zoom_to_100(), _zoom_to_fit(), button_pressed(), and key_pressed().
|
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 204 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 1685 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 1693 of file darkroom.c.
References dt_iop_autoset_module_set_enabled().
Referenced by _darkroom_autoset_popover_rebuild().
|
static |
Definition at line 1699 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 _autoset_popover_preshow(), _darkroom_autoset_popover_refresh(), and gui_init().
|
static |
Definition at line 1729 of file darkroom.c.
References _darkroom_autoset_popover_rebuild().
Referenced by cleanup(), and gui_init().
|
static |
Definition at line 1678 of file darkroom.c.
References _autoset_manager, _darkroom_autoset_button_set_running(), dt_dev_get_global(), dt_iop_autoset_build_list(), and dt_autoset_manager_t::progress_cursor_active.
Referenced by gui_init().
Definition at line 1450 of file darkroom.c.
References d, dt_bauhaus_combobox_get(), dt_conf_set_string(), dt_dev_pixelpipe_resync_history_main, and dt_dev_roi_request_publish().
Referenced by gui_init().
Definition at line 1443 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 |
Definition at line 858 of file darkroom.c.
References _darkroom_compose_key_of(), _darkroom_composed_already(), _darkroom_preview_fallback_backbuf_hash, _render_preview_fallback_surface(), FALSE, key, and TRUE.
Referenced by expose().
|
static |
Definition at line 736 of file darkroom.c.
References dt_hash(), height, key, and width.
Referenced by _darkroom_compose_key_of().
|
static |
Definition at line 834 of file darkroom.c.
References _darkroom_compose_key().
Referenced by _darkroom_compose_fallback(), and _darkroom_compose_locked().
|
static |
Definition at line 847 of file darkroom.c.
References _darkroom_compose_key_of(), _darkroom_composed_already(), dt_dev_render_locked_surface(), FALSE, dt_dev_locked_surface_t::hash, IS_NULL_PTR, key, dt_dev_locked_surface_t::surface, and TRUE.
Referenced by expose().
|
static |
Definition at line 840 of file darkroom.c.
References key.
Referenced by _darkroom_compose_fallback(), and _darkroom_compose_locked().
|
static |
Apply one edge-pan step when the current drag is still eligible.
Edge-pan is gated by dt_gui_get_global()->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 2579 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, DARKROOM_EDGE_PAN_SPEED_PX_PER_S, delta, darkroom_edge_pan_test_t::dev, darkroom_edge_pan_test_t::drag, dt_control_get_global(), dt_dev_check_zoom_pos_bounds(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_geometry_processed_height(), dt_dev_geometry_processed_width(), dt_dev_pixelpipe_change_zoom_main(), dt_dev_viewport_center_x(), dt_dev_viewport_center_y(), dt_dev_viewport_set_center(), dt_gui_get_global(), dt_gui_gtk_t::enabled, FALSE, 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_gui_gtk_t::timeout_source, TRUE, dt_gui_gtk_t::velocity, dt_gui_gtk_t::view, and width.
Referenced by _darkroom_edge_pan_tick().
|
static |
Definition at line 2505 of file darkroom.c.
References dt_masks_form_gui_t::creation, dt_gui_get_global(), FALSE, dt_develop_t::form_gui, dt_gui_gtk_t::is_dragging, IS_NULL_PTR, dt_gui_gtk_t::is_painting, 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 2663 of file darkroom.c.
References _darkroom_edge_pan_apply(), _reset_edge_pan(), dt_gui_center_widget(), dt_gui_get_global(), FALSE, IS_NULL_PTR, dt_gui_gtk_t::pan_edge, dt_gui_gtk_t::timeout_source, dt_gui_gtk_t::view, dt_view_t::width, and window.
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 2524 of file darkroom.c.
References _darkroom_edge_pan_enable_check(), _darkroom_edge_pan_velocity(), CLAMPF, DARKROOM_EDGE_PAN_MARGIN_PX, dt_view_t::data, darkroom_edge_pan_test_t::dev, double(), darkroom_edge_pan_test_t::drag, dt_control_get_global(), dt_dev_get_image_box_in_widget(), dt_dev_viewport_scaling(), dt_gui_get_global(), dt_view_manager_get_current_view(), dt_view_manager_get_global(), dt_gui_gtk_t::enabled, 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, TRUE, darkroom_edge_pan_test_t::velocity, and width.
Referenced by _darkroom_edge_pan_apply(), and mouse_moved().
|
static |
Definition at line 2493 of file darkroom.c.
References CLAMPF, position(), and size.
Referenced by _darkroom_edge_pan_update_state().
|
static |
Definition at line 1244 of file darkroom.c.
References _darkroom_log_image_load_error(), _darkroom_pending_focus_module, dt_view_t::data, dt_control_queue_redraw_center(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_RAISE, dt_dev_get_global(), 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_selection_get_global(), DT_SIGNAL_DEVELOP_IMAGE_CHANGED, DT_SIGNAL_DEVELOP_INITIALIZE, dt_undo_clear(), DT_UNDO_DEVELOP, dt_undo_get_global(), dt_view_active_images_add(), dt_view_active_images_reset(), dt_view_image_info_update(), dt_view_manager_get_global(), FALSE, dt_image_t::id, dt_develop_t::image_storage, dt_develop_t::iop, dt_develop_t::proxy, TRUE, and dt_develop_t::wb_coeffs.
Referenced by enter().
|
static |
Definition at line 188 of file darkroom.c.
Referenced by gui_init().
|
static |
Definition at line 313 of file darkroom.c.
Referenced by _darkroom_pickers_draw().
|
inlinestatic |
Definition at line 800 of file darkroom.c.
References _darkroom_main_locked, dt_dev_locked_surface_t::hash, state, and dt_dev_locked_surface_t::surface.
Referenced by expose().
|
static |
Definition at line 1227 of file darkroom.c.
References dt_control_alert(), 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 345 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, dt_view_t::data, dt_develop_t::display_samples, dt_dev_get_fit_scale(), dt_dev_get_global(), dt_dev_rescale_roi(), dt_dev_roi_request_preview_height(), dt_dev_roi_request_preview_width(), DT_LIB_COLORPICKER_SIZE_BOX, DT_LIB_COLORPICKER_SIZE_POINT, FALSE, height, IS_NULL_PTR, lw, M_PI, 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 869 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 751 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 809 of file darkroom.c.
References DT_PIXELPIPE_CACHE_HASH_INVALID, FALSE, IS_NULL_PTR, state, and UNKNOWN_IMAGE.
Referenced by _darkroom_prepare_image_surface().
|
inlinestatic |
Definition at line 326 of file darkroom.c.
References dt_colorpicker_sample_t::box, dt_dev_coordinates_raw_norm_to_image_norm(), and dt_dev_get_global().
Referenced by _darkroom_pickers_draw().
|
inlinestatic |
Definition at line 318 of file darkroom.c.
References dt_dev_coordinates_raw_norm_to_image_norm(), dt_dev_get_global(), and dt_colorpicker_sample_t::point.
Referenced by _darkroom_pickers_draw(), and mouse_moved().
Definition at line 2376 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 |
The frame-validity key for the locked main surface.
Every viewport quantity that changes what the composed image should look like, named one by one. This used to be dt_hash(5381, (char *)&dev->roi, sizeof(dev->roi)) – a raw hash of the whole struct, which silently absorbed whatever was added to it and would just as silently have absorbed the members leaving it as dev->roi is divided into its three real objects. Naming them makes the dependency reviewable and makes the compiler, rather than a stale cached frame, report the next member that moves.
The value never leaves the process and is only ever compared against another value computed here, so it does not have to reproduce the old byte layout – only to change exactly when the old one changed.
Definition at line 776 of file darkroom.c.
References dt_dev_geometry_snapshot(), dt_dev_roi_request_get(), dt_dev_viewport_get(), dt_hash(), dt_dev_roi_request_t::generation, geometry, and hash.
Referenced by expose().
|
static |
Definition at line 2430 of file darkroom.c.
References _delayed_history_commit(), _pending_mask_commit_module, dt_dev_add_history_item, dt_dev_masks_update_hash(), dt_dev_pixelpipe_update_history_main, dt_dev_transient_params_active(), dt_dev_transient_params_clear(), dt_gui_throttle_queue(), dt_masks_gui_is_dragging(), FALSE, dt_develop_t::form_gui, dt_develop_t::forms_changed, dt_develop_t::iop, IS_NULL_PTR, and TRUE.
Referenced by _delayed_history_commit(), and _queue_delayed_history_commit().
Definition at line 1342 of file darkroom.c.
References dt_control_set_mouse_over_id(), dt_view_manager_get_global(), and dt_view_manager_switch().
Referenced by _switch_to_next_picture(), _switch_to_prev_picture(), and _view_darkroom_filmstrip_activate_callback().
| gboolean _focus_main_image | ( | GtkAccelGroup * | accel_group, |
| GObject * | accelerable, | ||
| guint | keyval, | ||
| GdkModifierType | modifier, | ||
| gpointer | data | ||
| ) |
end of toolbox
Definition at line 1515 of file darkroom.c.
References dt_gui_center_widget(), and TRUE.
|
static |
toolbar buttons
Definition at line 1365 of file darkroom.c.
References dt_guides_update_popover_values().
Referenced by gui_init().
Definition at line 1376 of file darkroom.c.
References dt_control_queue_redraw_center(), and dt_guides_button_toggled().
Referenced by gui_init().
|
static |
Definition at line 1382 of file darkroom.c.
References dt_guides_update_button_state().
Referenced by gui_init().
|
static |
Definition at line 2351 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 2025 of file darkroom.c.
References dt_accels_t::active_key, dt_gui_get_accels(), dt_widget_scroll_focus(), FALSE, and key.
Referenced by _scroll_on_focus(), and scrolled().
|
static |
Definition at line 3230 of file darkroom.c.
References dt_control_queue_redraw_center(), dt_dev_clamp_viewport_center(), and dt_dev_pixelpipe_change_zoom_main().
Referenced by key_pressed().
|
static |
Definition at line 308 of file darkroom.c.
References DT_DARKROOM_LAYOUT_EDITING.
Referenced by gui_init().
|
static |
|
static |
Re-settle every node against the preferences that were just changed.
A module settles its effective contract in commit_params(), and several read application preferences there rather than per frame – iop/colorbalancergb.c and iop/gamma.c both do, for the same mask-preview appearance. Nothing carries those values in history, so only a resync re-reads them, and the four "Mask preview settings" writers below each trigger one themselves for exactly that reason.
The Preferences dialog had no such path. A key reachable only from it – ‘channel_display’, which picks false colour against greyscale for the channel display – would therefore keep whatever it held at the last resync: toggling the channel display raises TOP_CHANGED, which re-commits the focused node alone and never reaches iop/gamma.c, so the preference read as doing nothing until an unrelated edit happened to resync the pipe.
One resync per dialog interaction, which is the same cost the render-size and mask rasterisation combos in this file already pay for a settings change.
Definition at line 1620 of file darkroom.c.
References dt_dev_pixelpipe_resync_history_all, and IS_NULL_PTR.
Referenced by gui_init().
|
static |
Definition at line 1627 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, dt_dev_backbuf_snapshot(), dt_dev_get_global(), dt_gui_get_ui(), 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, dt_backbuf_state_t::height, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, pipe, dt_develop_t::preview_pipe, dt_autoset_manager_t::progress_cursor_active, TRUE, and dt_backbuf_state_t::width.
Referenced by gui_init().
|
static |
Definition at line 2422 of file darkroom.c.
References DT_DEV_PIPE_TOP_CHANGED, dt_dev_pixelpipe_or_changed(), dt_dev_transient_params_set(), IS_NULL_PTR, and dt_develop_t::pipe.
Referenced by mouse_moved(), and scrolled().
|
static |
Definition at line 2477 of file darkroom.c.
References _delayed_history_commit(), _pending_mask_commit_module, dt_gui_throttle_queue(), and dt_develop_t::gui_module.
Referenced by button_pressed(), button_released(), key_pressed(), mouse_moved(), and scrolled().
Definition at line 602 of file darkroom.c.
References _darkroom_main_locked, _darkroom_main_wait, _darkroom_preview_locked, _darkroom_preview_wait, _release_preview_fallback_surface(), dt_dev_pixelpipe_cache_wait_cleanup(), and dt_dev_release_locked_surface().
Referenced by _darkroom_prepare_image_surface(), cleanup(), and leave().
Definition at line 587 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().
|
static |
Definition at line 696 of file darkroom.c.
References _darkroom_preview_fallback_surface, FALSE, IS_NULL_PTR, and TRUE.
Referenced by _darkroom_compose_fallback().
|
static |
Definition at line 247 of file darkroom.c.
References dt_gui_get_global(), 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 2045 of file darkroom.c.
References _is_scroll_captured_by_widget(), dt_widget_scroll_focus(), and FALSE.
Referenced by enter().
|
static |
Definition at line 3125 of file darkroom.c.
Referenced by _center_view_free_zoom(), and key_pressed().
| gboolean _switch_to_next_picture | ( | GtkAccelGroup * | accel_group, |
| GObject * | accelerable, | ||
| guint | keyval, | ||
| GdkModifierType | modifier, | ||
| gpointer | data | ||
| ) |
Definition at line 1522 of file darkroom.c.
References _dev_change_image(), dt_collection_get_all(), dt_collection_get_global(), 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 1547 of file darkroom.c.
References _dev_change_image(), dt_collection_get_all(), dt_collection_get_global(), dt_image_t::id, dt_develop_t::image_storage, TRUE, and view.
Referenced by gui_init().
|
static |
Definition at line 1354 of file darkroom.c.
References _dev_change_image(), and UNKNOWN_IMAGE.
|
static |
|
static |
Definition at line 1584 of file darkroom.c.
References _change_scaling(), dt_dev_get_widget_center(), dt_dev_roi_request_natural_scale(), and TRUE.
Referenced by gui_init().
|
static |
Definition at line 1572 of file darkroom.c.
References _change_scaling(), dt_dev_get_widget_center(), and TRUE.
Referenced by gui_init().
| int button_pressed | ( | dt_view_t * | self, |
| double | x, | ||
| double | y, | ||
| double | pressure, | ||
| int | which, | ||
| int | type, | ||
| uint32_t | state | ||
| ) |
Definition at line 2938 of file darkroom.c.
References _change_scaling(), _darkroom_center_pan_drag, _queue_delayed_history_commit(), dt_colorpicker_sample_t::box, dt_develop_t::color_picker, dt_view_t::data, dt_develop_t::display_samples, DT_COLOR_PICKER_AREA, DT_COLOR_PICKER_POINT, dt_control_mouse_is_dragging(), dt_control_mouse_is_painting(), 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_geometry_processed_height(), dt_dev_geometry_processed_width(), dt_dev_get_fit_scale(), dt_dev_get_global(), dt_dev_roi_request_natural_scale(), dt_dev_viewport_scaling(), dt_gui_center_widget(), 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_lib_get_global(), dt_masks_events_button_pressed(), dt_masks_get_visible_form(), dt_print(), dt_iop_module_t::enabled, FALSE, dt_develop_t::gui_module, dt_iop_color_picker_t::kind, MAX, mouse_in_imagearea(), dt_develop_t::picker, dt_colorpicker_sample_t::point, dt_develop_t::primary_sample, reset(), dt_develop_t::samples, dt_colorpicker_sample_t::size, state, TRUE, type, and x.
Definition at line 2890 of file darkroom.c.
References _darkroom_center_pan_drag, _queue_delayed_history_commit(), _reset_edge_pan(), dt_view_t::data, dt_control_mouse_is_dragging(), dt_control_mouse_is_painting(), dt_control_queue_cursor, dt_control_queue_redraw_center(), DT_DEBUG_INPUT, dt_dev_get_global(), dt_dev_pixelpipe_update_history_preview, 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, dt_develop_t::gui_module, dt_develop_t::primary_sample, dt_colorpicker_sample_t::size, state, and x.
Definition at line 258 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(), dt_view_t::data, dt_control_log_busy_leave(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_dev_cleanup(), dt_dev_history_drop_pending_commits(), dt_dev_pixelpipe_cache_wait_cleanup(), dt_free, dt_free_align, dt_gui_throttle_cancel(), dt_view_manager_get_global(), FALSE, dt_autoset_manager_t::input_wait, dt_autoset_manager_t::iop_to_set, IS_NULL_PTR, dt_autoset_manager_t::progress_cursor_active, and UNKNOWN_IMAGE.
Definition at line 3331 of file darkroom.c.
References dt_view_t::data, dt_dev_toolbox_apply_iso_12646_size(), dt_dev_viewport_set_widget_size(), dt_view_manager_get_current_view(), and dt_view_manager_get_global().
|
static |
Definition at line 1434 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.
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.
The historical Color Balance key namespace is intentionally retained so existing checkerboard preferences survive moving these controls into the darkroom toolbox.
Definition at line 1402 of file darkroom.c.
References color, d, dt_atomic_add_int(), dt_conf_set_float(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
|
static |
Definition at line 1414 of file darkroom.c.
References color, d, dt_atomic_add_int(), dt_conf_set_float(), and dt_dev_pixelpipe_resync_history_main.
Referenced by gui_init().
Definition at line 1426 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 2059 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_view_t::data, dt_bauhaus_t::default_value_changed_callback, dt_accels_attach_scroll_handler(), dt_accels_connect_accels(), dt_accels_connect_active_group(), dt_bauhaus_get_global(), dt_bauhaus_value_changed_default_callback(), dt_conf_get_string_const(), dt_control_flush_jobs_queue(), dt_control_get_global(), dt_control_set_keyboard_over_id(), dt_control_set_mouse_over_id(), dt_control_signal_get_global(), DT_DEBUG_CONTROL, DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_dev_get_global(), dt_dev_load_image(), dt_dev_load_modules(), dt_get_wtime(), dt_gui_center_widget(), dt_gui_get_accels(), dt_gui_get_ui(), 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_undo_clear(), dt_undo_get_global(), DT_UNDO_TAGS, dt_develop_t::exit, dt_develop_t::gui_module, dt_develop_t::iop, IS_NULL_PTR, 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 897 of file darkroom.c.
References _build_preview_fallback_surface(), _darkroom_compose_fallback(), _darkroom_compose_locked(), _darkroom_locked_main_valid_for_zoom(), _darkroom_main_locked, _darkroom_main_wait, _darkroom_pickers_draw(), _darkroom_prepare_image_surface(), _darkroom_preview_fallback_backbuf_hash, _darkroom_preview_fallback_valid(), _darkroom_preview_locked, _darkroom_preview_wait, _darkroom_zoom_hash(), _paint_all(), _release_preview_fallback_surface(), _write_snapshot_data(), dt_dev_pixelpipe_t::backbuf, dt_develop_t::color_picker, darkroom_expose_state_t::composed_key, _darkroom_compose_t::cr, dt_view_t::data, dt_develop_t::display_samples, dt_control_queue_redraw_center(), DT_DEBUG_DEV, DT_DEBUG_PERF, dt_dev_backbuf_get_hash(), dt_dev_backbuf_snapshot(), dt_dev_clip_roi(), dt_dev_draw_profile_mode_label(), dt_dev_get_background_color(), dt_dev_get_global(), dt_dev_get_overlay_scale(), dt_dev_lock_pipe_surface(), dt_dev_masks_manager_is_visible(), dt_dev_pipelines_share_preview_output(), dt_dev_rescale_roi(), dt_dev_roi_request_preview_height(), dt_dev_roi_request_preview_width(), dt_dev_viewport_border_size(), dt_get_debug_flags(), dt_get_times(), dt_guides_draw(), dt_iop_color_picker_is_visible(), dt_masks_events_post_expose(), dt_masks_get_visible_form(), DT_PIXELPIPE_CACHE_HASH_INVALID, dt_print(), dt_show_times(), dt_show_times_f(), dt_iop_module_t::enabled, FALSE, dt_develop_t::filename, dt_develop_t::gui_module, dt_backbuf_state_t::hash, dt_dev_locked_surface_t::hash, height, dt_backbuf_state_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, darkroom_expose_state_t::main_zoom_hash, O_BINARY, dt_iop_module_t::op, darkroom_expose_state_t::pending_main_hash, dt_develop_t::pipe, dt_develop_t::preview_pipe, dt_develop_t::primary_sample, dt_develop_t::proxy, dt_develop_t::request, dt_develop_t::samples, scaling, dt_develop_t::selected_sample, dt_develop_t::snapshot, dt_dev_locked_surface_t::surface, TRUE, UNKNOWN_IMAGE, width, and dt_backbuf_state_t::width.
Referenced by mouse_moved().
| uint32_t flags | ( | ) |
Definition at line 241 of file darkroom.c.
References VIEW_FLAGS_PAINTS_WHOLE_AREA.
Definition at line 1734 of file darkroom.c.
References _autoset_manager, _autoset_popover_preshow(), _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_mask_rasterization(), _darkroom_change_rendering_size(), _darkroom_ioporder_button, _darkroom_ioporder_quickbutton_clicked(), _darkroom_set_default_cursor(), _guides_popover_preshow(), _guides_quickbutton_clicked(), _guides_view_changed(), _lib_darkroom_get_layout(), _preferences_changed(), _preview_pipe_finished(), _switch_to_next_picture(), _switch_to_prev_picture(), _zoom_to_100(), _zoom_to_fit(), dt_view_manager_t::darkroom, dt_view_t::data, dt_develop_t::display, 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_NEW_FULL, dt_bauhaus_get_global(), dt_bauhaus_slider_new_with_range(), dt_bauhaus_slider_set(), dt_bauhaus_slider_set_format(), dt_bauhaus_widget_set_label(), dt_calloc_align(), dt_conf_get_bool(), dt_conf_get_float(), dt_conf_get_int(), dt_conf_get_string(), dt_control_signal_get_global(), DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_dev_history_gui_init(), dt_dev_toolbox_activate_accel(), dt_dev_toolbox_add_accels(), dt_dev_toolbox_connect_popover(), dt_dev_toolbox_create(), DT_DEV_TOOLBOX_DISPLAY, dt_dev_toolbox_focus_accel(), DT_DEV_TOOLBOX_GAMUT, DT_DEV_TOOLBOX_ISO_12646, DT_DEV_TOOLBOX_OVEREXPOSED, DT_DEV_TOOLBOX_POPOVER_KEY, dt_dev_toolbox_popover_set_preshow(), DT_DEV_TOOLBOX_RAWOVEREXPOSED, DT_DEV_TOOLBOX_SOFTPROOF, dt_dev_viewport_set_border(), dt_free, DT_GUI_BOX_SPACING, dt_gui_center_widget(), dt_gui_get_accels(), DT_GUI_MODULE, dt_guides_popover(), DT_PIXEL_APPLY_DPI, DT_PRIMARY_MASK, DT_SIGNAL_DEVELOP_HISTORY_CHANGE, DT_SIGNAL_DEVELOP_IMAGE_CHANGED, DT_SIGNAL_DEVELOP_MODULE_REMOVE, DT_SIGNAL_DEVELOP_PREVIEW_PIPE_FINISHED, DT_SIGNAL_PREFERENCES_CHANGE, DT_SIGNAL_VIEWMANAGER_VIEW_CHANGED, dt_ui_label_new(), dt_ui_section_label_new(), DT_VIEW_DARKROOM, dt_view_manager_get_global(), dt_view_manager_module_toolbox_add(), DT_VIEW_STUDIO_CAPTURE, dtgtk_button_new(), dtgtk_cairo_paint_flowchart(), dtgtk_cairo_paint_grid(), dtgtk_cairo_paint_wand(), dtgtk_togglebutton_new(), FALSE, dt_develop_t::floating_window, dt_view_manager_t::get_layout, dt_view_manager_t::guides_popover, dt_view_manager_t::guides_toggle, IS_NULL_PTR, dt_view_manager_t::proxy, dt_view_manager_t::set_default_cursor, and TRUE.
Definition at line 228 of file darkroom.c.
References dt_view_manager_t::darkroom, dt_view_t::data, dt_dev_init(), dt_dev_set_global(), dt_view_manager_get_global(), dt_view_manager_t::proxy, and dt_view_manager_t::view.
| int key_pressed | ( | dt_view_t * | self, |
| GdkEventKey * | event | ||
| ) |
Definition at line 3238 of file darkroom.c.
References _change_scaling(), _key_scroll(), _queue_delayed_history_commit(), _snap_step_to_fit(), dt_view_t::data, delta, dt_ctl_switch_mode_to(), dt_dev_coordinates_widget_delta_to_image_delta(), dt_dev_geometry_processed_height(), dt_dev_geometry_processed_width(), dt_dev_get_widget_center(), dt_dev_viewport_center_x(), dt_dev_viewport_center_y(), dt_dev_viewport_scaling(), dt_dev_viewport_set_center(), dt_gui_get_ui(), dt_keys_mainpad_alternatives(), dt_masks_events_key_pressed(), dt_masks_get_visible_form(), dt_modifier_is(), dt_modifiers_include(), DT_PRIMARY_MASK, FALSE, dt_develop_t::gui_module, IS_NULL_PTR, key, and TRUE.
Definition at line 2139 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_develop_t::alliop, dt_dev_pixelpipe_t::backbuf, dt_dev_pixelpipe_t::busy_mutex, dt_view_t::data, dt_develop_t::display_histogram, dt_accels_detach_scroll_handler(), dt_accels_disconnect_active_group(), dt_atomic_get_int(), dt_atomic_set_int(), dt_conf_set_string(), dt_control_mouse_is_dragging(), dt_control_mouse_is_painting(), dt_control_running(), dt_control_signal_get_global(), DT_DEBUG_CONTROL, DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_dev_backbuf_release_keepalive(), dt_dev_backbuf_set_hash(), dt_dev_get_global(), dt_dev_history_flush_pending_commits(), dt_dev_history_free_history(), dt_dev_pixelpipe_cache_flush_clmem_for_pipe(), 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_center_widget(), dt_gui_get_accels(), dt_gui_get_ui(), 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_iop_nap(), dt_masks_gui_cleanup(), dt_masks_release_all_forms(), 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_get_global(), dt_selection_select_single(), dt_thumbtable_hide(), dt_thumbtable_refresh_thumbnail, 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::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, IS_NULL_PTR, dt_dev_pixelpipe_t::last_devid, m, dt_develop_t::output_histogram, dt_develop_t::overexposed, dt_develop_t::picker, dt_develop_t::pipe, dt_develop_t::pipelines_started, dt_develop_t::preview_pipe, dt_develop_t::profile, dt_develop_t::raw_histogram, dt_develop_t::rawoverexposed, dt_dev_pixelpipe_t::running, dt_dev_pixelpipe_t::shutdown, and TRUE.
Referenced by _event_dnd_received(), and _name_editing_done().
Definition at line 2386 of file darkroom.c.
References dt_view_t::data, dt_masks_events_mouse_enter(), and dt_develop_t::gui_module.
Definition at line 2371 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 2362 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 2306 of file darkroom.c.
References _darkroom_center_pan_drag, _reset_edge_pan(), dt_gui_gtk_t::block_normal_pan, dt_view_t::data, dt_control_button_down(), dt_control_change_cursor, dt_control_mouse_is_dragging(), dt_control_mouse_is_painting(), dt_control_queue_redraw_center(), dt_control_set_cursor_visible, dt_gui_get_global(), dt_masks_events_mouse_leave(), dt_masks_get_visible_form(), FALSE, dt_develop_t::gui_module, dt_gui_gtk_t::last_time_us, 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 2695 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(), _publish_mask_edit_transient(), _queue_delayed_history_commit(), _reset_edge_pan(), dt_gui_gtk_t::block_normal_pan, dt_colorpicker_sample_t::box, dt_control_t::button_x, dt_control_t::button_y, dt_develop_t::color_picker, dt_masks_form_gui_t::creation, DARKROOM_EDGE_PAN_INTERVAL_MS, dt_view_t::data, delta, darkroom_edge_pan_test_t::drag, dt_control_button_down(), dt_control_commit_cursor(), dt_control_get_global(), 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_geometry_processed_height(), dt_dev_geometry_processed_width(), dt_dev_get_global(), dt_dev_pixelpipe_change_zoom_main(), dt_dev_viewport_center_x(), dt_dev_viewport_center_y(), dt_dev_viewport_scaling(), dt_dev_viewport_set_center(), dt_gui_center_widget(), dt_gui_get_global(), 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_lib_get_global(), dt_masks_events_mouse_moved(), dt_masks_get_visible_form(), dt_masks_gui_is_dragging(), dt_masks_overlay_queue_redraw(), FALSE, dt_develop_t::form_gui, dt_develop_t::gui_module, dt_view_t::height, darkroom_edge_pan_test_t::in_margin, k, dt_gui_gtk_t::last_time_us, MAX, MIN, mouse_in_imagearea(), dt_gui_gtk_t::pan_edge, dt_develop_t::primary_sample, 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, and x.
Referenced by _darkroom_edge_pan_apply().
| const char * name | ( | const dt_view_t * | self | ) |
Definition at line 222 of file darkroom.c.
Definition at line 1222 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(), _shape_manager_broadcast(), button_pressed(), and dt_opencl_events_flush().
Definition at line 3188 of file darkroom.c.
References _center_view_free_zoom(), _is_scroll_captured_by_widget(), _publish_mask_edit_transient(), _queue_delayed_history_commit(), dt_masks_form_gui_t::creation, dt_view_t::data, dt_control_queue_redraw_center(), DT_DEBUG_INPUT, dt_iop_color_picker_is_visible(), dt_masks_events_mouse_scrolled(), dt_masks_get_visible_form(), dt_print(), dt_iop_module_t::enabled, FALSE, dt_develop_t::form_gui, dt_develop_t::gui_module, state, TRUE, and x.
| int try_enter | ( | dt_view_t * | self | ) |
Definition at line 1299 of file darkroom.c.
References _darkroom_pending_imgid, dt_control_get_mouse_over_id(), dt_control_log(), dt_selection_get_first_id(), dt_selection_get_global(), dt_selection_get_length(), dt_view_active_images_reset(), FALSE, UNKNOWN_IMAGE, and void().
| uint32_t view | ( | const dt_view_t * | self | ) |
Definition at line 236 of file darkroom.c.
References DT_VIEW_DARKROOM.
|
static |
Definition at line 180 of file darkroom.c.
Referenced by _darkroom_autoset_quickbutton_clicked(), _preview_pipe_finished(), cleanup(), gui_init(), and leave().
|
static |
Definition at line 181 of file darkroom.c.
Referenced by _darkroom_autoset_button_set_running(), and gui_init().
|
static |
Definition at line 184 of file darkroom.c.
Referenced by _darkroom_autoset_button_set_running(), and cleanup().
|
static |
Definition at line 183 of file darkroom.c.
Referenced by _darkroom_autoset_popover_rebuild(), cleanup(), and gui_init().
|
static |
Definition at line 182 of file darkroom.c.
Referenced by cleanup(), and gui_init().
|
static |
Definition at line 178 of file darkroom.c.
Referenced by button_pressed(), button_released(), leave(), mouse_leave(), and mouse_moved().
|
static |
Definition at line 177 of file darkroom.c.
Referenced by gui_init().
|
static |
Definition at line 576 of file darkroom.c.
Referenced by _darkroom_locked_main_valid_for_zoom(), _release_expose_source_caches(), and expose().
|
static |
Definition at line 578 of file darkroom.c.
Referenced by _release_expose_source_caches(), and expose().
|
static |
Definition at line 176 of file darkroom.c.
Referenced by _darkroom_image_loaded_callback(), cleanup(), enter(), and leave().
|
static |
Definition at line 175 of file darkroom.c.
Referenced by cleanup(), enter(), and try_enter().
|
static |
Definition at line 583 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_compose_fallback(), _release_preview_fallback_surface(), and expose().
|
static |
Definition at line 585 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 581 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 580 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 584 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 582 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _darkroom_preview_fallback_valid(), and _release_preview_fallback_surface().
|
static |
Definition at line 577 of file darkroom.c.
Referenced by _build_preview_fallback_surface(), _release_expose_source_caches(), and expose().
|
static |
Definition at line 579 of file darkroom.c.
Referenced by _release_expose_source_caches(), and expose().
|
static |
Definition at line 2399 of file darkroom.c.
Referenced by _delayed_history_commit(), and _queue_delayed_history_commit().