From 9770575f9ab349e9e03e29132a7b3d5e15c61129 Mon Sep 17 00:00:00 2001 From: MarcinZiabek Date: Wed, 19 Oct 2022 20:04:31 +0200 Subject: [PATCH] Column: added content direction support --- QuestPDF/Elements/Column.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/QuestPDF/Elements/Column.cs b/QuestPDF/Elements/Column.cs index 1579d6b..62a600c 100644 --- a/QuestPDF/Elements/Column.cs +++ b/QuestPDF/Elements/Column.cs @@ -19,8 +19,10 @@ namespace QuestPDF.Elements public Position Offset { get; set; } } - internal class Column : Element, ICacheable, IStateResettable + internal class Column : Element, ICacheable, IStateResettable, IContentDirectionAware { + public ContentDirection ContentDirection { get; set; } + internal List Items { get; } = new(); internal float Spacing { get; set; } @@ -75,9 +77,13 @@ namespace QuestPDF.Elements var targetSize = new Size(availableSpace.Width, command.Size.Height); - Canvas.Translate(command.Offset); + var offset = ContentDirection == ContentDirection.LeftToRight + ? command.Offset + : new Position(availableSpace.Width - command.Offset.X - command.Measurement.Width, command.Offset.Y); + + Canvas.Translate(offset); command.ColumnItem.Draw(targetSize); - Canvas.Translate(command.Offset.Reverse()); + Canvas.Translate(offset.Reverse()); } if (Items.All(x => x.IsRendered))