using ceTe.DynamicPDF;
using Consulenza.ReportWriter.Business.Entity;
namespace Consulenza.ReportWriter.Business.OBJ_PDF
{
///
/// 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.
///
public class LinePDF : ObjectPDF
{
#region Fields
private float _width = 0.5F;
private ColorPDF _color = ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella;
private LineStyle _borderStyle = LineStyle.Solid;
///
/// Imposta o ottiene l'elemento base (PageElement)
///
public ceTe.DynamicPDF.PageElements.Line BaseElement { get; set; }
///
/// Imposta o recupera la X iniziale del documento su cui disegnare la linea.
///
public float X1 { get; set; }
///
/// Imposta o recupera la Y iniziale del documento su cui disegnare la linea.
///
public float Y1 { get; set; }
///
/// Imposta o recupera la X finale del documento su cui disegnare la linea.
///
public float X2 { get; set; }
///
/// Imposta o recupera la Y finale del documento su cui disegnare la linea.
///
public float Y2 { get; set; }
///
/// Imposta o recupera la larghezza intesa come spessore della linea.
///
public float Width
{
get { return _width; }
set { _width = value; }
}
public LineStyle BorderStyle {
get{ return _borderStyle; }
set{ _borderStyle = value; }
}
///
/// Imposta o recupera un valore che è l'incremento algebrigo della Y2.
/// Questa proprietà va utilizzata per disegnare linee verticali.
/// Di default=0;
///
public float DeltaY2ForVerticalLine { get; set; }
///
/// 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;
///
public float DeltaY { get; set; }
///
/// Imposta o recupera il colore della linea.
/// Di default = ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella.
///
public ColorPDF Color
{
get { return _color; }
set { _color = value; }
}
#endregion
#region Costruttori
///
/// Costruttore
///
public LinePDF()
{
DeltaY = 0;
DeltaY2ForVerticalLine = 0;
ObjectType = ObjectTypePdf.LINE;
}
///
/// Costruttore
///
/// X iniziale da cui iniziare a disegnare la linea.
/// X finale in cui terminare il disegno della linea.
public LinePDF(float x1, float x2)
: this()
{
X1 = x1;
X2 = x2;
Y1 = 0;
Y2 = 0;
}
///
/// Costruttore
///
/// X iniziale da cui iniziare a disegnare la linea.
/// X finale in cui terminare il disegno della linea.
/// Spessore della linea.Se non impostato=1.
public LinePDF(float x1, float x2, float width)
: this(x1, x2)
{
_width = width;
}
///
/// Costruttore
///
/// X iniziale da cui iniziare a disegnare la linea.
/// X finale in cui terminare il disegno della linea.
/// Spessore della linea.Se non impostato=1.
/// Colore della linea.Se non impostato è ColorPDF.ConsulenzaBase_Grigio_BordoColonnaHeaderFooterTabella.
public LinePDF(float x1, float x2, float width, ColorPDF color)
: this(x1, x2, width)
{
_color = color;
}
///
/// Costruttore
///
/// X iniziale da cui iniziare a disegnare la linea.
/// Y iniziale da cui iniziare a disegnare la linea.
/// X finale in cui terminare il disegno della linea.
/// Y finale in cui terminare il disegno della linea.
public LinePDF(float x1, float y1, float x2, float y2)
: this()
{
X1 = x1;
Y1 = y1;
X2 = x2;
Y2 = y2;
}
///
/// Costruttore
///
/// X iniziale da cui iniziare a disegnare la linea.
/// Y iniziale da cui iniziare a disegnare la linea.
/// X finale in cui terminare il disegno della linea.
/// Y finale in cui terminare il disegno della linea.
/// Spessore della linea.Se non impostato=1.
public LinePDF(float x1, float y1, float x2, float y2, float width)
: this(x1, y1, x2, y2)
{
_width = width;
}
///
/// Costruttore
///
/// X iniziale da cui iniziare a disegnare la linea.
/// Y iniziale da cui iniziare a disegnare la linea.
/// X finale in cui terminare il disegno della linea.
/// Y finale in cui terminare il disegno della linea.
/// Spessore della linea.Se non impostato=1.
/// Colore della linea.Se non impostato è ColorPDF(118, 136, 155).
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
///
/// Ritorna l'oggetto che sarà stampato sulla pagina del documento.
///
///
public override PageElement ToElement()
{
return BaseElement;
}
#endregion
}
}