Files
QuestPDF/QuestPDF/Fluent/BorderExtensions.cs
T
2022-01-18 23:14:57 +01:00

63 lines
2.1 KiB
C#

using System;
using QuestPDF.Elements;
using QuestPDF.Infrastructure;
namespace QuestPDF.Fluent
{
public static class BorderExtensions
{
private static IContainer Border(this IContainer element, Action<Border> handler)
{
var border = element as Border ?? new Border();
handler(border);
return element.Element(border);
}
public static IContainer Border(this IContainer element, float value, Unit unit = Unit.Point)
{
return element
.BorderHorizontal(value, unit)
.BorderVertical(value, unit);
}
public static IContainer BorderVertical(this IContainer element, float value, Unit unit = Unit.Point)
{
return element
.BorderLeft(value, unit)
.BorderRight(value, unit);
}
public static IContainer BorderHorizontal(this IContainer element, float value, Unit unit = Unit.Point)
{
return element
.BorderTop(value, unit)
.BorderBottom(value, unit);
}
public static IContainer BorderLeft(this IContainer element, float value, Unit unit = Unit.Point)
{
return element.Border(x => x.Left = value.ToPoints(unit));
}
public static IContainer BorderRight(this IContainer element, float value, Unit unit = Unit.Point)
{
return element.Border(x => x.Right = value.ToPoints(unit));
}
public static IContainer BorderTop(this IContainer element, float value, Unit unit = Unit.Point)
{
return element.Border(x => x.Top = value.ToPoints(unit));
}
public static IContainer BorderBottom(this IContainer element, float value, Unit unit = Unit.Point)
{
return element.Border(x => x.Bottom = value.ToPoints(unit));
}
public static IContainer BorderColor(this IContainer element, string color)
{
return element.Border(x => x.Color = color);
}
}
}