From 726759f47aa467244e6fc0ac4187330091b7e355 Mon Sep 17 00:00:00 2001 From: Bebo-Maker Date: Wed, 16 Mar 2022 22:45:57 +0100 Subject: [PATCH] Add size tracking canvas. --- QuestPDF/Drawing/FreeCanvas.cs | 2 +- QuestPDF/Drawing/SizeTrackingCanvas.cs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 QuestPDF/Drawing/SizeTrackingCanvas.cs diff --git a/QuestPDF/Drawing/FreeCanvas.cs b/QuestPDF/Drawing/FreeCanvas.cs index 251c9d1..70051ba 100644 --- a/QuestPDF/Drawing/FreeCanvas.cs +++ b/QuestPDF/Drawing/FreeCanvas.cs @@ -17,7 +17,7 @@ namespace QuestPDF.Drawing } - public void BeginPage(Size size) + public virtual void BeginPage(Size size) { } diff --git a/QuestPDF/Drawing/SizeTrackingCanvas.cs b/QuestPDF/Drawing/SizeTrackingCanvas.cs new file mode 100644 index 0000000..5c2e3b7 --- /dev/null +++ b/QuestPDF/Drawing/SizeTrackingCanvas.cs @@ -0,0 +1,16 @@ +using System.Collections.Generic; +using QuestPDF.Infrastructure; + +namespace QuestPDF.Drawing +{ + internal class SizeTrackingCanvas : FreeCanvas + { + private readonly List _pageSizes = new(); + public IReadOnlyList PageSizes => _pageSizes; + + public override void BeginPage(Size size) + { + _pageSizes.Add(size); + } + } +}