![]() |
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 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 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 1369 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 3106 of file darkroom.c.
References _change_scaling(), dt_dev_get_global(), dt_dev_viewport_scaling(), and x.
Referenced by scrolled().
|
static |
Definition at line 3055 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(), 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 1629 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 1637 of file darkroom.c.
References dt_iop_autoset_module_set_enabled().
Referenced by _darkroom_autoset_popover_rebuild().
|
static |
Definition at line 1643 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 1673 of file darkroom.c.
References _darkroom_autoset_popover_rebuild().
Referenced by cleanup(), and gui_init().
|
static |
Definition at line 1622 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 1449 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 1442 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 2512 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 2438 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 2596 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 2457 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 2426 of file darkroom.c.
References CLAMPF, position(), and size.
Referenced by _darkroom_edge_pan_update_state().
|
static |
Definition at line 1243 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_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 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 2309 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, and geometry.
Referenced by expose().
|
static |
Definition at line 2363 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 1341 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 1514 of file darkroom.c.
References dt_gui_center_widget(), and TRUE.
|
static |
toolbar buttons
Definition at line 1364 of file darkroom.c.
References dt_guides_update_popover_values().
Referenced by gui_init().
Definition at line 1375 of file darkroom.c.
References dt_control_queue_redraw_center(), and dt_guides_button_toggled().
Referenced by gui_init().
|
static |
Definition at line 1381 of file darkroom.c.
References dt_guides_update_button_state().
Referenced by gui_init().
|
static |
Definition at line 2284 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 1958 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 3160 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 |
Definition at line 1571 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, 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 2355 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 2410 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 1978 of file darkroom.c.
References _is_scroll_captured_by_widget(), dt_widget_scroll_focus(), and FALSE.
Referenced by enter().
| gboolean _switch_to_next_picture | ( | GtkAccelGroup * | accel_group, |
| GObject * | accelerable, | ||
| guint | keyval, | ||
| GdkModifierType | modifier, | ||
| gpointer | data | ||
| ) |
Definition at line 1521 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 1546 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 1353 of file darkroom.c.
References _dev_change_image(), and UNKNOWN_IMAGE.
|
static |
| int button_pressed | ( | dt_view_t * | self, |
| double | x, | ||
| double | y, | ||
| double | pressure, | ||
| int | which, | ||
| int | type, | ||
| uint32_t | state | ||
| ) |
Definition at line 2871 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 2823 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 3260 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 1433 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 1401 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 1413 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 1425 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 1992 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 1678 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(), _preview_pipe_finished(), _switch_to_next_picture(), _switch_to_prev_picture(), 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_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 3168 of file darkroom.c.
References _change_scaling(), _key_scroll(), _queue_delayed_history_commit(), 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 2072 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_get_hash(), 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_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_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 2319 of file darkroom.c.
References dt_view_t::data, dt_masks_events_mouse_enter(), and dt_develop_t::gui_module.
Definition at line 2304 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 2295 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 2239 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 2628 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 3118 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 1298 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 2332 of file darkroom.c.
Referenced by _delayed_history_commit(), and _queue_delayed_history_commit().