|
using System;
namespace AngleSharp.DOM.Svg
{
/// <summary>
/// Represents an element of the SVG DOM.
/// </summary>
public class SVGElement : Element
{
#region Constants
internal const String RootTag = "svg";
#endregion
#region ctor
/// <summary>
/// Creates a new SVG element.
/// </summary>
internal SVGElement()
{
_ns = Namespaces.Svg;
}
#endregion
#region Internal properties
/// <summary>
/// Gets the status if the current node is in the MathML namespace.
/// </summary>
internal protected override Boolean IsInSvg
{
get { return true; }
}
/// <summary>
/// Gets the status if the node is an HTML text integration point.
/// </summary>
protected internal override Boolean IsHtmlTIP
{
get { return IsSpecial; }
}
/// <summary>
/// Gets if the node is in the special category.
/// </summary>
protected internal override Boolean IsSpecial
{
get { return _name == "foreignObject" || _name == "desc" || _name == "title"; }
}
#endregion
#region Methods
/// <summary>
/// Returns a duplicate of the node on which this method was called.
/// </summary>
/// <param name="deep">Optional value: true if the children of the node should also be cloned, or false to clone only the specified node.</param>
/// <returns>The duplicate node.</returns>
public override Node CloneNode(Boolean deep = true)
{
var node = Factory(_name);
CopyProperties(this, node, deep);
return node;
}
/// <summary>
/// Returns a specialized SVGElement instance for the given tag name.
/// </summary>
/// <param name="tagName">The given tag name.</param>
/// <returns>The specialized SVGElement instance.</returns>
public static SVGElement Factory(String tagName)
{
return new SVGElement { _name = tagName };
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.
During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.
Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.