PeachDrawing.Core

PeachDrawing.Core.ColorGlyphs Namespace

Classes  
CanvasColorGlyphTarget An IColorGlyphTarget that draws onto any Canvas with the canvas’s own path, clip, brush and blend-mode primitives, so every backend gets color glyphs without implementing anything color-font specific. Coordinates are the canvas’s own user units.
ColorGlyphPaint A fully resolved fill a ColorGlyphPainter asks its IColorGlyphTarget to make: palette entries already turned into colors, gradient geometry already mapped into the target’s space and stop lists already sorted. A target maps it onto whatever gradient machinery it has.
ColorGlyphPainter Walks the color artwork of one glyph - a COLR v1 paint graph, else COLR v0 layers, else the plain outline in the foreground color - and describes it to an IColorGlyphTarget as clipped fills. The walk itself is backend-neutral: palette and font-palette override resolution, the “use the text color” sentinel, gradient stop handling, transform composition, clip bounds and blend modes live here once, so every backend paints color fonts the same way.
LinearColorGlyphPaint A gradient along the line from Start to End, padded beyond both ends.
RadialColorGlyphPaint A gradient that radiates from a focal point out to a circle, padded beyond it.
SolidColorGlyphPaint A single color.
SweepColorGlyphPaint A gradient that sweeps around a center, like a conic gradient.
Interfaces  
IColorGlyphTarget Where a ColorGlyphPainter draws. CanvasColorGlyphTarget draws onto any Canvas; a backend with its own way of drawing (a PDF writer that also wants to measure the ink first, say) implements this directly. Every rectangle and point is in the target’s space, the space the placement given to Paint(ushort, Affine2x3, IColorGlyphTarget) maps design units into.