<!DOCTYPE html>
<html lang='en'>
<head>
 <title>struct-dom-13-f-manual.svg</title>
 <meta charset='utf-8'>
</head>
<body>
 <h1>Source SVG: struct-dom-13-f-manual.svg</h1>
<svg id="svg-root" width="100%" height="100%"
  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink" onload="test()">
  <!--======================================================================-->
  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
  <!--=  Institute of Technology, European Research Consortium for         =-->
  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
  <!--=  All Rights Reserved.                                              =-->
  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
  <!--======================================================================-->
  
  <title id="test-title">$RCSfile: struct-dom-13-f.svg,v $</title>
  <defs>
    <font-face
      font-family="SVGFreeSansASCII"
      unicode-range="U+0-7F">
      <font-face-src>
        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
      </font-face-src>
    </font-face>
  </defs>
  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
	<defs>
		<style>
			.passed { fill: lime }
			.failed { fill: red }
			.result { font: 9px monospace; fill: black }
		</style>
	</defs>

	<g visibility="hidden">
		<circle id="c1" cx="40" cy="40" r="10" fill="blue" stroke="lime"/>
		<circle id="c2" cx="10" cy="50" r="10" fill="red" stroke="lime"/>
		<circle id="c3" cx="20" cy="20" r="20" fill="green" stroke="lime"/>
		<line id="l1" x1="5" y1="5" x2="40" y2="20" stroke="black"/>
		<line id="l2" x1="20" y1="20" x2="40" y2="30" stroke="red"/>

		<rect id="r1" x="10" y="10" width="50" height="50" fill="none" stroke="red"/>

		<circle id="c4" cx="80" cy="50" r="10" fill="yellow"/>
	</g>
	
	<script><![CDATA[
	var ypos = 100;
	
	function verify(str, result)
	{
		var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
		var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
		var t = document.createElementNS("http://www.w3.org/2000/svg", "text");
		t.textContent = str + ": " + (result ? "PASSED" : "FAILED");
		t.setAttribute("class", "result");
		t.setAttribute("x", "10");
		t.setAttribute("y", "7");
		r.setAttribute("y", "1");
		r.setAttribute("width", "5");
		r.setAttribute("height", "5");
		g.setAttribute("class", result ? "passed" : "failed");
		g.appendChild(r);
		g.appendChild(t);
		g.setAttribute("transform", "translate(280 " + ypos + ")");
		ypos += 10;
		document.getElementById("test-body-content").appendChild(g);
	}
		
	function test()
	{
		var root = document.documentElement; //document.getElementById("test-root");
		var rect = root.createSVGRect();
		rect.x = 10;
		rect.y = 10;
		rect.width = 50;
		rect.height = 50;
		
		var tests = { "c1" : true, "c2" : true, "c3" : true, "l1" : true, "l2" : true, "r1" : true, "c4" : false };
		
		verify("checkIntersection", root.checkIntersection);
		
		if(root.checkIntersection)
		{
			for(var test in tests)
			{
				try 
				{
					var elm = document.getElementById(test);
					var result = root.checkIntersection(elm, rect);
				
					verify(test, result == tests[test]);
				} 
				catch(e)
				{
					verify(test, false);
				}
			}
		}
		
		verify("getIntersectionList", root.getIntersectionList);
		
		if(root.getIntersectionList)
		{
			var expected = [ "c1", "c2", "c3", "l1", "l2", "r1" ];
			try 
			{
				var list = root.getIntersectionList(rect, null);
				verify("call", true);
			}
			catch(e)
			{
				verify("call", false);
			}
			
			try
			{
				verify("length", expected.length == list.length);
			}
			catch(e)
			{
				verify("length", false);
			}
			
			for(var i = 0; i < expected.length; i++)
			{
				var elm = document.getElementById(expected[i]);
				try
				{
					verify("has " + expected[i], elm === list.item(i))
				}
				catch(e)
				{
					verify("has " + expected[i], false);
				}
			}
		}
	}

	]]></script>
  </g>
  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
    <text id="revision" x="10" y="340" stroke="none"
      fill="black">$Revision: 1.4 $</text>
  </g>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
  <!-- comment out this watermark once the test is approved -->
  <g id="draft-watermark">
    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
  </g>
</svg>
</body>
</html>
