Browse Source

Add size tracking canvas.

Bebo-Maker 3 years ago
parent
commit
726759f47a
2 changed files with 17 additions and 1 deletions
  1. 1 1
      QuestPDF/Drawing/FreeCanvas.cs
  2. 16 0
      QuestPDF/Drawing/SizeTrackingCanvas.cs

+ 1 - 1
QuestPDF/Drawing/FreeCanvas.cs

@@ -17,7 +17,7 @@ namespace QuestPDF.Drawing
             
         }
 
-        public void BeginPage(Size size)
+        public virtual void BeginPage(Size size)
         {
             
         }

+ 16 - 0
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<Size> _pageSizes = new();
+        public IReadOnlyList<Size> PageSizes => _pageSizes;
+
+        public override void BeginPage(Size size)
+        {
+            _pageSizes.Add(size);
+        }
+    }
+}