Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
runtime.c File Reference
#include "develop/pixelpipe_cache.h"
#include "control/control.h"
#include "iop/drawlayer/runtime.h"
#include <string.h>
+ Include dependency graph for runtime.c:

Data Structures

struct  dt_drawlayer_runtime_buffer_state_t
 
struct  dt_drawlayer_runtime_thread_state_t
 
struct  dt_drawlayer_runtime_private_t
 
struct  dt_drawlayer_runtime_schedule_t
 

Typedefs

typedef struct dt_drawlayer_runtime_buffer_state_t dt_drawlayer_runtime_buffer_state_t
 
typedef struct dt_drawlayer_runtime_thread_state_t dt_drawlayer_runtime_thread_state_t
 
typedef struct dt_drawlayer_runtime_schedule_t dt_drawlayer_runtime_schedule_t
 

Functions

static dt_drawlayer_runtime_private_t_runtime_private (dt_drawlayer_runtime_manager_t *state)
 
static const dt_drawlayer_runtime_private_t_runtime_private_const (const dt_drawlayer_runtime_manager_t *state)
 
static gboolean _ensure_external_patch_buffer (dt_drawlayer_cache_patch_t *patch, const int width, const int height, const char *name)
 
static void _copy_patch_rect (const dt_drawlayer_cache_patch_t *src, dt_drawlayer_cache_patch_t *dst, const dt_drawlayer_damaged_rect_t *rect)
 
static void _sync_buffer_state (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_buffer_t buffer, const gboolean resident, const gboolean valid, const gboolean dirty)
 
void dt_drawlayer_runtime_manager_init (dt_drawlayer_runtime_manager_t *state)
 
void dt_drawlayer_runtime_manager_cleanup (dt_drawlayer_runtime_manager_t *state)
 
void dt_drawlayer_runtime_manager_note_buffer_lock (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_buffer_t buffer, const dt_drawlayer_runtime_actor_t actor, const gboolean write_lock, const gboolean acquire)
 
void dt_drawlayer_runtime_manager_note_sidecar_io (dt_drawlayer_runtime_manager_t *state, const gboolean active)
 
void dt_drawlayer_runtime_manager_note_thread (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_actor_t actor, const gboolean active, const gboolean waiting, const guint queued)
 
static void _fill_runtime_inputs (const dt_drawlayer_runtime_context_t *runtime, const dt_drawlayer_worker_snapshot_t *worker_snapshot, dt_drawlayer_runtime_inputs_t *inputs)
 
static void _collect_runtime_inputs (const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_context_t *context, dt_drawlayer_runtime_inputs_t *inputs, dt_drawlayer_worker_snapshot_t *worker_snapshot)
 
static void _sync_runtime_state_from_inputs (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_inputs_t *inputs)
 
static void _apply_runtime_event (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_inputs_t *inputs)
 
static void _update_realtime_state (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_inputs_t *inputs)
 
static void _update_manager_information (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_host_t *host, dt_drawlayer_runtime_schedule_t *schedule)
 
static gboolean _perform_runtime_commit_sequence (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_host_t *host, const dt_drawlayer_runtime_commit_mode_t commit_mode, dt_drawlayer_runtime_result_t *result)
 
static gboolean _perform_runtime_widget_cache_sync (const dt_drawlayer_runtime_host_t *host, dt_drawlayer_runtime_result_t *result)
 
static void _release_runtime_source (dt_drawlayer_runtime_manager_t *state, dt_drawlayer_process_state_t *process, dt_drawlayer_runtime_source_t *source)
 
static void _build_runtime_schedule (dt_drawlayer_runtime_manager_t *state, const dt_drawlayer_runtime_update_request_t *request, const dt_drawlayer_runtime_inputs_t *inputs, dt_drawlayer_runtime_schedule_t *schedule)
 
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)
 
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, const gboolean display_pipe, dt_drawlayer_runtime_manager_t **runtime_manager, dt_drawlayer_process_state_t **runtime_process, gboolean *runtime_display_pipe)
 
void dt_drawlayer_process_state_init (dt_drawlayer_process_state_t *state)
 
void dt_drawlayer_process_state_cleanup (dt_drawlayer_process_state_t *state)
 
void dt_drawlayer_process_state_reset_stroke (dt_drawlayer_process_state_t *state)
 
void dt_drawlayer_process_state_invalidate (dt_drawlayer_process_state_t *state)
 
gboolean dt_drawlayer_process_state_publish_locked (dt_drawlayer_process_state_t *state, const dt_drawlayer_damaged_rect_t *damage, const gboolean full_copy)
 
void dt_drawlayer_ui_cursor_clear (dt_drawlayer_ui_state_t *state)
 

Typedef Documentation

◆ dt_drawlayer_runtime_buffer_state_t

◆ dt_drawlayer_runtime_schedule_t

◆ dt_drawlayer_runtime_thread_state_t

Function Documentation

◆ _apply_runtime_event()

static void _apply_runtime_event ( dt_drawlayer_runtime_manager_t state,
const dt_drawlayer_runtime_update_request_t request,
const dt_drawlayer_runtime_inputs_t inputs 
)
static

References _runtime_private(), dt_drawlayer_runtime_thread_state_t::active, DT_DRAWLAYER_RUNTIME_ACTOR_GUI, DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL, DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU, DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_inputs_t::gui_attached, dt_drawlayer_runtime_private_t::gui_focused, dt_drawlayer_runtime_private_t::last_event, dt_drawlayer_runtime_private_t::last_raw_input_kind, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_update_request_t::raw_input_kind, dt_drawlayer_runtime_private_t::sidecar_io_active, dt_drawlayer_runtime_private_t::threads, TRUE, and dt_drawlayer_runtime_thread_state_t::waiting.

Referenced by _update_manager_information().

◆ _build_runtime_schedule()

static void _build_runtime_schedule ( dt_drawlayer_runtime_manager_t state,
const dt_drawlayer_runtime_update_request_t request,
const dt_drawlayer_runtime_inputs_t inputs,
dt_drawlayer_runtime_schedule_t schedule 
)
static

References _runtime_private_const(), dt_drawlayer_runtime_thread_state_t::active, dt_drawlayer_runtime_schedule_t::build_process_patch, dt_drawlayer_runtime_schedule_t::commit_mode, dt_drawlayer_runtime_inputs_t::display_pipe, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_FULLRES, DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY, DT_DRAWLAYER_RUNTIME_COMMIT_NONE, DT_DRAWLAYER_RUNTIME_COMMIT_QUIET, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_FEEDBACK_FOCUS_LOSS_WAIT, DT_DRAWLAYER_RUNTIME_FEEDBACK_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END, dt_drawlayer_runtime_schedule_t::ensure_layer_cache, dt_drawlayer_runtime_schedule_t::ensure_worker_running, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_schedule_t::feedback, dt_drawlayer_stroke_state_t::finish_commit_pending, dt_drawlayer_runtime_update_request_t::flush_pending, dt_drawlayer_runtime_schedule_t::flush_process_patch, dt_drawlayer_runtime_schedule_t::flush_sidecar, dt_drawlayer_runtime_inputs_t::gui_attached, dt_drawlayer_runtime_inputs_t::have_layer_selection, dt_drawlayer_runtime_inputs_t::have_valid_output_roi, dt_drawlayer_runtime_schedule_t::invalidate_layer_cache, dt_drawlayer_runtime_private_t::layer_cache_valid, dt_drawlayer_runtime_inputs_t::module_focused, dt_drawlayer_runtime_inputs_t::padding_changed, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_schedule_t::pointer_hide_cursor, dt_drawlayer_runtime_schedule_t::pointer_valid, dt_drawlayer_runtime_schedule_t::prime_live_process_patch, process(), dt_drawlayer_runtime_inputs_t::process, dt_drawlayer_runtime_private_t::process_cl_valid, dt_drawlayer_runtime_schedule_t::queue_raw_input, dt_drawlayer_runtime_schedule_t::queue_redraw_center, dt_drawlayer_runtime_schedule_t::rasterization_busy, dt_drawlayer_runtime_update_request_t::raw_input_kind, dt_drawlayer_runtime_schedule_t::refresh_gui, dt_drawlayer_runtime_schedule_t::release_process_clmem, dt_drawlayer_runtime_schedule_t::request_commit, dt_drawlayer_runtime_schedule_t::set_pointer_state, dt_drawlayer_runtime_schedule_t::stop_worker, dt_drawlayer_runtime_inputs_t::stroke, dt_drawlayer_stroke_state_t::stroke_sample_count, dt_drawlayer_runtime_schedule_t::sync_realtime_mode, dt_drawlayer_runtime_schedule_t::sync_widget_cache, dt_drawlayer_runtime_private_t::threads, TRUE, dt_drawlayer_runtime_inputs_t::view_changed, and dt_drawlayer_runtime_schedule_t::wait_fullres_worker.

Referenced by _update_manager_information().

◆ _collect_runtime_inputs()

◆ _copy_patch_rect()

◆ _ensure_external_patch_buffer()

◆ _fill_runtime_inputs()

◆ _perform_runtime_commit_sequence()

◆ _perform_runtime_widget_cache_sync()

◆ _release_runtime_source()

◆ _runtime_private()

◆ _runtime_private_const()

static const dt_drawlayer_runtime_private_t * _runtime_private_const ( const dt_drawlayer_runtime_manager_t state)
inlinestatic

◆ _sync_buffer_state()

◆ _sync_runtime_state_from_inputs()

static void _sync_runtime_state_from_inputs ( dt_drawlayer_runtime_manager_t state,
const dt_drawlayer_runtime_inputs_t inputs 
)
static

References _runtime_private(), _sync_buffer_state(), dt_drawlayer_runtime_thread_state_t::active, dt_drawlayer_worker_snapshot_t::backend_queue_count, dt_drawlayer_worker_snapshot_t::backend_state, dt_drawlayer_session_state_t::background_job_running, dt_drawlayer_runtime_manager_t::background_job_running, dt_drawlayer_runtime_inputs_t::base_patch, dt_drawlayer_runtime_inputs_t::base_patch_dirty, dt_drawlayer_runtime_inputs_t::base_patch_valid, dt_drawlayer_worker_snapshot_t::commit_pending, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND, DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_FULLRES, DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_CL, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_PATCH, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_SNAPSHOT, DT_DRAWLAYER_RUNTIME_BUFFER_PROCESS_STROKE_MASK, DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK, DT_DRAWLAYER_WORKER_STATE_BUSY, DT_DRAWLAYER_WORKER_STATE_PAUSED, DT_DRAWLAYER_WORKER_STATE_PAUSING, DT_DRAWLAYER_WORKER_STATE_STOPPED, FALSE, dt_drawlayer_worker_snapshot_t::fullres_queue_count, dt_drawlayer_worker_snapshot_t::fullres_state, dt_drawlayer_runtime_private_t::layer_cache_valid, dt_drawlayer_runtime_manager_t::painting_active, dt_drawlayer_runtime_inputs_t::painting_active, dt_drawlayer_cache_patch_t::pixels, process(), dt_drawlayer_runtime_inputs_t::process, dt_drawlayer_runtime_private_t::process_cl_valid, dt_drawlayer_runtime_private_t::process_patch_dirty, dt_drawlayer_runtime_private_t::process_snapshot_valid, dt_drawlayer_runtime_thread_state_t::queued, dt_drawlayer_runtime_inputs_t::session, dt_drawlayer_runtime_private_t::threads, dt_drawlayer_runtime_thread_state_t::waiting, and dt_drawlayer_runtime_inputs_t::worker.

Referenced by _update_manager_information().

◆ _update_manager_information()

◆ _update_realtime_state()

static void _update_realtime_state ( dt_drawlayer_runtime_manager_t state,
const dt_drawlayer_runtime_update_request_t request,
const dt_drawlayer_runtime_inputs_t inputs 
)
static

◆ dt_drawlayer_process_state_cleanup()

◆ dt_drawlayer_process_state_init()

◆ dt_drawlayer_process_state_invalidate()

◆ dt_drawlayer_process_state_publish_locked()

◆ dt_drawlayer_process_state_reset_stroke()

◆ dt_drawlayer_runtime_manager_bind_piece()

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,
const gboolean  display_pipe,
dt_drawlayer_runtime_manager_t **  runtime_manager,
dt_drawlayer_process_state_t **  runtime_process,
gboolean *  runtime_display_pipe 
)

Referenced by commit_params(), init_pipe(), and process().

◆ dt_drawlayer_runtime_manager_cleanup()

◆ dt_drawlayer_runtime_manager_init()

◆ dt_drawlayer_runtime_manager_note_buffer_lock()

◆ dt_drawlayer_runtime_manager_note_sidecar_io()

◆ dt_drawlayer_runtime_manager_note_thread()

◆ dt_drawlayer_runtime_manager_update()

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 
)

References _perform_runtime_commit_sequence(), _perform_runtime_widget_cache_sync(), _release_runtime_source(), _update_manager_information(), dt_drawlayer_runtime_schedule_t::build_process_patch, dt_drawlayer_runtime_schedule_t::commit_mode, dt_control_log(), dt_control_queue_redraw_center(), dt_drawlayer_begin_gui_stroke_capture(), dt_drawlayer_build_process_patch_from_base(), dt_drawlayer_cache_patch_clear(), dt_drawlayer_cache_patch_wrlock(), dt_drawlayer_cache_patch_wrunlock(), dt_drawlayer_end_gui_stroke_capture(), dt_drawlayer_ensure_layer_cache(), dt_drawlayer_flush_layer_cache(), dt_drawlayer_flush_process_patch_to_base(), dt_drawlayer_prime_live_process_patch_before_stroke(), dt_drawlayer_process_state_invalidate(), dt_drawlayer_release_all_base_patch_extra_refs(), DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END, DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_GAIN, DT_DRAWLAYER_RUNTIME_EVENT_GUI_FOCUS_LOSS, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_ENTER, DT_DRAWLAYER_RUNTIME_EVENT_GUI_MOUSE_LEAVE, DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SCROLL, DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT, DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS, DT_DRAWLAYER_RUNTIME_EVENT_NONE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER, DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_LOAD_END, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_BEGIN, DT_DRAWLAYER_RUNTIME_EVENT_SIDECAR_SAVE_END, DT_DRAWLAYER_RUNTIME_FEEDBACK_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN, DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END, dt_drawlayer_set_os_cursor_hidden(), dt_drawlayer_set_pipeline_realtime_mode(), dt_drawlayer_show_runtime_feedback(), dt_drawlayer_worker_enqueue_input(), dt_drawlayer_worker_enqueue_stroke_end(), dt_drawlayer_worker_ensure_running(), dt_drawlayer_worker_flush_finished_strokes(), dt_drawlayer_worker_request_commit(), dt_drawlayer_worker_stop(), dt_drawlayer_runtime_schedule_t::ensure_layer_cache, dt_drawlayer_runtime_schedule_t::ensure_worker_running, dt_drawlayer_runtime_update_request_t::event, FALSE, dt_drawlayer_runtime_schedule_t::feedback, dt_drawlayer_runtime_schedule_t::flush_process_patch, dt_drawlayer_runtime_schedule_t::flush_sidecar, g, dt_drawlayer_runtime_request_t::gui, gui_update(), dt_drawlayer_runtime_update_request_t::inputs, dt_drawlayer_runtime_schedule_t::invalidate_layer_cache, dt_drawlayer_runtime_result_t::ok, dt_drawlayer_runtime_request_t::piece, dt_drawlayer_runtime_schedule_t::pointer_hide_cursor, dt_drawlayer_runtime_schedule_t::pointer_valid, dt_drawlayer_runtime_schedule_t::prime_live_process_patch, process(), dt_drawlayer_runtime_release_t::process, dt_drawlayer_runtime_request_t::process_state, dt_drawlayer_runtime_schedule_t::queue_raw_input, dt_drawlayer_runtime_schedule_t::queue_redraw_center, dt_drawlayer_runtime_context_t::raw_input, dt_drawlayer_runtime_update_request_t::raw_input_kind, dt_drawlayer_runtime_result_t::raw_input_ok, dt_drawlayer_runtime_schedule_t::refresh_gui, dt_drawlayer_runtime_update_request_t::release, dt_drawlayer_runtime_schedule_t::release_process_clmem, dt_drawlayer_runtime_schedule_t::request_commit, dt_drawlayer_runtime_request_t::roi_in, dt_drawlayer_runtime_request_t::roi_out, dt_drawlayer_runtime_context_t::runtime, dt_drawlayer_runtime_request_t::self, dt_drawlayer_runtime_schedule_t::set_pointer_state, dt_drawlayer_runtime_release_t::source, dt_drawlayer_runtime_schedule_t::stop_worker, dt_drawlayer_runtime_schedule_t::sync_realtime_mode, dt_drawlayer_runtime_schedule_t::sync_widget_cache, TRUE, dt_drawlayer_runtime_host_t::user_data, and dt_drawlayer_runtime_schedule_t::wait_fullres_worker.

Referenced by _develop_ui_pipe_finished_callback(), _update_gui_runtime_manager(), button_pressed(), button_released(), change_image(), gui_focus(), gui_init(), gui_reset(), gui_update(), mouse_leave(), mouse_moved(), process(), and scrolled().

◆ dt_drawlayer_ui_cursor_clear()