Browse Source

Minor code refactoring

MarcinZiabek 2 years ago
parent
commit
e01835cc55

+ 6 - 9
Source/QuestPDF/Drawing/DocumentGenerator.cs

@@ -64,7 +64,7 @@ namespace QuestPDF.Drawing
             var container = new DocumentContainer();
             document.Compose(container);
             var content = container.Compose();
-            ApplyDefaultTextStyle(content, TextStyle.Default);
+            ApplyInheritedAndGlobalTexStyle(content, TextStyle.Default);
             ApplyContentDirection(content, ContentDirection.LeftToRight);
             
             var debuggingState = Settings.EnableDebugging ? ApplyDebugging(content) : null;
@@ -192,7 +192,7 @@ namespace QuestPDF.Drawing
                 ApplyContentDirection(child, direction);
         }
 
-        internal static void ApplyDefaultTextStyle(this Element? content, TextStyle documentDefaultTextStyle)
+        internal static void ApplyInheritedAndGlobalTexStyle(this Element? content, TextStyle documentDefaultTextStyle)
         {
             if (content == null)
                 return;
@@ -202,13 +202,10 @@ namespace QuestPDF.Drawing
                 foreach (var textBlockItem in textBlock.Items)
                 {
                     if (textBlockItem is TextBlockSpan textSpan)
-                    {
                         textSpan.Style = textSpan.Style.ApplyInheritedStyle(documentDefaultTextStyle).ApplyGlobalStyle();
-                    }
-                    else if (textBlockItem is TextBlockElement textElement)
-                    {
-                        ApplyDefaultTextStyle(textElement.Element, documentDefaultTextStyle);
-                    }
+                    
+                    if (textBlockItem is TextBlockElement textElement)
+                        ApplyInheritedAndGlobalTexStyle(textElement.Element, documentDefaultTextStyle);
                 }
                 
                 return;
@@ -221,7 +218,7 @@ namespace QuestPDF.Drawing
                documentDefaultTextStyle = defaultTextStyleElement.TextStyle.ApplyInheritedStyle(documentDefaultTextStyle);
 
             foreach (var child in content.GetChildren())
-                ApplyDefaultTextStyle(child, documentDefaultTextStyle);
+                ApplyInheritedAndGlobalTexStyle(child, documentDefaultTextStyle);
         }
     }
 }

+ 1 - 1
Source/QuestPDF/Elements/Dynamic.cs

@@ -89,7 +89,7 @@ namespace QuestPDF.Elements
             var container = new DynamicElement();
             content(container);
             
-            container.ApplyDefaultTextStyle(TextStyle);
+            container.ApplyInheritedAndGlobalTexStyle(TextStyle);
             container.ApplyContentDirection(ContentDirection);
             
             container.InjectDependencies(PageContext, Canvas);

+ 3 - 3
Source/QuestPDF/Infrastructure/TextStyleManager.cs

@@ -228,12 +228,12 @@ namespace QuestPDF.Infrastructure
         internal static TextStyle ApplyInheritedStyle(this TextStyle style, TextStyle parent)
         {
             var cacheKey = (style, parent);
-            return TextStyleApplyInheritedCache.GetOrAdd(cacheKey, key => key.origin.ApplyStyleProperties(key.parent, overrideStyle: false, overrideFontFamily: false, applyFallback: true).UpdateFontFallback(true));
+            return TextStyleApplyInheritedCache.GetOrAdd(cacheKey, key => key.origin.ApplyStyleProperties(key.parent, overrideStyle: false, overrideFontFamily: false, applyFallback: true).UpdateFontFallback(overrideStyle: true));
         }
         
         internal static TextStyle ApplyGlobalStyle(this TextStyle style)
         {
-            return TextStyleApplyGlobalCache.GetOrAdd(style, key => key.ApplyStyleProperties(TextStyle.LibraryDefault, overrideStyle: false, overrideFontFamily: false, applyFallback: true).UpdateFontFallback(false));
+            return TextStyleApplyGlobalCache.GetOrAdd(style, key => key.ApplyStyleProperties(TextStyle.LibraryDefault, overrideStyle: false, overrideFontFamily: false, applyFallback: true).UpdateFontFallback(overrideStyle: false));
         }
         
         private static TextStyle UpdateFontFallback(this TextStyle style, bool overrideStyle)
@@ -258,7 +258,7 @@ namespace QuestPDF.Infrastructure
             
             result = MutateStyle(result, TextStyleProperty.Color, parent.Color, overrideStyle);
             result = MutateStyle(result, TextStyleProperty.BackgroundColor, parent.BackgroundColor, overrideStyle);
-            result = MutateStyle(result, TextStyleProperty.FontFamily, parent.FontFamily, overrideFontFamily);
+            result = MutateStyle(result, TextStyleProperty.FontFamily, parent.FontFamily, overrideStyle);
             result = MutateStyle(result, TextStyleProperty.Size, parent.Size, overrideStyle);
             result = MutateStyle(result, TextStyleProperty.LineHeight, parent.LineHeight, overrideStyle);
             result = MutateStyle(result, TextStyleProperty.LetterSpacing, parent.LetterSpacing, overrideStyle);