Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
src/iop/drawlayer/common.h
Go to the documentation of this file.
1#ifndef DT_IOP_DRAWLAYER_COMMON_H
2#define DT_IOP_DRAWLAYER_COMMON_H
3
4#include "develop/imageop.h"
5#include "iop/drawlayer/cache.h" // dt_drawlayer_cache_patch_t
7
12#define DRAWLAYER_NAME_SIZE 64
13#define DRAWLAYER_PROFILE_SIZE 256
14
23
25
32
33gboolean dt_drawlayer_commit_dabs(dt_iop_module_t *self, gboolean record_history);
34
42void dt_drawlayer_sync_cached_brush_colors(dt_iop_module_t *self, const float display_rgb[3]);
43
44/* Reached from the layer store (layers.c); defined in drawlayer.c, where the module's
45 * own state they read and write lives. */
46gboolean dt_drawlayer_layer_name_non_empty(const char *name);
47
49 char *key, const size_t key_size);
50
51gboolean dt_drawlayer_rekey_shared_base_patch(dt_drawlayer_cache_patch_t *patch, const int32_t imgid,
53
55
56int64_t dt_drawlayer_sidecar_timestamp_from_path(const char *path);
57
59
71 gboolean have_last_dab, float last_dab_x, float last_dab_y,
72 uint32_t publish_serial);
74 const dt_drawlayer_paint_raw_input_t *first_input);
79 const char *title,
80 const char *message);
81void gui_update(dt_iop_module_t *self);
82#endif // DT_IOP_DRAWLAYER_COMMON_H
Patch/cache helpers for drawlayer process and preview buffers.
Stroke-level path sampling and runtime-state API for drawlayer.
static const dt_dev_pixelpipe_t * pipe
Definition layers.h:49
static const dt_iop_drawlayer_params_t * params
Definition layers.h:80
char * key
const char * name
Definition pdf.h:90
gboolean dt_drawlayer_flush_layer_cache(dt_iop_module_t *self)
Definition layers.c:364
void dt_drawlayer_invalidate_brush_settings_cache(dt_iop_drawlayer_gui_data_t *g)
Definition drawlayer.c:243
void dt_drawlayer_sanitize_params(dt_iop_module_t *self, dt_iop_drawlayer_params_t *params)
Definition drawlayer.c:1546
#define DRAWLAYER_NAME_SIZE
void dt_drawlayer_sync_cached_brush_colors(dt_iop_module_t *self, const float display_rgb[3])
Cache the brush colours in GUI state so a stroke's input snapshots do not re-transform them per event...
Definition drawlayer.c:185
void dt_drawlayer_show_runtime_feedback(const dt_iop_drawlayer_gui_data_t *g, dt_drawlayer_runtime_feedback_t feedback)
Definition drawlayer.c:2736
void dt_drawlayer_touch_stroke_commit_hash(dt_iop_drawlayer_params_t *params, int dab_count, gboolean have_last_dab, float last_dab_x, float last_dab_y, uint32_t publish_serial)
Definition drawlayer.c:1703
gboolean dt_drawlayer_sync_widget_cache(dt_iop_module_t *self)
Definition layers.c:474
void gui_update(dt_iop_module_t *self)
Refresh GUI controls from current params and configuration.
Definition ashift.c:5736
gboolean dt_drawlayer_rekey_shared_base_patch(dt_drawlayer_cache_patch_t *patch, const int32_t imgid, const dt_iop_drawlayer_params_t *params)
Definition drawlayer.c:404
dt_drawlayer_runtime_feedback_t
@ DT_DRAWLAYER_RUNTIME_FEEDBACK_NONE
@ DT_DRAWLAYER_RUNTIME_FEEDBACK_FOCUS_LOSS_WAIT
@ DT_DRAWLAYER_RUNTIME_FEEDBACK_SAVE_WAIT
void dt_drawlayer_begin_gui_stroke_capture(dt_iop_module_t *self, const dt_drawlayer_paint_raw_input_t *first_input)
Definition drawlayer.c:2669
void dt_drawlayer_release_all_base_patch_extra_refs(dt_iop_drawlayer_gui_data_t *g)
Definition drawlayer.c:466
gboolean dt_drawlayer_commit_dabs(dt_iop_module_t *self, gboolean record_history)
Definition drawlayer.c:1804
void dt_drawlayer_set_pipeline_realtime_mode(dt_iop_module_t *self, gboolean state)
Definition layers.c:456
int64_t dt_drawlayer_sidecar_timestamp_from_path(const char *path)
Definition drawlayer.c:1169
gboolean dt_drawlayer_current_work_profile_key(dt_iop_module_t *self, GList *iop_list, dt_dev_pixelpipe_t *pipe, char *key, const size_t key_size)
Definition drawlayer.c:354
#define DRAWLAYER_PROFILE_SIZE
void dt_drawlayer_retain_base_patch_loaded_ref(dt_iop_drawlayer_gui_data_t *g)
Definition drawlayer.c:452
void dt_drawlayer_refresh_layer_widgets(dt_iop_module_t *self)
Definition drawlayer.c:1727
void dt_drawlayer_wait_for_rasterization_modal(const dt_iop_drawlayer_gui_data_t *g, const char *title, const char *message)
Definition drawlayer.c:1293
gboolean dt_drawlayer_layer_name_non_empty(const char *name)
Definition drawlayer.c:345
void dt_drawlayer_end_gui_stroke_capture(dt_iop_module_t *self)
Definition drawlayer.c:2697
gboolean dt_drawlayer_build_worker_input_dab(dt_iop_module_t *self, dt_drawlayer_paint_stroke_t *state, const dt_drawlayer_paint_raw_input_t *input, dt_drawlayer_brush_dab_t *dab)
Definition worker.c:184
gboolean dt_drawlayer_ensure_layer_cache(dt_iop_module_t *self)
Definition layers.c:131
const float uint32_t state[4]
Fully resolved input dab descriptor.
Definition brush.h:66
Generic float RGBA patch stored either in malloc memory or pixel cache.
One raw pointer event queued to stroke processing.
Mutable stroke runtime state owned by worker/backend code.