166 lines
5.2 KiB
C#
166 lines
5.2 KiB
C#
using ceTe.DynamicPDF;
|
|
using PDFGenerator.Entity;
|
|
using PDFGenerator.Presentation.Section.Tables;
|
|
|
|
namespace PDFGenerator.Entity
|
|
{
|
|
/// <summary>
|
|
/// Rappresenta un rettangolo.
|
|
/// Utilizza la classe primitiva ceTe.DynamicPDF.PageElements.Rectangle.
|
|
/// </summary>
|
|
public class RectanglePDF : ObjectPDF
|
|
{
|
|
#region Fields
|
|
|
|
private ColorPDF _color = new ColorPDF(232, 236, 237);
|
|
private LineStylePDF _borderStyle = LineStylePDF.Solid;
|
|
|
|
/// <summary>
|
|
/// Imposta o ottiene l'elemento base (PageElement)
|
|
/// </summary>
|
|
public ceTe.DynamicPDF.PageElements.Rectangle BaseElement { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la X del documento su cui disegnare il rettangolo.
|
|
/// </summary>
|
|
public float X { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la Y del documento su cui disegnare il rettangolo.
|
|
/// </summary>
|
|
public float Y { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la larghezza del rettangolo.
|
|
/// </summary>
|
|
public float Width { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera l'altezza del rettangolo.
|
|
/// </summary>
|
|
public float Height { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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;
|
|
/// </summary>
|
|
public float DeltaY { get; set; }
|
|
|
|
public float DeltaX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera il colore del rettangolo.
|
|
/// Di default = ColorPDF(232, 236, 237).
|
|
/// </summary>
|
|
public ColorPDF Color
|
|
{
|
|
get { return _color; }
|
|
set { _color = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ottiene o imposta un valore che rappresenta il grado di arrotondamento degli angoli.
|
|
/// Di default=0.
|
|
/// </summary>
|
|
public float CornerRadius { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera l'angolazione.
|
|
/// Di default= 0.
|
|
/// </summary>
|
|
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
|
|
|
|
/// <summary>
|
|
/// Costruisce un nuovo oggetto rettangolo.
|
|
/// </summary>
|
|
public RectanglePDF()
|
|
{
|
|
CornerRadius = 0;
|
|
DeltaY = 0;
|
|
ObjectType = ObjectTypePdf.RECTANGLE;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruisce un nuovo oggetto rettangolo.
|
|
/// </summary>
|
|
/// <param name="x">Valore della X in cui disegnare il rettangolo</param>
|
|
/// <param name="height">Altezza del rettangolo</param>
|
|
/// <param name="width">Larghezza del rettangolo</param>
|
|
/// <param name="color">Colore del rettangolo</param>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruisce un nuovo oggetto rettangolo.
|
|
/// </summary>
|
|
/// <param name="x">Valore della X in cui disegnare il rettangolo</param>
|
|
/// <param name="y">Valore della Y in cui disegnare il rettangolo</param>
|
|
/// <param name="height">Altezza del rettangolo</param>
|
|
/// <param name="width">Larghezza del rettangolo</param>
|
|
/// <param name="color">Colore del rettangolo</param>
|
|
public RectanglePDF(float x, float y, float height, float width, ColorPDF color)
|
|
: this(x, height, width, color)
|
|
{
|
|
Y = y;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 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
|
|
/// </summary>
|
|
/// <param name="height">Altezza del rettangolo</param>
|
|
/// <param name="width">Larghezza del rettangolo</param>
|
|
/// <param name="color">Colore del rettangolo</param>
|
|
public RectanglePDF(float height, float width, ColorPDF color)
|
|
: this()
|
|
{
|
|
Height = height;
|
|
Width = width;
|
|
_color = color;
|
|
}
|
|
#endregion
|
|
|
|
#region Metodi
|
|
|
|
/// <summary>
|
|
/// Ritorna l'oggetto che sarà stampato sulla pagina del documento.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override PageElement ToElement()
|
|
{
|
|
return BaseElement;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
public class LineStylePDF
|
|
{
|
|
public static LineStylePDF Solid { get; set; }
|
|
}
|
|
}
|