Skip to main content

Module fill

Module fill 

Source
Expand description

Filled-path rasterization — replaces Splash::fill, Splash::eoFill, and the core of Splash::fillWithPattern.

Two public entry points:

  • fill — non-zero winding fill
  • eo_fill — even-odd fill

Both entry points are thin wrappers around the private fill_impl which does the actual work: build XPath → optionally AA-scale → build XPathScanner → walk spans → clip → pipe::render_span.

§AA (vector antialias) mode

When vector_antialias is true the path is scaled 4× in XPath (aaScale), the scanner operates in 4× AA coordinates, render_aa_line fills the AaBuf, the clip AA-masks the buf, and then draw_aa_line reads the 4-bit coverage count (0..16) through a gamma LUT (aaGamma) and calls render_span_aa.

§Parallel fill

Rayon-parallel variants fill_parallel / eo_fill_parallel live in a private parallel submodule and are re-exported here when the rayon feature is enabled.

§C++ equivalent

Splash::fillWithPattern.

Functions§

eo_fill
Even-odd fill.
fill
Non-zero winding fill.