368 gboolean display_pipe,
371 gboolean *runtime_display_pipe);
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
Shared coordinate transforms and geometry computations for drawlayer.
void dt_drawlayer_runtime_manager_cleanup(dt_drawlayer_runtime_manager_t *state)
dt_drawlayer_runtime_raw_input_kind_t
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE
void dt_drawlayer_runtime_manager_note_sidecar_io(dt_drawlayer_runtime_manager_t *state, gboolean active)
void dt_drawlayer_runtime_manager_init(dt_drawlayer_runtime_manager_t *state)
dt_drawlayer_runtime_result_t dt_drawlayer_runtime_manager_update(dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_host_t *host)
dt_drawlayer_runtime_source_kind_t
@ DT_DRAWLAYER_SOURCE_BASE_PATCH
@ DT_DRAWLAYER_SOURCE_NONE
void dt_drawlayer_process_state_reset_stroke(dt_drawlayer_process_state_t *state)
void dt_drawlayer_runtime_manager_bind_piece(dt_drawlayer_runtime_manager_t *headless_manager, dt_drawlayer_process_state_t *headless_process, dt_drawlayer_runtime_manager_t *gui_manager, dt_drawlayer_process_state_t *gui_process, gboolean display_pipe, dt_drawlayer_runtime_manager_t **runtime_manager, dt_drawlayer_process_state_t **runtime_process, gboolean *runtime_display_pipe)
void dt_drawlayer_runtime_manager_note_thread(dt_drawlayer_runtime_manager_t *state, dt_drawlayer_runtime_actor_t actor, gboolean active, gboolean waiting, guint queued)
void dt_drawlayer_process_state_init(dt_drawlayer_process_state_t *state)
dt_drawlayer_runtime_actor_t
@ DT_DRAWLAYER_RUNTIME_ACTOR_GUI
@ DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND
@ DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU
@ DT_DRAWLAYER_RUNTIME_ACTOR_COUNT
@ DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO
@ DT_DRAWLAYER_RUNTIME_ACTOR_NONE
@ DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL
void dt_drawlayer_ui_cursor_clear(dt_drawlayer_ui_state_t *state)
void dt_drawlayer_process_state_cleanup(dt_drawlayer_process_state_t *state)
struct dt_drawlayer_runtime_action_request_t dt_drawlayer_runtime_action_request_t
dt_drawlayer_runtime_commit_mode_t
@ DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY
@ DT_DRAWLAYER_RUNTIME_COMMIT_QUIET
@ DT_DRAWLAYER_RUNTIME_COMMIT_NONE
void dt_drawlayer_process_state_invalidate(dt_drawlayer_process_state_t *state)
dt_drawlayer_runtime_buffer_t
@ DT_DRAWLAYER_RUNTIME_BUFFER_COUNT
@ DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH
@ DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK
dt_drawlayer_runtime_event_t
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE
@ DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER
@ DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END
@ DT_DRAWLAYER_RUNTIME_EVENT_NONE
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS
void dt_drawlayer_runtime_manager_note_buffer_lock(dt_drawlayer_runtime_manager_t *state, dt_drawlayer_runtime_buffer_t buffer, dt_drawlayer_runtime_actor_t actor, gboolean write_lock, gboolean acquire)
struct _GtkWidget GtkWidget
const float uint32_t state[4]
#define DRAWLAYER_NAME_SIZE
unsigned __int64 uint64_t
Generic float RGBA patch stored either in malloc memory or pixel cache.
GtkWidget * map_tilt_size
GtkWidget * map_tilt_softness
GtkWidget * map_pressure_flow
GtkWidget * map_accel_flow
GtkWidget * layer_fill_row
GtkWidget * image_colorpicker_source
GtkWidget * sprinkle_coarseness
GtkWidget * preview_bg_black
GtkWidget * map_pressure_opacity
GtkWidget * create_background
GtkWidget * preview_bg_white
GtkWidget * layer_fill_title
GtkWidget * map_accel_softness
GtkWidget * layer_action_row
GtkWidget * preview_bg_image
GtkWidget * accel_profile
GtkWidget * preview_bg_grey
GtkWidget * map_tilt_flow
GtkWidget * fill_transparent
GtkWidget * pressure_profile
GtkWidget * preview_title
GtkWidget * map_accel_opacity
GtkWidget * map_tilt_opacity
GtkWidget * map_accel_size
GtkWidget * map_pressure_softness
GtkWidget * sprinkle_size
GtkWidget * map_pressure_size
GtkWidget * image_colorpicker
Integer axis-aligned rectangle in buffer coordinates.
uint64_t last_composite_layer_hash
void * last_composite_dev_out
dt_drawlayer_cache_patch_t base_patch
char cache_layer_name[DRAWLAYER_NAME_SIZE]
dt_drawlayer_cache_patch_t stroke_mask
gboolean last_composite_valid
dt_iop_roi_t last_composite_target_roi
dt_drawlayer_damaged_rect_t cache_dirty_rect
gboolean base_patch_loaded_ref
uint32_t base_patch_stroke_refs
const dt_drawlayer_cache_patch_t * patch
const dt_drawlayer_paint_raw_input_t * raw_input
dt_drawlayer_runtime_request_t runtime
gboolean(* perform_action)(void *user_data, const dt_drawlayer_runtime_action_request_t *action, dt_drawlayer_runtime_result_t *result)
void(* collect_inputs)(void *user_data, dt_drawlayer_runtime_inputs_t *inputs, dt_drawlayer_worker_snapshot_t *worker_snapshot)
dt_drawlayer_runtime_private_t * priv
gboolean background_job_running
dt_drawlayer_runtime_source_t * source
dt_drawlayer_process_state_t * process
const dt_iop_drawlayer_params_t * runtime_params
const dt_iop_roi_t * roi_in
dt_iop_drawlayer_gui_data_t * gui
const dt_dev_pixelpipe_t * pipe
dt_drawlayer_process_state_t * process_state
const dt_iop_roi_t * roi_out
dt_dev_pixelpipe_iop_t * piece
dt_drawlayer_runtime_manager_t * manager
dt_drawlayer_runtime_buffer_t tracked_buffer
gboolean tracked_read_lock
dt_drawlayer_runtime_source_kind_t kind
dt_pixel_cache_entry_t * cache_entry
dt_drawlayer_process_view_t process_view
dt_drawlayer_runtime_actor_t tracked_actor
const dt_drawlayer_runtime_inputs_t * inputs
dt_drawlayer_runtime_event_t event
dt_drawlayer_runtime_release_t release
dt_drawlayer_runtime_raw_input_kind_t raw_input_kind
drawlayer_view_patch_t live_patch
dt_drawlayer_damaged_rect_t preview_rect
char missing_layer_error[256]
dt_drawlayer_damaged_rect_t live_view_rect
gboolean background_job_running
uint32_t current_stroke_batch
uint32_t stroke_event_index
guint stroke_sample_count
dt_drawlayer_worker_t * worker
gboolean finish_commit_pending
cairo_surface_t * cursor_surface
double cursor_surface_ppd
float brush_display_color[3]
dt_drawlayer_widgets_t * widgets
float brush_pipeline_color[3]
gboolean brush_color_valid
Drawlayer worker global state shared with drawlayer module.
dt_drawlayer_controls_t controls
dt_drawlayer_process_state_t process
dt_drawlayer_session_state_t session
dt_drawlayer_stroke_state_t stroke
dt_drawlayer_runtime_manager_t manager
dt_drawlayer_ui_state_t ui
Region of interest passed through the pixelpipe.
Background stroke worker API for drawlayer realtime painting.