Files
QuestPDF/QuestPDF/Elements/SkipOnce.cs
T
2021-11-04 01:02:44 +01:00

34 lines
821 B
C#

using QuestPDF.Drawing;
using QuestPDF.Infrastructure;
namespace QuestPDF.Elements
{
internal class SkipOnce : ContainerElement, IStateResettable
{
private bool FirstPageWasSkipped { get; set; }
public void ResetState()
{
FirstPageWasSkipped = false;
}
internal override SpacePlan Measure(Size availableSpace)
{
if (Child == null || !FirstPageWasSkipped)
return SpacePlan.FullRender(Size.Zero);
return Child.Measure(availableSpace);
}
internal override void Draw(Size availableSpace)
{
if (Child == null)
return;
if (FirstPageWasSkipped)
Child.Draw(availableSpace);
FirstPageWasSkipped = true;
}
}
}