Browse Source

TextColumn:DrawBorder in Pdf

pull/681/head
Peter Forstmeier 11 years ago
parent
commit
07b689ee0b
  1. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs
  2. 18
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfHelper.cs
  3. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs

@ -81,6 +81,9 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
return exportColumn.BackColor != Color.White; return exportColumn.BackColor != Color.White;
} }
protected static bool HasFrame (ExportColumn exportColummn) {
return exportColummn.DrawBorder;
}
protected Collection<ExportPage> Pages {get; private set;} protected Collection<ExportPage> Pages {get; private set;}

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

@ -55,9 +55,9 @@ namespace ICSharpCode.Reporting.Pdf
} }
public static XRect CreateDisplayRectangle(IExportColumn column) { // public static XRect CreateDisplayRectangle(IExportColumn column) {
return column.DisplayRectangle.ToXRect(); // return column.DisplayRectangle.ToXRect();
} // }
public static void DrawRectangle (IExportColumn column, XGraphics graphics) { public static void DrawRectangle (IExportColumn column, XGraphics graphics) {
@ -65,9 +65,15 @@ namespace ICSharpCode.Reporting.Pdf
} }
public static void FillRectangle(Rectangle rect,Color color,XGraphics graphics) { public static void FillRectangle(XRect rect,Color color,XGraphics graphics) {
var r = rect.ToXRect(); graphics.DrawRectangle(new XSolidBrush(ToXColor(color)),rect);
graphics.DrawRectangle(new XSolidBrush(ToXColor(color)),r); }
public static void DrawBorder (XRect rect,IExportColumn column,XGraphics graphics) {
var pen = new XPen(ToXColor(column.ForeColor),1);
// graphics.DrawRectangle(pen,rect);
rect.Inflate(new XSize(2,2));
graphics.DrawRectangle(pen,rect);
} }

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

@ -105,11 +105,15 @@ namespace ICSharpCode.Reporting.Pdf
public override void Visit(ExportText exportText){ public override void Visit(ExportText exportText){
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);
var columnRect = new Rectangle(columnLocation,exportText.DisplayRectangle.Size).ToXRect();
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,xGraphics); PdfHelper.FillRectangle(columnRect,exportText.BackColor,xGraphics);
} }
if (HasFrame(exportText)) {
PdfHelper.DrawBorder(columnRect,exportText,xGraphics);
}
PdfHelper.WriteText(textFormatter,columnLocation, exportText); PdfHelper.WriteText(textFormatter,columnLocation, exportText);
} }

Loading…
Cancel
Save