using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Icarus.Graphics.Animation
{
    public interface IRenderable
    {
        /**
	     * Returns the size of the renderable.
	     */
        System.Drawing.Size GetSize();

        /**
         * Renders the thing.
         */
        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.
         */
        void Render(System.Drawing.Rectangle destination, IRenderParameters parameters);
    }
}
