<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">

<!--

   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

-->
<!-- ========================================================================= -->
<!-- Test description here                                                     -->
<!--                                                                           -->
<!-- @author tkormann@apache.org                                               -->
<!-- @version $Id $  -->
<!-- ========================================================================= -->

<?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?>

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     id="body" width="450" height="500" viewBox="0 0 450 500">

  <title>feImage Test</title>

  <!-- ============================================================= -->
  <!-- Test content                                                  -->
  <!-- ============================================================= -->
  <g id="testContent">

    <text x="225" y="40" class="title">
      feImage Test
    </text>

    <defs>

      <g id="elem1">
        <circle id="Circle1" cx="112.5" cy="250" r="100" style="fill:orange" />
        <circle id="Circle2" cx="337.5" cy="250" r="100" style="fill:blue" />
      </g>

      <filter id="Elem1" x="0" y="0" width="1" height="1">
        <feImage xlink:href="#elem1"/>
      </filter>

      <filter id="Elem2" x="0" y="0" width="1" height="1">
        <feImage xlink:href="../rendering/opacity2.svg"/>
      </filter>

      <filter id="Elem3" x="0" y="0" width="1" height="1">
        <feImage xlink:href="../structure/dataProtocol.svg#testContent"/>
      </filter>

    </defs>

    <g transform="translate(0 40)" class="legend">

      <!-- ============================================== -->
      <!-- Composite_1_*                                  -->
      <!-- ============================================== -->
      <g transform="translate(40 20)" class="row1" >
        <g id="c1" transform="translate(20 0)">
          <rect x="0" y="0" width="450" height="500" transform="scale(0.25 0.25)" fill="Beige"/>
          <rect x="0" y="0" width="450" height="500" transform="scale(0.25 0.25)"
                style="fill:FireBrick;  filter:url(#Elem1)"/>
          <text x="60" y="140" style="text-anchor:middle">
            1.1 Reference 
          </text>
          <text x="60" y="152">
            local element
          </text>
        </g>

        <g id="c2" transform="translate(120 200)">
          <rect x="0" y="0" width="450" height="500" transform="scale(0.25 0.25)" fill="Beige"/>
          <rect x="0" y="0" width="450" height="500" 
                transform="scale(0.25 0.25)"
                style="fill:FireBrick;  filter:url(#Elem2)" />
          <text x="60" y="140" style="text-anchor:middle">
            1.2 Reference 
          </text>
          <text x="60" y="152">
            external SVG file
          </text>
        </g>


        <g id="c3" transform="translate(240, 0)">
          <rect x="0" y="0" width="450" height="500" transform="scale(.25, .25)" fill="Beige"/>
          <rect x="0" y="0" width="450" height="500" 
                transform="scale(.25, .25)"
                style="fill:FireBrick;  filter:url(#Elem3)" />
          <g transform="translate(60, 140)">
            <text x="0" y="0" style="text-anchor:middle">
              1.3 Reference 
            </text>
            <text x="0" y="12">
              external SVG element
            </text>
          </g>
        </g>
      </g>
    </g>
  </g>

  <!-- ============================================================= -->
  <!-- Batik sample mark                                             -->
  <!-- ============================================================= -->
  <use xlink:href="../../../batikLogo.svg#Batik_Tag_Box" />

</svg>
