Browse Source

Reduced allocations: Extend Fluent API

Marcin Ziąbek 2 years ago
parent
commit
5663a65cf4
1 changed files with 7 additions and 5 deletions
  1. 7 5
      Source/QuestPDF/Fluent/ExtendExtensions.cs

+ 7 - 5
Source/QuestPDF/Fluent/ExtendExtensions.cs

@@ -6,10 +6,12 @@ namespace QuestPDF.Fluent
 {
 {
     public static class ExtendExtensions
     public static class ExtendExtensions
     {
     {
-        private static IContainer Extend(this IContainer element, Action<Extend> handler)
+        private static IContainer Extend(this IContainer element, bool vertical = false, bool horizontal = false)
         {
         {
             var extend = element as Extend ?? new Extend();
             var extend = element as Extend ?? new Extend();
-            handler(extend);
+
+            extend.ExtendVertical |= vertical;
+            extend.ExtendHorizontal |= horizontal;
             
             
             return element.Element(extend);
             return element.Element(extend);
         }
         }
@@ -20,7 +22,7 @@ namespace QuestPDF.Fluent
         /// </summary>
         /// </summary>
         public static IContainer Extend(this IContainer element)
         public static IContainer Extend(this IContainer element)
         {
         {
-            return element.ExtendVertical().ExtendHorizontal();
+            return element.Extend(horizontal: true, vertical: true);
         }
         }
         
         
         /// <summary>
         /// <summary>
@@ -29,7 +31,7 @@ namespace QuestPDF.Fluent
         /// </summary>
         /// </summary>
         public static IContainer ExtendVertical(this IContainer element)
         public static IContainer ExtendVertical(this IContainer element)
         {
         {
-            return element.Extend(x => x.ExtendVertical = true);
+            return element.Extend(vertical: true);
         }
         }
         
         
         /// <summary>
         /// <summary>
@@ -38,7 +40,7 @@ namespace QuestPDF.Fluent
         /// </summary>
         /// </summary>
         public static IContainer ExtendHorizontal(this IContainer element)
         public static IContainer ExtendHorizontal(this IContainer element)
         {
         {
-            return element.Extend(x => x.ExtendHorizontal = true);
+            return element.Extend(horizontal: true);
         }
         }
     }
     }
 }
 }