![]() |
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.
| typedef struct drawlayer_dir_info_t drawlayer_dir_info_t |
| typedef struct drawlayer_layer_cache_key_t drawlayer_layer_cache_key_t |
|
static |
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 |
References FALSE, g, IS_NULL_PTR, key, and TRUE.
Referenced by dt_drawlayer_ensure_layer_cache().
|
static |
References IS_NULL_PTR.
Referenced by _delete_current_layer(), _rename_current_layer_from_gui(), and dt_drawlayer_ensure_layer_cache().
|
static |
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 |
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 |
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 | ) |
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 | ) |
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 | ||
| ) |
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(), 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 | ) |
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().