Преглед на файлове

Text: fixed drawing injected element

Marcin Ziąbek преди 1 година
родител
ревизия
a2b7fb31df
променени са 2 файла, в които са добавени 10 реда и са изтрити 3 реда
  1. 5 2
      Source/QuestPDF/Elements/Text/Items/TextBlockElement.cs
  2. 5 1
      Source/QuestPDF/Elements/Text/TextBlock.cs

+ 5 - 2
Source/QuestPDF/Elements/Text/Items/TextBlockElement.cs

@@ -9,11 +9,14 @@ namespace QuestPDF.Elements.Text.Items
         public Element Element { get; set; } = Empty.Instance;
         public Size ElementSize { get; set; } = Size.Zero;
 
-        public void UpdateElementSize(IPageContext pageContext, ICanvas canvas)
+        public void ConfigureElement(IPageContext pageContext, ICanvas canvas)
         {
             Element.VisitChildren(x => (x as IStateResettable)?.ResetState());
             Element.InjectDependencies(pageContext, canvas);
-            
+        }
+        
+        public void UpdateElementSize()
+        {
             ElementSize = Element.Measure(Size.Max);
         }
     }

+ 5 - 1
Source/QuestPDF/Elements/Text/TextBlock.cs

@@ -159,6 +159,8 @@ namespace QuestPDF.Elements.Text
                 {
                     var placeholder = PlaceholderPositions[placeholderIndex];
                     var associatedElement = elementItems[placeholderIndex];
+                    
+                    associatedElement.ConfigureElement(PageContext, Canvas);
 
                     var offset = new Position(placeholder.Left, placeholder.Top);
                     
@@ -261,7 +263,9 @@ namespace QuestPDF.Elements.Text
                 }
                 else if (textBlockItem is TextBlockElement textBlockElement)
                 {
-                    textBlockElement.UpdateElementSize(PageContext, Canvas);
+                    textBlockElement.ConfigureElement(PageContext, Canvas);
+                    textBlockElement.UpdateElementSize();
+                    
                     paragraphBuilder.AddPlaceholder(new SkPlaceholderStyle
                     {
                         Width = textBlockElement.ElementSize.Width,