![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Mutable stroke runtime state owned by worker/backend code. More...
#include <paint.h>
Collaboration diagram for dt_drawlayer_paint_stroke_t:Data Fields | |
| GArray * | history |
| GArray * | raw_inputs |
| GArray * | pending_dabs |
| guint | raw_input_cursor |
| GArray * | dab_window |
| dt_drawlayer_brush_dab_t | last_input_dab |
| gboolean | have_last_input_dab |
| dt_drawlayer_brush_dab_t | prev_raw_dab |
| gboolean | have_prev_raw_dab |
| float | stroke_arc_length |
| float | sampled_arc_length |
| float | distance_percent |
| uint64_t | stroke_seed |
| dt_drawlayer_damaged_rect_t | bounds |
| float * | smudge_pixels |
| int | smudge_width |
| int | smudge_height |
| float | smudge_pickup_x |
| float | smudge_pickup_y |
| gboolean | have_smudge_pickup |
Mutable stroke runtime state owned by worker/backend code.
The same object carries path generation state and raster-time transient data. It is reset at stroke boundaries by the worker lifecycle.
| dt_drawlayer_damaged_rect_t dt_drawlayer_paint_stroke_t::bounds |
Last dab footprint bounds in target buffer coordinates.
Referenced by _brush_runtime_view_from_state(), dt_drawlayer_brush_rasterize(), and dt_drawlayer_paint_rasterize_segment_to_buffer().
| GArray* dt_drawlayer_paint_stroke_t::dab_window |
Rolling local raster window (dt_drawlayer_brush_dab_t, max ~3).
Referenced by _process_backend_dab(), _stroke_create(), _stroke_destroy(), and dt_drawlayer_paint_rasterize_segment_to_buffer().
| float dt_drawlayer_paint_stroke_t::distance_percent |
Last applied distance control in [0,1].
Referenced by _process_backend_dab(), and _rasterize_pending_dab_batch().
| gboolean dt_drawlayer_paint_stroke_t::have_last_input_dab |
TRUE when last_input_dab is initialized.
| gboolean dt_drawlayer_paint_stroke_t::have_prev_raw_dab |
TRUE when prev_raw_dab is initialized.
| gboolean dt_drawlayer_paint_stroke_t::have_smudge_pickup |
TRUE when smudge pickup coordinates are valid.
| GArray* dt_drawlayer_paint_stroke_t::history |
Emitted, evenly-spaced dabs (dt_drawlayer_brush_dab_t).
Referenced by _stroke_begin(), and _stroke_create().
| dt_drawlayer_brush_dab_t dt_drawlayer_paint_stroke_t::last_input_dab |
Last converted raw-input dab (pre-resampling).
| GArray* dt_drawlayer_paint_stroke_t::pending_dabs |
Newly emitted dabs not yet rasterized (dt_drawlayer_brush_dab_t).
Referenced by _backend_pending_dabs_locked(), _backend_worker_on_idle(), _process_backend_input(), _rasterize_pending_dab_batch(), _stroke_create(), _stroke_destroy(), and dt_drawlayer_worker_pending_dab_count().
| dt_drawlayer_brush_dab_t dt_drawlayer_paint_stroke_t::prev_raw_dab |
Previous raw segment anchor for cubic interpolation.
| guint dt_drawlayer_paint_stroke_t::raw_input_cursor |
Cursor of next raw input to consume in raw_inputs.
| GArray* dt_drawlayer_paint_stroke_t::raw_inputs |
FIFO raw input queue (dt_drawlayer_paint_raw_input_t).
| float dt_drawlayer_paint_stroke_t::sampled_arc_length |
Cumulative arc position of last emitted sample.
| int dt_drawlayer_paint_stroke_t::smudge_height |
Smudge carry buffer height in pixels.
| float dt_drawlayer_paint_stroke_t::smudge_pickup_x |
Smudge pickup center X in layer coordinates.
| float dt_drawlayer_paint_stroke_t::smudge_pickup_y |
Smudge pickup center Y in layer coordinates.
| float* dt_drawlayer_paint_stroke_t::smudge_pixels |
Smudge carry buffer (RGBA float, local dab footprint).
| int dt_drawlayer_paint_stroke_t::smudge_width |
Smudge carry buffer width in pixels.
| float dt_drawlayer_paint_stroke_t::stroke_arc_length |
Cumulative raw-path arc length in layer coordinates.
| uint64_t dt_drawlayer_paint_stroke_t::stroke_seed |
Deterministic per-stroke seed (noise/sprinkles).