summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/filters/svg-filter-chains/clip-original-SourceGraphic.svg
blob: f6349768ed0ba3fb464e7a2f0f46cabd61db845a (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
<!--
     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 Original SourceGraphic</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-original-SourceGraphic-ref.svg" />
    <metadata class="flags">namespace svg</metadata>
    <desc class="assert">
      In an SVG filter chain, this test verifies that the filter region of the
      first filter clips the original SourceGraphic. If the test passes, you
      should see a green square.
    </desc>
  </g>

  <g id="test-body-content">
    <!--
      Use a filter region less wide than the red rectangle SourceGraphic. This
      should clip the red rectangle, resulting in a red square.
    -->
    <filter id="f1" x="0" y="0" width="100" height="100" filterUnits="userSpaceOnUse">
      <!-- Create a green square at x=0. -->
      <feFlood result="green" flood-color="green" x="0" y="0" width="100" height="100"/>
      <!--
        Offset the red SourceGraphic left. If it wasn't clipped properly, it
        will cover up the green square. If it was clipped properly, it won't.
      -->
      <feOffset result="offset-red" in="SourceGraphic" dx="-100" x="0" y="0" width="200" height="100"/>
      <feMerge>
        <feMergeNode in="green"/>
        <feMergeNode in="offset-red"/>
      </feMerge>
    </filter>
    <rect x="0" y="0" width="200" height="100" filter="url(#f1)" fill="red"/>
  </g>
</svg>