<!DOCTYPE html>
<html lang='en'>
<head>
 <title>filters-image-03-f-manual.svg</title>
 <meta charset='utf-8'>
</head>
<body>
 <h1>Source SVG: filters-image-03-f-manual.svg</h1>
<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/.                          =-->
  <!--======================================================================-->
  
  <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>
</body>
</html>
