![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Private drawlayer layer cache, sidecar sync and widget cache state. More...
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | drawlayer_dir_info_t |
| struct | drawlayer_layer_cache_key_t |
Typedefs | |
| typedef struct drawlayer_dir_info_t | drawlayer_dir_info_t |
| typedef struct drawlayer_layer_cache_key_t | drawlayer_layer_cache_key_t |
Functions | |
| static void | _layerio_append_error (GString *errors, const char *message) |
| static void | _layerio_log_errors (GString *errors) |
| static void | _populate_layer_list (dt_iop_module_t *self) |
| static void | _reset_stroke_session (dt_iop_drawlayer_gui_data_t *g) |
| static gboolean | _layer_cache_matches (const dt_iop_drawlayer_gui_data_t *g, const drawlayer_layer_cache_key_t *key) |
| gboolean | dt_drawlayer_ensure_layer_cache (dt_iop_module_t *self) |
| gboolean | dt_drawlayer_flush_layer_cache (dt_iop_module_t *self) |
| static gboolean | _ensure_widget_cache (dt_iop_module_t *self) |
| void | dt_drawlayer_set_pipeline_realtime_mode (dt_iop_module_t *self, const gboolean state) |
| gboolean | dt_drawlayer_sync_widget_cache (dt_iop_module_t *self) |
Private drawlayer layer cache, sidecar sync and widget cache state.
This file is text-included from drawlayer.c on purpose. The goal is to keep the main module file readable while preserving one translation unit, so cache ownership, worker synchronization and GUI side effects stay visible to the caller instead of being hidden behind a separate API boundary.
Definition in file layers.c.
| typedef struct drawlayer_dir_info_t drawlayer_dir_info_t |
| typedef struct drawlayer_layer_cache_key_t drawlayer_layer_cache_key_t |
|
static |
Definition at line 403 of file layers.c.
References dt_iop_module_t::dev, dt_drawlayer_compute_view_patch(), dt_drawlayer_layer_bounds_to_widget_bounds(), dt_drawlayer_worker_reset_backend_path(), FALSE, g, dt_iop_module_t::gui_data, IS_NULL_PTR, dt_develop_t::roi, dt_develop_t::scaling, TRUE, dt_drawlayer_damaged_rect_t::valid, view(), dt_develop_t::x, and dt_develop_t::y.
Referenced by dt_drawlayer_sync_widget_cache().
|
static |
Definition at line 100 of file layers.c.
References FALSE, g, IS_NULL_PTR, key, and TRUE.
Referenced by dt_drawlayer_ensure_layer_cache().
|
static |
Definition at line 30 of file layers.c.
References IS_NULL_PTR.
Referenced by _delete_current_layer(), _rename_current_layer_from_gui(), and dt_drawlayer_ensure_layer_cache().
|
static |
Definition at line 37 of file layers.c.
References dt_control_log(), and IS_NULL_PTR.
Referenced by _delete_current_layer(), _rename_current_layer_from_gui(), and dt_drawlayer_ensure_layer_cache().
|
static |
Definition at line 43 of file layers.c.
References _layer_name_non_empty(), darktable, dt_iop_module_t::dev, dt_bauhaus_combobox_add(), dt_bauhaus_combobox_length(), dt_bauhaus_combobox_remove_at(), dt_bauhaus_combobox_set(), dt_drawlayer_io_free_layer_names(), dt_drawlayer_io_list_layer_names(), dt_drawlayer_io_sidecar_path(), g, darktable_t::gui, dt_iop_module_t::gui_data, i, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, dt_iop_module_t::params, PATH_MAX, and dt_gui_gtk_t::reset.
Referenced by _refresh_layer_widgets(), dt_drawlayer_ensure_layer_cache(), and gui_update().
|
static |
Definition at line 89 of file layers.c.
References dt_drawlayer_process_state_reset_stroke(), dt_drawlayer_worker_reset_backend_path(), dt_drawlayer_worker_reset_live_publish(), FALSE, g, and IS_NULL_PTR.
Referenced by _clear_current_layer(), _delete_current_layer(), _fill_current_layer(), dt_drawlayer_commit_dabs(), and dt_drawlayer_ensure_layer_cache().
| gboolean dt_drawlayer_ensure_layer_cache | ( | dt_iop_module_t * | self | ) |
Definition at line 126 of file layers.c.
References _flush_layer_cache, _get_current_work_profile_key(), _layer_cache_matches(), _layer_name_non_empty(), _layerio_append_error(), _layerio_log_errors(), _populate_layer_list(), _refresh_layer_widgets(), _release_all_base_patch_extra_refs, _reset_stroke_session(), _retain_base_patch_loaded_ref(), _sanitize_params(), _sidecar_timestamp_from_path(), dt_drawlayer_io_layer_info_t::count, drawlayer_dir_info_t::count, dt_iop_module_t::dev, DRAWLAYER_PROFILE_SIZE, dt_drawlayer_cache_clear_transparent_float(), dt_drawlayer_cache_ensure_mask_buffer(), dt_drawlayer_cache_patch_alloc_shared(), dt_drawlayer_cache_patch_clear(), dt_drawlayer_cache_patch_wrlock(), dt_drawlayer_cache_patch_wrunlock(), dt_drawlayer_io_find_layer(), dt_drawlayer_io_load_layer(), dt_drawlayer_io_sidecar_path(), dt_drawlayer_paint_runtime_state_reset(), dt_drawlayer_process_state_invalidate(), FALSE, dt_drawlayer_io_layer_info_t::found, drawlayer_dir_info_t::found, g, dt_iop_module_t::gui_data, dt_drawlayer_io_layer_info_t::height, drawlayer_dir_info_t::height, dt_image_t::id, dt_develop_t::image_storage, drawlayer_layer_cache_key_t::imgid, dt_drawlayer_io_layer_info_t::index, drawlayer_dir_info_t::index, dt_develop_t::iop, IS_NULL_PTR, dt_drawlayer_io_layer_info_t::name, drawlayer_dir_info_t::name, dt_iop_module_t::params, PATH_MAX, dt_develop_t::pipe, dt_develop_t::raw_height, dt_develop_t::raw_width, dt_develop_t::roi, TRUE, dt_drawlayer_io_layer_info_t::width, drawlayer_dir_info_t::width, dt_drawlayer_io_layer_info_t::work_profile, drawlayer_dir_info_t::work_profile, and dt_drawlayer_io_patch_t::x.
Referenced by _perform_runtime_widget_cache_sync(), and dt_drawlayer_runtime_manager_update().
| gboolean dt_drawlayer_flush_layer_cache | ( | dt_iop_module_t * | self | ) |
Definition at line 358 of file layers.c.
References _layer_name_non_empty(), _rekey_shared_base_patch(), _release_all_base_patch_extra_refs, _sidecar_timestamp_from_path(), _wait_worker_idle(), dt_iop_module_t::dev, dt_drawlayer_cache_patch_rdlock(), dt_drawlayer_cache_patch_rdunlock(), dt_drawlayer_io_sidecar_path(), dt_drawlayer_io_store_layer(), dt_drawlayer_paint_runtime_state_reset(), dt_drawlayer_worker_any_active(), FALSE, g, dt_iop_module_t::gui_data, dt_image_t::id, dt_develop_t::image_storage, IS_NULL_PTR, dt_iop_drawlayer_params_t::layer_name, dt_iop_drawlayer_params_t::layer_order, dt_iop_module_t::params, PATH_MAX, dt_iop_drawlayer_params_t::sidecar_timestamp, TRUE, dt_drawlayer_io_patch_t::width, and dt_drawlayer_io_patch_t::x.
Referenced by dt_drawlayer_runtime_manager_update().
| void dt_drawlayer_set_pipeline_realtime_mode | ( | dt_iop_module_t * | self, |
| const gboolean | state | ||
| ) |
Definition at line 450 of file layers.c.
References dt_iop_module_t::dev, dt_atomic_set_int(), dt_dev_pixelpipe_get_realtime(), dt_dev_pixelpipe_resync_history_main, dt_dev_pixelpipe_set_realtime(), dt_dev_transient_params_clear(), IS_NULL_PTR, dt_dev_pixelpipe_t::pause, dt_develop_t::pipe, dt_develop_t::preview_pipe, dt_dev_pixelpipe_t::shutdown, state, and TRUE.
Referenced by _perform_runtime_commit_sequence(), and dt_drawlayer_runtime_manager_update().
| gboolean dt_drawlayer_sync_widget_cache | ( | dt_iop_module_t * | self | ) |
Definition at line 468 of file layers.c.
References _current_live_padding, _ensure_widget_cache(), _pause_worker(), _resume_worker(), dt_iop_module_t::dev, FALSE, g, dt_iop_module_t::gui_data, IS_NULL_PTR, and TRUE.
Referenced by _perform_runtime_widget_cache_sync().