1#ifndef DT_IOP_DRAWLAYER_COMMON_H
2#define DT_IOP_DRAWLAYER_COMMON_H
12#define DRAWLAYER_NAME_SIZE 64
13#define DRAWLAYER_PROFILE_SIZE 256
49 char *
key,
const size_t key_size);
71 gboolean have_last_dab,
float last_dab_x,
float last_dab_y,
72 uint32_t publish_serial);
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
static const dt_iop_drawlayer_params_t * params
gboolean dt_drawlayer_flush_layer_cache(dt_iop_module_t *self)
void dt_drawlayer_invalidate_brush_settings_cache(dt_iop_drawlayer_gui_data_t *g)
void dt_drawlayer_sanitize_params(dt_iop_module_t *self, dt_iop_drawlayer_params_t *params)
#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...
void dt_drawlayer_show_runtime_feedback(const dt_iop_drawlayer_gui_data_t *g, dt_drawlayer_runtime_feedback_t feedback)
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)
gboolean dt_drawlayer_sync_widget_cache(dt_iop_module_t *self)
void gui_update(dt_iop_module_t *self)
Refresh GUI controls from current params and configuration.
gboolean dt_drawlayer_rekey_shared_base_patch(dt_drawlayer_cache_patch_t *patch, const int32_t imgid, const dt_iop_drawlayer_params_t *params)
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)
void dt_drawlayer_release_all_base_patch_extra_refs(dt_iop_drawlayer_gui_data_t *g)
gboolean dt_drawlayer_commit_dabs(dt_iop_module_t *self, gboolean record_history)
void dt_drawlayer_set_pipeline_realtime_mode(dt_iop_module_t *self, gboolean state)
int64_t dt_drawlayer_sidecar_timestamp_from_path(const char *path)
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)
#define DRAWLAYER_PROFILE_SIZE
void dt_drawlayer_retain_base_patch_loaded_ref(dt_iop_drawlayer_gui_data_t *g)
void dt_drawlayer_refresh_layer_widgets(dt_iop_module_t *self)
void dt_drawlayer_wait_for_rasterization_modal(const dt_iop_drawlayer_gui_data_t *g, const char *title, const char *message)
gboolean dt_drawlayer_layer_name_non_empty(const char *name)
void dt_drawlayer_end_gui_stroke_capture(dt_iop_module_t *self)
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)
gboolean dt_drawlayer_ensure_layer_cache(dt_iop_module_t *self)
const float uint32_t state[4]
Fully resolved input dab descriptor.
Generic float RGBA patch stored either in malloc memory or pixel cache.
Mutable stroke runtime state owned by worker/backend code.
unsigned int stroke_commit_hash
int64_t sidecar_timestamp