CssTextShadowProperty
Information can be found on MDN:
https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow
using AngleSharp.Css;
using AngleSharp.Css.Values;
using AngleSharp.Extensions;
using System.Collections.Generic;
namespace AngleSharp.Dom.Css
{
internal sealed class CssTextShadowProperty : CssProperty, ICssTextShadowProperty, ICssProperty
{
internal static readonly Shadow[] Default = new Shadow[0];
internal static readonly IValueConverter<Shadow[]> Converter = Converters.ShadowConverter.FromList().Or(Keywords.None, Default);
private readonly List<Shadow> _shadows;
public IEnumerable<Shadow> Shadows => _shadows;
internal CssTextShadowProperty(CssStyleDeclaration rule)
: base(PropertyNames.TextShadow, rule, PropertyFlags.Inherited | PropertyFlags.Animatable)
{
_shadows = new List<Shadow>();
}
public void SetShadows(IEnumerable<Shadow> shadows)
{
_shadows.Clear();
_shadows.AddRange(shadows);
}
internal override void Reset()
{
_shadows.Clear();
_shadows.AddRange(Default);
}
protected override bool IsValid(ICssValue value)
{
return Converter.TryConvert(value, SetShadows);
}
}
}