public static Task <SvgElement> LoadAsync(AngleSharp.Dom.Svg.ISvgElement element) { return(Task.FromResult <SvgElement>(new SvgRect() { X = SvgUnitValue.Parse(element.Attributes["x"]?.Value), Y = SvgUnitValue.Parse(element.Attributes["y"]?.Value), Width = SvgUnitValue.Parse(element.Attributes["width"]?.Value), Height = SvgUnitValue.Parse(element.Attributes["height"]?.Value), })); }
public static async Task <SvgElement> LoadElementAsync(AngleSharp.Dom.Svg.ISvgElement element) { switch (element.TagName) { case "svg": case "g": return(await SvgLayer.LoadLayerAsync(element)); case "rect": return(await SvgRect.LoadAsync(element)); default: return(null); } }
public static async Task <SvgElement> LoadLayerAsync(AngleSharp.Dom.Svg.ISvgElement element) { var layer = new SvgLayer(); var children = element.Children.OfType <ISvgElement>(); foreach (var c in children) { var elm = await SvgElement.LoadElementAsync(c); if (elm != null) { layer.Add(elm); } } return(layer); }