Interface IColorPaintVisitor
Walks a color glyph's paint graph, one method per kind of node.
public interface IColorPaintVisitor
Examples
// Color glyphs draw in color by themselves: COLR (layers and gradients), sbix and CBDT (images), per glyph.
using (RasterCanvas<Rgba8> canvas = image.CreateCanvas())
{
canvas.DrawText("Ship it", new Vector2(8, 40), new Font(text, 24), Rgba8.Black);
canvas.DrawText("\U0001F680\U0001F389", new Vector2(100, 42), new Font(emoji, 32), Rgba8.Black);
}
// The palette is a font setting; the paint's color fills a glyph's foreground parts and its alpha the whole glyph.
var darkMode = new Font(emoji, 32) { Palette = FontPalette.Dark };
ColorGlyphFormats formats = emoji.ColorFormats;
// The paint graph is there to walk, for writers that draw color glyphs their own way.
emoji.TryGetColorGlyph(emoji.GetGlyph(0x1F680), darkMode.Palette, out ColorGlyph? rocket);
Methods
VisitColorGlyph(ColorGlyphReferencePaint)
Visits a reused color glyph.
void VisitColorGlyph(ColorGlyphReferencePaint paint)
Parameters
paintColorGlyphReferencePaintThe node.
VisitComposite(ColorCompositePaint)
Visits a composite.
void VisitComposite(ColorCompositePaint paint)
Parameters
paintColorCompositePaintThe node.
VisitGlyph(ColorGlyphPaint)
Visits a glyph outline clip.
void VisitGlyph(ColorGlyphPaint paint)
Parameters
paintColorGlyphPaintThe node.
VisitLayers(ColorLayersPaint)
Visits layers.
void VisitLayers(ColorLayersPaint paint)
Parameters
paintColorLayersPaintThe node.
VisitLinearGradient(ColorLinearGradientPaint)
Visits a linear gradient.
void VisitLinearGradient(ColorLinearGradientPaint paint)
Parameters
paintColorLinearGradientPaintThe node.
VisitRadialGradient(ColorRadialGradientPaint)
Visits a two-circle gradient.
void VisitRadialGradient(ColorRadialGradientPaint paint)
Parameters
paintColorRadialGradientPaintThe node.
VisitSolid(ColorSolidPaint)
Visits a solid fill.
void VisitSolid(ColorSolidPaint paint)
Parameters
paintColorSolidPaintThe node.
VisitSweepGradient(ColorSweepGradientPaint)
Visits a sweep gradient.
void VisitSweepGradient(ColorSweepGradientPaint paint)
Parameters
paintColorSweepGradientPaintThe node.
VisitTransform(ColorTransformPaint)
Visits a transform.
void VisitTransform(ColorTransformPaint paint)
Parameters
paintColorTransformPaintThe node.