351 gboolean display_pipe,
354 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)
Definition runtime.c:84
dt_drawlayer_runtime_raw_input_kind_t
Definition runtime.h:188
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE
Definition runtime.h:189
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN
Definition runtime.h:191
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END
Definition runtime.h:192
@ DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE
Definition runtime.h:190
void dt_drawlayer_runtime_manager_note_sidecar_io(dt_drawlayer_runtime_manager_t *state, gboolean active)
Definition runtime.c:124
void dt_drawlayer_runtime_manager_init(dt_drawlayer_runtime_manager_t *state)
Definition runtime.c:76
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)
Definition runtime.c:680
dt_drawlayer_runtime_source_kind_t
Definition runtime.h:290
@ DT_DRAWLAYER_SOURCE_BASE_PATCH
Definition runtime.h:292
@ DT_DRAWLAYER_SOURCE_NONE
Definition runtime.h:291
void dt_drawlayer_process_state_reset_stroke(dt_drawlayer_process_state_t *state)
Definition runtime.c:938
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)
Definition runtime.c:906
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)
Definition runtime.c:135
void dt_drawlayer_process_state_init(dt_drawlayer_process_state_t *state)
Definition runtime.c:920
dt_drawlayer_runtime_actor_t
Definition runtime.h:144
@ DT_DRAWLAYER_RUNTIME_ACTOR_GUI
Definition runtime.h:146
@ DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND
Definition runtime.h:149
@ DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU
Definition runtime.h:147
@ DT_DRAWLAYER_RUNTIME_ACTOR_COUNT
Definition runtime.h:151
@ DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO
Definition runtime.h:150
@ DT_DRAWLAYER_RUNTIME_ACTOR_NONE
Definition runtime.h:145
@ DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL
Definition runtime.h:148
void dt_drawlayer_ui_cursor_clear(dt_drawlayer_ui_state_t *state)
Definition runtime.c:975
void dt_drawlayer_process_state_cleanup(dt_drawlayer_process_state_t *state)
Definition runtime.c:928
struct dt_drawlayer_runtime_action_request_t dt_drawlayer_runtime_action_request_t
Definition runtime.h:240
dt_drawlayer_runtime_commit_mode_t
Definition runtime.h:196
@ DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY
Definition runtime.h:199
@ DT_DRAWLAYER_RUNTIME_COMMIT_QUIET
Definition runtime.h:198
@ DT_DRAWLAYER_RUNTIME_COMMIT_NONE
Definition runtime.h:197
void dt_drawlayer_process_state_invalidate(dt_drawlayer_process_state_t *state)
Definition runtime.c:945
dt_drawlayer_runtime_buffer_t
Definition runtime.h:155
@ DT_DRAWLAYER_RUNTIME_BUFFER_COUNT
Definition runtime.h:158
@ DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH
Definition runtime.h:156
@ DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK
Definition runtime.h:157
dt_drawlayer_runtime_event_t
Definition runtime.h:162
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END
Definition runtime.h:180
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN
Definition runtime.h:164
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN
Definition runtime.h:179
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC
Definition runtime.h:171
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER
Definition runtime.h:176
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL
Definition runtime.h:168
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE
Definition runtime.h:177
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED
Definition runtime.h:172
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER
Definition runtime.h:178
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE
Definition runtime.h:170
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT
Definition runtime.h:174
@ DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE
Definition runtime.h:175
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END
Definition runtime.h:182
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE
Definition runtime.h:167
@ DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN
Definition runtime.h:183
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT
Definition runtime.h:173
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER
Definition runtime.h:166
@ DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END
Definition runtime.h:184
@ DT_DRAWLAYER_RUNTIME_EVENT_NONE
Definition runtime.h:163
@ DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN
Definition runtime.h:181
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS
Definition runtime.h:165
@ DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS
Definition runtime.h:169
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)
Definition runtime.c:95
struct _GtkWidget GtkWidget
Definition splash.h:29
const float uint32_t state[4]
Definition src/develop/noise_generator.h:72
#define DRAWLAYER_NAME_SIZE
Definition src/iop/drawlayer/common.h:10
Definition coordinates.h:11
Definition pixelpipe_hb.h:96
Definition pixelpipe_hb.h:218
Generic float RGBA patch stored either in malloc memory or pixel cache.
Definition iop/drawlayer/cache.h:37
GtkWidget * map_tilt_size
Definition runtime.h:130
GtkWidget * map_tilt_softness
Definition runtime.h:133
GtkWidget * map_pressure_flow
Definition runtime.h:128
GtkWidget * map_accel_flow
Definition runtime.h:136
GtkWidget * layer_fill_row
Definition runtime.h:93
GtkWidget * image_colorpicker_source
Definition runtime.h:100
GtkWidget * sprinkle_coarseness
Definition runtime.h:108
GtkWidget * softness
Definition runtime.h:109
GtkWidget * sprinkles
Definition runtime.h:106
GtkWidget * opacity
Definition runtime.h:104
GtkWidget * brush_mode
Definition runtime.h:95
GtkWidget * preview_bg_black
Definition runtime.h:116
GtkWidget * map_pressure_opacity
Definition runtime.h:127
GtkWidget * size
Definition runtime.h:101
GtkWidget * create_background
Definition runtime.h:121
GtkWidget * smoothing
Definition runtime.h:103
GtkWidget * preview_bg_white
Definition runtime.h:114
GtkWidget * distance
Definition runtime.h:102
GtkWidget * rename_layer
Definition runtime.h:119
GtkWidget * layer_fill_title
Definition runtime.h:92
GtkWidget * create_layer
Definition runtime.h:118
GtkWidget * tilt_profile
Definition runtime.h:139
GtkWidget * map_accel_softness
Definition runtime.h:137
GtkWidget * hdr_exposure
Definition runtime.h:110
GtkWidget * fill_white
Definition runtime.h:123
GtkWidget * layer_action_row
Definition runtime.h:91
GtkWidget * layer_status
Definition runtime.h:111
GtkWidget * color_swatch
Definition runtime.h:98
GtkWidget * preview_bg_image
Definition runtime.h:113
GtkWidget * notebook
Definition runtime.h:85
GtkWidget * brush_tab
Definition runtime.h:86
GtkWidget * color_row
Definition runtime.h:97
GtkWidget * accel_profile
Definition runtime.h:140
GtkWidget * preview_bg_grey
Definition runtime.h:115
GtkWidget * map_tilt_flow
Definition runtime.h:132
GtkWidget * fill_transparent
Definition runtime.h:125
GtkWidget * flow
Definition runtime.h:105
GtkWidget * fill_black
Definition runtime.h:124
GtkWidget * delete_layer
Definition runtime.h:117
GtkWidget * layer_tab
Definition runtime.h:87
GtkWidget * pressure_profile
Definition runtime.h:138
GtkWidget * preview_title
Definition runtime.h:89
GtkWidget * map_accel_opacity
Definition runtime.h:135
GtkWidget * map_tilt_opacity
Definition runtime.h:131
GtkWidget * map_accel_size
Definition runtime.h:134
GtkWidget * preview_box
Definition runtime.h:90
GtkWidget * map_pressure_softness
Definition runtime.h:129
GtkWidget * sprinkle_size
Definition runtime.h:107
GtkWidget * brush_shape
Definition runtime.h:94
GtkWidget * color
Definition runtime.h:96
GtkWidget * map_pressure_size
Definition runtime.h:126
GtkWidget * save_layer
Definition runtime.h:122
GtkWidget * image_colorpicker
Definition runtime.h:99
GtkWidget * layer_select
Definition runtime.h:112
GtkWidget * attach_layer
Definition runtime.h:120
GtkWidget * input_tab
Definition runtime.h:88
Integer axis-aligned rectangle in buffer coordinates.
Definition iop/drawlayer/paint.h:87
dt_drawlayer_cache_patch_t base_patch
Definition runtime.h:38
char cache_layer_name[DRAWLAYER_NAME_SIZE]
Definition runtime.h:49
dt_drawlayer_cache_patch_t stroke_mask
Definition runtime.h:43
gboolean cache_dirty
Definition runtime.h:45
dt_drawlayer_damaged_rect_t cache_dirty_rect
Definition runtime.h:46
int cache_layer_order
Definition runtime.h:50
gboolean cache_valid
Definition runtime.h:44
gboolean base_patch_loaded_ref
Definition runtime.h:51
int32_t cache_imgid
Definition runtime.h:48
uint32_t base_patch_stroke_refs
Definition runtime.h:52
const dt_drawlayer_cache_patch_t * patch
Definition runtime.h:286
const dt_drawlayer_paint_raw_input_t * raw_input
Definition runtime.h:281
dt_drawlayer_runtime_request_t runtime
Definition runtime.h:280
gboolean(* perform_action)(void *user_data, const dt_drawlayer_runtime_action_request_t *action, dt_drawlayer_runtime_result_t *result)
Definition runtime.h:248
void * user_data
Definition runtime.h:244
void(* collect_inputs)(void *user_data, dt_drawlayer_runtime_inputs_t *inputs, dt_drawlayer_worker_snapshot_t *worker_snapshot)
Definition runtime.h:245
dt_drawlayer_runtime_private_t * priv
Definition runtime.h:215
gboolean realtime_active
Definition runtime.h:212
gboolean painting_active
Definition runtime.h:213
gboolean background_job_running
Definition runtime.h:214
dt_drawlayer_runtime_source_t * source
Definition runtime.h:314
dt_drawlayer_process_state_t * process
Definition runtime.h:313
gboolean use_opencl
Definition runtime.h:275
gboolean display_pipe
Definition runtime.h:272
const dt_iop_drawlayer_params_t * runtime_params
Definition runtime.h:268
dt_iop_module_t * self
Definition runtime.h:265
const dt_iop_roi_t * roi_in
Definition runtime.h:273
dt_iop_drawlayer_gui_data_t * gui
Definition runtime.h:269
const dt_dev_pixelpipe_t * pipe
Definition runtime.h:266
dt_drawlayer_process_state_t * process_state
Definition runtime.h:271
const dt_iop_roi_t * roi_out
Definition runtime.h:274
dt_dev_pixelpipe_iop_t * piece
Definition runtime.h:267
dt_drawlayer_runtime_manager_t * manager
Definition runtime.h:270
gboolean raw_input_ok
Definition runtime.h:205
gboolean ok
Definition runtime.h:204
const float * pixels
Definition runtime.h:299
dt_drawlayer_runtime_buffer_t tracked_buffer
Definition runtime.h:306
dt_iop_roi_t target_roi
Definition runtime.h:304
int width
Definition runtime.h:301
gboolean direct_copy
Definition runtime.h:303
gboolean tracked_read_lock
Definition runtime.h:308
int height
Definition runtime.h:302
dt_drawlayer_runtime_source_kind_t kind
Definition runtime.h:297
dt_pixel_cache_entry_t * cache_entry
Definition runtime.h:300
dt_drawlayer_process_view_t process_view
Definition runtime.h:298
dt_iop_roi_t source_roi
Definition runtime.h:305
dt_drawlayer_runtime_actor_t tracked_actor
Definition runtime.h:307
const dt_drawlayer_runtime_inputs_t * inputs
Definition runtime.h:321
dt_drawlayer_runtime_event_t event
Definition runtime.h:319
gboolean flush_pending
Definition runtime.h:322
dt_drawlayer_runtime_release_t release
Definition runtime.h:323
dt_drawlayer_runtime_raw_input_kind_t raw_input_kind
Definition runtime.h:320
float last_view_x
Definition runtime.h:21
drawlayer_view_patch_t live_patch
Definition runtime.h:27
dt_drawlayer_damaged_rect_t preview_rect
Definition runtime.h:26
char missing_layer_error[256]
Definition runtime.h:29
gboolean pointer_valid
Definition runtime.h:20
float live_padding
Definition runtime.h:25
float last_view_y
Definition runtime.h:22
dt_drawlayer_damaged_rect_t live_view_rect
Definition runtime.h:24
int preview_bg_mode
Definition runtime.h:28
gboolean background_job_running
Definition runtime.h:30
float last_view_scale
Definition runtime.h:23
uint32_t current_stroke_batch
Definition runtime.h:64
gboolean last_dab_valid
Definition runtime.h:60
uint32_t stroke_event_index
Definition runtime.h:59
guint stroke_sample_count
Definition runtime.h:58
float last_dab_x
Definition runtime.h:61
dt_drawlayer_worker_t * worker
Definition runtime.h:57
float last_dab_y
Definition runtime.h:62
gboolean finish_commit_pending
Definition runtime.h:63
float cursor_opacity
Definition runtime.h:74
cairo_surface_t * cursor_surface
Definition runtime.h:70
float cursor_radius
Definition runtime.h:73
double cursor_surface_ppd
Definition runtime.h:72
int cursor_shape
Definition runtime.h:76
float brush_display_color[3]
Definition runtime.h:78
dt_drawlayer_widgets_t * widgets
Definition runtime.h:69
float brush_pipeline_color[3]
Definition runtime.h:79
float cursor_color[3]
Definition runtime.h:77
gboolean brush_color_valid
Definition runtime.h:80
float cursor_hardness
Definition runtime.h:75
int cursor_surface_size
Definition runtime.h:71
Drawlayer worker global state shared with drawlayer module.
Definition worker.c:77
dt_drawlayer_controls_t controls
Definition runtime.h:260
dt_drawlayer_process_state_t process
Definition runtime.h:256
dt_drawlayer_session_state_t session
Definition runtime.h:255
dt_drawlayer_stroke_state_t stroke
Definition runtime.h:257
dt_drawlayer_runtime_manager_t manager
Definition runtime.h:258
dt_drawlayer_ui_state_t ui
Definition runtime.h:259
Definition src/iop/drawlayer/common.h:14
Region of interest passed through the pixelpipe.
Definition imageop.h:72
Definition pixelpipe_cache.h:87
Background stroke worker API for drawlayer realtime painting.