Source code
Revision control
Copy as Markdown
Other Tools
<svg id="svg-root" width="100%" height="100%"
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--======================================================================-->
template-version="1.4" reviewer="DOH" author="AE" status="accepted"
version="$Revision: 1.3 $" testname="$RCSfile: interact-pevents-07-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
<p>Testing pointer-events and rendering order</p>
</d:testDescription>
<p>
Move the mouse over the blue and purple shapes. Click the red circle on the top left. Move the mouse over the blue and purple shapes again.
</p>
</d:operatorScript>
<p>
For the test to pass the blue rectangles must always turn red on mouseover, and the ovals must turn red on mouseover only if pointer-events are set to "ALL".
If a shape other than the one currently hovered turns red then the test has failed.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: interact-pevents-07-t.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">
<script><![CDATA[
function changeFill(id, fill)
{
document.getElementById(id).setAttribute("fill", fill);
}
function changePointerEvents(value)
{
if ('on' == value)
{
document.getElementById('all').setAttribute("visibility", 'visible');
document.getElementById('none').setAttribute("visibility", 'hidden');
document.getElementById('on').setAttribute("stroke-width", '3');
document.getElementById('off').setAttribute("stroke-width", '1');
document.getElementById('c10').setAttribute("pointer-events", 'all');
document.getElementById('c11').setAttribute("pointer-events", 'all');
document.getElementById('c12').setAttribute("pointer-events", 'all');
}
else
{
document.getElementById('all').setAttribute("visibility", 'hidden');
document.getElementById('none').setAttribute("visibility", 'visible');
document.getElementById('on').setAttribute("stroke-width", '1');
document.getElementById('off').setAttribute("stroke-width", '3');
document.getElementById('c10').setAttribute("pointer-events", 'none');
document.getElementById('c11').setAttribute("pointer-events", 'none');
document.getElementById('c12').setAttribute("pointer-events", 'none');
}
}
]]></script>
<rect x="15" y="15" height="280" width="450" fill="none" stroke="black" stroke-width="0.25"/>
<g text-anchor="middle">
<text x="240" y="30" fill="black" font-size="15">Testing pointer-events and rendering order</text>
<text x="240" y="42" fill="#555" font-size="10">Rectangles should turn RED on mouseover </text>
<text x="240" y="54" fill="#555" font-size="10">Ovals should turn RED if Pointer-Events are set to "ALL"</text>
</g>
<g id="buttons">
<g text-anchor="middle" font-size="8" fill="#555" transform="translate(0,10)">
<text x="400" y="85">Change "Pointer-Events" of </text>
<text x="400" y="95">ovals from "ALL" to "NONE"</text>
<circle id="on" cx="385" cy="65" r="10" fill-opacity="1" fill="#3c5" stroke="black" stroke-width="3" onmousedown="changePointerEvents('on')" />
<circle id="off" cx="415" cy="65" r="10" fill-opacity="1" fill="#f35" stroke="black" onmousedown="changePointerEvents('off')" />
</g>
<g text-anchor="middle" font-size="12" fill="#555">
<text id="all" x="240" y="285" fill="#555" visibility="visible" >Purple ovals have "Pointer-Events" set to "ALL".</text>
<text id="none" x="240" y="285" fill="#555" visibility="hidden">Purple ovals have Pointer-Events set to "NONE".</text>
</g>
</g>
<g transform="scale(0.75, 0.5) translate(100, 85)">
<circle id="c10" cx="160" cy="350" r="100" fill-opacity="1" fill="#53f" stroke="black" pointer-events="all" onmouseover="changeFill('c10', '#F55')" onmouseout="changeFill('c10', '#53F')" />
<rect id="r10" x="10" y="50" width="300" height="300" fill-opacity="1" fill="#35f" stroke="black" onmouseover="changeFill('r10', '#F55')" onmouseout="changeFill('r10', '#35F')" />
<circle id="c11" cx="310" cy="350" r="90" fill-opacity="1" fill="#75f" stroke="black" pointer-events="all" onmouseover="changeFill('c11', '#F55')" onmouseout="changeFill('c11', '#75f')" />
<rect id="r11" x="60" y="100" width="200" height="200" fill-opacity="1" fill="#57f" stroke="black" onmouseover="changeFill('r11', '#F55')" onmouseout="changeFill('r11', '#57f')" />
<circle id="c12" cx="310" cy="200" r="75" fill-opacity="1" fill="#97f" stroke="black" pointer-events="all" onmouseover="changeFill('c12', '#F55')" onmouseout="changeFill('c12', '#97f')" />
<rect id="r12" x="110" y="150" width="100" height="100" fill-opacity="1" fill="#79f" stroke="black" onmouseover="changeFill('r12', '#F55')" onmouseout="changeFill('r12', '#79F')" />
<g id="dasharray-rectangles" stroke-width="0.5" stroke-dasharray="4, 4">
<rect id="r-dash10" x="10" y="50" width="300" height="300" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
<rect id="r-dash11" x="60" y="100" width="200" height="200" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
<rect id="r-dash12" x="110" y="150" width="100" height="100" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</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>