package Icarus.Graphics.Animation;

/**
 * The implementors of the renderable interface are things that can be rendered... Duh. ;)
 */
public interface IRenderable
{
	/**
	 * Returns the size of the renderable.
	 */
	public System.Drawing.Size GetSize();

	/**
	 * Renders the thing.
	 */
	public void Render(System.Drawing.Point coordinates, IRenderParameters parameters);

	/**
	 * Renders the thing. Note that the destination parameter can be used to specify clipping. The size of the rectangle can be empty, in which case no clipping will be applied.
	 */
	public void Render(System.Drawing.Rectangle destination, IRenderParameters parameters);
}
