200 lines
7.0 KiB
C#
200 lines
7.0 KiB
C#
using ceTe.DynamicPDF;
|
|
using Consulenza.ReportWriter.Business.Entity;
|
|
|
|
namespace Consulenza.ReportWriter.Business.OBJ_PDF
|
|
{
|
|
/// <summary>
|
|
/// Rappresenta una linea.
|
|
/// Se non specificato il colore della linea di base è ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella.
|
|
/// Di default viene disegnata una linea orizzonatale.
|
|
/// Impostando la _deltay2forverticalline la linea viene disegnata verticalmente.
|
|
/// Utilizza la classe primitiva ceTe.DynamicPDF.PageElements.Line.
|
|
/// </summary>
|
|
public class LinePDF : ObjectPDF
|
|
{
|
|
#region Fields
|
|
|
|
private float _width = 0.5F;
|
|
private ColorPDF _color = ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella;
|
|
private LineStyle _borderStyle = LineStyle.Solid;
|
|
|
|
/// <summary>
|
|
/// Imposta o ottiene l'elemento base (PageElement)
|
|
/// </summary>
|
|
public ceTe.DynamicPDF.PageElements.Line BaseElement { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la X iniziale del documento su cui disegnare la linea.
|
|
/// </summary>
|
|
public float X1 { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la Y iniziale del documento su cui disegnare la linea.
|
|
/// </summary>
|
|
public float Y1 { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la X finale del documento su cui disegnare la linea.
|
|
/// </summary>
|
|
public float X2 { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la Y finale del documento su cui disegnare la linea.
|
|
/// </summary>
|
|
public float Y2 { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la larghezza intesa come spessore della linea.
|
|
/// </summary>
|
|
public float Width
|
|
{
|
|
get { return _width; }
|
|
set { _width = value; }
|
|
}
|
|
|
|
public LineStyle BorderStyle {
|
|
get{ return _borderStyle; }
|
|
set{ _borderStyle = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera un valore che è l'incremento algebrigo della Y2.
|
|
/// Questa proprietà va utilizzata per disegnare linee verticali.
|
|
/// Di default=0;
|
|
/// </summary>
|
|
public float DeltaY2ForVerticalLine { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera un valore che indica l'incremento algebrico dell'incremento standard di Y1 e Y2.
|
|
/// 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; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera il colore della linea.
|
|
/// Di default = ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella.
|
|
/// </summary>
|
|
public ColorPDF Color
|
|
{
|
|
get { return _color; }
|
|
set { _color = value; }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Costruttori
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
public LinePDF()
|
|
{
|
|
DeltaY = 0;
|
|
DeltaY2ForVerticalLine = 0;
|
|
ObjectType = ObjectTypePdf.LINE;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x1">X iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="x2">X finale in cui terminare il disegno della linea.</param>
|
|
public LinePDF(float x1, float x2)
|
|
: this()
|
|
{
|
|
X1 = x1;
|
|
X2 = x2;
|
|
Y1 = 0;
|
|
Y2 = 0;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x1">X iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="x2">X finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="width">Spessore della linea.Se non impostato=1.</param>
|
|
public LinePDF(float x1, float x2, float width)
|
|
: this(x1, x2)
|
|
{
|
|
_width = width;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x1">X iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="x2">X finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="width">Spessore della linea.Se non impostato=1.</param>
|
|
/// <param name="color">Colore della linea.Se non impostato è ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella.</param>
|
|
public LinePDF(float x1, float x2, float width, ColorPDF color)
|
|
: this(x1, x2, width)
|
|
{
|
|
_color = color;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x1">X iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="y1">Y iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="x2">X finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="y2">Y finale in cui terminare il disegno della linea.</param>
|
|
public LinePDF(float x1, float y1, float x2, float y2)
|
|
: this()
|
|
{
|
|
X1 = x1;
|
|
Y1 = y1;
|
|
X2 = x2;
|
|
Y2 = y2;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x1">X iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="y1">Y iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="x2">X finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="y2">Y finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="width">Spessore della linea.Se non impostato=1.</param>
|
|
public LinePDF(float x1, float y1, float x2, float y2, float width)
|
|
: this(x1, y1, x2, y2)
|
|
{
|
|
_width = width;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x1">X iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="y1">Y iniziale da cui iniziare a disegnare la linea.</param>
|
|
/// <param name="x2">X finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="y2">Y finale in cui terminare il disegno della linea.</param>
|
|
/// <param name="width">Spessore della linea.Se non impostato=1.</param>
|
|
/// <param name="color">Colore della linea.Se non impostato è ColorPDF(118, 136, 155).</param>
|
|
public LinePDF(float x1, float y1, float x2, float y2, float width, ColorPDF color)
|
|
: this(x1, y1, x2, y2, 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
|
|
}
|
|
}
|