Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
layers.c File Reference

Private drawlayer layer cache, sidecar sync and widget cache state. More...

+ Include dependency graph for layers.c:

Go to the source code of this file.

Data Structures

struct  drawlayer_layer_cache_key_t
 

Typedefs

typedef struct drawlayer_layer_cache_key_t drawlayer_layer_cache_key_t
 

Functions

void dt_drawlayer_layers_append_error (GString *errors, const char *message)
 
void dt_drawlayer_layers_log_errors (GString *errors)
 
void dt_drawlayer_layers_populate_list (dt_iop_module_t *self)
 
void dt_drawlayer_layers_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)
 

Detailed Description

Private drawlayer layer cache, sidecar sync and widget cache state.

Cache ownership, worker synchronisation and the GUI side effects are the point of this file: what it publishes to drawlayer.c is in layers.h, and what drawlayer.c publishes back to it is in common.h. Both lists are short, and being short is what makes them worth reading – this used to be a text #include with no list at all.

Definition in file layers.c.

Typedef Documentation

◆ drawlayer_layer_cache_key_t

Function Documentation

◆ _ensure_widget_cache()

◆ _layer_cache_matches()

static gboolean _layer_cache_matches ( const dt_iop_drawlayer_gui_data_t *  g,
const drawlayer_layer_cache_key_t *  key 
)
static

Definition at line 105 of file layers.c.

References FALSE, g, IS_NULL_PTR, key, and TRUE.

Referenced by dt_drawlayer_ensure_layer_cache().

◆ dt_drawlayer_ensure_layer_cache()

gboolean dt_drawlayer_ensure_layer_cache ( dt_iop_module_t *  self)

Definition at line 131 of file layers.c.

References _layer_cache_matches(), dt_drawlayer_io_layer_info_t::count, drawlayer_dir_info_t::count, dt_iop_module_t::dev, DRAWLAYER_PROFILE_SIZE, dt_dev_geometry_snapshot(), 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_current_work_profile_key(), dt_drawlayer_flush_layer_cache(), dt_drawlayer_io_find_layer(), dt_drawlayer_io_load_layer(), dt_drawlayer_io_sidecar_path(), dt_drawlayer_layer_name_non_empty(), dt_drawlayer_layers_append_error(), dt_drawlayer_layers_log_errors(), dt_drawlayer_layers_populate_list(), dt_drawlayer_layers_reset_stroke_session(), dt_drawlayer_paint_runtime_state_reset(), dt_drawlayer_process_state_invalidate(), dt_drawlayer_refresh_layer_widgets(), dt_drawlayer_release_all_base_patch_extra_refs(), dt_drawlayer_retain_base_patch_loaded_ref(), dt_drawlayer_sanitize_params(), dt_drawlayer_sidecar_timestamp_from_path(), dt_iop_gui_data(), DT_PATH_MAX, FALSE, dt_drawlayer_io_layer_info_t::found, drawlayer_dir_info_t::found, g, geometry, 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, layer_height, dt_iop_drawlayer_params_t::layer_name, dt_iop_drawlayer_params_t::layer_order, layer_width, dt_drawlayer_io_layer_info_t::name, drawlayer_dir_info_t::name, dt_iop_module_t::params, params, dt_develop_t::pipe, dt_iop_drawlayer_params_t::sidecar_timestamp, TRUE, dt_drawlayer_io_layer_info_t::width, drawlayer_dir_info_t::width, dt_iop_drawlayer_params_t::work_profile, dt_drawlayer_io_layer_info_t::work_profile, drawlayer_dir_info_t::work_profile, and dt_drawlayer_io_patch_t::x.

Referenced by _create_background_layer_from_input(), _perform_runtime_widget_cache_sync(), and dt_drawlayer_runtime_manager_update().

◆ dt_drawlayer_flush_layer_cache()

◆ dt_drawlayer_layers_append_error()

void dt_drawlayer_layers_append_error ( GString *  errors,
const char *  message 
)

◆ dt_drawlayer_layers_log_errors()

void dt_drawlayer_layers_log_errors ( GString *  errors)

◆ dt_drawlayer_layers_populate_list()

◆ dt_drawlayer_layers_reset_stroke_session()

◆ dt_drawlayer_set_pipeline_realtime_mode()

◆ dt_drawlayer_sync_widget_cache()