/// <summary> /// It creates a new empty SVG document that contains just the root element. /// If a current document exists, it is destroyed. /// </summary> /// <returns> /// The root element of the SVG document. /// </returns> public SvgRoot CreateNewDocument() { if (m_root != null) { m_root = null; m_nNextId = 1; m_elements.Clear(); } m_root = new SvgRoot(this); m_root.setInternalId(m_nNextId++); m_elements.Add(m_root.getInternalId(), m_root); m_sXmlDeclaration = "<?xml version=\"1.0\"?>"; m_sXmlDocType = "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">"; m_root.SetAttributeValue(SvgAttribute._SvgAttribute.attrSvg_XmlNs, "http://www.w3.org/2000/svg"); m_root.SetAttributeValue(SvgAttribute._SvgAttribute.attrSvg_Version, "1.1"); return(m_root); }
/// <summary> /// It creates a new element according to the element name provided /// and it adds the new element as the last children of the given parent element. /// </summary> /// <param name="parent">Parent element. If null the element is added under the root.</param> /// <param name="sName">SVG element name.</param> /// <returns>The new created element.</returns> public SvgElement AddElement(SvgElement parent, string sName) { SvgElement eleToReturn = null; if (sName == "svg") { m_root = new SvgRoot(this); m_root.setInternalId(m_nNextId++); m_elements.Add(m_root.getInternalId(), m_root); eleToReturn = m_root; } else if (sName == "desc") { eleToReturn = AddDesc(parent); } else if (sName == "text") { eleToReturn = AddText(parent); } else if (sName == "g") { eleToReturn = AddGroup(parent); } else if (sName == "rect") { eleToReturn = AddRect(parent); } else if (sName == "circle") { eleToReturn = AddCircle(parent); } else if (sName == "ellipse") { eleToReturn = AddEllipse(parent); } else if (sName == "line") { eleToReturn = AddLine(parent); } else if (sName == "path") { eleToReturn = AddPath(parent); } else if (sName == "polygon") { eleToReturn = AddPolygon(parent); } else if (sName == "image") { eleToReturn = AddImage(parent); } else { if (parent != null) { eleToReturn = AddUnsupported(parent, sName); } } return(eleToReturn); }