Skip to content

Commit 74145b3

Browse files
authored
Merge pull request #2375 from EPPlusSoftware/feature/DrawingRendererRefactor
Feature/drawing renderer refactor
2 parents f887709 + 7d74166 commit 74145b3

217 files changed

Lines changed: 1170 additions & 39173 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/DrawingRendererTest/DrawingRendererTest.csproj

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/DrawingRendererTest/Test1.cs

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/EPPlus.Export.ImageRenderer.Test/Chart/BarChartTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/Chart/BarChartTests.cs

File renamed without changes.

src/EPPlus.Export.ImageRenderer.Test/Chart/ColumnChartTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/Chart/ColumnChartTests.cs

File renamed without changes.

src/EPPlus.Export.ImageRenderer.Test/Chart/ComboChartTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/Chart/ComboChartTests.cs

File renamed without changes.

src/EPPlus.Export.ImageRenderer.Test/Chart/LineChartToSvgTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/Chart/LineChartToSvgTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,16 @@ public void GenerateSvgForComboCharts_sheet4()
7878
using (var p = OpenTemplatePackage("ChartForSvg.xlsx"))
7979
{
8080
var ws = p.Workbook.Worksheets[3];
81-
//var ix = 1;
82-
//var c = ws.Drawings[ix];
83-
//var svg = renderer.RenderDrawingToSvg(c);
84-
//SaveTextFileToWorkbook($"svg\\ChartForSvg_sheet2_{ix++}.svg", svg);
8581
var ix = 1;
86-
foreach (ExcelChart c in ws.Drawings)
87-
{
88-
var svg = c.ToSvg();
89-
SaveTextFileToWorkbook($"svg\\ChartForSvg_Combo_Sheet4{ix++}.svg", svg);
90-
}
82+
var c = ws.Drawings[ix];
83+
var svg = c.ToSvg();
84+
SaveTextFileToWorkbook($"svg\\ChartForSvg_sheet2_{ix++}.svg", svg);
85+
//var ix = 1;
86+
//foreach (ExcelChart c in ws.Drawings)
87+
//{
88+
// var svg = c.ToSvg();
89+
// SaveTextFileToWorkbook($"svg\\ChartForSvg_Combo_Sheet4{ix++}.svg", svg);
90+
//}
9191
}
9292
}
9393
[TestMethod]

src/EPPlus.Export.ImageRenderer.Test/Chart/PieChartTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/Chart/PieChartTests.cs

File renamed without changes.

src/EPPlus.Export.ImageRenderer.Test/Chart/TrendlineTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/Chart/TrendlineTests.cs

File renamed without changes.

src/EPPlus.Export.ImageRenderer.Test/DrawingShapeRenderer/SvgStandAloneTests.cs renamed to src/EPPlus.DrawingRenderer.Tests/DrawingShapeRenderer/SvgStandAloneTests.cs

Lines changed: 57 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
using System.Text;
1111
using System.Threading.Tasks;
1212
using EPPlus.DrawingRenderer.RenderItems.SvgItem;
13+
using EPPlus.Fonts.OpenType.Integration.RichText;
14+
using EPPlus.Fonts.OpenType.Integration.DataHolders;
15+
using System.Drawing;
1316

1417
namespace EPPlus.Export.ImageRenderer.Tests.DrawingShapeRenderer
1518
{
@@ -52,12 +55,12 @@ public void SvgRectTest()
5255
}
5356

5457
[TestMethod]
55-
public void SvgTextBoxTest()
58+
public void SvgTextRun()
5659
{
5760
BoundingBox bounds = new BoundingBox(0, 0, 500, 500);
5861
StringBuilder sb = new StringBuilder();
5962
var svgShapeRenderer = new SvgShapeRenderer(bounds, sb);
60-
63+
6164

6265
var baseGroup = new GroupRenderItem(bounds);
6366

@@ -67,31 +70,72 @@ public void SvgTextBoxTest()
6770
background.Height = bounds.Height;
6871
background.FillColor = "aliceBlue";
6972

70-
//var textBody = new RenderTextBody(baseGroup.Bounds, true);
73+
baseGroup.AddChildItem(background);
74+
75+
var rt = new RichTextFormatSimple();
76+
rt.Text = "My text";
77+
rt.UnderlineType = 1;
78+
rt.FontColor = System.Drawing.Color.Black;
79+
rt.Family = "Archivo Narrow";
80+
rt.SubFamily = OfficeOpenXml.Interfaces.Fonts.FontSubFamily.Regular;
81+
rt.Size = 12f;
82+
83+
//var paragraph = new SvgParagraphRenderItem()
84+
85+
var textRun = new SvgTextRunRenderItem(baseGroup.Bounds, rt, rt.Text);
86+
baseGroup.AddChildItem(textRun);
87+
88+
89+
List<RenderItem> items = new List<RenderItem>() { baseGroup };
7190

91+
svgShapeRenderer.Render(items);
92+
93+
var svg = sb.ToString();
94+
95+
96+
SaveTextFileToWorkbook("svg\\textRunStandAlone.svg", svg);
97+
}
98+
99+
[TestMethod]
100+
public void SvgTextBodyTest()
101+
{
102+
BoundingBox bounds = new BoundingBox(0, 0, 500, 500);
103+
StringBuilder sb = new StringBuilder();
104+
var svgShapeRenderer = new SvgShapeRenderer(bounds, sb);
72105

73-
//textBody.
74-
//textBody.Text = "Hello";
75-
//var para = new SvgParagraphRenderItem(textBody, textBody.Bounds);
76106

77-
78-
//var para2 = new DrawingParagraphRenderItem(textBody, textBody.Bounds);
79-
//textBody.Paragraphs.Add
107+
var baseGroup = new GroupRenderItem(bounds);
80108

109+
var background = new RectRenderItem(baseGroup.Bounds);
81110

82-
//para.Runs.Add()
111+
background.Width = bounds.Width;
112+
background.Height = bounds.Height;
113+
background.FillColor = "aliceBlue";
83114

84-
//baseGroup.AddChildItem(background);
85-
//baseGroup.AddChildItem(textBody);
115+
baseGroup.Bounds.Width = bounds.Width;
116+
baseGroup.Bounds.Height = bounds.Height;
117+
118+
var textBody = new SvgTextBodyRenderItem(baseGroup.Bounds, true);
119+
var paragraph = textBody.AddParagraph("Hello");
120+
121+
paragraph.AddText(" There");
122+
123+
var rtItem = new RichTextFormatSimple("Second paragraph", "Archivo Narrow", 16f, true);
124+
rtItem.FontColor = Color.DarkGreen;
125+
var para2 = textBody.AddParagraph(rtItem);
126+
127+
baseGroup.AddChildItem(textBody);
128+
baseGroup.AddChildItem(background);
86129

87130
List<RenderItem> items = new List<RenderItem>() { baseGroup };
131+
textBody.AppendRenderItems(items);
88132

89133
svgShapeRenderer.Render(items);
90134

91135
var svg = sb.ToString();
92136

93137

94-
SaveTextFileToWorkbook("svg\\textBoxStandAlone.svg", svg);
138+
SaveTextFileToWorkbook("svg\\textBodyStandAlone.svg", svg);
95139
}
96140
}
97141
}

src/EPPlus.Export.ImageRenderer.Test/EPPlus.Export.ImageRenderer.Tests.csproj renamed to src/EPPlus.DrawingRenderer.Tests/EPPlus.DrawingRenderer.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<SignAssembly>True</SignAssembly>
9-
<AssemblyOriginatorKeyFile>EPPlus.Export.ImageRenderer.Tests.snk</AssemblyOriginatorKeyFile>
9+
<AssemblyOriginatorKeyFile>EPPlus.DrawingRenderer.Tests.snk</AssemblyOriginatorKeyFile>
1010
</PropertyGroup>
1111

1212
<ItemGroup>

0 commit comments

Comments
 (0)