Browse Source

Cleanup

pull/490/head
Peter Forstmeier 11 years ago
parent
commit
b653ac7f6d
  1. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfHelper.cs
  2. 39
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs

8
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfHelper.cs

@ -75,6 +75,14 @@ namespace ICSharpCode.Reporting.Pdf
} }
public static XPen CreateDashedPen(IExportGraphics exportRectangle)
{
var pen = PdfHelper.PdfPen(exportRectangle);
pen.DashStyle = PdfHelper.DashStyle(exportRectangle);
return pen;
}
public static XSolidBrush CreateBrush(Color color) { public static XSolidBrush CreateBrush(Color color) {
return new XSolidBrush(color); return new XSolidBrush(color);
} }

39
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs

@ -33,7 +33,7 @@ namespace ICSharpCode.Reporting.Pdf
class PdfVisitor: AbstractVisitor class PdfVisitor: AbstractVisitor
{ {
readonly PdfDocument pdfDocument; readonly PdfDocument pdfDocument;
XGraphics gfx; XGraphics xGraphics;
XTextFormatter textFormatter; XTextFormatter textFormatter;
Point containerLocation; Point containerLocation;
@ -45,13 +45,14 @@ namespace ICSharpCode.Reporting.Pdf
public override void Visit(ExportPage page) public override void Visit(ExportPage page)
{ {
PdfPage = pdfDocument.AddPage(); PdfPage = pdfDocument.AddPage();
gfx = XGraphics.FromPdfPage(PdfPage); xGraphics = XGraphics.FromPdfPage(PdfPage);
textFormatter = new XTextFormatter(gfx); textFormatter = new XTextFormatter(xGraphics);
base.Visit(page); base.Visit(page);
} }
public override void Visit(ExportContainer exportContainer){ public override void Visit(ExportContainer exportContainer){
foreach (var element in exportContainer.ExportedItems) { foreach (var element in exportContainer.ExportedItems) {
if (IsContainer(element)) { if (IsContainer(element)) {
var container = element as ExportContainer; var container = element as ExportContainer;
@ -94,8 +95,8 @@ namespace ICSharpCode.Reporting.Pdf
void RenderDataRow (IExportContainer row) { void RenderDataRow (IExportContainer row) {
var r = new Rectangle(containerLocation,row.DisplayRectangle.Size);
System.Console.WriteLine("renderDataRow at {0} - {1}",containerLocation,row.Location); PdfHelper.FillRectangle(r,row.BackColor,xGraphics);
foreach (IAcceptor element in row.ExportedItems) { foreach (IAcceptor element in row.ExportedItems) {
element.Accept(this); element.Accept(this);
} }
@ -106,7 +107,7 @@ namespace ICSharpCode.Reporting.Pdf
var columnLocation = new Point(containerLocation.X + exportText.Location.X,containerLocation.Y + exportText.Location.Y); var columnLocation = new Point(containerLocation.X + exportText.Location.X,containerLocation.Y + exportText.Location.Y);
if (ShouldSetBackcolor(exportText)) { if (ShouldSetBackcolor(exportText)) {
var r = new Rectangle(columnLocation,exportText.DisplayRectangle.Size); var r = new Rectangle(columnLocation,exportText.DisplayRectangle.Size);
PdfHelper.FillRectangle(r,exportText.BackColor,gfx); PdfHelper.FillRectangle(r,exportText.BackColor,xGraphics);
} }
PdfHelper.WriteText(textFormatter,columnLocation, exportText); PdfHelper.WriteText(textFormatter,columnLocation, exportText);
@ -118,41 +119,29 @@ namespace ICSharpCode.Reporting.Pdf
{ {
var columnLocation = containerLocation; var columnLocation = containerLocation;
columnLocation.Offset(exportLine.Location); columnLocation.Offset(exportLine.Location);
var pen = PdfHelper.PdfPen(exportLine); var pen = PdfHelper.CreateDashedPen(exportLine);
pen.DashStyle = PdfHelper.DashStyle(exportLine); xGraphics.DrawLine(pen,columnLocation.ToXPoints(),new Point(exportLine.Size.Width,columnLocation.Y).ToXPoints());
pen.LineCap = PdfHelper.LineCap(exportLine);
gfx.DrawLine(pen,columnLocation.ToXPoints(),new Point(exportLine.Size.Width,columnLocation.Y).ToXPoints());
} }
public override void Visit (ExportRectangle exportRectangle) { public override void Visit (ExportRectangle exportRectangle) {
// var columnLocation = containerLocation; var pen = PdfHelper.CreateDashedPen(exportRectangle);
var pen = CreateDashedPen(exportRectangle); xGraphics.DrawRectangle(pen,
gfx.DrawRectangle(pen,
PdfHelper.CreateBrush(exportRectangle.BackColor), PdfHelper.CreateBrush(exportRectangle.BackColor),
new XRect(containerLocation.ToXPoints(), new XRect(containerLocation.ToXPoints(),
exportRectangle.Size.ToXSize())); exportRectangle.Size.ToXSize()));
} }
public override void Visit(ExportCircle exportCircle){ public override void Visit(ExportCircle exportCircle){
// var columnLocation = containerLocation; var pen = PdfHelper.CreateDashedPen(exportCircle);
var pen = CreateDashedPen(exportCircle); xGraphics.DrawEllipse(pen,
gfx.DrawEllipse(pen,
PdfHelper.CreateBrush(exportCircle.BackColor) , PdfHelper.CreateBrush(exportCircle.BackColor) ,
new XRect(containerLocation.ToXPoints(), new XRect(containerLocation.ToXPoints(),
exportCircle.Size.ToXSize())); exportCircle.Size.ToXSize()));
} }
static XPen CreateDashedPen(IExportGraphics exportRectangle)
{
var pen = PdfHelper.PdfPen(exportRectangle);
pen.DashStyle = PdfHelper.DashStyle(exportRectangle);
return pen;
}
public PdfPage PdfPage {get; private set;} public PdfPage PdfPage {get; private set;}
} }
} }

Loading…
Cancel
Save