public static FormattedText Create(string text, Font font, TextAlignment alignment, SizeConstraint constraint) { if (text == null) { return new FormattedText(null, new Box2(0, 0, 0, 0), text, font, alignment, constraint); } else { var instances = new List<GlyphInstance>(text.Length); var x = 0f; foreach (var c in text) { var glyph = font.GetGlyph(c); if (glyph != null) { instances.Add(new GlyphInstance(new Box2(x, 0, glyph.Size.X, glyph.Size.Y), glyph.Sprite)); x += glyph.Size.X; } } return new FormattedText(instances, new Box2(0, 0, x, font.Height), text, font, alignment, constraint); } }
private FormattedText(List <GlyphInstance> instances, Box2 bounds, string text, Font font, TextAlignment alignment, SizeConstraint constraint) { m_instances = instances; Bounds = bounds; Text = text; Font = font; Alignment = alignment; Constraint = constraint; }
private FormattedText(List<GlyphInstance> instances, Box2 bounds, string text, Font font, TextAlignment alignment, SizeConstraint constraint) { m_instances = instances; Bounds = bounds; Text = text; Font = font; Alignment = alignment; Constraint = constraint; }
public static FormattedText Create(string text, Font font, TextAlignment alignment, SizeConstraint constraint) { if (text == null) { return(new FormattedText(null, new Box2(0, 0, 0, 0), text, font, alignment, constraint)); } else { var instances = new List <GlyphInstance>(text.Length); var x = 0f; foreach (var c in text) { var glyph = font.GetGlyph(c); if (glyph != null) { instances.Add(new GlyphInstance(new Box2(x, 0, glyph.Size.X, glyph.Size.Y), glyph.Sprite)); x += glyph.Size.X; } } return(new FormattedText(instances, new Box2(0, 0, x, font.Height), text, font, alignment, constraint)); } }