blob: 1216b62ffa5c686f60cd7da453c4c1cbb0471b51 [file] [log] [blame]
<svg id="svg-root"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="testmeta">
<title>SVG Filter Chains: Clip Filter Output</title>
<link rel="copyright"
href="http://www.w3.org/Graphics/SVG/Test/Copyright"/>
<link rel="license"
href="http://www.w3.org/Consortium/Legal/2008/03-bsd-license.html"/>
<link rel="author"
title="Max Vujovic"
href="mailto:mvujovic@adobe.com"/>
<link rel="help"
href="http://dev.w3.org/fxtf/filters/#FilterPrimitiveSubRegion"/>
<link rel="match"
href="clip-output-ref.svg" />
<metadata class="flags">namespace svg</metadata>
<desc class="assert">
In an SVG filter chain, this test verifies a filter region clips its
filter's output into the next filter. If the test passes, you should see a
green square.
</desc>
</g>
<g id="test-body-content">
<filter id="f1" x="0" y="0" width="100" height="100" filterUnits="userSpaceOnUse">
<!--
Create a red square followed by a blue square. The blue square should be
clipped away due to this filter's filter region.
-->
<feFlood result="red" flood-color="red" x="0" y="0" width="100" height="100"/>
<feFlood result="blue" flood-color="blue" x="100" y="0" width="100" height="100"/>
<feMerge result="merge">
<feMergeNode in="red"/>
<feMergeNode in="blue"/>
</feMerge>
<!--
Turn the red square green. If the blue square wasn't clipped by the
previous filter's filter region, it will turn red.
-->
<feColorMatrix in="merge" type="hueRotate" values="90" style="color-interpolation-filters:sRGB"/>
</filter>
<rect x="0" y="0" width="100" height="100" filter="url(#f1)"/>
</g>
</svg>