summaryrefslogtreecommitdiffstats
path: root/layout/reftests/filters.svg
blob: 95d20889ef12737e5431c6efb99cd036d2a63cc6 (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
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>

    <!-- so that other documents can svg:use this one and force it to
         load before onload -->
    <g id="empty" />

    <!-- Keep all black pixels black, and change any others to white. -->
    <!-- NOTE: alpha is preserved, so it will not adjust alpha edges -->
    <filter id="NonBlackToWhite" x="0%" y="0%" width="100%" height="100%">
      <feColorMatrix type="matrix" values="255 255 255 0 0
                                           255 255 255 0 0
                                           255 255 255 0 0
                                           0 0 0 1 0" />
    </filter>

    <!-- Keep all white pixels white, and change any others to black. -->
    <!-- NOTE: alpha is preserved, so it will not adjust alpha edges -->
    <filter id="NonWhiteToBlack" x="0%" y="0%" width="100%" height="100%">
      <feComponentTransfer>
        <feFuncR type="linear" slope="-1" intercept="1" />
        <feFuncG type="linear" slope="-1" intercept="1" />
        <feFuncB type="linear" slope="-1" intercept="1" />
      </feComponentTransfer>
      <feColorMatrix type="matrix" values="255 255 255 0 0
                                           255 255 255 0 0
                                           255 255 255 0 0
                                           0 0 0 1 0" />
      <feComponentTransfer>
        <feFuncR type="linear" slope="-1" intercept="1" />
        <feFuncG type="linear" slope="-1" intercept="1" />
        <feFuncB type="linear" slope="-1" intercept="1" />
      </feComponentTransfer>
    </filter>

    <!-- Threshold colours into sixteen steps per channel. -->
    <filter id="ThresholdRGB" x="0%" y="0%" width="100%" height="100%" color-interpolation-filters="sRGB">
      <feComponentTransfer>
        <feFuncR type="discrete" tableValues="0 .125 .25 .375 .5 .625 .75 .875 1" />
        <feFuncG type="discrete" tableValues="0 .125 .25 .375 .5 .625 .75 .875 1" />
        <feFuncB type="discrete" tableValues="0 .125 .25 .375 .5 .625 .75 .875 1" />
      </feComponentTransfer>
    </filter>

  </defs>
</svg>