CssFontSizeProperty
Information:
https://developer.mozilla.org/en-US/docs/Web/CSS/font-size
using AngleSharp.Css;
using AngleSharp.Extensions;
namespace AngleSharp.Dom.Css
{
internal sealed class CssFontSizeProperty : CssProperty, ICssFontSizeProperty, ICssProperty
{
internal static readonly Length Default = FontSize.Medium.ToLength();
internal static readonly IValueConverter<Length> Converter = Converters.LengthOrPercentConverter.Or(Map.FontSizes.ToConverter().To((FontSize m) => m.ToLength()));
private Length _size;
public Length Size => _size;
internal CssFontSizeProperty(CssStyleDeclaration rule)
: base(PropertyNames.FontSize, rule, PropertyFlags.Inherited | PropertyFlags.Unitless | PropertyFlags.Animatable)
{
Reset();
}
private void SetSize(Length size)
{
_size = size;
}
internal override void Reset()
{
_size = Default;
}
protected override bool IsValid(ICssValue value)
{
return Converter.TryConvert(value, SetSize);
}
}
}