Svg2Xaml.SvgContainerBaseElement.SvgContainerBaseElement C# (CSharp) Method

SvgContainerBaseElement() public method

public SvgContainerBaseElement ( SvgDocument document, SvgBaseElement parent, System.Xml.Linq.XElement containerElement ) : System
document SvgDocument
parent SvgBaseElement
containerElement System.Xml.Linq.XElement
return System
        public SvgContainerBaseElement(SvgDocument document, SvgBaseElement parent, XElement containerElement)
            : base(document, parent, containerElement)
        {
            foreach(XElement element in from element in containerElement.Elements()
                                  where element.Name.NamespaceName == "http://www.w3.org/2000/svg"
                                  select element)
              switch(element.Name.LocalName)
              {
            case "svg":
              Children.Add(new SvgSVGElement(document, this, element));
              break;

            case "g":
              Children.Add(new SvgGElement(document, this, element));
              break;

            case "defs":
              Children.Add(new SvgDefsElement(document, this, element));
              break;

            case "symbol":
              Children.Add(new SvgSymbolElement(document, this, element));
              break;

            case "clipPath":
              Children.Add(new SvgClipPathElement(document, this, element));
              break;

            case "mask":
              Children.Add(new SvgMaskElement(document, this, element));
              break;

            case "pattern":
              Children.Add(new SvgPatternElement(document, this, element));
              break;

            case "marker":
              Children.Add(new SvgMarkerElement(document, this, element));
              break;

            case "a":
              Children.Add(new SvgAElement(document, this, element));
              break;

            case "switch":
              Children.Add(new SvgSwitchElement(document, this, element));
              break;

            case "path":
              Children.Add(new SvgPathElement(document, this, element));
              break;

            case "text":
              Children.Add(new SvgTextElement(document, this, element));
              break;

            case "rect":
              Children.Add(new SvgRectElement(document, this, element));
              break;

            case "circle":
              Children.Add(new SvgCircleElement(document, this, element));
              break;

            case "ellipse":
              Children.Add(new SvgEllipseElement(document, this, element));
              break;

            case "line":
              Children.Add(new SvgLineElement(document, this, element));
              break;

            case "polyline":
              Children.Add(new SvgPolylineElement(document, this, element));
              break;

            case "polygon":
              Children.Add(new SvgPolygonElement(document, this, element));
              break;

            case "image":
              Children.Add(new SvgImageElement(document, this, element));
              break;

            case "use":
              Children.Add(new SvgUseElement(document, this, element));
              break;

            case "linearGradient":
              Children.Add(new SvgLinearGradientElement(document, this, element));
              break;

            case "radialGradient":
              Children.Add(new SvgRadialGradientElement(document, this, element));
              break;

            case "filter":
              Children.Add(new SvgFilterElement(document, this, element));
              break;

            case "metadata":
              Children.Add(new SvgMetadataElement(document, this, element));
              break;

            case "flowRoot":
              Children.Add(new SvgFlowRootElement(document, this, element));
              break;

            case "flowRegion":
              Children.Add(new SvgFlowRegionElement(document, this, element));
              break;

            case "flowPara":
              Children.Add(new SvgFlowParaElement(document, this, element));
              break;

            case "flowSpan":
              Children.Add(new SvgFlowSpanElement(document, this, element));
              break;

            case "tspan":
              Children.Add(new SvgTSpanElement(document, this, element));
              break;

            case "foreignObject":
              Children.Add(new SvgForeignObjectElement(document, this, element));
              break;

            case "style":
              Children.Add(new SvgStyleElement(document, this, element));
              break;

            default:
              throw new NotImplementedException(String.Format("Unhandled element: {0}", element));
              }
        }
SvgContainerBaseElement