using ceTe.DynamicPDF; using PDFGenerator.Entity; using PDFGenerator.Presentation.Section.Tables; namespace PDFGenerator.Entity { /// /// Rappresenta un rettangolo. /// Utilizza la classe primitiva ceTe.DynamicPDF.PageElements.Rectangle. /// public class RectanglePDF : ObjectPDF { #region Fields private ColorPDF _color = new ColorPDF(232, 236, 237); private LineStylePDF _borderStyle = LineStylePDF.Solid; /// /// Imposta o ottiene l'elemento base (PageElement) /// public ceTe.DynamicPDF.PageElements.Rectangle BaseElement { get; set; } /// /// Imposta o recupera la X del documento su cui disegnare il rettangolo. /// public float X { get; set; } /// /// Imposta o recupera la Y del documento su cui disegnare il rettangolo. /// public float Y { get; set; } /// /// Imposta o recupera la larghezza del rettangolo. /// public float Width { get; set; } /// /// Imposta o recupera l'altezza del rettangolo. /// public float Height { get; set; } /// /// Imposta o recupera un valore che indica l'incremento algebrico dell'incremento standard di Y. /// Utilizzare questa proprietà se si vuole incrementare o decrementare la Y assegnata automaticamente dal motore di renderizzazione. /// Di default=0; /// public float DeltaY { get; set; } public float DeltaX { get; set; } /// /// Imposta o recupera il colore del rettangolo. /// Di default = ColorPDF(232, 236, 237). /// public ColorPDF Color { get { return _color; } set { _color = value; } } /// /// Ottiene o imposta un valore che rappresenta il grado di arrotondamento degli angoli. /// Di default=0. /// public float CornerRadius { get; set; } /// /// Imposta o recupera l'angolazione. /// Di default= 0. /// public float Angle { get; set; } #endregion #region Bordo public ColorPDF BorderColor { get; set; } public LineStylePDF BorderStyle { get { return _borderStyle; } set { _borderStyle = value; } } public float BorderWidth { get; set; } #endregion #region Costruttori /// /// Costruisce un nuovo oggetto rettangolo. /// public RectanglePDF() { CornerRadius = 0; DeltaY = 0; ObjectType = ObjectTypePdf.RECTANGLE; } /// /// Costruisce un nuovo oggetto rettangolo. /// /// Valore della X in cui disegnare il rettangolo /// Altezza del rettangolo /// Larghezza del rettangolo /// Colore del rettangolo public RectanglePDF(float x, float height, float width, ColorPDF color) : this(height, width, color) { ObjectType = ObjectTypePdf.RECTANGLE; X = x; Height = height; Width = width; _color = color; } /// /// Costruisce un nuovo oggetto rettangolo. /// /// Valore della X in cui disegnare il rettangolo /// Valore della Y in cui disegnare il rettangolo /// Altezza del rettangolo /// Larghezza del rettangolo /// Colore del rettangolo public RectanglePDF(float x, float y, float height, float width, ColorPDF color) : this(x, height, width, color) { Y = y; } /// /// Costruisce un nuovo oggetto rettangolo. /// Utilizzare questo costruttore senza X ed Y solo per aggiungere un oggetto RectanglePDF come ValueObject di una TablePDF in una colonna di tipo TipoColonna.OBJECTPDF /// /// Altezza del rettangolo /// Larghezza del rettangolo /// Colore del rettangolo public RectanglePDF(float height, float width, ColorPDF color) : this() { Height = height; Width = width; _color = color; } #endregion #region Metodi /// /// Ritorna l'oggetto che sarà stampato sulla pagina del documento. /// /// public override PageElement ToElement() { return BaseElement; } #endregion } public class LineStylePDF { public static LineStylePDF Solid { get; set; } } }