Skip to content
polygon_fill

polygon_fill

Mojo module 🡭

polygon_fill

A polygon’s interior fill: the scanline/winding-number machinery (_Crossing, _Span, _spans_from_crossings), its two consumers here (fill_polygon, fill_polygon_aa), and _point_in_polygon, the real-valued membership test the anti-aliased sweep is checked against.

The outline strokes, draw_polygon/draw_polygon_aa, are a different algorithm in canvas.shapes.lines.

fill_polygon_aa describes its geometry as an _EdgeTable and hands it to canvas.aa_crossing’s _sweep_edges_aa, shared with fill_path_aa. path.mojo imports _Crossing/_spans_from_crossings for its own hard-edged fills. In both cases the callers differ in how they collect edges or crossings, not in what happens after. _is_inside lives in canvas.fill_rule, which both can see.

Functions