예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }