namespace Icarus.Graphics.Animation
{
	public abstract class AnimationFactory
	{
		/**
		 * Singleton Implementation.
		 */
		private static AnimationFactory mg_Instance = null;

		/**
		 * Singleton Implementation.
		 */
		public static AnimationFactory getInstance() { return mg_Instance; }
		public static void setInstance(AnimationFactory factory) { mg_Instance = factory; }

		/**
		 * Returns a blank frame.
		 */
		public abstract IFrame makeBlankFrame();

		/**
		 * Returns blank text.
		 */
		public abstract AbstractText makeText(string text, System.Drawing.Color c, System.Drawing.Font f);
	}
}
