<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" version="1.1" baseProfile="basic">
<title id="test-title">feComponentTransfer Test - Linear</title>
<desc id="test-desc">feComponentTransfer tests.</desc>
<g id="test-body-content">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="15" y="5" width="450" height="300" viewBox="0 0 650 420">
<defs>
<linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="10" y1="0" x2="590" y2="0">
<stop offset="0" stop-color="#00ff00"/>
<stop offset="1" stop-color="#000000"/>
</linearGradient>
<filter id="Identity" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncR type="identity"/>
</feComponentTransfer>
</filter>
<filter id="DiscreteBlank" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncG type="linear" slope="1" intercept="0.0"/>
</feComponentTransfer>
</filter>
<filter id="DiscreteFull" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncG type="linear" slope="-1" intercept="1.0"/>
</feComponentTransfer>
</filter>
<filter id="DiscreteOrd" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncG type="linear" slope="0.5" intercept="0.25"/>
</feComponentTransfer>
</filter>
</defs>
<rect fill="none" stroke="blue" x="1" y="1" width="648" height="418"/>
<g font-size="15" font-family="Verdana">
<rect fill="none" stroke="blue" x="1" y="1" width="648" height="418"/>
<rect x="20" y="10" width="580" height="40" fill="url(#MyGradient)" filter="url(#Identity)"/>
<text x="20" y="70">type: identity</text>
<rect x="20" y="110" width="580" height="40" fill="url(#MyGradient)" filter="url(#DiscreteBlank)"/>
<text x="20" y="170">type: linear slope=1 intercept=0 -- Result should be identity</text>
<rect x="20" y="210" width="580" height="40" fill="url(#MyGradient)" filter="url(#DiscreteFull)"/>
<text x="20" y="270">type: linear slope=-1 intercept=0 -- Should invert the gradient</text>
<rect x="20" y="310" width="580" height="40" fill="url(#MyGradient)" filter="url(#DiscreteOrd)"/>
<text x="20" y="370">type: linear slope=0.5 intercept=0.25 -- Result should be less extreme gradient</text>
</g>
</svg>
</g>
</svg>