AngleSharp by AngleSharp

<PackageReference Include="AngleSharp" Version="0.9.11" />

.NET API 1,230,848 bytes

 CssPerspectiveOriginProperty

More information available at: https://developer.mozilla.org/en-US/docs/Web/CSS/perspective-origin Gets the position of the abscissa of the vanishing point. Gets the position of the ordinate of the vanishing point.
using AngleSharp.Css; using AngleSharp.Css.Values; using AngleSharp.Extensions; namespace AngleSharp.Dom.Css { internal sealed class CssPerspectiveOriginProperty : CssProperty { private static readonly IValueConverter PerspectiveConverter = Converters.LengthOrPercentConverter.Or(Keywords.Left, new Point(Length.Zero, Length.Half)).Or(Keywords.Center, new Point(Length.Half, Length.Half)).Or(Keywords.Right, new Point(Length.Full, Length.Half)) .Or(Keywords.Top, new Point(Length.Half, Length.Zero)) .Or(Keywords.Bottom, new Point(Length.Half, Length.Full)) .Or(Converters.WithAny(Converters.LengthOrPercentConverter.Or(Keywords.Left, Length.Zero).Or(Keywords.Right, Length.Full).Or(Keywords.Center, Length.Half) .Option(Length.Half), Converters.LengthOrPercentConverter.Or(Keywords.Top, Length.Zero).Or(Keywords.Bottom, Length.Full).Or(Keywords.Center, Length.Half) .Option(Length.Half))) .OrDefault(Point.Center); internal override IValueConverter Converter => PerspectiveConverter; internal CssPerspectiveOriginProperty() : base(PropertyNames.PerspectiveOrigin, PropertyFlags.Animatable) { } } }