Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_drawlayer_paint_stroke_t Struct Reference

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
 

Detailed Description

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.

Definition at line 99 of file iop/drawlayer/paint.h.

Field Documentation

◆ bounds

dt_drawlayer_damaged_rect_t dt_drawlayer_paint_stroke_t::bounds

Last dab footprint bounds in target buffer coordinates.

Definition at line 114 of file iop/drawlayer/paint.h.

Referenced by _brush_runtime_view_from_state(), dt_drawlayer_brush_rasterize(), and dt_drawlayer_paint_rasterize_segment_to_buffer().

◆ dab_window

GArray* dt_drawlayer_paint_stroke_t::dab_window

◆ distance_percent

float dt_drawlayer_paint_stroke_t::distance_percent

Last applied distance control in [0,1].

Definition at line 112 of file iop/drawlayer/paint.h.

Referenced by _process_backend_dab(), and _rasterize_pending_dab_batch().

◆ have_last_input_dab

gboolean dt_drawlayer_paint_stroke_t::have_last_input_dab

TRUE when last_input_dab is initialized.

Definition at line 107 of file iop/drawlayer/paint.h.

◆ have_prev_raw_dab

gboolean dt_drawlayer_paint_stroke_t::have_prev_raw_dab

TRUE when prev_raw_dab is initialized.

Definition at line 109 of file iop/drawlayer/paint.h.

◆ have_smudge_pickup

gboolean dt_drawlayer_paint_stroke_t::have_smudge_pickup

TRUE when smudge pickup coordinates are valid.

Definition at line 120 of file iop/drawlayer/paint.h.

◆ history

GArray* dt_drawlayer_paint_stroke_t::history

Emitted, evenly-spaced dabs (dt_drawlayer_brush_dab_t).

Definition at line 101 of file iop/drawlayer/paint.h.

Referenced by _stroke_begin(), and _stroke_create().

◆ last_input_dab

dt_drawlayer_brush_dab_t dt_drawlayer_paint_stroke_t::last_input_dab

Last converted raw-input dab (pre-resampling).

Definition at line 106 of file iop/drawlayer/paint.h.

◆ pending_dabs

GArray* dt_drawlayer_paint_stroke_t::pending_dabs

◆ prev_raw_dab

dt_drawlayer_brush_dab_t dt_drawlayer_paint_stroke_t::prev_raw_dab

Previous raw segment anchor for cubic interpolation.

Definition at line 108 of file iop/drawlayer/paint.h.

◆ raw_input_cursor

guint dt_drawlayer_paint_stroke_t::raw_input_cursor

Cursor of next raw input to consume in raw_inputs.

Definition at line 104 of file iop/drawlayer/paint.h.

◆ raw_inputs

GArray* dt_drawlayer_paint_stroke_t::raw_inputs

FIFO raw input queue (dt_drawlayer_paint_raw_input_t).

Definition at line 102 of file iop/drawlayer/paint.h.

◆ sampled_arc_length

float dt_drawlayer_paint_stroke_t::sampled_arc_length

Cumulative arc position of last emitted sample.

Definition at line 111 of file iop/drawlayer/paint.h.

◆ smudge_height

int dt_drawlayer_paint_stroke_t::smudge_height

Smudge carry buffer height in pixels.

Definition at line 117 of file iop/drawlayer/paint.h.

◆ smudge_pickup_x

float dt_drawlayer_paint_stroke_t::smudge_pickup_x

Smudge pickup center X in layer coordinates.

Definition at line 118 of file iop/drawlayer/paint.h.

◆ smudge_pickup_y

float dt_drawlayer_paint_stroke_t::smudge_pickup_y

Smudge pickup center Y in layer coordinates.

Definition at line 119 of file iop/drawlayer/paint.h.

◆ smudge_pixels

float* dt_drawlayer_paint_stroke_t::smudge_pixels

Smudge carry buffer (RGBA float, local dab footprint).

Definition at line 115 of file iop/drawlayer/paint.h.

◆ smudge_width

int dt_drawlayer_paint_stroke_t::smudge_width

Smudge carry buffer width in pixels.

Definition at line 116 of file iop/drawlayer/paint.h.

◆ stroke_arc_length

float dt_drawlayer_paint_stroke_t::stroke_arc_length

Cumulative raw-path arc length in layer coordinates.

Definition at line 110 of file iop/drawlayer/paint.h.

◆ stroke_seed

uint64_t dt_drawlayer_paint_stroke_t::stroke_seed

Deterministic per-stroke seed (noise/sprinkles).

Definition at line 113 of file iop/drawlayer/paint.h.


The documentation for this struct was generated from the following file: