struct-dom-11-f-isvalid.html (4700B)
1 <!DOCTYPE html> 2 <html lang='en'> 3 <head> 4 <title>struct-dom-11-f-manual.svg</title> 5 <meta charset='utf-8'> 6 </head> 7 <body> 8 <h1>Source SVG: struct-dom-11-f-manual.svg</h1> 9 <svg id="svg-root" width="100%" height="100%" 10 viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 11 xmlns:xlink="http://www.w3.org/1999/xlink"> 12 <!--======================================================================--> 13 <!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =--> 14 <!--= Institute of Technology, European Research Consortium for =--> 15 <!--= Informatics and Mathematics (ERCIM), Keio University). =--> 16 <!--= All Rights Reserved. =--> 17 <!--= See http://www.w3.org/Consortium/Legal/. =--> 18 <!--======================================================================--> 19 20 <title id="test-title">$RCSfile: struct-dom-11-f.svg,v $</title> 21 <defs> 22 <font-face 23 font-family="SVGFreeSansASCII" 24 unicode-range="U+0-7F"> 25 <font-face-src> 26 <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/> 27 </font-face-src> 28 </font-face> 29 </defs> 30 <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18"> 31 32 <text x='10' y='40' font-size='13'>Test getIntersectionList and getEnclosureList return value liveness</text> 33 34 <rect id='r1' x='10' y='70' width='50' height='50' fill='black'/> 35 <text x='70' y='100'>getIntersectionList</text> 36 37 <rect id='r2' x='10' y='130' width='50' height='50' fill='black'/> 38 <text x='70' y='160'>getEnclosureList</text> 39 40 <g id="g1" visibility="hidden" pointer-events="painted"> 41 <circle id='c1' cx='305' cy='100' r='5'/> 42 <circle id='c2' cx='305' cy='150' r='5'/> 43 </g> 44 45 <script><![CDATA[ 46 function userspace2viewport(elm, r) 47 { 48 var ctm = elm.getCTM(); 49 50 var corners = []; 51 for(var i = 0; i < 4; i++) 52 corners.push(svg.createSVGPoint()); 53 54 corners[0].x = r.x; 55 corners[0].y = r.y; 56 corners[1].x = r.x + r.width; 57 corners[1].y = r.y; 58 corners[2].x = r.x + r.width; 59 corners[2].y = r.y + r.height; 60 corners[3].x = r.x; 61 corners[3].y = r.y + r.height; 62 63 for(var i = 0; i < 4; i++) 64 corners[i] = corners[i].matrixTransform(ctm); 65 66 var min = svg.createSVGPoint(); 67 var max = svg.createSVGPoint(); 68 min.x = corners[0].x; 69 min.y = corners[0].y; 70 max.x = corners[0].x; 71 max.y = corners[0].y; 72 73 for(var i = 1; i < 4; i++) 74 { 75 var x = corners[i].x; 76 var y = corners[i].y; 77 78 if(x < min.x) 79 min.x = x; 80 else if(x > max.x) 81 max.x = x; 82 83 if(y < min.y) 84 min.y = y; 85 else if(y > max.y) 86 max.y = y; 87 } 88 89 var res = svg.createSVGRect(); 90 res.x = min.x; 91 res.y = min.y; 92 res.width = max.x - min.x; 93 res.height = max.y - min.y; 94 return res; 95 } 96 97 var svg = document.documentElement, 98 c = document.getElementById('c'), 99 r1 = document.getElementById('r1'), 100 r2 = document.getElementById('r2'), 101 c1 = document.getElementById('c1'), 102 c2 = document.getElementById('c2'), 103 g1 = document.getElementById('g1'), 104 r = svg.createSVGRect(), 105 nl; 106 107 try { 108 r.x = 300; 109 r.y = 95; 110 r.width = 5; 111 r.height = 5; 112 113 r = userspace2viewport(g1, r); 114 115 nl = svg.getIntersectionList(r, null); 116 if (nl && nl.length == 1) { 117 c1.parentNode.removeChild(c1); 118 r1.setAttribute('fill', nl.length == 1 ? 'lime' : 'red'); 119 } 120 } catch (e) { 121 } 122 123 try { 124 r.x = 290; 125 r.y = 135; 126 r.width = 20; 127 r.height = 20; 128 129 r = userspace2viewport(g1, r); 130 131 nl = svg.getEnclosureList(r, null); 132 if (nl && nl.length == 1) { 133 c2.parentNode.removeChild(c2); 134 r2.setAttribute('fill', nl.length == 1 ? 'lime' : 'red'); 135 } 136 } catch (e) { 137 } 138 ]]></script> 139 </g> 140 <g font-family="SVGFreeSansASCII,sans-serif" font-size="32"> 141 <text id="revision" x="10" y="340" stroke="none" 142 fill="black">$Revision: 1.5 $</text> 143 </g> 144 <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/> 145 <!-- comment out this watermark once the test is approved --> 146 <!--<g id="draft-watermark"> 147 <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/> 148 <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 149 text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text> 150 </g>--> 151 </svg> 152 </body> 153 </html>