summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/smil/anim-feComposite-operator-01.svg
blob: 0223cea93195e97daab466d9bc621c3e88edcec0 (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
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     class="reftest-wait"
     onload="setTimeAndSnapshot(1, true)">
  <title>Test animation of the "operator" enum attribute on the "feComposite" element</title>
  <script xlink:href="smil-util.js" type="text/javascript"/>
  <filter id="composite_filter_1" x="-100%" y="0%" width="200%" height="100%">
    <feFlood flood-color="lime" result="lime"/>
    <feComposite in="lime" in2="SourceGraphic" operator="out">
      <!-- this should turn the referencing element red at 1.25s -->
      <animate attributeName="operator"
               calcMode="discrete"
               begin="0s" dur="2.5s"
               from="out" to="in"
               fill="freeze"/>
    </feComposite>
  </filter>
  <filter id="composite_filter_2" x="0%" y="0%" width="200%" height="100%">
    <feFlood flood-color="lime" result="lime"/>
    <feComposite in="lime" in2="SourceGraphic" operator="out">
      <!-- this should turn the referencing element lime at 1s -->
      <animate attributeName="operator"
               calcMode="discrete"
               begin="0s" dur="2s"
               from="out" to="in"
               fill="freeze"/>
    </feComposite>
  </filter>
  <rect width="100%" height="100%" fill="lime"/>

  <!-- 40% through discrete animation simple duration - test animation doesn't affect the element too early -->
  <rect         width="100" height="100" fill="red"/>
  <rect x="100" width="100" height="100" fill="red" filter="url(#composite_filter_1)"/>

  <!-- 50% through discrete animation simple duration - test animation affects the element now -->
  <rect y="100" width="100" height="100" fill="red"/>
  <rect y="100" width="100" height="100" fill="red" filter="url(#composite_filter_2)"/>
</svg>