Table of Contents

Class ColorLine

Namespace
Egami.Fonts
Assembly
Egami.Fonts.dll

The stops of a color gradient and what happens past them.

public sealed record ColorLine : IEquatable<ColorLine>
Inheritance
ColorLine
Implements
Inherited Members

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);

Constructors

ColorLine(IReadOnlyList<ColorStop>, ColorExtend)

The stops of a color gradient and what happens past them.

public ColorLine(IReadOnlyList<ColorStop> Stops, ColorExtend Extend)

Parameters

Stops IReadOnlyList<ColorStop>

The stops, in order of offset.

Extend ColorExtend

What happens past the ends.

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);

Properties

Extend

What happens past the ends.

public ColorExtend Extend { get; init; }

Property Value

ColorExtend

Stops

The stops, in order of offset.

public IReadOnlyList<ColorStop> Stops { get; init; }

Property Value

IReadOnlyList<ColorStop>

Methods

Equals(ColorLine?)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(ColorLine? other)

Parameters

other ColorLine

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.