using System;
using System.Text;
using System.Drawing.Drawing2D;
using System.Drawing;
namespace DevComponents.DotNetBar
{
    public interface IShapeDescriptor
    {
        /// 
        /// Returns the shape that fits given bounds.
        /// 
        /// Bounds to fit shape in.
        /// GraphicsPath representing shape or null if shape cannot be created.
        GraphicsPath GetShape(Rectangle bounds);
        /// 
        /// Returns the inner shape based on the specified border size.
        /// 
        /// Bounds to fit shape in.
        /// GraphicsPath representing shape or null if shape cannot be created.
        GraphicsPath GetInnerShape(Rectangle bounds, int borderSize);
        /// 
        /// Returns whether shape can be drawn given the bounds.
        /// 
        /// Bounds to test.
        /// true if shape can be drawn inside of bounds otherwise false.
        bool CanDrawShape(Rectangle bounds);
    }
}