summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/filters/svg-filter-chains/clip-output.svg
blob: 94d3a953ab2205ae51ffc3c22846d7a887c0ac52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<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="flood" 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>
          <feMergeNode in="red"/>
          <feMergeNode in="blue"/>
      </feMerge>
    </filter>
    <filter id="hue-rotate" x="0" y="0" width="200" height="100" filterUnits="userSpaceOnUse">
      <!--
        Turn the red square green. If the blue square wasn't clipped by the
        previous filter's filter region, it will turn red.
       -->
      <feColorMatrix type="hueRotate" values="90" style="color-interpolation-filters:sRGB"/>
    </filter>
    <rect x="0" y="0" width="100" height="100" filter="url(#flood) url(#hue-rotate)"/>
  </g>
</svg>