package Icarus.Graphics.Animation;

import System.Drawing.*;

/**
 * The implementors of this interface will be used to parse a file
 * from disk and generate bitmap/point pairs for framesets, as well as
 * to export a frameset to a file.
 * 
 * @author $Author: asskoala $
 * @version $Revision: 1.1 $ $Date: 2005/12/11 21:07:21 $
 */
public interface IFramesetProvider
{
	/**
	 * Goes through the image and extracts frames from it.
	 */
	public void fillFrameset(Frameset frameSet, Bitmap source);

	/**
	 * Will export the frameset passed in to a file, whose name is
	 * passed in. The export is such that it is guaranteed to be
	 * loadable by the corresponding fillFrameset function. Other
	 * than that, nothing should be assumed about the export. This
	 * function assumes that the filename points to a file that
	 * can actually be created, and if there are any problems,
	 * like null filename, or frameset, or premission problems
	 * with creating the file, an Exception will be thrown.
	 */
	public void exportFrameset(Frameset frameset, String filename) throws System.Exception;
}
