Files
QuestPDF/QuestPDF/Fluent/PageExtensions.cs
T
2021-04-03 00:13:14 +02:00

57 lines
1.3 KiB
C#

using System;
using QuestPDF.Elements;
using QuestPDF.Infrastructure;
namespace QuestPDF.Fluent
{
public class PageDescriptor
{
internal Page Page { get; } = new Page();
public IContainer Header()
{
var container = new Container();
Page.Header = container;
return container;
}
public void Header(Action<IContainer> handler)
{
handler?.Invoke(Header());
}
public IContainer Content()
{
var container = new Container();
Page.Content = container;
return container;
}
public void Content(Action<IContainer> handler)
{
handler?.Invoke(Content());
}
public IContainer Footer()
{
var container = new Container();
Page.Footer = container;
return container;
}
public void Footer(Action<IContainer> handler)
{
handler?.Invoke(Footer());
}
}
public static class PageExtensions
{
public static void Page(this IContainer document, Action<PageDescriptor> handler)
{
var descriptor = new PageDescriptor();
handler(descriptor);
document.Component(descriptor.Page);
}
}
}