Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
runtime.h File Reference

Private runtime state/helpers shared by drawlayer module entrypoints. More...

#include "iop/drawlayer/cache.h"
#include "iop/drawlayer/coordinates.h"
#include "iop/drawlayer/widgets.h"
#include "iop/drawlayer/worker.h"
#include <stdint.h>
+ Include dependency graph for runtime.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_drawlayer_session_state_t
 
struct  dt_drawlayer_process_state_t
 
struct  dt_drawlayer_stroke_state_t
 
struct  dt_drawlayer_brush_settings_t
 The brush as the input path needs it, resolved from conf once per change. More...
 
struct  dt_drawlayer_ui_state_t
 
struct  dt_drawlayer_controls_t
 
struct  dt_drawlayer_runtime_result_t
 
struct  dt_drawlayer_runtime_manager_t
 
struct  dt_drawlayer_runtime_inputs_t
 
struct  dt_drawlayer_runtime_host_t
 What the runtime manager is given to reach its caller's state. More...
 
struct  dt_iop_drawlayer_gui_data_t
 
struct  dt_drawlayer_runtime_request_t
 
struct  dt_drawlayer_runtime_context_t
 
struct  dt_drawlayer_process_view_t
 
struct  dt_drawlayer_runtime_source_t
 
struct  dt_drawlayer_runtime_release_t
 
struct  dt_drawlayer_runtime_update_request_t
 
struct  dt_drawlayer_mapping_cell_t
 One cell of the tablet-mapping grid: a widget slot and the conf key it mirrors. More...
 
struct  dt_drawlayer_mapping_row_t
 One input axis: the four properties it can drive, and its response curve. More...
 

Macros

#define DT_DRAWLAYER_MAPPING_ROWS   3
 How many input axes the tablet mapping offers (pressure, tilt, acceleration).
 
#define DT_DRAWLAYER_MAPPING_TARGETS   4
 How many brush properties each axis can drive (size, opacity, flow, hardness).
 

Typedefs

typedef struct dt_drawlayer_session_state_t dt_drawlayer_session_state_t
 
typedef struct dt_drawlayer_process_state_t dt_drawlayer_process_state_t
 
typedef struct dt_drawlayer_stroke_state_t dt_drawlayer_stroke_state_t
 
typedef struct dt_drawlayer_brush_settings_t dt_drawlayer_brush_settings_t
 The brush as the input path needs it, resolved from conf once per change.
 
typedef struct dt_drawlayer_ui_state_t dt_drawlayer_ui_state_t
 
typedef struct dt_drawlayer_controls_t dt_drawlayer_controls_t
 
typedef enum dt_drawlayer_runtime_actor_t dt_drawlayer_runtime_actor_t
 
typedef enum dt_drawlayer_runtime_buffer_t dt_drawlayer_runtime_buffer_t
 
typedef enum dt_drawlayer_runtime_event_t dt_drawlayer_runtime_event_t
 
typedef enum dt_drawlayer_runtime_raw_input_kind_t dt_drawlayer_runtime_raw_input_kind_t
 
typedef enum dt_drawlayer_runtime_commit_mode_t dt_drawlayer_runtime_commit_mode_t
 
typedef struct dt_drawlayer_runtime_result_t dt_drawlayer_runtime_result_t
 
typedef struct dt_drawlayer_runtime_private_t dt_drawlayer_runtime_private_t
 
typedef struct dt_drawlayer_runtime_manager_t dt_drawlayer_runtime_manager_t
 
typedef struct dt_drawlayer_runtime_inputs_t dt_drawlayer_runtime_inputs_t
 
typedef struct dt_drawlayer_runtime_host_t dt_drawlayer_runtime_host_t
 What the runtime manager is given to reach its caller's state.
 
typedef struct dt_iop_drawlayer_gui_data_t dt_iop_drawlayer_gui_data_t
 
typedef struct dt_drawlayer_runtime_request_t dt_drawlayer_runtime_request_t
 
typedef struct dt_drawlayer_runtime_context_t dt_drawlayer_runtime_context_t
 
typedef struct dt_drawlayer_process_view_t dt_drawlayer_process_view_t
 
typedef enum dt_drawlayer_runtime_source_kind_t dt_drawlayer_runtime_source_kind_t
 
typedef struct dt_drawlayer_runtime_source_t dt_drawlayer_runtime_source_t
 
typedef struct dt_drawlayer_runtime_release_t dt_drawlayer_runtime_release_t
 
typedef struct dt_drawlayer_runtime_update_request_t dt_drawlayer_runtime_update_request_t
 
typedef struct dt_drawlayer_mapping_cell_t dt_drawlayer_mapping_cell_t
 One cell of the tablet-mapping grid: a widget slot and the conf key it mirrors.
 
typedef struct dt_drawlayer_mapping_row_t dt_drawlayer_mapping_row_t
 One input axis: the four properties it can drive, and its response curve.
 

Enumerations

enum  dt_drawlayer_runtime_actor_t {
  DT_DRAWLAYER_RUNTIME_ACTOR_NONE = 0 ,
  DT_DRAWLAYER_RUNTIME_ACTOR_GUI ,
  DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU ,
  DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL ,
  DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND ,
  DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO ,
  DT_DRAWLAYER_RUNTIME_ACTOR_COUNT
}
 
enum  dt_drawlayer_runtime_buffer_t {
  DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH = 0 ,
  DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK ,
  DT_DRAWLAYER_RUNTIME_BUFFER_COUNT
}
 
enum  dt_drawlayer_runtime_event_t {
  DT_DRAWLAYER_RUNTIME_EVENT_NONE = 0 ,
  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_SCROLL ,
  DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS ,
  DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE ,
  DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC ,
  DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED ,
  DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT ,
  DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT ,
  DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE ,
  DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER ,
  DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE ,
  DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER ,
  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_EVENT_COMMIT_BEGIN ,
  DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END
}
 
enum  dt_drawlayer_runtime_raw_input_kind_t {
  DT_DRAWLAYER_RUNTIME_RAW_INPUT_NONE = 0 ,
  DT_DRAWLAYER_RUNTIME_RAW_INPUT_SAMPLE ,
  DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_BEGIN ,
  DT_DRAWLAYER_RUNTIME_RAW_INPUT_STROKE_END
}
 
enum  dt_drawlayer_runtime_commit_mode_t {
  DT_DRAWLAYER_RUNTIME_COMMIT_NONE = 0 ,
  DT_DRAWLAYER_RUNTIME_COMMIT_QUIET ,
  DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY
}
 
enum  dt_drawlayer_runtime_source_kind_t {
  DT_DRAWLAYER_SOURCE_NONE = 0 ,
  DT_DRAWLAYER_SOURCE_BASE_PATCH
}
 

Functions

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)
 
void dt_drawlayer_ui_cursor_clear (dt_drawlayer_ui_state_t *state)
 
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, dt_drawlayer_runtime_buffer_t buffer, dt_drawlayer_runtime_actor_t actor, gboolean write_lock, gboolean acquire)
 
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, gboolean display_pipe, dt_drawlayer_runtime_manager_t **runtime_manager, dt_drawlayer_process_state_t **runtime_process, gboolean *runtime_display_pipe)
 
void dt_drawlayer_mapping_rows (dt_iop_drawlayer_gui_data_t *g, dt_drawlayer_mapping_row_t rows[3])
 Pair every tablet-mapping widget with the configuration key it mirrors.
 

Detailed Description

Private runtime state/helpers shared by drawlayer module entrypoints.

Definition in file runtime.h.

Macro Definition Documentation

◆ DT_DRAWLAYER_MAPPING_ROWS

#define DT_DRAWLAYER_MAPPING_ROWS   3

How many input axes the tablet mapping offers (pressure, tilt, acceleration).

Definition at line 392 of file runtime.h.

◆ DT_DRAWLAYER_MAPPING_TARGETS

#define DT_DRAWLAYER_MAPPING_TARGETS   4

How many brush properties each axis can drive (size, opacity, flow, hardness).

Definition at line 394 of file runtime.h.

Typedef Documentation

◆ dt_drawlayer_brush_settings_t

The brush as the input path needs it, resolved from conf once per change.

dt_conf_get_float runs dt_calculator_solve – an expression parser – on the stored string at EVERY call, and the motion handler read eleven floats, twelve bools and three ints per pointer event. None of it depends on where the pointer is. Cached here beside the brush colour, which already worked this way.

◆ dt_drawlayer_controls_t

◆ dt_drawlayer_mapping_cell_t

One cell of the tablet-mapping grid: a widget slot and the conf key it mirrors.

◆ dt_drawlayer_mapping_row_t

One input axis: the four properties it can drive, and its response curve.

◆ dt_drawlayer_process_state_t

◆ dt_drawlayer_process_view_t

◆ dt_drawlayer_runtime_actor_t

◆ dt_drawlayer_runtime_buffer_t

◆ dt_drawlayer_runtime_commit_mode_t

◆ dt_drawlayer_runtime_context_t

◆ dt_drawlayer_runtime_event_t

◆ dt_drawlayer_runtime_host_t

What the runtime manager is given to reach its caller's state.

‘user_data’ is the one member: every consumer casts it back to a dt_drawlayer_runtime_context_t. It carried two callback pointers as well, ‘collect_inputs’ and ‘perform_action’, which were assigned NULL at all nineteen construction sites and never called from anywhere – a host interface that was declared and never wired up. The forward-declared dt_drawlayer_runtime_action_request_t existed only in that second signature and was never defined at all.

◆ dt_drawlayer_runtime_inputs_t

◆ dt_drawlayer_runtime_manager_t

◆ dt_drawlayer_runtime_private_t

Definition at line 251 of file runtime.h.

◆ dt_drawlayer_runtime_raw_input_kind_t

◆ dt_drawlayer_runtime_release_t

◆ dt_drawlayer_runtime_request_t

◆ dt_drawlayer_runtime_result_t

◆ dt_drawlayer_runtime_source_kind_t

◆ dt_drawlayer_runtime_source_t

◆ dt_drawlayer_runtime_update_request_t

◆ dt_drawlayer_session_state_t

◆ dt_drawlayer_stroke_state_t

◆ dt_drawlayer_ui_state_t

◆ dt_iop_drawlayer_gui_data_t

Enumeration Type Documentation

◆ dt_drawlayer_runtime_actor_t

Enumerator
DT_DRAWLAYER_RUNTIME_ACTOR_NONE 
DT_DRAWLAYER_RUNTIME_ACTOR_GUI 
DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CPU 
DT_DRAWLAYER_RUNTIME_ACTOR_PIPELINE_CL 
DT_DRAWLAYER_RUNTIME_ACTOR_RASTER_BACKEND 
DT_DRAWLAYER_RUNTIME_ACTOR_TIFF_IO 
DT_DRAWLAYER_RUNTIME_ACTOR_COUNT 

Definition at line 186 of file runtime.h.

◆ dt_drawlayer_runtime_buffer_t

Enumerator
DT_DRAWLAYER_RUNTIME_BUFFER_BASE_PATCH 
DT_DRAWLAYER_RUNTIME_BUFFER_STROKE_MASK 
DT_DRAWLAYER_RUNTIME_BUFFER_COUNT 

Definition at line 197 of file runtime.h.

◆ dt_drawlayer_runtime_commit_mode_t

Enumerator
DT_DRAWLAYER_RUNTIME_COMMIT_NONE 
DT_DRAWLAYER_RUNTIME_COMMIT_QUIET 
DT_DRAWLAYER_RUNTIME_COMMIT_HISTORY 

Definition at line 238 of file runtime.h.

◆ dt_drawlayer_runtime_event_t

Enumerator
DT_DRAWLAYER_RUNTIME_EVENT_NONE 
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_SCROLL 
DT_DRAWLAYER_RUNTIME_EVENT_GUI_SYNC_TEMP_BUFFERS 
DT_DRAWLAYER_RUNTIME_EVENT_GUI_CHANGE_IMAGE 
DT_DRAWLAYER_RUNTIME_EVENT_GUI_RESYNC 
DT_DRAWLAYER_RUNTIME_EVENT_GUI_PIPE_FINISHED 
DT_DRAWLAYER_RUNTIME_EVENT_GUI_STROKE_ABORT 
DT_DRAWLAYER_RUNTIME_EVENT_GUI_RAW_INPUT 
DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_BEFORE 
DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CPU_AFTER 
DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_BEFORE 
DT_DRAWLAYER_RUNTIME_EVENT_PROCESS_CL_AFTER 
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_EVENT_COMMIT_BEGIN 
DT_DRAWLAYER_RUNTIME_EVENT_COMMIT_END 

Definition at line 204 of file runtime.h.

◆ dt_drawlayer_runtime_raw_input_kind_t

Enumerator
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 

Definition at line 230 of file runtime.h.

◆ dt_drawlayer_runtime_source_kind_t

Enumerator
DT_DRAWLAYER_SOURCE_NONE 
DT_DRAWLAYER_SOURCE_BASE_PATCH 

Definition at line 332 of file runtime.h.

Function Documentation

◆ dt_drawlayer_mapping_rows()

void dt_drawlayer_mapping_rows ( dt_iop_drawlayer_gui_data_t *  g,
dt_drawlayer_mapping_row_t  rows[3] 
)

Pair every tablet-mapping widget with the configuration key it mirrors.

Three places walk this grid and each used to spell it out: the builder that creates the fifteen widgets, gui_update reading conf into them, and sync_params_from_gui writing them back. Three unrolled copies of one list is how a fourth input axis gets added to two of them. The labels are NOT here – they are the GUI's and are translated at build time.

dt_drawlayer_conf_ensure_defaults() deliberately does not use this: its keys carry one-off migrations from the older map_speed_* spellings, so its list is not uniform.

◆ dt_drawlayer_process_state_cleanup()

void dt_drawlayer_process_state_cleanup ( dt_drawlayer_process_state_t *  state)

Definition at line 907 of file runtime.c.

References dt_drawlayer_cache_patch_clear(), IS_NULL_PTR, and state.

Referenced by cleanup_pipe(), and gui_cleanup().

◆ dt_drawlayer_process_state_init()

void dt_drawlayer_process_state_init ( dt_drawlayer_process_state_t *  state)

Definition at line 899 of file runtime.c.

References IS_NULL_PTR, and state.

Referenced by gui_init(), and init_pipe().

◆ dt_drawlayer_process_state_invalidate()

void dt_drawlayer_process_state_invalidate ( dt_drawlayer_process_state_t *  state)

◆ dt_drawlayer_process_state_reset_stroke()

void dt_drawlayer_process_state_reset_stroke ( dt_drawlayer_process_state_t *  state)

Definition at line 917 of file runtime.c.

References IS_NULL_PTR, and state.

Referenced by dt_drawlayer_layers_reset_stroke_session().

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

Definition at line 885 of file runtime.c.

References IS_NULL_PTR.

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

◆ dt_drawlayer_runtime_manager_cleanup()

void dt_drawlayer_runtime_manager_cleanup ( dt_drawlayer_runtime_manager_t *  state)

Definition at line 85 of file runtime.c.

References dt_free, dt_pthread_mutex_destroy(), IS_NULL_PTR, and state.

Referenced by cleanup_pipe(), and gui_cleanup().

◆ dt_drawlayer_runtime_manager_init()

void dt_drawlayer_runtime_manager_init ( dt_drawlayer_runtime_manager_t *  state)

Definition at line 77 of file runtime.c.

References dt_pthread_mutex_init(), IS_NULL_PTR, and state.

Referenced by gui_init(), and init_pipe().

◆ dt_drawlayer_runtime_manager_note_buffer_lock()

◆ 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 
)

Definition at line 659 of file runtime.c.

References _perform_runtime_commit_sequence(), _perform_runtime_widget_cache_sync(), _release_runtime_source(), _update_manager_information(), dt_drawlayer_runtime_schedule_t::commit_mode, dt_control_alert(), dt_control_log(), dt_control_queue_redraw_center(), dt_control_set_cursor_visible, dt_drawlayer_begin_gui_stroke_capture(), dt_drawlayer_cache_patch_clear(), dt_drawlayer_end_gui_stroke_capture(), dt_drawlayer_ensure_layer_cache(), dt_drawlayer_flush_layer_cache(), dt_drawlayer_paint_runtime_state_reset(), 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_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_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_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, IS_NULL_PTR, dt_drawlayer_runtime_result_t::ok, dt_drawlayer_runtime_schedule_t::pointer_hide_cursor, dt_drawlayer_runtime_schedule_t::pointer_valid, dt_drawlayer_runtime_release_t::process, 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::request_commit, 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, state, dt_drawlayer_runtime_schedule_t::stop_worker, dt_drawlayer_runtime_schedule_t::sync_realtime_mode, dt_drawlayer_runtime_schedule_t::sync_widget_cache, TRUE, and dt_drawlayer_runtime_host_t::user_data.

Referenced by _update_gui_runtime_manager(), button_pressed(), button_released(), mouse_moved(), process(), and process_cl().

◆ dt_drawlayer_ui_cursor_clear()

void dt_drawlayer_ui_cursor_clear ( dt_drawlayer_ui_state_t *  state)