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

-->

<!-- ====================================================================== -->
<!-- Tests various text on a path                                           -->
<!--                                                                        -->
<!-- @author bella.robinson@cmis.csiro.au                                   -->
<!-- @version $Id$   -->
<!-- ====================================================================== -->

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

<svg id="body" width="450" height="500" viewBox="0 0 450 500"
     xmlns="http://www.w3.org/2000/svg" version="1.2"
     xmlns:xlink="http://www.w3.org/1999/xlink">
   <title>Test of Text wrapping stuff.</title>

   <text class="title" x="50%" y="40">Test of Text wrapping stuff</text>

   <g id="content">
     <text x="110" y="70" text-anchor="middle">One complex flow Region</text>
     <g transform="translate(8,70), scale(.6), rotate(25, 200, 200)" >
      <use width="400" height="400" xlink:href="../../../batikLogo.svg#Batik_Squiggle" opacity="0.5"/>

      <g transform="rotate(-45, 200, 200)">
      <flowRoot font-size="15.75">
         <flowRegion>
            <use transform="rotate(45, 200, 200)" width="400" height="400" visibility="hidden" xlink:href="../../../batikLogo.svg#Batik_Squiggle" />
         </flowRegion>

         <flowDiv>
            <flowPara  text-align="middle">Tomorrow, and tomorrow, and tomorrow,
            Creeps in this petty pace from day to day,
            To the last syllable of recorded time;
            And all our yesterdays have lighted fools
            The way to dusty death. Out, out, brief candle!
            Life's but a walking shadow; a poor player,
            That struts and frets his hour upon the stage,
            And then is heard no more: it is a tale
            Told by an idiot, full of sound and fury,
            Signifying nothing.
            </flowPara>
         </flowDiv>
     </flowRoot>
   </g>
   </g>

     <text x="300" y="480" text-anchor="middle">Three flow Regions</text>
     <g transform="translate(190,225), scale(.6), rotate(25, 200, 200)" >
        <g transform="scale(.73,.73)" fill-opacity="0.5">
           <use xlink:href="../../../batikLogo.svg#Batik_Squiggle_Blue"/>
           <use xlink:href="../../../batikLogo.svg#Batik_Squiggle_Red"/>
           <use xlink:href="../../../batikLogo.svg#Batik_Squiggle_Green"/>
        </g>
      <g transform="rotate(-45, 200, 200)">
      <flowRoot font-size="16.5">
         <flowRegion>
           <use transform="rotate(45, 200, 200), scale(.73,.73)" visibility="hidden" 
                xlink:href="../../../batikLogo.svg#Batik_Squiggle_Blue"/>
           <use transform="rotate(45, 200, 200), scale(.73,.73)" visibility="hidden" 
                xlink:href="../../../batikLogo.svg#Batik_Squiggle_Red"/>
           <use transform="rotate(45, 200, 200), scale(.73,.73)" visibility="hidden" 
                xlink:href="../../../batikLogo.svg#Batik_Squiggle_Green"/>
         </flowRegion>

         <flowDiv>
            <flowPara  text-align="middle">Tomorrow, and tomorrow, and tomorrow,
            Creeps in this petty pace from day to day,
            To the last syllable of recorded time;
            And all our yesterdays have lighted fools
            The way to dusty death. Out, out, brief candle!
            Life's but a walking shadow; a poor player,
            That struts and frets his hour upon the stage,
            And then is heard no more: it is a tale
            Told by an idiot, full of sound and fury,
            Signifying nothing.
            </flowPara>
         </flowDiv>
     </flowRoot>
   </g>
   </g>
   </g>

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