using System;
using System.Collections.Generic;
using System.IO;
namespace Orvid.Graphics.FontSupport
{
///
/// The default FontManager.
///
public class DefaultFontManager : FontManager
{
List Providers = new List();
public DefaultFontManager()
{
Providers.Add(new bdf.BDFFont());
//Providers.Add(2, new fnt.FntFont());
}
public override string Name
{
get { return "Default Font Manager"; }
}
public override FontMetrics GetFontMetrics(Font font)
{
return font.GetFontMetrics();
}
public override void DrawText(Image i, BoundingBox clip, AffineTransform trans, string s, Font f, Vec2 Loc, Pixel p)
{
f.Render(i, clip, trans, s, Loc, p);
}
public override Font LoadFont(int format, Stream s)
{
if (format > Providers.Count)
{
throw new Exception("Unknown format!");
}
return Providers[format].LoadFont(s);
throw new Exception("can't create font with format #'" + format.ToString() + "'");
}
public override Font[] Fonts
{
get
{
List all = new List();
foreach (Font prv in Providers)
{
all.AddRange(prv.DefaultFonts);
}
return all.ToArray();
}
}
}
}