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

-->
<!-- ====================================================================== -->
<!-- @author deweese@apache.org                                             -->
<!-- @author vhardy@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>&lt;linearGradient&gt; Repeat Test</title>
    <text class="title" x="50%" y="40">
        &lt;linearGradient&gt; Repeat Test
    </text>

    <style type="text/css"><![CDATA[
        .speed   { clip-path:url(#speedClip); color-rendering:optimizeSpeed; }
        .default { clip-path:url(#defaultClip); color-rendering:auto; }
        .quality { clip-path:url(#qualityClip); 
                   color-rendering:optimizeQuality; }
        .saqLabel {  font-family: Verdana, Helvetica; 
                     font-size: 5;
                     text-anchor: middle; 
                     fill:black; stroke:none;}
        .line { fill:none; stroke:black; stroke-width:0.25; } 
    ]]></style>

    <defs>
        <!-- Shape filled by linear gradients -->
        <g id="testShape">
            <rect x="-25" y="-20" width="50" height="40" 
                  class="quality" />
            <rect x="-25" y="-20" width="50" height="40" 
                  class="default" />
            <rect x="-25" y="-20" width="50" height="40" 
                  class="speed" />

            <text x="-16.5" y="24" class="saqLabel">Q</text>
            <line x1="-8" x2="-8" y1="20" y2="25" class="line" />
            <text x="0" y="24" class="saqLabel">A</text>
            <line x1="8" x2="8" y1="20" y2="25" class="line" />
            <text x="16.5" y="24" class="saqLabel">S</text>
        </g>

        <!-- Clip paths for the various color-rendering settings... -->
        <clipPath id="qualityClip">
            <rect x="-25" y="-20" width="17" height="40"/>
        </clipPath>

        <clipPath id="defaultClip">
            <rect x="-8" y="-20" width="16" height="40"/>
        </clipPath>

        <clipPath id="speedClip">
            <rect x="8" y="-20" width="17" height="40"/>
        </clipPath>

        <!-- ========================================== -->
        <!-- Two gradients, one with no values defined  -->
        <!-- and one with the default values specified  -->
        <!-- They should create the same pattern        -->
        <!-- ========================================== -->
        <linearGradient id="lgDefaults" spreadMethod="repeat">
            <stop offset=".0" stop-color="gold" />
            <stop offset=".49" stop-color="crimson" />
            <stop offset=".51" stop-color="gold" />
            <stop offset="1." stop-color="crimson" />
        </linearGradient>

        <linearGradient id="lgUR" xlink:href="#lgDefaults"
            x1="25%" x2="75%" y1="75%" y2="25%"/>

        <linearGradient id="lgU" xlink:href="#lgDefaults"
            x1="25%" x2="25%" y1="75%" y2="25%"/>

        <linearGradient id="lgUL" xlink:href="#lgDefaults"
            x1="75%" x2="25%" y1="75%" y2="25%"/>

        <linearGradient id="lgL" xlink:href="#lgDefaults"
            x1="75%" x2="25%" y1="25%" y2="25%"/>

        <linearGradient id="lgDL" xlink:href="#lgDefaults"
            x1="75%" x2="25%" y1="25%" y2="75%"/>

        <linearGradient id="lgD" xlink:href="#lgDefaults"
            x1="25%" x2="25%" y1="25%" y2="75%"/>

        <linearGradient id="lgDR" xlink:href="#lgDefaults"
            x1="25%" x2="75%" y1="25%" y2="75%"/>

        <linearGradient id="lgR" xlink:href="#lgDefaults"
            x1="25%" x2="75%" y1="25%" y2="25%"/>
    </defs>
    <g transform="translate(70, 110) scale(2)" font-size="8">
       <g transform="translate(0, 0)" text-anchor="middle">
   
           <g transform="translate(0, 0)">
               <use xlink:href="#testShape" fill="url(#lgR)" />
               <text y="-23">Right</text>
           </g>
   
           <g transform="translate(0, 55)">
               <use xlink:href="#testShape" fill="url(#lgUR)" />
               <text y="-23">Up Right</text>
           </g>
   
           <g transform="translate(0, 110)">
               <use xlink:href="#testShape" fill="url(#lgU)" />
               <text y="-23">Up</text>
           </g>
   
           <g transform="translate(0, 165)">
               <use xlink:href="#testShape" fill="url(#lgUL)" />
               <text y="-23">Up Left</text>
           </g>
       </g>
       <g transform="translate(70, 0)" text-anchor="middle">
   
           <g transform="translate(0, 0)">
               <use xlink:href="#testShape" fill="url(#lgL)" />
               <text y="-23">Left</text>
           </g>
   
           <g transform="translate(0, 55)">
               <use xlink:href="#testShape" fill="url(#lgDL)" />
               <text y="-23">Down Left</text>
           </g>
   
           <g transform="translate(0, 110)">
               <use xlink:href="#testShape" fill="url(#lgD)" />
               <text y="-23">Down</text>
           </g>
   
           <g transform="translate(0, 165)">
               <use xlink:href="#testShape" fill="url(#lgDR)" />
               <text y="-23">Down Right</text>
           </g>
       </g>
    </g>
</svg>
