public void OnEndElement(string name) { Node node = new BlockCloseNode(Lookup(name), new AttributeList(), --_currentDepth); // Debug.Log("OnEndElement: "+name); if (_lastParent != null) { _lastParent = _lastParent.parent; } else { _lastParent = null; } node.parent = _lastParent; //Debug.Log("OnEndElement: "+node.name+", depth: "+node.depth); switch (node.name) { case SVGNodeName.LinearGradient: case SVGNodeName.RadialGradient: case SVGNodeName.ConicalGradient: AddNode(node); return; case SVGNodeName.Defs: DontPutInNodesRemove(node); break; case SVGNodeName.Symbol: DontPutInNodesRemove(node); break; case SVGNodeName.Image: DontPutInNodesRemove(node); break; case SVGNodeName.ClipPath: DontPutInNodesRemove(node); break; case SVGNodeName.Mask: DontPutInNodesRemove(node); break; default: if (dontPutInNodes.Count == 0) { AddNode(node); } break; } }
protected void GetNodesInternal(Node node, List<Node> nodes) { if (node == null) return; nodes.Add(node); int nodeChildrenCount = node.children.Count; for (int i = 0; i < nodeChildrenCount; i++) { GetNodesInternal(node.children [i], nodes); } if (node is BlockOpenNode) { //Lookup(name), ) Node endNode = new BlockCloseNode(node.name, new AttributeList(), node.depth); nodes.Add(endNode); } }
protected void GetNodesInternal(Node node, List<Node> nodes) { if (node == null) return; nodes.Add(node); int nodeChildrenCount = node.children.Count; for (int i = 0; i < nodeChildrenCount; i++) { GetNodesInternal(node.children [i], nodes); } if (node is BlockOpenNode) { //Lookup(name), ) Node endNode = new BlockCloseNode(node.name, new AttributeList(), node.depth); nodes.Add(endNode); } }
public void OnEndElement(string name) { Node node = new BlockCloseNode(Lookup(name), new AttributeList(), --_currentDepth); // Debug.Log("OnEndElement: "+name); if (_lastParent != null) { _lastParent = _lastParent.parent; } else { _lastParent = null; } node.parent = _lastParent; //Debug.Log("OnEndElement: "+node.name+", depth: "+node.depth); switch (node.name) { case SVGNodeName.LinearGradient: case SVGNodeName.RadialGradient: case SVGNodeName.ConicalGradient: AddNode(node); return; case SVGNodeName.Defs: DontPutInNodesRemove(node); break; case SVGNodeName.Symbol: DontPutInNodesRemove(node); break; case SVGNodeName.Image: DontPutInNodesRemove(node); break; case SVGNodeName.ClipPath: DontPutInNodesRemove(node); break; case SVGNodeName.Mask: DontPutInNodesRemove(node); break; default: if (dontPutInNodes.Count == 0) { AddNode(node); } break; } }