librsvg source for verification 2026-05-22

This commit is contained in:
2026-05-22 16:45:08 +08:00
commit 75af7ac721
2138 changed files with 161177 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,239 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(0, 30)" font-size="13">
<!-- ====================================================================== -->
<!-- First, draw a test grid ============================================== -->
<!-- ====================================================================== -->
<g id="test-grid" stroke="#cccccc" stroke-width="1">
<line x1="10" y1="10.5" x2="470" y2="10.5"/>
<line x1="10" y1="20.5" x2="470" y2="20.5"/>
<line x1="10" y1="30.5" x2="470" y2="30.5"/>
<line x1="10" y1="40.5" x2="470" y2="40.5"/>
<line x1="10" y1="50.5" x2="470" y2="50.5"/>
<line x1="10" y1="60.5" x2="470" y2="60.5"/>
<line x1="10" y1="70.5" x2="470" y2="70.5"/>
<line x1="10" y1="80.5" x2="470" y2="80.5"/>
<line x1="10" y1="90.5" x2="470" y2="90.5"/>
<line x1="10" y1="100.5" x2="470" y2="100.5"/>
<line x1="10" y1="110.5" x2="470" y2="110.5"/>
<line x1="10" y1="120.5" x2="470" y2="120.5"/>
<line x1="10" y1="130.5" x2="470" y2="130.5"/>
<line x1="10" y1="140.5" x2="470" y2="140.5"/>
<line x1="10" y1="150.5" x2="470" y2="150.5"/>
<line x1="10" y1="160.5" x2="470" y2="160.5"/>
<line x1="10" y1="170.5" x2="470" y2="170.5"/>
<line x1="10" y1="180.5" x2="470" y2="180.5"/>
<line x1="10" y1="190.5" x2="470" y2="190.5"/>
<line x1="10" y1="200.5" x2="470" y2="200.5"/>
<line x1="10" y1="210.5" x2="470" y2="210.5"/>
<line x1="10" y1="220.5" x2="470" y2="220.5"/>
<line x1="10" y1="230.5" x2="470" y2="230.5"/>
<line x1="10" y1="240.5" x2="470" y2="240.5"/>
<line x1="10" y1="250.5" x2="470" y2="250.5"/>
<line x1="10" y1="260.5" x2="470" y2="260.5"/>
<line y1="10" x1="10.5" y2="260.5" x2="10.5"/>
<line y1="10" x1="20.5" y2="260.5" x2="20.5"/>
<line y1="10" x1="30.5" y2="260.5" x2="30.5"/>
<line y1="10" x1="40.5" y2="260.5" x2="40.5"/>
<line y1="10" x1="50.5" y2="260.5" x2="50.5"/>
<line y1="10" x1="60.5" y2="260.5" x2="60.5"/>
<line y1="10" x1="70.5" y2="260.5" x2="70.5"/>
<line y1="10" x1="80.5" y2="260.5" x2="80.5"/>
<line y1="10" x1="90.5" y2="260.5" x2="90.5"/>
<line y1="10" x1="100.5" y2="260.5" x2="100.5"/>
<line y1="10" x1="110.5" y2="260.5" x2="110.5"/>
<line y1="10" x1="120.5" y2="260.5" x2="120.5"/>
<line y1="10" x1="130.5" y2="260.5" x2="130.5"/>
<line y1="10" x1="140.5" y2="260.5" x2="140.5"/>
<line y1="10" x1="150.5" y2="260.5" x2="150.5"/>
<line y1="10" x1="160.5" y2="260.5" x2="160.5"/>
<line y1="10" x1="170.5" y2="260.5" x2="170.5"/>
<line y1="10" x1="180.5" y2="260.5" x2="180.5"/>
<line y1="10" x1="190.5" y2="260.5" x2="190.5"/>
<line y1="10" x1="200.5" y2="260.5" x2="200.5"/>
<line y1="10" x1="210.5" y2="260.5" x2="210.5"/>
<line y1="10" x1="220.5" y2="260.5" x2="220.5"/>
<line y1="10" x1="230.5" y2="260.5" x2="230.5"/>
<line y1="10" x1="240.5" y2="260.5" x2="240.5"/>
<line y1="10" x1="250.5" y2="260.5" x2="250.5"/>
<line y1="10" x1="260.5" y2="260.5" x2="260.5"/>
<line y1="10" x1="270.5" y2="260.5" x2="270.5"/>
<line y1="10" x1="280.5" y2="260.5" x2="280.5"/>
<line y1="10" x1="290.5" y2="260.5" x2="290.5"/>
<line y1="10" x1="300.5" y2="260.5" x2="300.5"/>
<line y1="10" x1="310.5" y2="260.5" x2="310.5"/>
<line y1="10" x1="320.5" y2="260.5" x2="320.5"/>
<line y1="10" x1="330.5" y2="260.5" x2="330.5"/>
<line y1="10" x1="340.5" y2="260.5" x2="340.5"/>
<line y1="10" x1="350.5" y2="260.5" x2="350.5"/>
<line y1="10" x1="360.5" y2="260.5" x2="360.5"/>
<line y1="10" x1="370.5" y2="260.5" x2="370.5"/>
<line y1="10" x1="380.5" y2="260.5" x2="380.5"/>
<line y1="10" x1="390.5" y2="260.5" x2="390.5"/>
<line y1="10" x1="400.5" y2="260.5" x2="400.5"/>
<line y1="10" x1="410.5" y2="260.5" x2="410.5"/>
<line y1="10" x1="420.5" y2="260.5" x2="420.5"/>
<line y1="10" x1="430.5" y2="260.5" x2="430.5"/>
<line y1="10" x1="440.5" y2="260.5" x2="440.5"/>
<line y1="10" x1="450.5" y2="260.5" x2="450.5"/>
<line y1="10" x1="460.5" y2="260.5" x2="460.5"/>
<line y1="10" x1="470.5" y2="260.5" x2="470.5"/>
</g>
<!-- ====================================================================== -->
<!-- Now, test elementary transforms. For each transform, 3 markers are -->
<!-- placed where the user space is expected after transformations for the -->
<!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red). -->
<!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
<!-- going from (0, 0) to (0, 20), after applying the elementary -->
<!-- transformation. If the test succeeds, the red line should join the -->
<!-- black marker to the red marker and the blue line the black marker to -->
<!-- the blue marker. -->
<!-- ====================================================================== -->
<g id="elementary-transforms-test" transform="translate(0, 10)">
<g id="elementary-transforms">
<!-- Translate -->
<g transform="translate(50, 50)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
<!-- Rotate -90 deg about (150, 70) -->
<g transform="translate(150, 70) rotate(-90)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
<!-- Skew X -->
<g transform="translate(250, 50) skewX(45)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
<!-- Skew Y -->
<g transform="translate(350, 50) skewY(45)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
<!-- Scale 2 -->
<g transform="translate(210, 120) scale(2)">
<rect x="0" y="0" width="20" height="1" fill="blue"/>
<rect x="0" y="0" width="1" height="20" fill="red"/>
</g>
</g>
<!-- elementary-transforms -->
<!-- Draw all the markers -->
<g id="elementary-transforms-test-markers">
<!-- Translate -->
<text x="40" y="40">translate (50, 50)</text>
<rect x="48" y="48" width="5" height="5" fill="black"/>
<rect x="68" y="48" width="5" height="5" fill="blue"/>
<rect x="48" y="68" width="5" height="5" fill="red"/>
<!-- Rotate -90 deg about (150, 70) -->
<text x="140" y="40">rotate(-90)</text>
<rect x="148" y="68" width="5" height="5" fill="black"/>
<rect x="148" y="48" width="5" height="5" fill="blue"/>
<rect x="168" y="68" width="5" height="5" fill="red"/>
<!-- Skew X -->
<text x="240" y="40">skew x (45)</text>
<rect x="248" y="48" width="5" height="5" fill="black"/>
<rect x="268" y="48" width="5" height="5" fill="blue"/>
<rect x="268" y="68" width="5" height="5" fill="red"/>
<!-- Skew Y -->
<text x="340" y="40">skew y (45)</text>
<rect x="348" y="48" width="5" height="5" fill="black"/>
<rect x="368" y="68" width="5" height="5" fill="blue"/>
<rect x="348" y="68" width="5" height="5" fill="red"/>
<!-- Scale 2 -->
<text x="200" y="110">scale (2)</text>
<rect x="208" y="118" width="5" height="5" fill="black"/>
<rect x="248" y="118" width="5" height="5" fill="blue"/>
<rect x="208" y="158" width="5" height="5" fill="red"/>
</g>
<!-- elementary-transforms-test-markers -->
</g>
<g id="nested-transforms-test">
<g id="nested-transforms">
<!-- scale/translate in transform attribute -->
<g transform="scale(3, 2) translate(16.666667, 105)">
<rect x="0" y="0" width="20" height="1" fill="blue"/>
<rect x="0" y="0" width="0.67" height="20" fill="red"/>
</g>
<!-- scale/translate in successive elements -->
<g transform="translate(200, 0)">
<g transform="scale(3, 2)">
<g transform="translate(16.666667, 105)">
<rect x="0" y="0" width="20" height="1" fill="blue"/>
<rect x="0" y="0" width="0.67" height="20" fill="red"/>
</g>
</g>
</g>
</g>
<!-- nested-transforms -->
<g id="nested-transforms-test-markers">
<!-- scale and translate -->
<text x="40" y="200">scale(25, 95) and translate(2, 2)</text>
<rect x="48" y="208" width="5" height="5" fill="black"/>
<rect x="108" y="208" width="5" height="5" fill="blue"/>
<rect x="48" y="248" width="5" height="5" fill="red"/>
<!-- scale then translate -->
<text x="240" y="200">scale(25, 95) then translate(2, 2)</text>
<rect x="248" y="208" width="5" height="5" fill="black"/>
<rect x="308" y="208" width="5" height="5" fill="blue"/>
<rect x="248" y="248" width="5" height="5" fill="red"/>
</g>
<!-- nested-transforms-test-markers -->
</g>
<!-- nested-transforms test -->
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,176 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-02-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-02-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(0, 30)" font-size="12">
<!-- ====================================================================== -->
<!-- First, draw a test grid ============================================== -->
<!-- ====================================================================== -->
<!--g id="test-grid" stroke="#cccccc" stroke-width="1" >
<line x1="10" y1="10.5" x2="470" y2="10.5"/>
<line x1="10" y1="20.5" x2="470" y2="20.5"/>
<line x1="10" y1="30.5" x2="470" y2="30.5"/>
<line x1="10" y1="40.5" x2="470" y2="40.5"/>
<line x1="10" y1="50.5" x2="470" y2="50.5"/>
<line x1="10" y1="60.5" x2="470" y2="60.5"/>
<line x1="10" y1="70.5" x2="470" y2="70.5"/>
<line x1="10" y1="80.5" x2="470" y2="80.5"/>
<line x1="10" y1="90.5" x2="470" y2="90.5"/>
<line x1="10" y1="100.5" x2="470" y2="100.5"/>
<line x1="10" y1="110.5" x2="470" y2="110.5"/>
<line x1="10" y1="120.5" x2="470" y2="120.5"/>
<line x1="10" y1="130.5" x2="470" y2="130.5"/>
<line x1="10" y1="140.5" x2="470" y2="140.5"/>
<line x1="10" y1="150.5" x2="470" y2="150.5"/>
<line x1="10" y1="160.5" x2="470" y2="160.5"/>
<line x1="10" y1="170.5" x2="470" y2="170.5"/>
<line x1="10" y1="180.5" x2="470" y2="180.5"/>
<line x1="10" y1="190.5" x2="470" y2="190.5"/>
<line x1="10" y1="200.5" x2="470" y2="200.5"/>
<line x1="10" y1="210.5" x2="470" y2="210.5"/>
<line x1="10" y1="220.5" x2="470" y2="220.5"/>
<line x1="10" y1="230.5" x2="470" y2="230.5"/>
<line x1="10" y1="240.5" x2="470" y2="240.5"/>
<line x1="10" y1="250.5" x2="470" y2="250.5"/>
<line x1="10" y1="260.5" x2="470" y2="260.5"/>
<line y1="10" x1="10.5" y2="260.5" x2="10.5"/>
<line y1="10" x1="20.5" y2="260.5" x2="20.5"/>
<line y1="10" x1="30.5" y2="260.5" x2="30.5"/>
<line y1="10" x1="40.5" y2="260.5" x2="40.5"/>
<line y1="10" x1="50.5" y2="260.5" x2="50.5"/>
<line y1="10" x1="60.5" y2="260.5" x2="60.5"/>
<line y1="10" x1="70.5" y2="260.5" x2="70.5"/>
<line y1="10" x1="80.5" y2="260.5" x2="80.5"/>
<line y1="10" x1="90.5" y2="260.5" x2="90.5"/>
<line y1="10" x1="100.5" y2="260.5" x2="100.5"/>
<line y1="10" x1="110.5" y2="260.5" x2="110.5"/>
<line y1="10" x1="120.5" y2="260.5" x2="120.5"/>
<line y1="10" x1="130.5" y2="260.5" x2="130.5"/>
<line y1="10" x1="140.5" y2="260.5" x2="140.5"/>
<line y1="10" x1="150.5" y2="260.5" x2="150.5"/>
<line y1="10" x1="160.5" y2="260.5" x2="160.5"/>
<line y1="10" x1="170.5" y2="260.5" x2="170.5"/>
<line y1="10" x1="180.5" y2="260.5" x2="180.5"/>
<line y1="10" x1="190.5" y2="260.5" x2="190.5"/>
<line y1="10" x1="200.5" y2="260.5" x2="200.5"/>
<line y1="10" x1="210.5" y2="260.5" x2="210.5"/>
<line y1="10" x1="220.5" y2="260.5" x2="220.5"/>
<line y1="10" x1="230.5" y2="260.5" x2="230.5"/>
<line y1="10" x1="240.5" y2="260.5" x2="240.5"/>
<line y1="10" x1="250.5" y2="260.5" x2="250.5"/>
<line y1="10" x1="260.5" y2="260.5" x2="260.5"/>
<line y1="10" x1="270.5" y2="260.5" x2="270.5"/>
<line y1="10" x1="280.5" y2="260.5" x2="280.5"/>
<line y1="10" x1="290.5" y2="260.5" x2="290.5"/>
<line y1="10" x1="300.5" y2="260.5" x2="300.5"/>
<line y1="10" x1="310.5" y2="260.5" x2="310.5"/>
<line y1="10" x1="320.5" y2="260.5" x2="320.5"/>
<line y1="10" x1="330.5" y2="260.5" x2="330.5"/>
<line y1="10" x1="340.5" y2="260.5" x2="340.5"/>
<line y1="10" x1="350.5" y2="260.5" x2="350.5"/>
<line y1="10" x1="360.5" y2="260.5" x2="360.5"/>
<line y1="10" x1="370.5" y2="260.5" x2="370.5"/>
<line y1="10" x1="380.5" y2="260.5" x2="380.5"/>
<line y1="10" x1="390.5" y2="260.5" x2="390.5"/>
<line y1="10" x1="400.5" y2="260.5" x2="400.5"/>
<line y1="10" x1="410.5" y2="260.5" x2="410.5"/>
<line y1="10" x1="420.5" y2="260.5" x2="420.5"/>
<line y1="10" x1="430.5" y2="260.5" x2="430.5"/>
<line y1="10" x1="440.5" y2="260.5" x2="440.5"/>
<line y1="10" x1="450.5" y2="260.5" x2="450.5"/>
<line y1="10" x1="460.5" y2="260.5" x2="460.5"/>
<line y1="10" x1="470.5" y2="260.5" x2="470.5"/>
</g-->
<!-- ====================================================================== -->
<!-- Now, test elementary transforms. For each transform, 3 markers are -->
<!-- placed where the user space is expected after transformations for the -->
<!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red). -->
<!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
<!-- going from (0, 0) to (0, 20), after applying the elementary -->
<!-- transformation. If the test succeeds, the red line should join the -->
<!-- black marker to the red marker and the blue line the black marker to -->
<!-- the blue marker. -->
<!-- ====================================================================== -->
<g id="elementary-transforms-test" transform="translate(0, 10)">
<g id="elementary-transforms" transform="translate(-30, 0) scale(2.5, 2.5)">
<!-- Translate -->
<g transform="translate(50, 50)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
<!-- Rotate -90 deg about (150, 70) -->
<g transform="translate(150, 70) rotate(-90)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
</g>
<!-- elementary-transforms -->
<!-- Draw all the markers -->
<g id="elementary-transforms-test-markers" transform="translate(-30, 0) scale(2.5, 2.5)">
<!-- Translate -->
<text x="40" y="40">translate (50, 50)</text>
<rect x="48" y="48" width="5" height="5" fill="black"/>
<rect x="68" y="48" width="5" height="5" fill="blue"/>
<rect x="48" y="68" width="5" height="5" fill="red"/>
<!-- Rotate -90 deg about (150, 70) -->
<text x="140" y="40">rotate(-90)</text>
<rect x="148" y="68" width="5" height="5" fill="black"/>
<rect x="148" y="48" width="5" height="5" fill="blue"/>
<rect x="168" y="68" width="5" height="5" fill="red"/>
</g>
<!-- elementary-transforms-test-markers -->
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,99 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-03-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-03-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(0, 30)" font-size="12">
<!-- ====================================================================== -->
<!-- Now, test elementary transforms. For each transform, 3 markers are -->
<!-- placed where the user space is expected after transformations for the -->
<!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red). -->
<!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
<!-- going from (0, 0) to (0, 20), after applying the elementary -->
<!-- transformation. If the test succeeds, the red line should join the -->
<!-- black marker to the red marker and the blue line the black marker to -->
<!-- the blue marker. -->
<!-- ====================================================================== -->
<g id="elementary-transforms-test" transform="translate(0, 10)">
<g id="elementary-transforms" transform="translate(-560, 0) scale(2.5, 2.5)">
<!-- Skew X -->
<g transform="translate(250, 50) skewX(45)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
<!-- Skew Y -->
<g transform="translate(350, 50) skewY(45)">
<rect x="0" y="0" width="20" height="2" fill="blue"/>
<rect x="0" y="0" width="2" height="20" fill="red"/>
</g>
</g>
<!-- elementary-transforms -->
<!-- Draw all the markers -->
<g id="elementary-transforms-test-markers" transform="translate(-560, 0) scale(2.5, 2.5)">
<!-- Skew X -->
<text x="240" y="40">skew x (45)</text>
<rect x="248" y="48" width="5" height="5" fill="black"/>
<rect x="268" y="48" width="5" height="5" fill="blue"/>
<rect x="268" y="68" width="5" height="5" fill="red"/>
<!-- Skew Y -->
<text x="340" y="40">skew y (45)</text>
<rect x="348" y="48" width="5" height="5" fill="black"/>
<rect x="368" y="68" width="5" height="5" fill="blue"/>
<rect x="348" y="68" width="5" height="5" fill="red"/>
</g>
<!-- elementary-transforms-test-markers -->
</g>
<!-- nested-transforms test -->
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,88 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-04-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-04-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(0, 30)" font-size="12">
<!-- ====================================================================== -->
<!-- Now, test elementary transforms. For each transform, 3 markers are -->
<!-- placed where the user space is expected after transformations for the -->
<!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red). -->
<!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
<!-- going from (0, 0) to (0, 20), after applying the elementary -->
<!-- transformation. If the test succeeds, the red line should join the -->
<!-- black marker to the red marker and the blue line the black marker to -->
<!-- the blue marker. -->
<!-- ====================================================================== -->
<g id="elementary-transforms-test">
<g id="elementary-transforms" transform="translate(60, 45) scale(2.5, 2.5)">
<!-- Scale 2 -->
<g transform="translate(40, 10) scale(2)">
<rect x="0" y="0" width="20" height="1" fill="blue"/>
<rect x="0" y="0" width="1" height="20" fill="red"/>
</g>
</g>
<!-- elementary-transforms -->
<!-- Draw all the markers -->
<g id="elementary-transforms-test-markers" transform="translate(-364, -230) scale(2.5, 2.5)">
<!-- Scale 2 -->
<text x="200" y="110">scale (2)</text>
<rect x="208" y="118" width="5" height="5" fill="black"/>
<rect x="248" y="118" width="5" height="5" fill="blue"/>
<rect x="208" y="158" width="5" height="5" fill="red"/>
</g>
<!-- elementary-transforms-test-markers -->
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,88 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.7 $" testname="$RCSfile: coords-trans-05-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-05-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(0, 30)" font-size="12">
<!-- ====================================================================== -->
<!-- Now, test elementary transforms. For each transform, 3 markers are -->
<!-- placed where the user space is expected after transformations for the -->
<!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red). -->
<!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
<!-- going from (0, 0) to (0, 20), after applying the elementary -->
<!-- transformation. If the test succeeds, the red line should join the -->
<!-- black marker to the red marker and the blue line the black marker to -->
<!-- the blue marker. -->
<!-- ====================================================================== -->
<g id="nested-transforms-test">
<g id="nested-transforms" transform="translate(-90, -450)">
<!-- scale/translate in transform attribute -->
<g transform="scale(7.5, 5) translate(16.666667, 105)">
<rect x="0" y="0" width="20" height="1" fill="blue"/>
<rect x="0" y="0" width="0.67" height="20" fill="red"/>
</g>
</g>
<!-- nested-transforms -->
<g id="nested-transforms-test-markers" transform="translate(-90, -450) scale(2.5, 2.5)">
<!-- scale and translate -->
<text x="40" y="200">scale(25, 95) - translate(2, 2)</text>
<rect x="48" y="208" width="5" height="5" fill="black"/>
<rect x="108" y="208" width="5" height="5" fill="blue"/>
<rect x="48" y="248" width="5" height="5" fill="red"/>
</g>
<!-- nested-transforms-test-markers -->
</g>
<!-- nested-transforms test -->
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,82 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-06-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-06-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(0, 30)" font-size="12">
<g id="nested-transforms-test">
<g id="nested-transforms">
<!-- scale/translate in successive elements -->
<g transform="translate(-102, -450)">
<g transform="scale(7.5, 5)">
<g transform="translate(16.666667, 105)">
<rect x="0" y="0" width="20" height="1" fill="blue"/>
<rect x="0" y="0" width="0.67" height="20" fill="red"/>
</g>
</g>
</g>
</g>
<!-- nested-transforms -->
<g id="nested-transforms-test-markers" transform="translate(-600, -450) scale(2.5, 2.5)">
<!-- scale then translate -->
<text x="248" y="200">scale(25, 95) then translate(2, 2)</text>
<rect x="248" y="208" width="5" height="5" fill="black"/>
<rect x="308" y="208" width="5" height="5" fill="blue"/>
<rect x="248" y="248" width="5" height="5" fill="red"/>
</g>
<!-- nested-transforms-test-markers -->
</g>
<!-- nested-transforms test -->
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,70 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="OA" author="CN" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-07-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
The test uses the rect element, the fill color (solid primary colors) and transforms.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text - a long blue line at four o'clock and a short red line at seven o'clock below the text "translate+rotate", and, below and to the left of that, a long green line at four o'clock and a short red line at seven o'clock below the text "rotate+translate".
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-07-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g id="elementary-transforms-test">
<g id="object_1" transform="rotate(30) translate(200, 100)">
<rect x="0" y="0" width="150" height="5" fill="green"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="65" y="185" font-size="20">rotate+translate</text>
<g id="object_2" transform="translate(200,100) rotate(30)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="150" y="100" font-size="20">translate+rotate</text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,76 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="OA" author="CN" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-08-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
This test will check if the transfomations performed are carried out in the proper order. The result should differ depending on which transformation comes first.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-08-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g id="elementary-transforms-test">
<g id="object_1" transform="skewX(45) skewY(45)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
<rect x="150" y="0" width="5" height="50" fill="black"/>
<rect x="0" y="50" width="150" height="5" fill="black"/>
<ellipse rx="40" ry="15" cx="75" cy="25" fill="purple"/>
</g>
<text x="30" y="16" font-size="12">skewX(45)+skewY(45)</text>
<g id="object_2" transform="translate(200,0) skewY(45) skewX(45)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
<rect x="150" y="0" width="5" height="50" fill="black"/>
<rect x="0" y="50" width="150" height="5" fill="black"/>
<ellipse rx="40" ry="15" cx="75" cy="25" fill="purple"/>
</g>
<text x="230" y="16" font-size="12">skewY(45)+skewX(45)</text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,102 @@
<svg version="1.1" baseProfile="tiny" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="OA" author="CN" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-09-t.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
<p>
This test verifies the implementation of transforms. It tests elementary transforms
and transform nesting.
Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
</p>
<p>
This test will check if the various matrix operations work
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-trans-09-t.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g id="elementary-transforms-test">
<g transform="matrix(0 0 0 0 0 0)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="6" y="20" font-size="20">matrix(0 0 0 0 0 0)</text>
<g transform="matrix(1 0 0 1 100 100)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="100" y="100" font-size="20">matrix(1 0 0 1 100 100)</text>
<g transform="matrix(1.5 0 0 1.5 70 60)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="70" y="60" font-size="20">matrix(1.5 0 0 1.5 70 60)</text>
<g transform="matrix(1 0 0.5 1 30 170)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="30" y="170" font-size="20">matrix(1 0 0.5 1 30 170)</text>
<g transform="matrix(1 0.5 0 1 100 200)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="100" y="200" font-size="20">matrix(1 0.5 0 1 100 200)</text>
<g transform="matrix(0 1 -1 0 450 0)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="275" y="30" font-size="20">matrix(0 1 -1 0 450 0)</text>
<g transform="matrix(1 0.8 0.8 1 300 220)">
<rect x="0" y="0" width="150" height="5" fill="blue"/>
<rect x="0" y="0" width="5" height="50" fill="red"/>
</g>
<text x="230" y="220" font-size="20">matrix(1 0.8 0.8 1 300 220)</text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,140 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
<!ENTITY Smile "
<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='orange' stroke-width='2'/>
<g transform='translate(0, 5)'>
<circle cx='15' cy='15' r='10' fill='yellow'/>
<circle cx='12' cy='12' r='1.5' fill='black'/>
<circle cx='17' cy='12' r='1.5' fill='black'/>
<path d='M 10 19 L 15 23 20 19' stroke='black' stroke-width='2'/>
</g>
">
<!ENTITY Viewport1 "<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>">
<!ENTITY Viewport2 "<rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>">
]>
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.8 $" testname="$RCSfile: coords-viewattr-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
<p>
This test verifies the implementation of the viewBox and the
preserveAspectRatio attribute. This is a modified version of the sample
file included in the SVG specification. It exercises the various
preserveAspectRatio values and uses a general entity definition in order
to make reading of the SVG source easier.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Load the document in the user agent.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for
variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-viewattr-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g font-size="9" transform="translate(0, 30)">
<desc>Example PreserveAspectRatio - demonstrate available options</desc>
<text text-anchor="middle" x="240" font-size="16">Test available options of preserveAspectRatio</text>
<text x="35.5" y="30" text-anchor="middle">SVG to fit</text>
<g transform="translate(20,40)">&Smile;</g>
<text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
<g transform="translate(10,120)">&Viewport1;</g>
<text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
<g transform="translate(20,190)">&Viewport2;</g>
<g id="meet-group-1" transform="translate(120, 50)">
<text x="0" y="-20">---------- meet --------------------</text>
<g>
<text y="-5">xMin*</text>&Viewport1;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
</g>
<g transform="translate(70,0)">
<text y="-5">xMid*</text>&Viewport1;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
</g>
<g transform="translate(0,50)">
<text y="-5">xMax*</text>&Viewport1;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax meet" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
</g>
</g>
<g id="meet-group-2" transform="translate(300, 50)">
<text x="0" y="-20">---------- meet ------------------------</text>
<g>
<text y="-5">*YMin</text>&Viewport2;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
</g>
<g transform="translate(50, 0)">
<text y="-5">*YMid</text>&Viewport2;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
</g>
<g transform="translate(100, 0)">
<text y="-5">*YMax</text>&Viewport2;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax meet" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
</g>
</g>
<g id="slice-group-1" transform="translate(120, 185)">
<text x="0" y="-20">---------- slice -------------------------</text>
<g>
<text y="-5">xMin*</text>&Viewport2;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin slice" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
</g>
<g transform="translate(50,0)">
<text y="-5">xMid*</text>&Viewport2;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid slice" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
</g>
<g transform="translate(100,0)">
<text y="-5">xMax*</text>&Viewport2;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax slice" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
</g>
</g>
<g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
<text x="0" y="-20">---------- slice ---------------------</text>
<g>
<text y="-5">*YMin</text>&Viewport1;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin slice" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
</g>
<g transform="translate(70,0)">
<text y="-5">*YMid</text>&Viewport1;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid slice" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
</g>
<g transform="translate(0,50)">
<text y="-5">*YMax</text>&Viewport1;
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax slice" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -0,0 +1,716 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
<!ENTITY Viewport1 "<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>">
<!ENTITY Viewport2 "<rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>">
]>
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: coords-viewattr-02-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
<p>
This test verifies the implementation of the preserveAspectRatio attribute on &lt;image&gt;
referencing raster content.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
This is a modified version of the sample file included in the SVG specification.
It exercises the various preserveAspectRatio values and uses a general entity definition
in order to make reading of the SVG source easier.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-viewattr-02-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g font-size="9" transform="translate(0, 30)">
<desc>Example PreserveAspectRatio - demonstrate available options</desc>
<text text-anchor="middle" x="240" font-size="16">Test options of preserveAspectRatio on an image element</text>
<text x="40" y="30" text-anchor="middle">Raster to fit</text>
<g transform="translate(20,40)">
<image xlink:href="data:image/jpeg;base64,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" width="40" height="40" preserveAspectRatio="none" />
</g>
<text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
<g transform="translate(10,120)">&Viewport1;</g>
<text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
<g transform="translate(20,190)">&Viewport2;</g>
<g id="meet-group-1" transform="translate(120, 50)">
<text x="0" y="-20">---------- meet --------------------</text>
<g>
<text y="-5">xMin*</text>&Viewport1;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMinYMin meet" width="50" height="30" />
</g>
<g transform="translate(70,0)">
<text y="-5">xMid*</text>&Viewport1;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMidYMid meet" width="50" height="30" />
</g>
<g transform="translate(0,50)">
<text y="-5">xMax*</text>&Viewport1;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMaxYMax meet" width="50" height="30" />
</g>
</g>
<g id="meet-group-2" transform="translate(300, 50)">
<text x="0" y="-20">---------- meet ------------------------</text>
<g>
<text y="-5">*YMin</text>&Viewport2;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMinYMin meet" width="30" height="60" />
</g>
<g transform="translate(50, 0)">
<text y="-5">*YMid</text>&Viewport2;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMidYMid meet" width="30" height="60" />
</g>
<g transform="translate(100, 0)">
<text y="-5">*YMax</text>&Viewport2;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMaxYMax meet" width="30" height="60" />
</g>
</g>
<g id="slice-group-1" transform="translate(120, 185)">
<text x="0" y="-20">---------- slice -------------------------</text>
<g>
<text y="-5">xMin*</text>&Viewport2;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMinYMin slice" width="30" height="60" />
</g>
<g transform="translate(50,0)">
<text y="-5">xMid*</text>&Viewport2;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMidYMid slice" width="30" height="60" />
</g>
<g transform="translate(100,0)">
<text y="-5">xMax*</text>&Viewport2;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMaxYMax slice" width="30" height="60" />
</g>
</g>
<g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
<text x="0" y="-20">---------- slice ---------------------</text>
<g>
<text y="-5">*YMin</text>&Viewport1;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMinYMin slice" width="50" height="30" />
</g>
<g transform="translate(70,0)">
<text y="-5">*YMid</text>&Viewport1;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMidYMid slice" width="50" height="30" />
</g>
<g transform="translate(0,50)">
<text y="-5">*YMax</text>&Viewport1;
<image xlink:href="data:image/jpeg;base64,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" preserveAspectRatio="xMaxYMax slice" width="50" height="30" />
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,94 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CL" author="BB" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: coords-viewattr-03-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
<p>
This file tests the allowed syntax of the viewBox attribute. The viewBox attribute is a list of
four numbers min-x, min-y, width and height, separated by whitespace and/or a comma.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
In the rendered result, you should see 6 identical light blue shapes.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-viewattr-03-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<text font-size="20" x="240" y="28" text-anchor="middle">&lt;svg&gt; 'viewBox' attribute</text>
<g fill="lightblue" stroke="black">
<svg x="35" y="50" width="100" height="100" viewBox="0 0 200 200" overflow="visible">
<path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
</svg>
<text font-size="13.5" x="85" y="155" text-anchor="middle" fill="black" stroke="none">viewBox="0 0 200 200"</text>
<text font-size="13.5" x="85" y="170" text-anchor="middle" fill="black" stroke="none">overflow="visible" </text>
<svg x="35" y="180" width="100" height="100" viewBox="0 0 200 200" overflow="hidden">
<path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
</svg>
<text font-size="13.5" x="85" y="285" text-anchor="middle" fill="black" stroke="none">viewBox="0 0 200 200"</text>
<text font-size="13.5" x="85" y="300" text-anchor="middle" fill="black" stroke="none">overflow="hidden" </text>
<svg x="190" y="50" width="100" height="100" viewBox="0,0,200,200" overflow="visible">
<path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
</svg>
<text font-size="13.5" x="240" y="155" text-anchor="middle" fill="black" stroke="none">viewBox="0,0,200,200"</text>
<text font-size="13.5" x="240" y="170" text-anchor="middle" fill="black" stroke="none">overflow="visible" </text>
<svg x="190" y="180" width="100" height="100" viewBox="0,0,200,200" overflow="hidden">
<path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
</svg>
<text font-size="13.5" x="240" y="285" text-anchor="middle" fill="black" stroke="none">viewBox="0,0,200,200"</text>
<text font-size="13.5" x="240" y="300" text-anchor="middle" fill="black" stroke="none">overflow="hidden" </text>
<svg x="345" y="50" width="100" height="100" viewBox="0,0, 200, 200" overflow="visible">
<path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
</svg>
<text font-size="13.5" x="395" y="155" text-anchor="middle" fill="black" stroke="none">viewBox="0,0, 200, 200"</text>
<text font-size="13.5" x="395" y="170" text-anchor="middle" fill="black" stroke="none">overflow="visible" </text>
<svg x="345" y="180" width="100" height="100" viewBox="0,0, 200, 200" overflow="hidden">
<path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
</svg>
<text font-size="13.5" x="395" y="285" text-anchor="middle" fill="black" stroke="none">viewBox="0,0, 200, 200"</text>
<text font-size="13.5" x="395" y="300" text-anchor="middle" fill="black" stroke="none">overflow="hidden" </text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,134 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
<!ENTITY Viewport1 "<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>">
<!ENTITY Viewport2 "<rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>">
]>
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Modified for librsvg:
* Change the href path of <image> elements to not to require a .. component,
to account for the way librsvg disallows walking up the filesystem.
-->
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
version="$Revision: 1.2 $" testname="$RCSfile: coords-viewattr-04-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
<p>
This test verifies the implementation of the preserveAspectRatio attribute on &lt;image&gt;
referencing svg content.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: coords-viewattr-04-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g font-size="9" transform="translate(0, 30)">
<desc>Example PreserveAspectRatio - demonstrate available options</desc>
<text text-anchor="middle" x="240" font-size="16">Test options of preserveAspectRatio on an image element</text>
<text x="40" y="30" text-anchor="middle">SVG to fit</text>
<g transform="translate(20,40)">
<image xlink:href="resources/happysmiley.svg" width="40" height="40" preserveAspectRatio="none" />
</g>
<text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
<g transform="translate(10,120)">&Viewport1;</g>
<text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
<g transform="translate(20,190)">&Viewport2;</g>
<g id="meet-group-1" transform="translate(120, 50)">
<text x="0" y="-20">---------- meet --------------------</text>
<g>
<text y="-5">xMin*</text>&Viewport1;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMinYMin meet" width="50" height="30" />
</g>
<g transform="translate(70,0)">
<text y="-5">xMid*</text>&Viewport1;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMidYMid meet" width="50" height="30" />
</g>
<g transform="translate(0,50)">
<text y="-5">xMax*</text>&Viewport1;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMaxYMax meet" width="50" height="30" />
</g>
</g>
<g id="meet-group-2" transform="translate(300, 50)">
<text x="0" y="-20">---------- meet ------------------------</text>
<g>
<text y="-5">*YMin</text>&Viewport2;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMinYMin meet" width="30" height="60" />
</g>
<g transform="translate(50, 0)">
<text y="-5">*YMid</text>&Viewport2;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMidYMid meet" width="30" height="60" />
</g>
<g transform="translate(100, 0)">
<text y="-5">*YMax</text>&Viewport2;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMaxYMax meet" width="30" height="60" />
</g>
</g>
<g id="slice-group-1" transform="translate(120, 185)">
<text x="0" y="-20">---------- slice -------------------------</text>
<g>
<text y="-5">xMin*</text>&Viewport2;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMinYMin slice" width="30" height="60" />
</g>
<g transform="translate(50,0)">
<text y="-5">xMid*</text>&Viewport2;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMidYMid slice" width="30" height="60" />
</g>
<g transform="translate(100,0)">
<text y="-5">xMax*</text>&Viewport2;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMaxYMax slice" width="30" height="60" />
</g>
</g>
<g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
<text x="0" y="-20">---------- slice ---------------------</text>
<g>
<text y="-5">*YMin</text>&Viewport1;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMinYMin slice" width="50" height="30" />
</g>
<g transform="translate(70,0)">
<text y="-5">*YMid</text>&Viewport1;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMidYMid slice" width="50" height="30" />
</g>
<g transform="translate(0,50)">
<text y="-5">*YMax</text>&Viewport1;
<image xlink:href="resources/happysmiley.svg" preserveAspectRatio="xMaxYMax slice" width="50" height="30" />
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,159 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
version="$Revision: 1.2 $" testname="$RCSfile: filters-background-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#AccessingBackgroundImage">
<p>
Test background image processing.
</p>
<p>
The first subtest enables background image processing and adds an empty g element
which invokes the ShiftBGAndBlur filter. This filter takes the current accumulated
background image (i.e., the entire reference graphic) as input, shifts its offscreen
down, blurs it, and then writes the result to the canvas. Note that the offscreen for
the filter is initialized to transparent black, which allows the already rendered
rectangle, circle and triangle to show through after the filter renders its own
result to the canvas.
</p>
<p>
The second subtest enables background image processing and instead invokes the
ShiftBGAndBlur filter on the inner g element. The accumulated background at the
time the filter is applied contains only the rectangle. Because the children
of the inner g (i.e., the circle and triangle) are not part of the inner g element's
background and because ShiftBGAndBlur ignores SourceGraphic, the children of the inner g
do not appear in the result.
</p>
<p>
The third subtest enables background image processing and invokes the ShiftBGAndBlur on the
polygon element that draws the triangle. The accumulated background at the time the filter
is applied contains the rectangle plus the circle ignoring the effect of the opacity
property on the inner g element. (Note that the blurred circle at the bottom does not
let the rectangle show through on its left side. This is due to ignoring the effect of
the opacity property.) Because the triangle itself is not part of the accumulated background
and because ShiftBGAndBlur ignores SourceGraphic, the triangle does not appear in the result.
</p>
<p>
The fourth subtest is the same as the third except that filter ShiftBGAndBlur_WithSourceGraphic is
invoked instead of ShiftBGAndBlur. ShiftBGAndBlur_WithSourceGraphic performs the same effect as
ShiftBGAndBlur, but then renders the SourceGraphic on top of the shifted, blurred background
image. In this case, SourceGraphic is the blue triangle; thus, the result is the same as in
the fourth case except that the triangle now appears.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test is passed if:
</p>
<ul>
<li>each blue rectangle has the same shapes twice inside, once without filters applied, once with (blurred)</li>
<li>from left to right, the blue rectangles contain the following shapes: [rectangle, circle, triangle], [rectangle], [rectangle, circle], [rectangle, circle, triangle]</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-background-01-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="ShiftBGAndBlur" filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="400">
<desc>
This filter discards the SourceGraphic, if any, and just produces
a result consisting of the BackgroundImage shifted down 125 units
and then blurred.
</desc>
<feOffset in="BackgroundImage" dx="0" dy="125" />
<feGaussianBlur stdDeviation="8" />
</filter>
<filter id="ShiftBGAndBlur_WithSourceGraphic"
filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="400">
<desc>
This filter takes the BackgroundImage, shifts it down 125 units, blurs it,
and then renders the SourceGraphic on top of the shifted/blurred background.
</desc>
<feOffset in="BackgroundImage" dx="0" dy="125" />
<feGaussianBlur stdDeviation="8" result="blur" />
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<g transform="scale(0.4) translate(-200 300)">
<g enable-background="new" transform="translate(270,0)">
<desc>The second adds an empty 'g' element which invokes ShiftBGAndBlur.</desc>
<rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
<g opacity=".5">
<circle cx="125" cy="75" r="45" fill="#D3FF00"/>
<polygon points="160,25 160,125 240,75" fill="#7A16FF"/>
</g>
<g filter="url(#ShiftBGAndBlur)"/>
<rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
</g>
<g enable-background="new" transform="translate(540,0)">
<desc>The third invokes ShiftBGAndBlur on the inner group.</desc>
<rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
<g filter="url(#ShiftBGAndBlur)" opacity=".5">
<circle cx="125" cy="75" r="45" fill="#D3FF00"/>
<polygon points="160,25 160,125 240,75" fill="#7A16FF"/>
</g>
<rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
</g>
<g enable-background="new" transform="translate(810,0)">
<desc>The fourth invokes ShiftBGAndBlur on the triangle.</desc>
<rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
<g opacity=".5">
<circle cx="125" cy="75" r="45" fill="#D3FF00"/>
<polygon points="160,25 160,125 240,75" fill="#7A16FF"
filter="url(#ShiftBGAndBlur)"/>
</g>
<rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
</g>
<g enable-background="new" transform="translate(1080,0)">
<desc>The fifth invokes ShiftBGAndBlur_WithSourceGraphic on the triangle.</desc>
<rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
<g opacity=".5">
<circle cx="125" cy="75" r="45" fill="#D3FF00"/>
<polygon points="160,25 160,125 240,75" fill="#7A16FF"
filter="url(#ShiftBGAndBlur_WithSourceGraphic)"/>
</g>
<rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.2 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,108 @@
<svg version="1.1" baseProfile="basic" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: filters-blend-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feBlendElement">
<p>
Verify correct operation of the five compositing modes
of the feBlend filter primitive. Seven rectangles are
blended into a gradient, with text strings identifying
which of the the five feBlend modes were used.
</p>
<p>
All rectangles but the fourth one have a blue fill, although the
blend mode will adjust this color. The fourth has a yellow fill.
</p>
<p>
The third and fourth rectangles are grouped and the filter is applied to the group.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image
exactly, except for possible variations in the
labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-blend-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g font-size="9" transform="scale(3)">
<image x="40" y="5" width="100" height="98" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEsUExURfb/AK3/AAD/9/9sAIn/AN7/ABT/AAB//zD/AP9GAAD/s1H/AAD/H/8AxwD/bn8A/1wA/wD/XJv/AP8Ai//MAGP/ABMA/wD/LP8A6P8KAP8AF/8A9QD/xAAA/wD1/9MA/wD/gABY/wD/Cf8ATJEA//+6AACT/wCn/+v/AAD/TAD/kf8AYKMA//8kAAAk/wAV/y0A/3b/AP80AAD/O/cA//8A/wD///8An/8A2QD/Ev8AAMQA/+0A/7MA////AP8ACuAA//8AJ24A/0sA//8AOAA0/wAK/wBF//8WAAgA/x8A///2AL//AP8AdTwA/wn/AP/bAP+AAP+UAM//AP+nAP8AtADp/wD/o0D/AP/qAADb/wC5/wDL/wD/AAD/7QD/0gD/4CH/AABr//9ZAG2IeB4AAABvSURBVHjaYrCyl3J0Udb2FTYP5bWQkDY1sXGQt7bVUeF3EnD2M/AS85R109dzdVdMYldTj46JCpMzY4pLiJfhCtdS4BPUNBbnsVSK9WdL5IjgFjVkEWL0CWbVYLDzjgwQUQ0JCmRO5jTS9ZAECDAA3aQTV3E5iioAAAAASUVORK5CYII="/>
<defs>
<filter id="BlendNormal" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feFlood in="BackgroundAlpha" flood-color="#0f0" flood-opacity="0.5" result="img1"/>
<feBlend in2="img1" in="SourceGraphic" mode="normal"/>
</filter>
<filter id="BlendMultiply" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
<feBlend in="SourceGraphic" in2="img2" mode="multiply"/>
</filter>
<filter id="BlendScreen" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
<feBlend in="SourceGraphic" in2="img2" mode="screen"/>
</filter>
<filter id="BlendDarken" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
<feBlend in="SourceGraphic" in2="img2" mode="darken"/>
</filter>
<filter id="BlendLighten" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
<feBlend in="SourceGraphic" in2="img2" mode="lighten"/>
</filter>
</defs>
<rect x="30" y="10" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendNormal)"/>
<rect x="30" y="23" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendMultiply)"/>
<g filter="url(#BlendMultiply)">
<rect x="30" y="36" width="120" height="10" fill="blue" opacity="0.5"/>
<rect x="30" y="49" width="120" height="10" fill="#ff0" opacity="0.5"/>
</g>
<rect x="30" y="62" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendScreen)"/>
<rect x="30" y="75" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendDarken)"/>
<rect x="30" y="88" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendLighten)"/>
<g fill="#333" font-size="7">
<text x="5" y="17">Normal</text>
<text x="5" y="30">Multiply</text>
<text x="5" y="43">Multiply</text>
<text x="5" y="56">Multiply</text>
<text x="5" y="69">Screen</text>
<text x="5" y="82">Darken</text>
<text x="5" y="95">Lighten</text>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.9 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,112 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-color-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement">
<p>
Test which verifies the basic facilities of
feColorMatrix.
</p>
<p>
This test uses the following elements : a nested
&lt;svg&gt; with a viewBox attribute, &lt;linearGradient&gt;,
&lt;filter&gt;, &lt;feColorMatrix&gt;, &lt;feComposite&gt;.
</p>
<p>
The test case shows five rectangles filled with a
gradient showing the effects of feColorMatrix: an
unfiltered rectangle acting as a reference, use of the
feColorMatrix matrix option to convert to grayscale,
use of the feColorMatrix saturate option, use of the
feColorMatrix hueRotate option, and use of the
feColorMatrix luminanceToAlpha option.
</p>
<p>
The test is somewhat self-explanatory as the strings
document the type of feColorMatrix operation that is
being used.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image
exactly, except for possible variations in the
labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-color-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="-10" y="5" width="500" height="290" viewBox="0 0 800 500">
<title>Example feColorMatrix - Examples of feColorMatrix operations</title>
<desc>Five rectangles filled with a gradient showing the effects of feColorMatrix: an unfiltered rectangle acting as a reference, use of the feColorMatrix matrix option to convert to grayscale, use of the feColorMatrix saturate option, use of the feColorMatrix hueRotate option, and use of the feColorMatrix luminanceToAlpha option.</desc>
<defs>
<linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="20" y1="0" x2="760" y2="0">
<stop offset="0" stop-color="#dd00dd"/>
<stop offset=".33" stop-color="#22cc22"/>
<stop offset=".67" stop-color="#400000"/>
<stop offset="1" stop-color="#a0a0ff"/>
</linearGradient>
<filter id="Matrix" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values=".33 .33 .33 0 0 .33 .33 .33 0 0 .33 .33 .33 0 0 .33 .33 .33 0 0"/>
</filter>
<filter id="Saturate40" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
<feColorMatrix type="saturate" in="SourceGraphic" values=".25"/>
</filter>
<filter id="HueRotate90" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
<feColorMatrix type="hueRotate" in="SourceGraphic" values="90"/>
</filter>
<filter id="LuminanceToAlpha" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
<feColorMatrix type="luminanceToAlpha" in="SourceGraphic" result="a"/>
<feComposite in="SourceGraphic" in2="a" operator="in"/>
</filter>
</defs>
<g font-size="40" font-family="Verdana">
<rect fill="none" stroke="blue" x="1" y="1" width="798" height="498"/>
<rect x="20" y="20" width="760" height="40" fill="url(#MyGradient)"/>
<text x="20" y="95">Unfiltered</text>
<rect x="20" y="120" width="760" height="40" fill="url(#MyGradient)" filter="url(#Matrix)"/>
<text x="20" y="195">type="matrix" (grayscale matrix)</text>
<rect x="20" y="220" width="760" height="40" fill="url(#MyGradient)" filter="url(#Saturate40)"/>
<text x="20" y="295">type="saturate" values=".4"</text>
<rect x="20" y="320" width="760" height="40" fill="url(#MyGradient)" filter="url(#HueRotate90)"/>
<text x="20" y="395">type="hueRotate" values="90"</text>
<rect x="20" y="420" width="760" height="40" fill="url(#MyGradient)" filter="url(#LuminanceToAlpha)"/>
<text x="20" y="495">type="luminanceToAlpha"</text>
</g>
</svg>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -0,0 +1,112 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CM" author="AG" status="accepted"
version="$Revision: 1.7 $" testname="$RCSfile: filters-color-02-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement">
<p>
Tests the default behaviour of feComponentTransfer
</p>
<p>
The test displays two rects with the same gradient fill. The gradient
fill has the stops red, green, blue and black all of which are evenly
spaced.
</p>
<p>
The first rect with the 'Reference' label beneath it has an
feComponentTransfer filter applied to it. This filter specifies a
'linear' transform for the Red component such that Red is transformed to
Black. The Green component is specified as an 'identity' transform. The
remaining components (Green, Alpha) are unspecified and by default
must be treated as 'identity' transforms.
</p>
<p>
The second rect with the 'Default' label beneath it has an
feComponentTransfer filter applied to it. This filter specifies a
multiple transforms from the Red component. The last transform
specified for the Red component is a 'linear' transform that shifts Red
to Black. This is the transform that should be used by a conforming
implementation. There are no other components specified for the filter
of the second rect. A conforming implementation should treat
unspecified components in an feComponentTransfer as 'identity'.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
For this test to pass both rects must have a gradient fill that has the
stop colors Black, Green, Blue and Black, equally spaced.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-color-02-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<linearGradient id="MyGradient" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" stop-color="#ff0000"/>
<stop offset=".33" stop-color="#00ff00"/>
<stop offset=".67" stop-color="#0000ff"/>
<stop offset="1" stop-color="#000000"/>
</linearGradient>
<filter id="Reference" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncR type="linear" slope="0" intercept="0"/>
<feFuncG type="identity"/>
</feComponentTransfer>
</filter>
<filter id="Default" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<!-- Red becomes black, green/blue/alpha use the identity function,
since erratum specifies omitted functions are the identity
function, and duplicated ones take the last one. -->
<feComponentTransfer>
<feFuncR type="identity"/>
<feFuncR type="linear" slope="0" intercept="1"/>
<feFuncR type="linear" slope="0" intercept="0"/>
</feComponentTransfer>
</filter>
</defs>
<g fill="url(#MyGradient)">
<rect x="20" y="40" width="440" height="40" filter="url(#Reference)"/>
<rect x="20" y="140" width="440" height="40" filter="url(#Default)"/>
</g>
<g font-family="Verdana" font-size="20" font-weight="bold">
<text x="40" y="100">Reference</text>
<text x="40" y="200">Default</text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,203 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-composite-02-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
<p>
Test which verifies the basic facilities of feComposite.
</p>
<p>
This test uses the following elements: &lt;path&gt;, &lt;filter&gt;
&lt;feImage&gt; &lt;feComposite&gt;.
</p>
<p>
The test case shows six pairs of overlapping triangles
depicting the six different feComposite operators. The
first row shows compositing when both triangles have
opacity=1. The second row shows compositing when both
triangles have opacity=.5. The six columns illustrate the
six types of compositing operations.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image
exactly, except for possible variations in the
labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-composite-02-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<g transform="translate(15 -60)">
<title>Example feComposite - Examples of feComposite operations</title>
<desc>Six pairs of overlapping triangles depicting the six different feComposite operators.</desc>
<defs>
<path id="Blue100" d="M 0 0 L 150 0 L 150 150 z" fill="#00ffff"/>
<path id="Red100" d="M 0 0 L 0 150 L 150 0 z" fill="#ff00ff"/>
<path id="Blue50" d="M 0 0 L 150 0 L 150 150 z" fill="#00ffff" fill-opacity="0.5"/>
<path id="Red50" d="M 0 0 L 0 150 L 150 0 z" fill="#ff00ff" fill-opacity="0.5"/>
<filter id="over" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue100" result="blue"/>
<feImage xlink:href="#Red100" result="red"/>
<feComposite in2="blue" in="red" operator="over"/>
</filter>
<filter id="over50" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue50" result="blue"/>
<feImage xlink:href="#Red50" result="red"/>
<feComposite in2="blue" in="red" operator="over"/>
</filter>
<filter id="in" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue100" result="blue"/>
<feImage xlink:href="#Red100" result="red"/>
<feComposite in2="blue" in="red" operator="in"/>
</filter>
<filter id="in50" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue50" result="blue"/>
<feImage xlink:href="#Red50" result="red"/>
<feComposite in2="blue" in="red" operator="in"/>
</filter>
<filter id="out" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue100" result="blue"/>
<feImage xlink:href="#Red100" result="red"/>
<feComposite in2="blue" in="red" operator="out"/>
</filter>
<filter id="out50" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue50" result="blue"/>
<feImage xlink:href="#Red50" result="red"/>
<feComposite in2="blue" in="red" operator="out"/>
</filter>
<filter id="atop" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue100" result="blue"/>
<feImage xlink:href="#Red100" result="red"/>
<feComposite in2="blue" in="red" operator="atop"/>
</filter>
<filter id="atop50" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue50" result="blue"/>
<feImage xlink:href="#Red50" result="red"/>
<feComposite in2="blue" in="red" operator="atop"/>
</filter>
<filter id="xor" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue100" result="blue"/>
<feImage xlink:href="#Red100" result="red"/>
<feComposite in2="blue" in="red" operator="xor"/>
</filter>
<filter id="xor50" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue50" result="blue"/>
<feImage xlink:href="#Red50" result="red"/>
<feComposite in2="blue" in="red" operator="xor"/>
</filter>
<filter id="arithmetic" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue100" result="blue"/>
<feImage xlink:href="#Red100" result="red"/>
<feComposite in2="blue" in="red" operator="arithmetic" k1=".5" k2=".5" k3=".5" k4=".5"/>
</filter>
<filter id="arithmetic50" x="0" y="0" width="1" height="1">
<feImage xlink:href="#Blue50" result="blue"/>
<feImage xlink:href="#Red50" result="red"/>
<feComposite in2="blue" in="red" operator="arithmetic" k1=".5" k2=".5" k3=".5" k4=".5"/>
</filter>
</defs>
<g font-family="Verdana" font-size="60" shape-rendering="crispEdges" transform="translate(5,70) scale(.4)">
<rect fill="none" stroke="blue" x="1" y="1" width="1098" height="723"/>
<text x="100" y="75">on first Row : opacity 1.0</text>
<text x="100" y="180">on second row opacity 0.5</text>
<g transform="translate(15,230)">
<rect x="0" y="0" width="150" height="150" filter="url(#over)"/>
<text x="10" y="400">over</text>
</g>
<g transform="translate(15,430)">
<rect x="0" y="0" width="150" height="150" filter="url(#over50)"/>
</g>
<g transform="translate(195,230)">
<rect x="0" y="0" width="150" height="150" filter="url(#in)"/>
<text x="10" y="400">in</text>
</g>
<g transform="translate(195,430)">
<rect x="0" y="0" width="150" height="150" filter="url(#in50)"/>
</g>
<g transform="translate(375,230)">
<rect x="0" y="0" width="150" height="150" filter="url(#out)"/>
<text x="10" y="400">out</text>
</g>
<g transform="translate(375,430)">
<rect x="0" y="0" width="150" height="150" filter="url(#out50)"/>
</g>
<g transform="translate(555,230)">
<rect x="0" y="0" width="150" height="150" filter="url(#atop)"/>
<text x="10" y="400">atop</text>
</g>
<g transform="translate(555,430)">
<rect x="0" y="0" width="150" height="150" filter="url(#atop50)"/>
</g>
<g transform="translate(735,230)">
<rect x="0" y="0" width="150" height="150" filter="url(#xor)"/>
<text x="10" y="400">xor</text>
</g>
<g transform="translate(735,430)">
<rect x="0" y="0" width="150" height="150" filter="url(#xor50)"/>
</g>
<g transform="translate(915,230)">
<rect x="0" y="0" width="150" height="150" filter="url(#arithmetic)"/>
<text x="-25" y="400">arith-</text>
<text x="-25" y="470">metic</text>
</g>
<g transform="translate(915,430)">
<rect x="0" y="0" width="150" height="150" filter="url(#arithmetic50)"/>
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,91 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CL" author="ED" status="accepted"
version="$Revision: 1.4 $" testname="$RCSfile: filters-composite-03-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
<p>
Tests the arithmetic operator in feComposite.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test is passed if there are four filled squares visible, and the
fill color matches the respective reference stroke exactly.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-composite-03-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="composite-ident" x="0" y="0" width="1" height="1">
<feComposite operator="arithmetic" in="FillPaint" in2="StrokePaint" k1="0" k2="1" k3="-1" k4="0"/>
</filter>
<filter id="composite-negative" x="0" y="0" width="1" height="1">
<feComposite operator="arithmetic" in="FillPaint" in2="FillPaint" k1="0" k2="2" k3="-1.5" k4="0"/>
</filter>
<filter id="composite-mixed" x="0" y="0" width="1" height="1">
<feComposite operator="arithmetic" in="FillPaint" in2="StrokePaint" k1="1" k2="-0.5" k3="0.2" k4="-0.1"/>
</filter>
<filter id="composite-clamped" x="0" y="0" width="1" height="1">
<feComposite operator="arithmetic" in="FillPaint" in2="StrokePaint" k1="0" k2="10" k3="20" k4="0"/>
</filter>
</defs>
<g transform="translate(100 30)">
<rect id="reference1" fill="lime" width="120" height="120"/>
<rect fill="red" stroke="red" filter="url(#composite-ident)" x="10" y="10" width="100" height="100"/>
</g>
<g transform="translate(250 30)">
<!-- librsvg note: white background to fix the test suite being stupid. -->
<rect fill="white" x="10" y="10" width="100" height="100"/>
<rect fill="#0F0" filter="url(#composite-negative)" x="10" y="10" width="100" height="100"/>
<rect id="reference2" stroke="#7FFF7F" x="5" y="5" width="110" height="110" stroke-width="12" fill="none"/>
</g>
<g transform="translate(100 180)">
<!-- librsvg note: white background to fix the test suite being stupid. -->
<rect fill="white" x="10" y="10" width="100" height="100"/>
<rect fill="rgb(43,17,12)" stroke="rgb(32,42,37)" filter="url(#composite-mixed)" x="10" y="10" width="100" height="100"/>
<rect id="reference3" stroke="#666" x="5" y="5" width="110" height="110" stroke-width="12" fill="none"/>
</g>
<g transform="translate(250 180)">
<rect fill="rgb(0,127,0)" stroke="rgb(0,0,127)" filter="url(#composite-clamped)" x="10" y="10" width="100" height="100"/>
<rect id="reference4" stroke="rgb(0,255,255)" x="5" y="5" width="110" height="110" stroke-width="12" fill="none"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.4 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
-->
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -0,0 +1,78 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="[reviewer]" author="[author]" status="empty"
version="$Revision: 1.1 $" testname="$RCSfile: filters-composite-04-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
<p>
Test feComposite and the arithmetic operator to implement a simple dissolve operation.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if there are four images visible, each in
different stages of dissolving the bird in the foreground into the
tree in the background.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-composite-04-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="dissolve1" x="0" y="0" width="1" height="1">
<feImage xlink:href="resources/stefan_252_tRNS_opti.png" result="bird"/>
<feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.5" k3="0.5" k4="0"/>
</filter>
<filter id="dissolve2" x="0" y="0" width="1" height="1">
<feImage xlink:href="resources/stefan_252_tRNS_opti.png" result="bird"/>
<feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.1" k3="0.9" k4="0"/>
</filter>
<filter id="dissolve3" x="0" y="0" width="1" height="1">
<feImage xlink:href="resources/stefan_252_tRNS_opti.png" result="bird"/>
<feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.75" k3="0.25" k4="0"/>
</filter>
<filter id="dissolve4" x="0" y="0" width="1" height="1">
<feImage xlink:href="resources/stefan_252_tRNS_opti.png" result="bird"/>
<feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.25" k3="0.75" k4="0"/>
</filter>
</defs>
<image width="120" height="80" xlink:href="resources/tree.jpg" filter="url(#dissolve1)" transform="translate(100 80)"/>
<image width="120" height="80" xlink:href="resources/tree.jpg" filter="url(#dissolve2)" transform="translate(250 80)"/>
<image width="120" height="80" xlink:href="resources/tree.jpg" filter="url(#dissolve3)" transform="translate(100 190)"/>
<image width="120" height="80" xlink:href="resources/tree.jpg" filter="url(#dissolve4)" transform="translate(250 190)"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.1 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,67 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
version="$Revision: 1.1 $" testname="$RCSfile: filters-composite-05-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
<p>
Testing the feComposite element and that the 'k2' and 'k3' attributes
are animatable. The result is an animated dissolve between two images.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Reload the testcase or click the image to run animation again.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if there is an animation effect that gradually
dissolves a photo of a tree into an image of a bird over the course
of two seconds. The final result is that the bird is fully visible
and the tree photo is invisible.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-composite-05-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<!-- librsvg note: we don't support animation, but let's not miss out on a test image.
Animation replaced with just final values. -->
<filter id="dissolve" x="0" y="0" width="1" height="1">
<feImage xlink:href="resources/stefan_252_tRNS_opti.png" result="bird"/>
<feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0" k3="1" k4="0"/>
</filter>
</defs>
<image id="image" width="320" height="160" xlink:href="resources/tree.jpg" filter="url(#dissolve)" transform="translate(80 80)"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.1 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,126 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-comptran-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement">
<p>
Test which verifies the basic facilities of
feComponentTransfer.
</p>
<p>
This test uses the following elements : a nested &lt;svg&gt;
with a viewBox attribute, &lt;linearGradient&gt;, &lt;filter&gt;,
&lt;feComponentTransfer&gt;.
</p>
<p>
The test case shows four rectangles filled with a
gradient showing the effects of feComponentTransfer: an
identity function acting as a reference, use of the
feComponentTransfer table option, use of the
feComponentTransfer linear option, and use of the
feComponentTransfer gamma option.
</p>
<p>
The test is somewhat self-explanatory as the strings
document the type of feComponentTransfer operation that
is being used.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image
exactly, except for possible variations in the
labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-comptran-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="15" y="5" width="450" height="300" viewBox="0 0 630 420">
<title>Example feComponentTransfer - Examples of feComponentTransfer operations</title>
<desc>Four rectangles filled with a gradient showing the effects of feComponentTransfer: an identity function acting as a reference, use of the feComponentTransfer table option, use of the feComponentTransfer linear option, and use of the feComponentTransfer gamma option.</desc>
<defs>
<linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="10" y1="0" x2="590" y2="0">
<stop offset="0" stop-color="#ff0000"/>
<stop offset=".33" stop-color="#00ff00"/>
<stop offset=".67" stop-color="#0000ff"/>
<stop offset="1" stop-color="#000000"/>
</linearGradient>
<filter id="Identity" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncR type="identity"/>
<feFuncG type="identity"/>
<feFuncB type="identity"/>
<feFuncA type="identity"/>
</feComponentTransfer>
</filter>
<filter id="Table" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncR type="table" tableValues="0 0 1 1"/>
<feFuncG type="table" tableValues="1 1 0 0"/>
<feFuncB type="table" tableValues="0 1 1 0"/>
</feComponentTransfer>
</filter>
<filter id="Linear" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncR type="linear" slope=".5" intercept=".25"/>
<feFuncG type="linear" slope=".5" intercept="0"/>
<feFuncB type="linear" slope=".5" intercept=".5"/>
</feComponentTransfer>
</filter>
<filter id="Gamma" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feComponentTransfer>
<feFuncR type="gamma" amplitude="2" exponent="5" offset="0"/>
<feFuncG type="gamma" amplitude="2" exponent="3" offset="0"/>
<feFuncB type="gamma" amplitude="2" exponent="1" offset="0"/>
</feComponentTransfer>
</filter>
</defs>
<rect fill="none" stroke="blue" x="1" y="1" width="628" height="418"/>
<g font-size="30" font-family="Verdana">
<rect fill="none" stroke="blue" x="1" y="1" width="628" height="418"/>
<rect x="10" y="10" width="580" height="40" fill="url(#MyGradient)" filter="url(#Identity)"/>
<text x="10" y="80">type: identity</text>
<rect x="10" y="110" width="580" height="40" fill="url(#MyGradient)" filter="url(#Table)"/>
<text x="10" y="180">type: table</text>
<rect x="10" y="210" width="580" height="40" fill="url(#MyGradient)" filter="url(#Linear)"/>
<text x="10" y="280">type:linear slope:.5 intercepts:.25/0/.5</text>
<rect x="10" y="310" width="580" height="40" fill="url(#MyGradient)" filter="url(#Gamma)"/>
<text x="10" y="380">type: gamma ampl:2 exponents:5/3/1</text>
</g>
</svg>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -0,0 +1,112 @@
<svg version="1.1" baseProfile="full" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-conv-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElement">
<p>
Test which verifies the basic facilities of
feConvolveMatrix.
</p>
<p>
This test defines six filters that exercise traditional
convolutions: uniform blur, vertical and horizontal
blurs, edge detection, embossing and sharpening. Note
that the edge detection filter produces a fully
transparent image because the alpha channel is convolved
and produces 0 values.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image
exactly, except for possible variations in the
labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-conv-01-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="12">
<!--Generated by the Java 2D API Graphics2D SVG Generator, Sun Microsystems Inc.-->
<g transform="translate(20, 40)">
<defs id="defs1">
<filter id="convolve1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3 3" kernelMatrix="0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111" edgeMode="none"/>
</filter>
<filter id="convolve2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3 3" kernelMatrix="-1 -1 -1 -1 8 -1 -1 -1 -1" edgeMode="duplicate"/>
</filter>
<filter id="convolve3" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3 3" kernelMatrix="-1 -1 -1 -1 9 -1 -1 -1 -1" edgeMode="none"/>
</filter>
<filter id="convolve4" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3 3" kernelMatrix="-2 0 0 0 1 0 0 0 2" edgeMode="none"/>
</filter>
<filter id="convolve5" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3 1" kernelMatrix="0.3333 0.3333 0.3333" edgeMode="none"/>
</filter>
<filter id="convolve6" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="1 3" kernelMatrix="0.3333 0.3333 0.3333" edgeMode="none"/>
</filter>
</defs>
<g shape-rendering="geometricPrecision" text-rendering="geometricPrecision">
<text x="10" y="20" stroke="none" opacity="1" filter="none">Blur (3x3)</text>
<g opacity="1" filter="none">
<image width="50" height="63" xlink:href="images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve1)"/>
</g>
<text x="10" y="20" transform="translate(150,0)" stroke="none" opacity="1" filter="none">Edge Detection (3x3)</text>
<g transform="translate(150,0)" opacity="1" filter="none">
<image width="50" height="63" xlink:href="images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve2)"/>
</g>
<text x="10" y="20" transform="translate(300,0)" stroke="none" opacity="1" filter="none">Sharpening (3x3)</text>
<g transform="translate(300,0)" opacity="1" filter="none">
<image width="50" height="63" xlink:href="images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve3)"/>
</g>
<text x="10" y="20" transform="translate(0,93)" stroke="none" opacity="1" filter="none">Embossing (3x3)</text>
<g transform="translate(0,93)" opacity="1" filter="none">
<image width="50" height="63" xlink:href="images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve4)"/>
</g>
<text x="10" y="20" transform="translate(150,93)" stroke="none" opacity="1" filter="none">Horizontal blur (3x1)</text>
<g transform="translate(150,93)" opacity="1" filter="none">
<image width="50" height="63" xlink:href="images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve5)"/>
</g>
<text x="10" y="20" transform="translate(300,93)" stroke="none" opacity="1" filter="none">Vertical blur (1x3)</text>
<g transform="translate(300,93)" opacity="1" filter="none">
<image width="50" height="63" xlink:href="images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve6)"/>
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -0,0 +1,77 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="CM" author="ED" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: filters-conv-02-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementOrderAttribute">
<p>
Tests feConvolveMatrix with different values for the 'order' attribute.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>You should see three filtered images. Each image is the same
and has the same filter applied to it.
The test has passed if all the three filtered images look the same, and the filtered result shows bright white edges on a dark background.
The rendered picture should match the reference image.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-conv-02-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="convolve-without-order" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix kernelMatrix="1 1 1 1 -8 1 1 1 1" preserveAlpha="true"/>
</filter>
<filter id="convolve-with-order1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3" kernelMatrix="1 1 1 1 -8 1 1 1 1" preserveAlpha="true"/>
</filter>
<filter id="convolve-with-order2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix order="3 3" kernelMatrix="1 1 1 1 -8 1 1 1 1" preserveAlpha="true"/>
</filter>
</defs>
<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'order' attribute</text>
<image x="90" y="100" width="100" height="100" xlink:href="images/image1.jpg" filter="url(#convolve-without-order)"/>
<text x="135" y="220" style="font-size:9px; text-anchor:middle">without order</text>
<image x="190" y="100" width="100" height="100" xlink:href="images/image1.jpg" filter="url(#convolve-with-order1)"/>
<text x="235" y="220" style="font-size:9px; text-anchor:middle">order="3"</text>
<image x="290" y="100" width="100" height="100" xlink:href="images/image1.jpg" filter="url(#convolve-with-order2)"/>
<text x="335" y="220" style="font-size:9px; text-anchor:middle">order="3 3"</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.9 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,104 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="CM" owner="ED" status="accepted"
version="$Revision: 1.8 $" testname="$RCSfile: filters-conv-03-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/#feConvolveMatrixElementOrderAttribute">
<p>
Tests the 'in1' DOM attribute on 'feConvolveMatrix'.
</p>
<p>
Load the testcase, you should see three nearly identical images that say "FAIL".
After 3 seconds all three images should be replaced by the same image of a bird.
The two images to the right have filters applied, while the one on the left is always unfiltered.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if:
</p>
<ul>
<li>the two images inside the blue rects look exactly the same</li>
<li>the same base image is used in all three rects</li>
<li>the purple image that says "FAIL" is replaced after 3 seconds by an image of a bird</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-conv-03-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!-- librsvg note: we don't support animation, but let's not miss out on a test image.
Animation replaced with just final values. -->
<defs>
<filter id="sharpenAnim" x="0" y="0" width="100%" height="100%">
<feImage xlink:href="images/stefan_252_tRNS_opti.png" result="passimg"/>
<feConvolveMatrix in="passimg" order="3" kernelMatrix="0 -1 0
-1 5 -1
0 -1 0" preserveAlpha="true">
<set attributeName="in" to="passimg" begin="3s" fill="freeze" onbegin="runtest()"/>
</feConvolveMatrix>
</filter>
<filter id="sharpenScript" x="0" y="0" width="100%" height="100%">
<feImage xlink:href="images/stefan_252_tRNS_opti.png" result="passimg"/>
<feConvolveMatrix id="prim" in="passimg" order="3" kernelMatrix="0 -1 0
-1 5 -1
0 -1 0" preserveAlpha="true"/>
</filter>
<text id="pass" x="240" y="150" text-anchor="middle" font-size="30px">PASS</text>
</defs>
<script type="application/ecmascript">
function runtest()
{
var img = document.getElementById("img");
img.href.baseVal = "images/stefan_252_tRNS_opti.png";
var prim = document.getElementById("prim");
prim.in1.baseVal = "passimg";
}
</script>
<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'in1' DOM</text>
<image id="img" xlink:href="images/stefan_252_tRNS_opti.png" x="80" y="100" width="100" height="100"/>
<image xlink:href="images/purplesquidj.png" x="190" y="100" width="100" height="100" filter="url(#sharpenAnim)"/>
<image xlink:href="images/purplesquidj.png" x="300" y="100" width="100" height="100" filter="url(#sharpenScript)"/>
<rect x="80" y="100" width="100" height="100" stroke="black" fill="none"/>
<rect x="190" y="100" width="100" height="100" stroke="blue" fill="none"/>
<rect x="300" y="100" width="100" height="100" stroke="blue" fill="none"/>
<text x="130" y="220" style="font-size:9px; text-anchor:middle">Original image</text>
<text x="240" y="220" style="font-size:9px; text-anchor:middle">Animated filter</text>
<text x="350" y="220" style="font-size:9px; text-anchor:middle">Scripted filter</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.8 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@@ -0,0 +1,163 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="ED" owner="AG" status="created"
version="$Revision: 1.4 $" testname="$RCSfile: filters-conv-04-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementBiasAttribute">
<p>
Tests the 'bias' attribute on 'feConvolveMatrix'.
</p>
<p>
The test uses a raster image and a vector graphic to test the effect
that the 'bias' attribute on 'feConvolveMatrix' has.
</p>
<p>
The first row of images in the test are four identical raster images.
The first image is the original unfiltered image. The second has the
filter kernel applied with no bias value specified. The third and fourth
images both have a bias value specified for the filter.
</p>
<p>
The second row of images in the test are four rectangle objects with a
gradient fill. The gradient fill transitions from opaque green to
transparent green. The first image is the original unfiltered graphic. The
second graphic has a filter kernel applied with no bias value specified.
The third and forth images both have a bias value specified for the
filter.
</p>
<p>
Behind each filter result there's a checkerboard pattern placed, to help
verify that there's transparency in the lower row, but not in the upper.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if:
</p>
<ul>
<li>
The raster images in the top row appears more faded and coarse for each instance
further to the right.
<ul>
<li>The first image (left most) must be smooth and clear</li>
<li>
The second image (second from the left) must contain the same colours as
the first image but have course outlining around the objects.
</li>
<li>
The third image (second from the right) must contain colour that is very faded
but have course outlining around the faded objects.
</li>
<li>
The last image (right most) must be completed faded such that all the colour
in the first image appears to have gone to white. Some course outlining should
appear in the image.
</li>
</ul>
</li>
<li>
The top row has no checkerboard pattern visible where the filtered results are.
</li>
<li>
The rectangle with a green gradient going from left to right appears
more faded for each instance further to the right.
<ul>
<li>
The first image (left most) must be a rect filled with a linear gradient that
transitions from solid green to transparent green.
</li>
<li>The second image (second from the left) must be identical to the first image.</li>
<li>
The third image (second from the right) must contain a linear gradient that transitions
from a solid faded green to transparent faded green.
</li>
<li>
The last image (right most) must contain a linear gradient that transitions from
solid white to transparent white.
</li>
</ul>
</li>
<li>
The bottom row must show 95% of the checkerboard pattern where the filtered results are
since the gradients are transparent.
</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-conv-04-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="convolve-without-bias" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false"/>
</filter>
<filter id="convolve-with-bias05" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" bias="0.5"/>
</filter>
<filter id="convolve-with-bias1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" bias="1"/>
</filter>
<linearGradient id="test_linear_gradient" gradientUnits="objectBoundingBox" x1="0" x2="1" y1="0" y2="0">
<stop stop-color="#00FF00" stop-opacity="1" offset="0"/>
<stop stop-color="#00FF00" stop-opacity="0" offset="1"/>
</linearGradient>
</defs>
<g transform="translate(0, 20)">
<image x="12" y="1" width="97" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="127" y="1" width="97" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="242" y="1" width="97" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="357" y="1" width="97" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="10" y="0" width="100" height="100" xlink:href="images/townsville.jpg" />
<image x="125" y="0" width="100" height="100" xlink:href="images/townsville.jpg" filter="url(#convolve-without-bias)"/>
<image x="240" y="0" width="100" height="100" xlink:href="images/townsville.jpg" filter="url(#convolve-with-bias05)"/>
<image x="355" y="0" width="100" height="100" xlink:href="images/townsville.jpg" filter="url(#convolve-with-bias1)"/>
</g>
<g transform="translate(0, 110)">
<image x="11" y="51" width="98" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="126" y="51" width="98" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="241" y="51" width="98" height="98" xlink:href="images/DisplaceChecker.png"/>
<image x="356" y="51" width="98" height="98" xlink:href="images/DisplaceChecker.png"/>
<rect fill="url(#test_linear_gradient)" stroke="black" x="10" y="50" width="100" height="100"/>
<rect fill="url(#test_linear_gradient)" stroke="black" x="125" y="50" width="100" height="100" filter="url(#convolve-without-bias)"/>
<rect fill="url(#test_linear_gradient)" stroke="black" x="240" y="50" width="100" height="100" filter="url(#convolve-with-bias05)"/>
<rect fill="url(#test_linear_gradient)" stroke="black" x="355" y="50" width="100" height="100" filter="url(#convolve-with-bias1)"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.4 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,83 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="CM" author="ED" status="created"
version="$Revision: 1.2 $" testname="$RCSfile: filters-conv-05-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementOrderAttribute">
<p>
Tests feConvolveMatrix and the 'edgeMode' attribute.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
You should see three filtered images, each result should be slightly different, if they all look the same the test has failed.
The rendered picture should match the reference image.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-conv-05-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="emNone" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="none"/>
</filter>
<filter id="emWrap" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="wrap"/>
</filter>
<filter id="emDuplicate" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="duplicate"/>
</filter>
<g id="box">
<rect width="10" height="100" fill="blue"/>
<rect x="10" width="100" height="10" fill="yellow"/>
<rect x="110" width="10" height="100" fill="lime"/>
<rect x="10" y="90" width="100" height="10" fill="black"/>
</g>
</defs>
<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'edgeMode'</text>
<use xlink:href="#box" filter="url(#emNone)" transform="translate(40 100)"/>
<text x="100" y="220" font-size="14" text-anchor="middle">none</text>
<use xlink:href="#box" filter="url(#emWrap)" transform="translate(180 100)"/>
<text x="240" y="220" font-size="14" text-anchor="middle">wrap</text>
<use xlink:href="#box" filter="url(#emDuplicate)" transform="translate(320 100)"/>
<text x="380" y="220" font-size="14" text-anchor="middle">duplicate</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.2 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -0,0 +1,152 @@
<svg version="1.1" baseProfile="full" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-diffuse-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDiffuseLightingElement">
<p>
Verify the basic operation of the feDiffuseLighting
element. The test shows three rows of 3 images. Each
rows tests a different aspect of the filter and shows
the result of the filtering operation.
</p>
<p>
The first row shows the result of varying the
surfaceScale attribute. The second row shows the result
of varying the diffuse constant (kd) attribute. The last
row shows the result of varying the lighting-color
property.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-diffuse-01-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!-- Title -->
<text x="145" y="30" fill="black" font-size="12" font-family="Arial" font-weight="bold">Filters: feDiffuseLighting</text>
<!-- ===================================================================== -->
<!-- Filter definitions -->
<!-- ===================================================================== -->
<defs>
<!-- ================================================= -->
<!-- Surface scale -->
<!-- ================================================= -->
<filter id="surfaceScaleA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="1">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="surfaceScaleB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="surfaceScaleC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="-10">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<!-- ================================================= -->
<!-- Diffuse Constants -->
<!-- ================================================= -->
<filter id="diffuseConstantA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="0" surfaceScale="10">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="diffuseConstantB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="diffuseConstantC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="2" surfaceScale="10">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<!-- ================================================= -->
<!-- Lighting colors -->
<!-- ================================================= -->
<filter id="lightingColorA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="red">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="lightingColorB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="yellow">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="lightingColorC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="blue">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
</defs>
<!-- ==================================================== -->
<!-- The same image is rendered multiple times with using -->
<!-- different filters. -->
<!-- ==================================================== -->
<!-- Various Surface Scales -->
<g transform="translate(0, 50)">
<text x="90" y="25">Various values for surfaceScale: 1, 10 and -10</text>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)"/>
<image xlink:href="images/bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#surfaceScaleB)"/>
<image xlink:href="images/bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#surfaceScaleC)"/>
</g>
<!-- Various Diffuse Constants -->
<g transform="translate(0, 120)">
<text x="90" y="25">Various values for diffuseConstants: 0, 1 and 2</text>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#diffuseConstantA)"/>
<image xlink:href="images/bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#diffuseConstantB)"/>
<image xlink:href="images/bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#diffuseConstantC)"/>
</g>
<!-- Various Light Colors -->
<g transform="translate(0, 190)">
<text x="90" y="25">Various values for lighting color: red, yellow and blue</text>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)"/>
<image xlink:href="images/bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#lightingColorB)"/>
<image xlink:href="images/bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#lightingColorC)"/>
</g>
<!-- ===================================================== -->
<!-- Legends -->
<!-- ===================================================== -->
<!-- Surface Scale -->
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -0,0 +1,90 @@
<svg version="1.1" baseProfile="full" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="ED" author="CL" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: filters-displace-02-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDisplacementMapElement">
<p>
This tests feDisplacementMap without feImage. The input geometry is also used as the displacement map.
</p>
<p>
The bottom subtest tests that not specifying the 'xChannelSelector' attribute has the same effect as if 'A' was specified.
</p>
<p>
In both cases the filter input image consists of a gradient that is rendered using the default 'color-interpolation' which is 'sRGB'.
The default colorspace for filter primitives is 'linearRGB'. The filtering operation happens in 'linearRGB' space and the
result is then transformed back to 'sRGB' space for display.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if:
</p>
<ul>
<li>the top rectangle is overlapped by a gradient that has its blackest part centered around the vertical green line that splits the top rectangle</li>
<li>the bottom right corner of the area covered by the top gradient is aligned with the corner just below the top rectangle</li>
<li>the bottom rectangle is overlapped by a gradient that is displaced upwards with the maximum displacement the middle indicated by the vertical green line that splits the bottom rectangle</li>
<li>no part of the bottom gradient extends outside the bottom rectangle</li>
<li>both gradients use the same gradientcolors</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-displace-02-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<linearGradient id="fade" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#600" stop-opacity="0"/>
<stop offset="0.5" stop-color="#000" stop-opacity="1"/>
<stop offset="1.0" stop-color="#300" stop-opacity="0"/>
</linearGradient>
<filter id="bend" filterUnits="objectBoundingBox" x="0" width="1.0" y="-1.3" height="2.28">
<feDisplacementMap in="SourceGraphic" in2="SourceAlpha" yChannelSelector="A" scale="30"/>
</filter>
<filter id="slide" filterUnits="objectBoundingBox" x="-0.3" width="1.3" y="0" height="1.3">
<feDisplacementMap in="SourceGraphic" in2="SourceGraphic" xChannelSelector="R" yChannelSelector="G" scale="80"/>
</filter>
<polyline points="280, 40, 280,120" stroke-width="2" stroke="green"/>
<polyline points="400, 144, 420,144, 420, 124" stroke-width="2" stroke="green" fill="none"/>
<rect width="360" height="80" x="60" y="40" fill="none" stroke="#933" stroke-width="2"/>
<rect width="360" height="80" x="60" y="40" fill="url(#fade)" filter="url(#slide)"/>
<polyline points="240, 180, 240,260" stroke-width="2" stroke="green"/>
<rect width="360" height="80" x="60" y="180" fill="none" stroke="#933" stroke-width="2"/>
<rect width="360" height="80" x="60" y="180" fill="url(#fade)" filter="url(#bend)"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,127 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="TB" author="ED" status="accepted"
version="$Revision: 1.7 $" testname="$RCSfile: filters-felem-02-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterElementPrimitiveUnitsAttribute">
<p>
This tests the 'primitiveUnits' attribute and how it affects other attribute values.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
You should see three rectangles in a row, then a row of three circles, then a row of three stars.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if:
</p>
<ul>
<li>There is no red visible anywhere</li>
<li>The first row has three green rectangles</li>
<li>The second row has three black circles, and the middle one has more blurred edges than the other two.</li>
<li>The third row has three green stars.</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-felem-02-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="usou1" primitiveUnits="userSpaceOnUse" x="0" y="0" width="100%" height="100%">
<feFlood flood-color="lime" x="25" y="25" width="50" height="50"/>
</filter>
<filter id="obb1" primitiveUnits="objectBoundingBox" x="0" y="0" width="100%" height="100%">
<feFlood flood-color="lime" x="25%" y="25%" width="50%" height="50%"/>
</filter>
<filter id="default1" x="0" y="0" width="100%" height="100%">
<feFlood flood-color="lime" x="25" y="25" width="50" height="50"/>
</filter>
<filter id="usou2" primitiveUnits="userSpaceOnUse" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="0.2"/>
</filter>
<filter id="obb2" primitiveUnits="objectBoundingBox" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="0.2"/>
</filter>
<filter id="default2" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="0.2"/>
</filter>
<filter id="usou3" primitiveUnits="userSpaceOnUse" x="-50%" y="-50%" width="200%" height="200%">
<feOffset dx="2" dy="2"/>
</filter>
<filter id="obb3" filterUnits="userSpaceOnUse" primitiveUnits="objectBoundingBox" x="-50%" y="-50%" width="200%" height="200%">
<feOffset dx="2" dy="2"/>
</filter>
<filter id="default3" x="-50%" y="-50%" width="200%" height="200%">
<feOffset dx="2" dy="2"/>
</filter>
<polygon id="star" points="300,60 311.755,83.819 338.042,87.639 319.021,106.180 323.511,132.360 300,120 276.488,132.360 280.978,106.180 261.957,87.639 288.244,83.819 300,60 311.755,83.819"/>
</defs>
<g transform="translate(80 0)">
<rect fill="red" width="50" height="50" transform="translate(25 25)"/>
<rect fill="red" width="100" height="100" filter="url(#usou1)" transform="translate(0 0)"/>
<rect fill="red" width="50" height="50" transform="translate(125 25)"/>
<rect fill="red" width="100" height="100" filter="url(#obb1)" transform="translate(100 0)"/>
<rect fill="red" width="50" height="50" transform="translate(225 25)"/>
<rect fill="red" width="100" height="100" filter="url(#default1)" transform="translate(200 0)"/>
<g transform="translate(50 40)">
<circle r="30" filter="url(#usou2)" transform="translate(0 100)"/>
<circle r="30" filter="url(#obb2)" transform="translate(100 100)"/>
<circle r="30" filter="url(#default2)" transform="translate(200 100)"/>
</g>
<use xlink:href="#star" transform="translate(-250 150)" fill="red"/>
<use xlink:href="#star" transform="translate(-252 148)" fill="lime" filter="url(#usou3)"/>
<use xlink:href="#star" transform="translate(-250 150)" fill="none" stroke-width="2" stroke="lime"/>
<use xlink:href="#star" transform="translate(-150 150)" fill="red"/>
<use xlink:href="#star" transform="translate(-302 5.1)" fill="lime" filter="url(#obb3)"/>
<use xlink:href="#star" transform="translate(-150 150)" fill="none" stroke-width="2" stroke="lime"/>
<use xlink:href="#star" transform="translate(-50 150)" fill="red"/>
<use xlink:href="#star" transform="translate(-52 148)" fill="lime" filter="url(#default3)"/>
<use xlink:href="#star" transform="translate(-50 150)" fill="none" stroke-width="2" stroke="lime"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.7 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,93 @@
<svg version="1.1" baseProfile="basic" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
version="$Revision: 1.7 $" testname="$RCSfile: filters-gauss-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#feGaussianBlurElement">
<p>
In the upper left corner of the output are blue and yellow rectangles that overlap,
they appear normally, no gaussianBlur has been applied.
In the upper right the same rectangles are displayed with a blur filter applied,
the standard deviation is the same for both the x and y axis.
In the lower right corner the rectangles appear again,
this time the standard deviation is different along the x (20) and y (1) axis.
</p>
<p>
On top of the rectangles in the upper right and lower right, thin (half-pixel-wide) blue
lines are drawn to show the outline of the object bounding box (the inside lines) and the
outline of the filter region (the outside lines). The blur effect should be clipped
to the bounds of the filter region.
</p>
<p>
The test uses the 'rect' element, as well as basic fill (solid primary colors),
stroke (black 1-pixel and blue half-pixel lines), font-family (Arial) and font-size properties.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image, except for possible
variations in the labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-gauss-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<g id="rects">
<rect x="0" y="0" width="90" height="90" fill="blue"/>
<rect x="45" y="45" width="90" height="90" fill="yellow"/>
</g>
<g id="rect_outlines">
<rect x="0" y="0" width="135" height="135" fill="none" stroke="blue" stroke-width=".5"/>
<rect x="-13.5" y="-13.5" width="162" height="162" fill="none" stroke="blue" stroke-width=".5"/>
</g>
<filter id="blur" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
<feGaussianBlur stdDeviation="10"/>
</filter>
<filter id="blurxy" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
<feGaussianBlur stdDeviation="20 1"/>
</filter>
</defs>
<use xlink:href="#rects"/>
<g transform="translate(310,15)">
<use xlink:href="#rects" filter="url(#blur)"/>
<use xlink:href="#rect_outlines"/>
</g>
<g transform="translate(310,200)">
<use xlink:href="#rects" filter="url(#blurxy)"/>
<use xlink:href="#rect_outlines"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,85 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="TB" author="ED" status="accepted"
version="$Revision: 1.3 $" testname="$RCSfile: filters-gauss-02-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#feGaussianBlurElement">
<p>
Test that when 'stdDeviation' is zero in one of X or Y the filter input image is
blurred only in the non-zero direction.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test is passed if:
</p>
<ul>
<li>the left subtest shows a blue and yellow rectangle fused together, with blur applied only in the vertical direction</li>
<li>the right subtest shows a blue and yellow rectangle fused together, with blur applied only in the horizontal direction</li>
<li>the blurred shapes are within the blue guidelines</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-gauss-02-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<g id="rects">
<rect x="0" y="0" width="90" height="90" fill="blue"/>
<rect x="45" y="45" width="90" height="90" fill="yellow"/>
</g>
<g id="rect_outlines">
<rect x="0" y="0" width="135" height="135" fill="none" stroke="blue" stroke-width=".5"/>
<rect x="-13.5" y="-13.5" width="162" height="162" fill="none" stroke="blue" stroke-width=".5"/>
</g>
<filter id="blury" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
<feGaussianBlur stdDeviation="0 10"/>
</filter>
<filter id="blurx" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
<feGaussianBlur stdDeviation="20 0"/>
</filter>
</defs>
<g transform="translate(80,100)">
<use xlink:href="#rects" filter="url(#blury)"/>
<use xlink:href="#rect_outlines"/>
</g>
<g transform="translate(270,100)">
<use xlink:href="#rects" filter="url(#blurx)"/>
<use xlink:href="#rect_outlines"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
-->
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,65 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="TB" author="ED" status="accepted"
version="$Revision: 1.3 $" testname="$RCSfile: filters-gauss-03-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#feGaussianBlurElement">
<p>
Test that when 'stdDeviation' is zero the result is a non-blurred image.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test is passed if there's a green rectangle visible, and no red.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-gauss-03-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<rect id="rect" x="0" y="0" width="90" height="90"/>
<filter id="identity" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="150%" height="150%">
<feGaussianBlur stdDeviation="0"/>
</filter>
</defs>
<g transform="translate(190,120)">
<use xlink:href="#rect" fill="red"/>
<use xlink:href="#rect" fill="lime" stroke="lime" stroke-width="2" filter="url(#identity)"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
-->
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -0,0 +1,59 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
version="$Revision: 1.7 $" testname="$RCSfile: filters-image-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
<p>
An image should be displayed in the middle of the view area.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-image-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="image">
<feImage x="145" y="50" width="190" height="190" xlink:href="images/image1.jpg"/>
</filter>
</defs>
<text font-family="Arial" font-size="12" x="240" y="20" text-anchor="middle">Basic test of feImage filter support.</text>
<rect width="480" height="360" filter="url(#image)"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,83 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CM" author="ED" status="accepted"
version="$Revision: 1.9 $" testname="$RCSfile: filters-image-02-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImage">
<p>
Tests the animatability of 'xlink:href' on the 'feImage' element.
The test will first show two blue images that should look exactly the same,
then after two seconds both images should simultaneously change to show two
pink images that also look exactly the same.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if:
</p>
<ul>
<li>at first there are two identical <a href="../images/bluesquidj.png">blue images</a> shown next to each other</li>
<li>after two seconds the two blue images are simultaneously replaced by two <a href="../images/pinksquidj.png">pink images</a></li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-image-02-b.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!-- LIBRSVG NOTE: since we don't support animation, we display the first shown image. However,
the reference output displays the second image. In order to not miss out on a plain image
test though, the first image in this test is replaced with the second image to get the
matching output. -->
<defs>
<filter id="feimage" x="0" y="0" width="100%" height="100%" filterUnits="objectBoundingBox">
<feImage xlink:href="images/pinksquidj.png">
<set attributeName="xlink:href" to="images/pinksquidj.png" begin="2s"/>
</feImage>
</filter>
</defs>
<rect fill="red" filter="url(#feimage)" x="70" y="60" width="150" height="200"/>
<image xlink:href="images/pinksquidj.png" x="260" y="60" width="150" height="200">
<set attributeName="xlink:href" to="images/pinksquidj.png" begin="2s"/>
</image>
<g text-anchor="middle">
<text x="50%" y="60" font-size="30">Animation in filters</text>
<text x="145" y="220">'feImage'</text>
<text x="335" y="220">'image'</text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.9 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,179 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="TB" author="ED" status="accepted"
version="$Revision: 1.3 $" testname="$RCSfile: filters-image-03-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
<p>
This tests the feImage element with a number of different filter primitive subregion values.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test is passed if:
</p>
<ul>
<li>the first row show four smiley faces of the same size, each framed by a blue rectangle</li>
<li>the first image on the left on the second row shows half a smiley face (horizontally offset)</li>
<li>the second image on the left on the second row shows half a smiley face (vertically offset)</li>
<li>the third image on the left on the second row shows the upper-lefthand quarter of the smiley face enlarged to fit the blue rectangle</li>
<li>the rightmost image on the second row shows the upper-lefthand quarter of the smiley face (horizontally and vertically offset)</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-image-03-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<!-- A breakdown of this testcase:
All filters:
filterUnits not specified, defaults to objectBoundingBox.
x=0, y=0, width=1, height=1 -> filter region = bounding box.
viewport is viewbox which is 0 0 480 360
primitiveUnits not specified, defaults to userSpaceOnUse
preserveAspectRatio defaults to xMidYMid meet
Top row
1. Default:
x defaults to 0% relative to filter region (special case)
y defaults to 0% relative to filter region (special case)
width defaults to 100% of filter region (special case)
height defaults to 100% of filter region (special case)
2. All specified relative
x = 20.8% = 100/480 (0.2083)
y = 0% = 0/360 (0.0)
width = 10.4% = 50/480 (0.1042)
height = 13.8% = 50/360 (0.1388)
3. All specified absolute
x = 200
y = 0
width = 50
height = 50
4. y Specified
x defaults to 0% relative to filter region (special case)
y = 0% = 0/360
width defaults to 100% of filter region (special case)
height defaults to 100% of filter region (special case)
Bottom row
1. Width specified
x defaults to 0% relative to filter region (special case)
y defaults to 0% relative to filter region (special case)
width 20.4% 97.92/480 **** Should be 20.8%
height defaults to 100% of filter region (special case)
2. Height specified
x defaults to 0% relative to filter region (special case)
y defaults to 0% relative to filter region (special case)
width defaults to 100% of filter region (special case)
height 27.6% 99.36/360
3. Width and height specified
x defaults to 0% relative to filter region (special case)
y defaults to 0% relative to filter region (special case)
width 20.8% 99.8/480 (x2)
height 27.6% 99.36/360 (x2)
4. x, y specified
x = 67.7% = 325.0
y = 34.6% = 125.0
width defaults to 100% of filter region (special case)
height defaults to 100% of filter region (special case)
-->
<filter id="default" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png"/>
</filter>
<filter id="all_specified_relative" x="0" y="0" width="1" height="1">
<!-- x=100/480 y=0/360 width=50/480 height=50/360-->
<feImage x="20.8%" y="0%" width="10.4%" height="13.8%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="all_specified_absolute" x="0" y="0" width="1" height="1">
<feImage x="200" y="0" height="50" width="50"
xlink:href="images/smiley.png"/>
</filter>
<filter id="y_specified" x="0" y="0" width="1" height="1">
<feImage y="0%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="width_specified" x="0" y="0" width="1" height="1">
<feImage width="20.8%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="height_specified" x="0" y="0" width="1" height="1">
<feImage height="27.6%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="width_height_specified" x="0" y="0" width="1" height="1">
<feImage width="20.8%" height="27.6%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="x_y_specified" x="0" y="0" width="1" height="1">
<feImage x="67.7%" y="34.6%"
xlink:href="images/smiley.png"/>
</filter>
</defs>
<g transform="translate(60 100)">
<rect fill="red" width="50" height="50" filter="url(#default)"/>
<rect fill="red" x="100" width="50" height="50" filter="url(#all_specified_relative)"/>
<rect fill="red" x="200" width="50" height="50" filter="url(#all_specified_absolute)"/>
<rect fill="red" x="300" width="50" height="50" filter="url(#y_specified)"/>
<rect fill="red" y="100" width="50" height="50" filter="url(#width_specified)"/>
<rect fill="red" x="100" y="100" width="50" height="50" filter="url(#height_specified)"/>
<rect fill="red" x="200" y="100" width="50" height="50" filter="url(#width_height_specified)"/>
<rect fill="red" x="300" y="100" width="50" height="50" filter="url(#x_y_specified)"/>
<g id="reference_frames" stroke="blue" stroke-width="1" fill="none">
<rect width="50" height="50" />
<rect x="100" width="50" height="50"/>
<rect x="200" width="50" height="50"/>
<rect x="300" width="50" height="50"/>
<rect y="100" width="50" height="50"/>
<rect x="100" y="100" width="50" height="50"/>
<rect x="200" y="100" width="50" height="50"/>
<rect x="300" y="100" width="50" height="50"/>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
-->
</svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,119 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2011 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="ED" author="TB" status="accepted"
version="$Revision: 1.3 $" testname="$RCSfile: filters-image-04-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
<p>
This tests the feImage element with a number of different filter primitive subregion values.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test is passed if:
</p>
<ul>
<li>the first row show four smiley faces of the same size, each framed by a blue rectangle</li>
<li>the first image on the left on the second row shows half a smiley face (horizontally offset)</li>
<li>the second image on the left on the second row shows half a smiley face (vertically offset)</li>
<li>the third image on the left on the second row shows the upper-lefthand quarter of the smiley face enlarged to fit the blue rectangle</li>
<li>the rightmost image on the second row shows the upper-lefthand quarter of the smiley face (horizontally and vertically offset)</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-image-04-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="default" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage xlink:href="images/smiley.png"/>
</filter>
<filter id="all_specified_relative" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage x="0%" y="0%" width="100%" height="100%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="all_specified_absolute" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage x="0" y="0" height="1" width="1"
xlink:href="images/smiley.png"/>
</filter>
<filter id="y_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage y="0%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="width_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage width="200%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="height_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage height="200%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="width_height_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage width="200%" height="200%"
xlink:href="images/smiley.png"/>
</filter>
<filter id="x_y_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
<feImage x="0.5" y="0.5"
xlink:href="images/smiley.png"/>
</filter>
</defs>
<text text-anchor="middle" x="240" y="40" font-size="16">primitiveUnits = "objectBoundingBox"</text>
<g transform="translate(60 100)">
<rect fill="red" width="50" height="50" filter="url(#default)"/>
<rect fill="red" x="100" width="50" height="50" filter="url(#all_specified_relative)"/>
<rect fill="red" x="200" width="50" height="50" filter="url(#all_specified_absolute)"/>
<rect fill="red" x="300" width="50" height="50" filter="url(#y_specified)"/>
<rect fill="red" y="100" width="50" height="50" filter="url(#width_specified)"/>
<rect fill="red" x="100" y="100" width="50" height="50" filter="url(#height_specified)"/>
<rect fill="red" x="200" y="100" width="50" height="50" filter="url(#width_height_specified)"/>
<rect fill="red" x="300" y="100" width="50" height="50" filter="url(#x_y_specified)"/>
<g id="reference_frames" stroke="blue" stroke-width="1" fill="none">
<rect width="50" height="50" />
<rect x="100" width="50" height="50"/>
<rect x="200" width="50" height="50"/>
<rect x="300" width="50" height="50"/>
<rect y="100" width="50" height="50"/>
<rect x="100" y="100" width="50" height="50"/>
<rect x="200" y="100" width="50" height="50"/>
<rect x="300" y="100" width="50" height="50"/>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,195 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2011 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="ED" author="Tavmjong Bah" status="accepted"
version="$Revision: 1.3 $" testname="$RCSfile: filters-image-05-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
<p>
This test verifies the implementation of the preserveAspectRatio attribute on &lt;feImage&gt;
referencing raster content.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
This test copies coords-viewattr-02-b, substituting feImage for image.
It exercises the various preserveAspectRatio values. An external bitmap
is referenced.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-image-05-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="default" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png"/>
</filter>
<!-- Meet -->
<filter id="xMinYMinMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMinYMin meet"/>
</filter>
<filter id="xMidYMinMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMidYMin meet"/>
</filter>
<filter id="xMaxYMinMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMaxYMin meet"/>
</filter>
<filter id="xMinYMidMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMinYMid meet"/>
</filter>
<filter id="xMidYMidMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMidYMid meet"/>
</filter>
<filter id="xMaxYMidMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMaxYMid meet"/>
</filter>
<filter id="xMinYMaxMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMinYMax meet"/>
</filter>
<filter id="xMidYMaxMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMidYMax meet"/>
</filter>
<filter id="xMaxYMaxMeet" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMaxYMax meet"/>
</filter>
<!-- Slice -->
<filter id="xMinYMinSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMinYMin slice"/>
</filter>
<filter id="xMidYMinSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMidYMin slice"/>
</filter>
<filter id="xMaxYMinSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMaxYMin slice"/>
</filter>
<filter id="xMinYMidSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMinYMid slice"/>
</filter>
<filter id="xMidYMidSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMidYMid slice"/>
</filter>
<filter id="xMaxYMidSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMaxYMid slice"/>
</filter>
<filter id="xMinYMaxSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMinYMax slice"/>
</filter>
<filter id="xMidYMaxSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMidYMax slice"/>
</filter>
<filter id="xMaxYMaxSlice" x="0" y="0" width="1" height="1">
<feImage xlink:href="images/smiley.png" preserveAspectRatio="xMaxYMax slice"/>
</filter>
</defs>
<g font-size="9" transform="translate(0, 30)">
<desc>Example PreserveAspectRatio - demonstrate available options</desc>
<text text-anchor="middle" x="240" font-size="16">Test preserveAspectRatio on an feImage element.</text>
<text x="40" y="30" text-anchor="middle">Raster to fit</text>
<g transform="translate(20,40)">
<rect fill="red" width="40" height="40" filter="url(#default)"/>
</g>
<text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
<g transform="translate(10,120)"><rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/></g>
<text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
<g transform="translate(20,190)"><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/></g>
<g id="meet-group-1" transform="translate(120, 50)">
<text x="0" y="-20">---------- meet --------------------</text>
<g>
<text y="-5">xMin*</text>
<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
<rect fill="red" width="50" height="30" filter="url(#xMinYMinMeet)"/>
</g>
<g transform="translate(70,0)">
<text y="-5">xMid*</text>
<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
<rect fill="red" width="50" height="30" filter="url(#xMidYMidMeet)"/>
</g>
<g transform="translate(0,50)">
<text y="-5">xMax*</text>
<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
<rect fill="red" width="50" height="30" filter="url(#xMaxYMaxMeet)"/>
</g>
</g>
<g id="meet-group-2" transform="translate(300, 50)">
<text x="0" y="-20">---------- meet ------------------------</text>
<g>
<text y="-5">*YMin</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
<rect fill="red" width="30" height="60" filter="url(#xMinYMinMeet)"/>
</g>
<g transform="translate(50, 0)">
<text y="-5">*YMid</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
<rect fill="red" width="30" height="60" filter="url(#xMidYMidMeet)"/>
</g>
<g transform="translate(100, 0)">
<text y="-5">*YMax</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
<rect fill="red" width="30" height="60" filter="url(#xMaxYMaxMeet)"/>
</g>
</g>
<g id="slice-group-1" transform="translate(120, 185)">
<text x="0" y="-20">---------- slice -------------------------</text>
<g>
<text y="-5">xMin*</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
<rect fill="red" width="30" height="60" filter="url(#xMinYMinSlice)"/>
</g>
<g transform="translate(50,0)">
<text y="-5">xMid*</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
<rect fill="red" width="30" height="60" filter="url(#xMidYMidSlice)"/>
</g>
<g transform="translate(100,0)">
<text y="-5">xMax*</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
<rect fill="red" width="30" height="60" filter="url(#xMaxYMaxSlice)"/>
</g>
</g>
<g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
<text x="0" y="-20">---------- slice ---------------------</text>
<g>
<text y="-5">*YMin</text>
<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
<rect fill="red" width="50" height="30" filter="url(#xMinYMinSlice)"/>
</g>
<g transform="translate(70,0)">
<text y="-5">*YMid</text>
<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
<rect fill="red" width="50" height="30" filter="url(#xMidYMidSlice)"/>
</g>
<g transform="translate(0,50)">
<text y="-5">*YMax</text>
<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
<rect fill="red" width="50" height="30" filter="url(#xMaxYMaxSlice)"/>
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@@ -0,0 +1,187 @@
<svg version="1.1" baseProfile="full" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-light-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#LightSourceDefinitions">
<p>
Verify the basic operation of the different lights used in the feDiffuseLighting
and feSpecularLighting elements. The test uses the same feDiffuseLighting filter,
using different lights.
</p>
<p>
The first row shows different settings for feDistantLight. The second row shows
different settings for fePointLight. The last row shows different settings for
feSpotLight.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered image should look approximately like the reference image, except for the last
feSpotLight test for which a reference image could not be created. The reference image may not be pixel accurate. However, the rendered image should show
at least 'similar' lighting results and bump maps.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-light-01-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!-- Title -->
<text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">Filters: feDistantLight, fePointLight, feSpotLight</text>
<!-- ===================================================================== -->
<!-- Filter definitions -->
<!-- ===================================================================== -->
<defs>
<!-- ================================================= -->
<!-- feDistantLight -->
<!-- ================================================= -->
<filter id="distantLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="0" elevation="0"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="0"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="0" elevation="45"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feDiffuseLighting>
</filter>
<!-- ================================================= -->
<!-- fePointLight -->
<!-- ================================================= -->
<filter id="pointLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<fePointLight x="0" y="0" z="10"/>
</feDiffuseLighting>
</filter>
<filter id="pointLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<fePointLight x="50" y="0" z="10"/>
</feDiffuseLighting>
</filter>
<filter id="pointLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<fePointLight x="0" y="30" z="10"/>
</feDiffuseLighting>
</filter>
<filter id="pointLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<fePointLight x="50" y="30" z="10"/>
</feDiffuseLighting>
</filter>
<!-- ================================================= -->
<!-- feSpotLight -->
<!-- ================================================= -->
<filter id="spotLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="30" z="35" pointsAtX="25" pointsAtY="0" pointsAtZ="0" specularExponent="0"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="1"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="30"/>
</feDiffuseLighting>
</filter>
</defs>
<!-- ==================================================== -->
<!-- The same image is rendered multiple times with using -->
<!-- different filters. -->
<!-- ==================================================== -->
<!-- Various feDistantLights -->
<g transform="translate(0, 40)">
<text x="70" y="10">Various values for feDistantLight azimuth and elevation</text>
<text x="70" y="25">(0, 0)</text>
<text x="165" y="25">(45, 0)</text>
<text x="260" y="25">(0, 45)</text>
<text x="355" y="25">(45, 45)</text>
<image xlink:href="images/bumpMap2.png" x="70" y="30" width="50" height="30" filter="url(#distantLightA)"/>
<image xlink:href="images/bumpMap2.png" x="165" y="30" width="50" height="30" filter="url(#distantLightB)"/>
<image xlink:href="images/bumpMap2.png" x="260" y="30" width="50" height="30" filter="url(#distantLightC)"/>
<image xlink:href="images/bumpMap2.png" x="355" y="30" width="50" height="30" filter="url(#distantLightD)"/>
</g>
<!-- Various fePointLights -->
<g transform="translate(0, 120)">
<text x="70" y="10">Various values for fePointLight's x, y and z</text>
<text x="70" y="25">(0, 0, 10)</text>
<text x="165" y="25">(50, 0, 10)</text>
<text x="260" y="25">(0, 30, 10)</text>
<text x="355" y="25">(50, 30, 10)</text>
</g>
<g>
<image transform="translate(70, 150)" xlink:href="images/bumpMap2.png" width="50" height="30" filter="url(#pointLightA)"/>
<image transform="translate(165, 150)" xlink:href="images/bumpMap2.png" width="50" height="30" filter="url(#pointLightB)"/>
<image transform="translate(260, 150)" xlink:href="images/bumpMap2.png" width="50" height="30" filter="url(#pointLightC)"/>
<image transform="translate(355, 150)" xlink:href="images/bumpMap2.png" width="50" height="30" filter="url(#pointLightD)"/>
</g>
<!-- feSpotLight -->
<g transform="translate(0, 210)">
<text x="70" y="0">Various values for feSpotLight's x, y, z, pointsAtX, pointsAtY, pointsAtZ</text>
<text x="70" y="15">(25, 0, 25)</text>
<text x="70" y="30">(25, 30, 0)</text>
<text x="165" y="15">(25, 30, 25)</text>
<text x="165" y="30">(25, 0, 0)</text>
<text x="260" y="30">np=1</text>
<text x="355" y="30">limitingConeAngle=30</text>
</g>
<g>
<rect transform="translate(70, 245)" width="50" height="30" filter="url(#spotLightA)"/>
<rect transform="translate(165, 245)" width="50" height="30" filter="url(#spotLightB)"/>
<rect transform="translate(260, 245)" width="50" height="30" filter="url(#spotLightC)"/>
<rect transform="translate(355, 245)" width="50" height="30" filter="url(#spotLightD)"/>
</g>
<!-- ===================================================== -->
<!-- Legends -->
<!-- ===================================================== -->
<!-- Surface Scale -->
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,97 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="CM" author="ED" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-light-02-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDistantLightAzimuthAttribute">
<p>
This test verifies that the <a>'azimuth'</a> attribute is interpreted as a clockwise value in degrees.
</p>
<p>The test should show four arrows, indicating the direction of the incoming distant light.
As the four circles are lit by a specular lighting filter a faint shaded arc should appear.
The middle of each such arc should be where the corresponding arrow points.</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if the shaded arcs are displayed only on the side indicated by the arrows.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-light-02-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="right">
<feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
<feDistantLight azimuth="0" elevation="30"/>
</feSpecularLighting>
</filter>
<filter id="down">
<feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
<feDistantLight azimuth="90" elevation="30"/>
</feSpecularLighting>
</filter>
<filter id="left">
<feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
<feDistantLight azimuth="180" elevation="30"/>
</feSpecularLighting>
</filter>
<filter id="up">
<feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
<feDistantLight azimuth="270" elevation="30"/>
</feSpecularLighting>
</filter>
<marker id="arrow" markerWidth="10" markerHeight="10" viewBox="0 0 10 40" overflow="visible" orient="auto">
<path d="M-1 5l10 -5l-10 -5z"/>
</marker>
</defs>
<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">'feDistantLight' azimuth</text>
<g transform="scale(4) translate(0 50)">
<circle id="c1" r="10" filter="url(#right)" transform="translate(20 0)"/>
<circle id="c2" r="10" filter="url(#down)" transform="translate(50 0)"/>
<circle id="c3" r="10" filter="url(#left)" transform="translate(80 0)"/>
<circle id="c4" r="10" filter="url(#up)" transform="translate(110 0)"/>
</g>
<line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="translate(200 180)"/>
<line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="rotate(90) translate(200 -350)"/>
<line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="rotate(180) translate(-440 -225)"/>
<line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="rotate(270) translate(-200 50)"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,124 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="CL" author="ED" status="accepted"
version="$Revision: 1.10 $" testname="$RCSfile: filters-light-03-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDisplacementMap">
<p>
Test resolving of 'primitiveUnits' on the 'z' attribute of 'fePointLight'.
You should see some shapes that have a black border, three circles and three rectangles.
The fill of these shapes should look the same.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if:
</p>
<ul>
<li>All of the circles look identical</li>
<li>The shapes all look like they have been filled with a gradient</li>
<li>No parts of the fill extend outside the black borders</li>
<li>All of the rects look identical</li>
<li>The circles must be fully filled by the filter output, which should resemble a radial gradient with a white focal point in the lower right position (about four o'clock, as shown by the small white circles)</li>
<li>The rects must be fully filled by the filter output, which should resemble a radial gradient with a white focal point in the lower right corner.</li>
</ul>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-light-03-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="light-primobjbbox" primitiveUnits="objectBoundingBox">
<feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
<!-- Note: for z this assumes that the scalefactor is
sqrt(bbox.width*bbox.width + bbox.height*bbox.height)/sqrt(2) -->
<fePointLight x="0.875" y="0.875" z="-0.0625"/>
</feSpecularLighting>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="light-primobjbbox-rect" primitiveUnits="objectBoundingBox">
<feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
<!-- Note: for z the scalefactor is 31,622776601683793319988935444327
sqrt(bbox.width*bbox.width + bbox.height*bbox.height)/sqrt(2) -->
<fePointLight x="0.75" y="1.5" z="-0.15811388300841896659994467722167"/>
</feSpecularLighting>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="light-primusou" primitiveUnits="userSpaceOnUse">
<feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
<fePointLight x="30" y="30" z="-5"/>
</feSpecularLighting>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
<filter id="light-primdefault">
<feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
<fePointLight x="30" y="30" z="-5"/>
</feSpecularLighting>
<feComposite operator="in" in2="SourceGraphic"/>
</filter>
</defs>
<g stroke="black" transform="translate(80 100)">
<circle r="40" stroke-width="10" filter="url(#light-primobjbbox)" fill="black"/>
<circle r="44" stroke-width="1" fill="none"/>
<rect width="40" height="20" filter="url(#light-primobjbbox-rect)" fill="black" transform="translate(-20 60)"/>
<rect width="40" height="20" fill="none" transform="translate(-20 60)"/>
<text y="100" font-size="8" stroke="none" text-anchor="middle">primitiveUnits="objectBoundingBox"</text>
<circle cx="30" cy="30" r="5" fill="white"/>
</g>
<g stroke="black" transform="translate(245 100)">
<circle r="40" stroke-width="10" filter="url(#light-primusou)" fill="black"/>
<circle r="44" stroke-width="1" fill="none"/>
<rect width="40" height="20" filter="url(#light-primusou)" fill="black" transform="translate(-20 60)"/>
<rect width="40" height="20" fill="none" transform="translate(-20 60)"/>
<text y="100" font-size="8" stroke="none" text-anchor="middle">primitiveUnits="userSpaceOnUse"</text>
<circle cx="30" cy="30" r="5" fill="white"/>
</g>
<g stroke="black" transform="translate(400 100)">
<circle r="40" stroke-width="10" filter="url(#light-primdefault)" fill="black"/>
<circle r="44" stroke-width="1" fill="none"/>
<rect width="40" height="20" filter="url(#light-primdefault)" fill="black" transform="translate(-20 60)"/>
<rect width="40" height="20" fill="none" transform="translate(-20 60)"/>
<text y="100" font-size="8" stroke="none" text-anchor="middle">primitiveUnits unspecified</text>
<circle cx="30" cy="30" r="5" fill="white"/>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.10 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved --><!--
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,136 @@
<svg version="1.1" baseProfile="full" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CL" author="ED" status="accepted"
version="$Revision: 1.4 $" testname="$RCSfile: filters-light-04-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feSpotLightLimitingConeAngleAttribute">
<p>
Test various values for limitingConeAngle in feSpotLight.
</p>
<p>
There should be four rects in two rows. Each of the rects has a different filter applied,
and each of those filters uses different values for limitingConeAngle.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered image should look approximately like the reference image, and the third rectangle from the left
in each row must be animated.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-light-04-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!-- Title -->
<text x="240" y="50" fill="black" font-size="16" font-family="Arial" text-anchor="middle">feSpotLight's limitingConeAngle</text>
<!-- ===================================================================== -->
<!-- Filter definitions -->
<!-- ===================================================================== -->
<defs>
<!-- ================================================= -->
<!-- feSpotLight -->
<!-- ================================================= -->
<filter id="spotLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="30"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="20"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<!-- librsvg note: we don't support animation, but let's not miss out on a test image.
Animation replaced with just final values. -->
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="50"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="5"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightE" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-30"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightF" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-20"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightG" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-50"/>
</feDiffuseLighting>
</filter>
<filter id="spotLightH" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
<!-- librsvg note: we don't support animation, but let's not miss out on a test image.
Animation replaced with just final values. -->
<feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-5"/>
</feDiffuseLighting>
</filter>
</defs>
<!-- feSpotLight -->
<g transform="translate(0 -20)">
<g transform="translate(0 110)" font-size="9" font-family="Arial">
<text x="70" y="30">30</text>
<text x="165" y="30">20</text>
<text x="260" y="30">Animated (0..50)</text>
<text x="355" y="30">5</text>
<g transform="translate(0 100)">
<text x="70" y="30">-30</text>
<text x="165" y="30">-20</text>
<text x="260" y="30">Animated (0..-50)</text>
<text x="355" y="30">-5</text>
</g>
</g>
<g>
<rect transform="translate(70, 145)" width="50" height="30" filter="url(#spotLightA)"/>
<rect transform="translate(165, 145)" width="50" height="30" filter="url(#spotLightB)"/>
<rect transform="translate(260, 145)" width="50" height="30" filter="url(#spotLightC)"/>
<rect transform="translate(355, 145)" width="50" height="30" filter="url(#spotLightD)"/>
<rect transform="translate(70, 245)" width="50" height="30" filter="url(#spotLightE)"/>
<rect transform="translate(165, 245)" width="50" height="30" filter="url(#spotLightF)"/>
<rect transform="translate(260, 245)" width="50" height="30" filter="url(#spotLightG)"/>
<rect transform="translate(355, 245)" width="50" height="30" filter="url(#spotLightH)"/>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,252 @@
<svg id="svg-root" width="100%" height="100%"
viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= Copyright 2008 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.3" reviewer="ED" author="AG" status="reviewed"
version="$Revision: 1.3 $" testname="$RCSfile: filters-light-05-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDistantLightElevationAttribute">
<p>
This test verifies that the <a>'elevation'</a> attribute is interpreted as a
complementary value to the z-axis in degrees.
</p>
<p>
The test shows four different elevation angles that can be used for feDistantLight source.
The four different feDistantLight light sources are used in three different filter cases; feDiffuseLight, feSpecularLight
and feMerge which merges both feDiffuseLight and feSpecularLight to form a single filter. Using four different elevation values
in three different filter cases gives twelve different filters. All twelve filter cases are applied to a vector graphic and
then to a raster graphic. The vector graphic results are shown to the left and the raster graphic results are shown to the right.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The test has passed if
</p>
<ul>
<li>The top row has from left to right for a single graphic set:
<ul>
<li>A green square with a black circle inside of it</li>
<li>A black square</li>
<li>A black square with a green semicircle inside the lefthand side of the rect</li>
<li>A black square with a green semicircle inside the righthand side of the rect</li>
</ul>
</li>
<li>The middle row has from left to right for a single graphic set:
<ul>
<li>A green square with a white circle inside of it</li>
<li>A green semicircle pointing to the right on top of a white background</li>
<li>A green square with a white crest inside pointing to the right</li>
<li>A green square with a white crest inside pointing to the left</li>
</ul>
</li>
<li>The bottom row has from left to right for a single graphic set:
<ul>
<li>A green square with a black circle inside of it</li>
<li>A black square with a green semicircle inside pointing to the right</li>
<li>A green square with a circle inside that has a shadow on the righthand side and a reflection on the lefthand side</li>
<li>A green square with a circle inside that has a shadow on the lefthand side and a reflection on the righthand side</li>
</ul>
</li>
</ul>
<p>
If the test shows any red, the test has failed.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-light-05-f.svg,v $</title>
<defs>
<font-face
font-family="SVGFreeSansASCII"
unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs color="#00FF00">
<filter id="distantLightUp">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="90"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightDown">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="270"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightLeft">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="180"/>
</feDiffuseLighting>
</filter>
<filter id="distantLightRight">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="0"/>
</feDiffuseLighting>
</filter>
<filter id="specularLightUp">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="90"/>
</feSpecularLighting>
</filter>
<filter id="specularLightDown">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="270"/>
</feSpecularLighting>
</filter>
<filter id="specularLightLeft">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="180"/>
</feSpecularLighting>
</filter>
<filter id="specularLightRight">
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
<feDistantLight azimuth="0" elevation="0"/>
</feSpecularLighting>
</filter>
<filter id="combinedUp">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="90"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="90"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
<filter id="combinedDown">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="270"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="270"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
<filter id="combinedLeft">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="180"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="180"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
<filter id="combinedRight">
<feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
<feDistantLight azimuth="0" elevation="0"/>
</feDiffuseLighting>
<feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
<feDistantLight azimuth="0" elevation="0"/>
</feSpecularLighting>
<feMerge>
<feMergeNode in="res_a"/>
<feMergeNode in="res_b"/>
</feMerge>
</filter>
</defs>
<text x="70" y="40" stroke="none" fill="black">feDiffuseLight using feDistantLight source</text>
<g transform="scale(1.5) translate(5 45)">
<circle id="c1" r="10" fill="red" filter="url(#distantLightUp)" transform="translate(20 0)"/>
<circle id="c2" r="10" fill="red" filter="url(#distantLightDown)" transform="translate(50 0)"/>
<circle id="c3" r="10" fill="red" filter="url(#distantLightLeft)" transform="translate(80 0)"/>
<circle id="c4" r="10" fill="red" filter="url(#distantLightRight)" transform="translate(110 0)"/>
</g>
<text x="20" y="100" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="65" y="100" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="110" y="100" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="160" y="100" font-size="10" stroke="none" fill="black">0 deg</text>
<text x="70" y="135" stroke="none" fill="black">feSpecularLight using feDistantLight source</text>
<g transform="scale(1.5) translate(5 110)">
<circle id="c1" r="10" fill="red" filter="url(#specularLightUp)" transform="translate(20 0)"/>
<circle id="c2" r="10" fill="red" filter="url(#specularLightDown)" transform="translate(50 0)"/>
<circle id="c3" r="10" fill="red" filter="url(#specularLightLeft)" transform="translate(80 0)"/>
<circle id="c4" r="10" fill="red" filter="url(#specularLightRight)" transform="translate(110 0)"/>
</g>
<text x="20" y="195" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="65" y="195" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="110" y="195" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="160" y="195" font-size="10" stroke="none" fill="black">0 deg</text>
<text x="30" y="230" stroke="none" fill="black">feDiffuseLight and feSpecularLight using feDistantLight</text>
<g transform="scale(1.5) translate(5 170)">
<circle id="c1" r="10" fill="red" filter="url(#combinedUp)" transform="translate(20 0)"/>
<circle id="c2" r="10" fill="red" filter="url(#combinedDown)" transform="translate(50 0)"/>
<circle id="c3" r="10" fill="red" filter="url(#combinedLeft)" transform="translate(80 0)"/>
<circle id="c4" r="10" fill="red" filter="url(#combinedRight)" transform="translate(110 0)"/>
</g>
<text x="20" y="290" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="65" y="290" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="110" y="290" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="160" y="290" font-size="10" stroke="none" fill="black">0 deg</text>
<g transform="translate(0, 55)">
<image xlink:href="images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#distantLightUp)"/>
<image xlink:href="images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#distantLightDown)"/>
<image xlink:href="images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#distantLightLeft)"/>
<image xlink:href="images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#distantLightRight)"/>
</g>
<text x="245" y="100" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="305" y="100" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="365" y="100" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="430" y="100" font-size="10" stroke="none" fill="black">0 deg</text>
<g transform="translate(0, 150)">
<image xlink:href="images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#specularLightUp)"/>
<image xlink:href="images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#specularLightDown)"/>
<image xlink:href="images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#specularLightLeft)"/>
<image xlink:href="images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#specularLightRight)"/>
</g>
<text x="245" y="195" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="305" y="195" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="365" y="195" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="430" y="195" font-size="10" stroke="none" fill="black">0 deg</text>
<g transform="translate(0, 240)">
<image xlink:href="images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#combinedUp)"/>
<image xlink:href="images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#combinedDown)"/>
<image xlink:href="images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#combinedLeft)"/>
<image xlink:href="images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#combinedRight)"/>
</g>
<text x="245" y="290" font-size="10" stroke="none" fill="black">90 deg</text>
<text x="305" y="290" font-size="10" stroke="none" fill="black">270 deg</text>
<text x="365" y="290" font-size="10" stroke="none" fill="black">180 deg</text>
<text x="430" y="290" font-size="10" stroke="none" fill="black">0 deg</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none"
fill="black">$Revision: 1.3 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,103 @@
<svg version="1.1" baseProfile="full" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
version="$Revision: 1.8 $" testname="$RCSfile: filters-morph-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feMorphologyElement">
<p>
Test which verifies the basic facilities of feMorphology.
</p>
<p>
The test shows the same graphics filtered with four different feMorphology
settings. The top two have the type erode and a radius of 1(left) and 2(right).
The bottom two have the type dilate and a radius of 1(left) and 3(right).
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image, except for possible
variations in the labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-morph-01-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<text x="240" y="16" text-anchor="middle" font-size="12pt">Filter Effect: feMorphology</text>
<g transform="translate(0, -6)">
<defs>
<filter id="erode1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feMorphology operator="erode" radius="1"/>
</filter>
<filter id="erode2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feMorphology operator="erode" radius="2"/>
</filter>
<filter id="dilate1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feMorphology operator="dilate" radius="1"/>
</filter>
<filter id="dilate2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feMorphology operator="dilate" radius="3"/>
</filter>
<g id="morphologySource">
<g fill-rule="nonzero" clip-rule="nonzero" stroke="#000000" stroke-miterlimit="4">
<g>
<path fill="#FFFFFF" stroke="#6666FF" stroke-width="7.1711" d="M81.403,78.289H3.585v-64.75h77.818v64.75z"/>
<path fill="none" stroke="#00FF00" stroke-width="7.1711" d="M93.261,77.536c0,23.285-18.581,42.163-41.503,42.163c-22.921,0-41.503-18.877-41.503-42.163c0-23.286,18.582-42.163,41.503-42.163c22.922,0,41.503,18.877,41.503,42.163z"/>
<path fill="none" stroke="#FF8000" stroke-width="7.1711" d="M98.31,28.445l13.288,27.354l29.714,4.385l-21.501,21.292l5.076,30.064L98.31,97.347l-26.577,14.194l5.076-30.064L55.307,60.184l29.714-4.385L98.31,28.445z"/>
<path fill="none" stroke="#FFFF00" stroke-width="7.1711" d="M131.563,26.338c0,28.559-22.79,51.709-50.901,51.709c-22.489,0-40.72-18.521-40.72-41.367c0-18.278,14.584-33.095,32.576-33.095c14.394,0,26.061,11.854,26.061,26.475 c0,11.698-9.334,21.181-20.849,21.181c-9.211,0-16.68-7.586-16.68-16.944c0-7.486,5.975-13.555,13.344-13.555c5.895,0,10.674,4.855,10.674,10.844c0,4.791-3.823,8.676-8.54,8.676c-3.773,0-6.832-3.107-6.832-6.941"/>
</g>
</g>
</g>
</defs>
<g text-anchor="middle">
<g transform="translate(0, 0)">
<use xlink:href="#morphologySource" x="35" y="25" filter="url(#erode1)"/>
<text x="110" y="156">type=erode radius=1</text>
</g>
<g transform="translate(255, 0)">
<use xlink:href="#morphologySource" x="35" y="25" filter="url(#erode2)"/>
<text x="110" y="156">type=erode radius=2</text>
</g>
<g transform="translate(0, 140)">
<use xlink:href="#morphologySource" x="35" y="25" filter="url(#dilate1)"/>
<text x="110" y="156">type=dilate radius=1</text>
</g>
<g transform="translate(255, 140)">
<use xlink:href="#morphologySource" x="35" y="25" filter="url(#dilate2)"/>
<text x="110" y="156">type=dilate radius=3</text>
</g>
</g>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,112 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Peter Graffagnino" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-offset-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feOffsetElement">
<p>
The target crosshairs should align with
lower left bounds of the associated circle.
The color of each crosshair should match
the associated circle.
</p>
<p>
Verify the basic capability to handle the feOffset, feMerge and
feFlood filter nodes. Four copies of a filled circle should appear at
various offsets and colors. For each circle a reference crosshair is
drawn at the lower left of the circle to indicate the expected color,
opacity and position for the filtered element. The targets are drawn
with the standard svg path element.
</p>
<p>
In addition to feFlood, feMerge, and feOffset, this test uses
'feComposite' to recolor the SourceGraphic with the feFlood color.
The source graphic uses 'circle'. The target cross hairs are drawn
with 'path' and use 'fill' and 'fill-opacity'.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered image should match the reference image. Additionally, the
target crosshairs should match the color, lower left corner, and
opacity of each copy of the filtered circle.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-offset-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<filter id="FOMTest" filterUnits="objectBoundingBox" x="0" y="0" width="2.5" height="4">
<feOffset result="Off1" dx="40" dy="30"/>
<feFlood result="F1" flood-color="#408000" flood-opacity=".8"/>
<feComposite in2="Off1" operator="in" result="C1"/>
<feOffset in="SourceGraphic" result="Off2" dx="80" dy="60"/>
<feFlood result="F2" flood-color="#408000" flood-opacity=".6"/>
<feComposite in2="Off2" operator="in" result="C2"/>
<feOffset in="SourceGraphic" result="Off3" dx="120" dy="90"/>
<feFlood result="F3" flood-color="#408000" flood-opacity=".4"/>
<feComposite in2="Off3" operator="in" result="C3"/>
<feMerge>
<feMergeNode in="C3"/>
<feMergeNode in="C2"/>
<feMergeNode in="C1"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<circle cx="160" cy="50" r="40" fill="#000" filter="url(#FOMTest)"/>
<!-- Add some crosshairs of the same color of the
flood at the same location as the offset -->
<!-- 20 pixel cross hair at 120,90 -->
<path fill="#000" transform="translate(120, 90)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
<!-- 20 pixel cross hair at 160,120 -->
<path fill="#408000" fill-opacity=".8" transform="translate(160, 120)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
<!-- 20 pixel cross hair at 200,150 -->
<path fill="#408000" fill-opacity=".6" transform="translate(200, 150)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
<!-- 20 pixel cross hair at 240,180 -->
<path fill="#408000" fill-opacity=".4" transform="translate(240, 180)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -0,0 +1,165 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CL" author="BB" status="accepted"
version="$Revision: 1.8 $" testname="$RCSfile: filters-overview-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitivesOverview">
<p>The purpose of this file is to test the 'in' attribute on filter primitives.</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly.
</p>
<ol>
<li>The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).</li>
<li>The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).</li>
<li>The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).</li>
<li>The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).</li>
<li>The results for in="FillPaint" and in="StrokePaint" are the same. They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blue rectangle with blurred edges.</li>
<li>The size of the blue rectangles are bigger than the blurred circles.</li>
</ol>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-overview-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<linearGradient id="grad1" gradientUnits="objectBoundingBox" x1="50%" y1="-3%" x2="50%" y2="106%">
<stop offset="0.00" stop-color="#0000ff"/>
<stop offset="0.33" stop-color="#ffffff"/>
<stop offset="0.67" stop-color="#ff0000"/>
<stop offset="1.00" stop-color="#ffff00"/>
</linearGradient>
<filter id="GaussianBlur1" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
</filter>
<filter id="GaussianBlur2" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
</filter>
<filter id="GaussianBlur3" filterUnits="objectBoundingBox" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="white" result="flood"/>
<feGaussianBlur in="BackgroundAlpha" stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="flood"/>
<feMergeNode in="blur"/>
</feMerge>
</filter>
<filter id="GaussianBlur4" filterUnits="objectBoundingBox" x="-40%" y="-40%" width="180%" height="180%">
<feFlood flood-color="white" result="flood"/>
<feGaussianBlur in="BackgroundImage" stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="flood"/>
<feMergeNode in="blur"/>
</feMerge>
</filter>
<filter id="GaussianBlur5" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="StrokePaint" stdDeviation="5"/>
</filter>
<filter id="GaussianBlur6" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="FillPaint" stdDeviation="5"/>
</filter>
</defs>
<g enable-background="new" stroke-dasharray="25 5" stroke="black" stroke-width="3" font-size="14" fill="black">
<rect x="90" y="50" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur1)">
<circle cx="098" cy="085" r="25" fill="red"/>
<circle cx="080" cy="110" r="25" fill="blue"/>
<circle cx="116" cy="110" r="25" fill="green"/>
</g>
<text x="98" y="160" stroke="none" text-anchor="middle">SourceAlpha</text>
<desc> =========================================================================================== </desc>
<rect x="90" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur2)">
<circle cx="098" cy="220" r="25" fill="red"/>
<circle cx="080" cy="245" r="25" fill="blue"/>
<circle cx="116" cy="245" r="25" fill="green"/>
</g>
<text x="98" y="295" stroke="none" text-anchor="middle">SourceGraphic</text>
<desc> =========================================================================================== </desc>
<rect x="230" y="50" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur3)">
<circle cx="238" cy="085" r="25" fill="red"/>
<circle cx="220" cy="110" r="25" fill="blue"/>
<circle cx="256" cy="110" r="25" fill="green"/>
</g>
<text x="238" y="160" stroke="none" text-anchor="middle">BackgroundAlpha</text>
<desc> =========================================================================================== </desc>
<rect x="230" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur4)">
<circle cx="238" cy="220" r="25" fill="red"/>
<circle cx="220" cy="245" r="25" fill="blue"/>
<circle cx="256" cy="245" r="25" fill="green"/>
</g>
<text x="238" y="295" stroke="none" text-anchor="middle">BackgroundImage</text>
<desc> =========================================================================================== </desc>
<rect x="370" y="50" width="16" height="95" fill="green"/>
<g id='g' stroke-opacity="0.6" stroke="blue" stroke-width="3" filter="url(#GaussianBlur5)">
<circle cx="378" cy="085" r="25" fill="red"/>
<circle cx="360" cy="110" r="25" fill="blue"/>
<circle cx="396" cy="110" r="25" fill="green"/>
</g>
<text x="378" y="160" stroke="none" text-anchor="middle">FillPaint</text>
<desc> =========================================================================================== </desc>
<rect x="370" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" fill="blue" stroke="black" stroke-width="3" filter="url(#GaussianBlur6)">
<circle cx="378" cy="220" r="25"/>
<circle cx="360" cy="245" r="25"/>
<circle cx="396" cy="245" r="25"/>
</g>
<text x="378" y="295" stroke="none" text-anchor="middle">StrokePaint</text>
</g>
<text x="240" y="30" font-size="20" text-anchor="middle">Filter input test</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -0,0 +1,178 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CL" author="BB" status="created"
version="$Revision: 1.1 $" testname="$RCSfile: filters-overview-02-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitivesOverview">
<p>
The purpose of this file is to test the 'in' attribute on filter primitives.
This test is the same as filters-overview-01-b.svg but uses gradients with gradientUnits="userSpaceOnUse" instead for the
FillPaint/StrokePaint.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly.
</p>
<ol>
<li>The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).</li>
<li>The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).</li>
<li>The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).</li>
<li>The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).</li>
<li>The results for in="FillPaint" and in="StrokePaint" are the same. They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blurred gradiant (blue/white/red/yellow).</li>
<li>The size of the gradients are bigger than the blurred circles.</li>
</ol>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-overview-02-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="140.5" y1="57.75" x2="140.5" y2="139.5">
<stop offset="0.00" stop-color="#0000ff"/>
<stop offset="0.33" stop-color="#ffffff"/>
<stop offset="0.67" stop-color="#ff0000"/>
<stop offset="1.00" stop-color="#ffff00"/>
</linearGradient>
<linearGradient id="grad2" gradientUnits="userSpaceOnUse" x1="140.5" y1="192.75" x2="140.5" y2="274.5">
<stop offset="0.00" stop-color="#0000ff"/>
<stop offset="0.33" stop-color="#ffffff"/>
<stop offset="0.67" stop-color="#ff0000"/>
<stop offset="1.00" stop-color="#ffff00"/>
</linearGradient>
<filter id="GaussianBlur1" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
</filter>
<filter id="GaussianBlur2" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
</filter>
<filter id="GaussianBlur3" filterUnits="objectBoundingBox" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="white" result="flood"/>
<feGaussianBlur in="BackgroundAlpha" stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="flood"/>
<feMergeNode in="blur"/>
</feMerge>
</filter>
<filter id="GaussianBlur4" filterUnits="objectBoundingBox" x="-40%" y="-40%" width="180%" height="180%">
<feFlood flood-color="white" result="flood"/>
<feGaussianBlur in="BackgroundImage" stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="flood"/>
<feMergeNode in="blur"/>
</feMerge>
</filter>
<filter id="GaussianBlur5" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="StrokePaint" stdDeviation="5"/>
</filter>
<filter id="GaussianBlur6" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="FillPaint" stdDeviation="5"/>
</filter>
</defs>
<g enable-background="new" stroke-dasharray="25 5" stroke="black" stroke-width="3" font-size="14" fill="black">
<rect x="90" y="50" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur1)">
<circle cx="098" cy="085" r="25" fill="red"/>
<circle cx="080" cy="110" r="25" fill="blue"/>
<circle cx="116" cy="110" r="25" fill="green"/>
</g>
<text x="98" y="160" stroke="none" text-anchor="middle">SourceAlpha</text>
<desc> =========================================================================================== </desc>
<rect x="90" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur2)">
<circle cx="098" cy="220" r="25" fill="red"/>
<circle cx="080" cy="245" r="25" fill="blue"/>
<circle cx="116" cy="245" r="25" fill="green"/>
</g>
<text x="98" y="295" stroke="none" text-anchor="middle">SourceGraphic</text>
<desc> =========================================================================================== </desc>
<rect x="230" y="50" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur3)">
<circle cx="238" cy="085" r="25" fill="red"/>
<circle cx="220" cy="110" r="25" fill="blue"/>
<circle cx="256" cy="110" r="25" fill="green"/>
</g>
<text x="238" y="160" stroke="none" text-anchor="middle">BackgroundAlpha</text>
<desc> =========================================================================================== </desc>
<rect x="230" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur4)">
<circle cx="238" cy="220" r="25" fill="red"/>
<circle cx="220" cy="245" r="25" fill="blue"/>
<circle cx="256" cy="245" r="25" fill="green"/>
</g>
<text x="238" y="295" stroke="none" text-anchor="middle">BackgroundImage</text>
<desc> =========================================================================================== </desc>
<rect x="370" y="50" width="16" height="95" fill="green"/>
<!-- bbox: 335 60 86 75 -->
<g stroke-opacity="0.6" stroke="url(#grad1)" stroke-width="3" filter="url(#GaussianBlur5)">
<circle cx="378" cy="085" r="25" fill="red"/>
<circle cx="360" cy="110" r="25" fill="blue"/>
<circle cx="396" cy="110" r="25" fill="green"/>
</g>
<text x="378" y="160" stroke="none" text-anchor="middle">FillPaint</text>
<desc> =========================================================================================== </desc>
<rect x="370" y="185" width="16" height="95" fill="green"/>
<!-- bbox: 335 195 86 75 -->
<g fill-opacity="0.6" fill="url(#grad2)" stroke="black" stroke-width="3" filter="url(#GaussianBlur6)">
<circle cx="378" cy="220" r="25"/>
<circle cx="360" cy="245" r="25"/>
<circle cx="396" cy="245" r="25"/>
</g>
<text x="378" y="295" stroke="none" text-anchor="middle">StrokePaint</text>
</g>
<text x="240" y="30" font-size="20" text-anchor="middle">Filter input test</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.1 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -0,0 +1,166 @@
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="CL" author="BB" status="created"
version="$Revision: 1.2 $" testname="$RCSfile: filters-overview-03-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitivesOverview">
<!-- XXX make a more extensive test of FillPaint/StrokePaint in this test -->
<p>The purpose of this file is to test the 'in' attribute on filter primitives.</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly.
</p>
<ol>
<li>The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).</li>
<li>The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).</li>
<li>The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).</li>
<li>The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).</li>
<li>The results for in="FillPaint" and in="StrokePaint" are the same. They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blurred gradiant (blue/white/red/yellow).</li>
<li>The size of the gradients are bigger than the blurred circles.</li>
</ol>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-overview-03-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<defs>
<linearGradient id="grad1" gradientUnits="objectBoundingBox" x1="50%" y1="-3%" x2="50%" y2="106%">
<stop offset="0.00" stop-color="#0000ff"/>
<stop offset="0.33" stop-color="#ffffff"/>
<stop offset="0.67" stop-color="#ff0000"/>
<stop offset="1.00" stop-color="#ffff00"/>
</linearGradient>
<filter id="GaussianBlur1" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
</filter>
<filter id="GaussianBlur2" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
</filter>
<filter id="GaussianBlur3" filterUnits="objectBoundingBox" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="white" result="flood"/>
<feGaussianBlur in="BackgroundAlpha" stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="flood"/>
<feMergeNode in="blur"/>
</feMerge>
</filter>
<filter id="GaussianBlur4" filterUnits="objectBoundingBox" x="-40%" y="-40%" width="180%" height="180%">
<feFlood flood-color="white" result="flood"/>
<feGaussianBlur in="BackgroundImage" stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="flood"/>
<feMergeNode in="blur"/>
</feMerge>
</filter>
<filter id="GaussianBlur5" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="StrokePaint" stdDeviation="5"/>
</filter>
<filter id="GaussianBlur6" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="FillPaint" stdDeviation="5"/>
</filter>
</defs>
<g enable-background="new" stroke-dasharray="25 5" stroke="black" stroke-width="3" font-size="14" fill="black">
<rect x="90" y="50" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur1)">
<circle cx="098" cy="085" r="25" fill="red"/>
<circle cx="080" cy="110" r="25" fill="blue"/>
<circle cx="116" cy="110" r="25" fill="green"/>
</g>
<text x="98" y="160" stroke="none" text-anchor="middle">SourceAlpha</text>
<desc> =========================================================================================== </desc>
<rect x="90" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur2)">
<circle cx="098" cy="220" r="25" fill="red"/>
<circle cx="080" cy="245" r="25" fill="blue"/>
<circle cx="116" cy="245" r="25" fill="green"/>
</g>
<text x="98" y="295" stroke="none" text-anchor="middle">SourceGraphic</text>
<desc> =========================================================================================== </desc>
<rect x="230" y="50" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur3)">
<circle cx="238" cy="085" r="25" fill="red"/>
<circle cx="220" cy="110" r="25" fill="blue"/>
<circle cx="256" cy="110" r="25" fill="green"/>
</g>
<text x="238" y="160" stroke="none" text-anchor="middle">BackgroundAlpha</text>
<desc> =========================================================================================== </desc>
<rect x="230" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur4)">
<circle cx="238" cy="220" r="25" fill="red"/>
<circle cx="220" cy="245" r="25" fill="blue"/>
<circle cx="256" cy="245" r="25" fill="green"/>
</g>
<text x="238" y="295" stroke="none" text-anchor="middle">BackgroundImage</text>
<desc> =========================================================================================== </desc>
<rect x="370" y="50" width="16" height="95" fill="green"/>
<g id='g' stroke-opacity="0.6" stroke="url(#grad1)" stroke-width="3" filter="url(#GaussianBlur5)">
<circle cx="378" cy="085" r="25" fill="red"/>
<circle cx="360" cy="110" r="25" fill="blue"/>
<circle cx="396" cy="110" r="25" fill="green"/>
</g>
<text x="378" y="160" stroke="none" text-anchor="middle">FillPaint</text>
<desc> =========================================================================================== </desc>
<rect x="370" y="185" width="16" height="95" fill="green"/>
<g fill-opacity="0.6" fill="url(#grad1)" stroke="black" stroke-width="3" filter="url(#GaussianBlur6)">
<circle cx="378" cy="220" r="25"/>
<circle cx="360" cy="245" r="25"/>
<circle cx="396" cy="245" r="25"/>
</g>
<text x="378" y="295" stroke="none" text-anchor="middle">StrokePaint</text>
</g>
<text x="240" y="30" font-size="20" text-anchor="middle">Filter input test</text>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,195 @@
<svg version="1.1" baseProfile="full" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
version="$Revision: 1.6 $" testname="$RCSfile: filters-specular-01-f.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feSpecularLightingElement">
<p>
Verify the basic operation of the feSpecularLighting element. The test shows
four rows of 3 images. Each row tests a different aspect of the filter and
shows the result of the filtering operation.
</p>
<p>
The first row shows the result of varying the surfaceScale attribute. The second
row shows the result of varying the specular constant (ks) attribute. The third
row shows the result of varying the specular exponent (np) attribute. The last
row shows the result of varying the lighting-color property.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image.
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: filters-specular-01-f.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!-- Title -->
<text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">Filters: feSpecularLighting</text>
<!-- ===================================================================== -->
<!-- Filter definitions -->
<!-- ===================================================================== -->
<defs>
<!-- ================================================= -->
<!-- Surface scale -->
<!-- ================================================= -->
<filter id="surfaceScaleA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="1" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="surfaceScaleB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="surfaceScaleC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="-10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<!-- ================================================= -->
<!-- Specular Constants -->
<!-- ================================================= -->
<filter id="specularConstantA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="0" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularConstantB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularConstantC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="2" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<!-- ================================================= -->
<!-- Specular Exponent -->
<!-- ================================================= -->
<filter id="specularExponentA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularExponentB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="2" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="specularExponentC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="4" surfaceScale="10" lighting-color="white">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<!-- ================================================= -->
<!-- Lighting colors -->
<!-- ================================================= -->
<filter id="lightingColorA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="red">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="lightingColorB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="yellow">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
<filter id="lightingColorC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="blue">
<feDistantLight azimuth="45" elevation="45"/>
</feSpecularLighting>
</filter>
</defs>
<!-- ==================================================== -->
<!-- The same image is rendered multiple times with using -->
<!-- different filters. -->
<!-- ==================================================== -->
<!-- Various Surface Scales -->
<g transform="translate(0, 20)">
<text x="90" y="25">Various values for surfaceScale: 1, 10 and -10</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)"/>
<image xlink:href="images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#surfaceScaleB)"/>
<image xlink:href="images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#surfaceScaleC)"/>
</g>
<!-- Various Specular Constants -->
<g transform="translate(0, 90)">
<text x="90" y="25">Various values for specularConstants: 0, 1 and 2</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularConstantA)"/>
<image xlink:href="images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularConstantB)"/>
<image xlink:href="images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#specularConstantC)"/>
</g>
<!-- Various Specular Exponents -->
<g transform="translate(0, 160)">
<text x="90" y="25">Various values for specularExponents: 1, 2 and 4</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularExponentA)"/>
<image xlink:href="images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularExponentB)"/>
<image xlink:href="images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#specularExponentC)"/>
</g>
<!-- Various Light Colors -->
<g transform="translate(0, 230)">
<text x="90" y="25">Various values for lighting color: red, yellow and blue</text>
<g fill="black">
<rect x="90" y="30" width="50" height="30"/>
<rect x="205" y="30" width="50" height="30"/>
<rect x="320" y="30" width="50" height="30"/>
</g>
<image xlink:href="images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)"/>
<image xlink:href="images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#lightingColorB)"/>
<image xlink:href="images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#lightingColorC)"/>
</g>
<!-- ===================================================== -->
<!-- Legends -->
<!-- ===================================================== -->
<!-- Surface Scale -->
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Some files were not shown because too many files have changed in this diff Show More