using Consulenza.ReportWriter.Business.Entity;

namespace Consulenza.ReportWriter.Business.OBJ_PDF
{
    /// <summary>
    /// Rappresenta un cerchio.
    /// Eredita dall'oggetto rettangolo (RectanglePDF) e espone la proprietà CornerRadius che indica il grado di arrotondamento degli angoli.
    /// Di default il gradi di arrotondamento è impostato a 6.
    /// Attualmente l'oggetto CirclePDF è utilizzato solo per essere aggiunto alla cella di una TablePDF come ValueObject in una colonna di tipo TipoColonna.OBJECTPDF.
    /// Non si ha ancora la necessità di disegnare sul documento un cerchio che non sia legato alla TablePDF.
    /// </summary>
    public class CirclePDF : RectanglePDF
    {
        /// <summary>
        /// Costruisce un nuovo cerchio con un raggio di curvatura pari a 6. 
        /// </summary>
        /// <param name="height">Altezza</param>
        /// <param name="width">Larghezza</param>
        /// <param name="color">Colore</param>
        public CirclePDF(float height, float width, ColorPDF color)
            : base(height, width, color)
        {
            CornerRadius = 6;
            ObjectType = ObjectTypePdf.CIRCLE;
        }

        /// <summary>
        /// Costruisce un nuovo cerchio.
        /// </summary>
        /// <param name="height">Altezza</param>
        /// <param name="width">Larghezza</param>
        /// <param name="color">Colore</param>
        /// <param name="cornerradius">Raggio di curvatura.</param>
        public CirclePDF(float height, float width, ColorPDF color, float cornerradius)
            : base(height, width, color)
        {
            CornerRadius = cornerradius;
            ObjectType = ObjectTypePdf.CIRCLE;
        }
    }
}
