Table of Contents

Interface IColorPaintVisitor

Namespace
Egami.Fonts
Assembly
Egami.Fonts.dll

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

paint ColorGlyphReferencePaint

The node.

VisitComposite(ColorCompositePaint)

Visits a composite.

void VisitComposite(ColorCompositePaint paint)

Parameters

paint ColorCompositePaint

The node.

VisitGlyph(ColorGlyphPaint)

Visits a glyph outline clip.

void VisitGlyph(ColorGlyphPaint paint)

Parameters

paint ColorGlyphPaint

The node.

VisitLayers(ColorLayersPaint)

Visits layers.

void VisitLayers(ColorLayersPaint paint)

Parameters

paint ColorLayersPaint

The node.

VisitLinearGradient(ColorLinearGradientPaint)

Visits a linear gradient.

void VisitLinearGradient(ColorLinearGradientPaint paint)

Parameters

paint ColorLinearGradientPaint

The node.

VisitRadialGradient(ColorRadialGradientPaint)

Visits a two-circle gradient.

void VisitRadialGradient(ColorRadialGradientPaint paint)

Parameters

paint ColorRadialGradientPaint

The node.

VisitSolid(ColorSolidPaint)

Visits a solid fill.

void VisitSolid(ColorSolidPaint paint)

Parameters

paint ColorSolidPaint

The node.

VisitSweepGradient(ColorSweepGradientPaint)

Visits a sweep gradient.

void VisitSweepGradient(ColorSweepGradientPaint paint)

Parameters

paint ColorSweepGradientPaint

The node.

VisitTransform(ColorTransformPaint)

Visits a transform.

void VisitTransform(ColorTransformPaint paint)

Parameters

paint ColorTransformPaint

The node.