| <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> |