Esempio n. 1
0
 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),
     }));
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }