Skip to main content

Module deco

Module deco 

Source
Expand description

Decoration lines that are not a rect: the wavy and dotted underlines a text, a span or a cell asks for. A solid line is one Solid quad, as it always was; these are runs of QuadKind::Segment — the capsule the backend already draws for a line node — so no backend, header or protocol learns a kind. A wave is a zigzag of short pieces whose round caps soften the corners; a dotted line is a row of zero-length pieces, which the capsule SDF draws as dots. Both are sized from the stroke the face recommends, so they scale with the text and the display.

The cost is quads: a wave is two pieces per period of six strokes, a dotted line one per four. A screenful of diagnostics under 14 px text at scale 2 — say thirty runs of twenty characters — is about 1,700 quads, a fifth of a 10k-rect frame’s; a QuadKind of its own is the next step if a profile ever shows that.