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

-->
<!-- ========================================================================= -->
<!-- Limit test on gradients.                                                  -->
<!--                                                                           -->
<!-- @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>Limit test on Gradients</title>

    <text x="50%" y="45" class="title">Gradient Limit Test</text>

    <g id="testContent">
        <g id="closeOffsetsLinear">
            <title>Close Offsets on linearGradient</title>
            <desc>The last two offsets of this linearGradient are 
                  very close (0.000001) to one-another</desc>
            <linearGradient id="closeOffsetsLinearGradient" gradientUnits="objectBoundingBox" y1="0" x1="0" x2="0" y2=".1">
              <stop  offset="0" style="stop-color:crimson"/>
              <stop  offset="0.999999" style="stop-color:gold"/>
              <stop  offset="1" style="stop-color:crimson"/>
            </linearGradient>
            <rect fill="url(#closeOffsetsLinearGradient)" x="35" y="80" width="80" height="40" />
            <text class="legend" x="75" y="135">Two close offsets</text>
            <text class="legend" x="75" y="150">&lt;linearGradient&gt;</text>
        </g>

        <g id="closeOffsetsLinear2" transform="translate(150, 0)">
            <title>Close Offsets on linearGradient</title>
            <desc>The last two offsets of this linearGradient are 
                  very close (0.00000001) to one-another, with a
                  difference below the single precision floating
                  point</desc>
            <linearGradient id="closeOffsetsLinearGradient2" gradientUnits="objectBoundingBox" y1="0" x1="0" x2="0" y2=".1">
              <stop  offset="0" style="stop-color:crimson"/>
              <stop  offset="0.99999999" style="stop-color:gold"/>
              <stop  offset="1" style="stop-color:crimson"/>
            </linearGradient>
            <rect fill="url(#closeOffsetsLinearGradient2)" x="35" y="80" width="80" height="40" />
            <text class="legend" x="75" y="135">Two very close offsets</text>
            <text class="legend" x="75" y="150">&lt;linearGradient&gt;</text>
        </g>

        <g id="closeOffsetsRadial" transform="translate(0, 100)">
            <title>Close Offsets on radialGradient</title>
            <desc>The last two offsets of this radialGradient are 
                  very close (0.000001) to one-another</desc>
            <radialGradient id="closeOffsetsRadialGradient" gradientUnits="objectBoundingBox" r=".1">
              <stop  offset="0" style="stop-color:crimson"/>
              <stop  offset="0.999999" style="stop-color:gold"/>
              <stop  offset="1" style="stop-color:crimson"/>
            </radialGradient>
            <rect fill="url(#closeOffsetsRadialGradient)" x="35" y="80" width="80" height="40" />
            <text class="legend" x="75" y="135">Two close offsets</text>
            <text class="legend" x="75" y="150">&lt;radialGradient&gt;</text>
        </g>

        <g id="closeOffsetsRadial2" transform="translate(150, 100)">
            <title>Close Offsets on radialGradient</title>
            <desc>The last two offsets of this radialGradient are 
                  very close (0.00000001) to one-another</desc>
            <radialGradient id="closeOffsetsRadialGradient2" gradientUnits="objectBoundingBox" r=".1">
              <stop  offset="0" style="stop-color:crimson"/>
              <stop  offset="0.99999999" style="stop-color:gold"/>
              <stop  offset="1" style="stop-color:crimson"/>
            </radialGradient>
            <rect fill="url(#closeOffsetsRadialGradient2)" x="35" y="80" width="80" height="40" />
            <text class="legend" x="75" y="135">Two very close offsets</text>
            <text class="legend" x="75" y="150">&lt;radialGradient&gt;</text>
        </g>

        <g id="closeControlsLinear" transform="translate(300, 0)">
            <title>Close control points on linearGradient</title>
            <desc>The y coordinates on the gradient are close
                  (0.00000001) to one-another</desc>
            <linearGradient id="closeControlsLinearGradient" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="0" y2="0.00000001">
              <stop  offset="0" stop-color="gold"/>
              <stop  offset="1" stop-color="crimson"/>
            </linearGradient>
            <rect fill="url(#closeControlsLinearGradient)" x=".35" y=".8" width=".8" height=".4" transform="scale(100)"/>
            <text class="legend" x="75" y="135">Close control points</text>
            <text class="legend" x="75" y="150">&lt;linearGradient&gt;</text>
        </g>

        <g id="smallRadiusRadial" transform="translate(300, 100)">
            <title>Small radius on radialGradient</title>
            <desc>The radialGradient has a very small
                  (0.00000001) radius</desc>
            <radialGradient id="smallRadiusRadialGradient" gradientUnits="objectBoundingBox" r="0.00000001">
              <stop  offset="0" stop-color="gold"/>
              <stop  offset="1" stop-color="crimson"/>
            </radialGradient>
            <rect fill="url(#smallRadiusRadialGradient)" x=".35" y=".8" width=".8" height=".4" transform="scale(100)"/>
            <text class="legend" x="75" y="135">Small Radius</text>
            <text class="legend" x="75" y="150">&lt;radialGradient&gt;</text>
        </g>
    </g>

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

</svg>
