547 lines
21 KiB
XML
547 lines
21 KiB
XML
<?xml version="1.0" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
|
|
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">
|
|
|
|
<!-- ========================================================================= -->
|
|
<!-- Copyright (C) The Apache Software Foundation. All rights reserved. -->
|
|
<!-- -->
|
|
<!-- This software is published under the terms of the Apache Software License -->
|
|
<!-- version 1.1, a copy of which has been included with this distribution in -->
|
|
<!-- the LICENSE file. -->
|
|
<!-- ========================================================================= -->
|
|
|
|
<!-- ========================================================================= -->
|
|
<!-- -->
|
|
<!-- @author vhardy@eng.sun.com -->
|
|
<!-- @version $Id: patternPreserveAspectRatioA.svg,v 1.1.1.1 2001-06-10 01:46:41 edburns%acm.org Exp $ -->
|
|
<!-- ========================================================================= -->
|
|
|
|
<?xml-stylesheet type="text/css" href="test.css" ?>
|
|
|
|
<svg id="body" width="450" height="500" viewBox="0 0 450 500">
|
|
<title>Pattern Region Test, B</title>
|
|
|
|
<text x="225" y="30" class="title">
|
|
patterns, preserveAspectRatio
|
|
</text>
|
|
|
|
<!-- ============================================================= -->
|
|
<!-- Test content -->
|
|
<!-- ============================================================= -->
|
|
<g id="testContent" >
|
|
<defs>
|
|
|
|
<g id="patternColumn">
|
|
<circle cx=".5" cy=".5" r=".5" />
|
|
<rect x="0" y="1" width="1" height="1" />
|
|
<path d="M 0 3 l 1 0 l -0.5 -1 z" />
|
|
</g>
|
|
|
|
<!-- Pattern content is 24 by 24 -->
|
|
<g id="patternContent" transform="scale(8, 8)" >
|
|
<rect x="0" y="0" width="3" height="3" fill="black" />
|
|
<use xlink:href="#patternColumn" fill="crimson" />
|
|
<use xlink:href="#patternColumn" x="1" fill="gold" />
|
|
<use xlink:href="#patternColumn" x="2" fill="orange" />
|
|
</g>
|
|
|
|
<rect id="testShape" transform="translate(45, 5)" width="90" height="30" />
|
|
|
|
<!-- ============================================== -->
|
|
<!-- For all the following patterns: -->
|
|
<!-- -->
|
|
<!-- patternUnits : userSpaceOnUse -->
|
|
<!-- patternContentUnits : default (userSpaceOnUse) -->
|
|
<!-- patternTransform: default (identity) -->
|
|
<!-- preserveAspectRatio: variable for each test -->
|
|
<!-- overflow : default (hidden) -->
|
|
<!-- -->
|
|
<!-- ============================================== -->
|
|
|
|
<!-- ============ -->
|
|
<!-- meetXxxxYyyy -->
|
|
<!-- ============ -->
|
|
|
|
<pattern id="meetXminYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMin meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXminYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMid meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXminYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMax meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXmidYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMin meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXmidYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMid meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXmidYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMax meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXmaxYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMin meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXmaxYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMid meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="meetXmaxYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMax meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
|
|
<!-- ============ -->
|
|
<!-- sliceXxxxYyyy -->
|
|
<!-- ============ -->
|
|
|
|
<pattern id="sliceXminYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMin slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXminYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMid slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXminYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMax slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXmidYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMin slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXmidYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMid slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXmidYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMax slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXmaxYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMin slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXmaxYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMid slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceXmaxYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMax slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<!-- ============ -->
|
|
<!-- noneXxxxYyyy -->
|
|
<!-- ============ -->
|
|
|
|
<pattern id="noneXminYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMin">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXminYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMid">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXminYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMinYMax">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXmidYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMin">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXmidYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMid">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXmidYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMidYMax">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXmaxYmin"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMin">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXmaxYmid"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMid">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneXmaxYmax"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="xMaxYMax">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<!-- ==================== -->
|
|
<!-- align = none -->
|
|
<!-- ==================== -->
|
|
<pattern id="meetNone"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="none meet">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="sliceNone"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="none slice">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<pattern id="noneNone"
|
|
patternUnits="userSpaceOnUse"
|
|
x="0" y="0"
|
|
width="32" height="16"
|
|
viewBox="0 0 24 24"
|
|
preserveAspectRatio="none">
|
|
<use xlink:href="#patternContent" />
|
|
</pattern>
|
|
|
|
<rect id="xMxx" x="0" y="0" width="20" height="120" />
|
|
<rect id="yMxx" x="20" y="0" width="20" height="40" />
|
|
<rect id="sampleCell" x="40" y="0" width="100" height="40" />
|
|
|
|
<g id="xMxxBlock" stroke="black">
|
|
<use xlink:href="#xMxx" />
|
|
<use xlink:href="#yMxx" fill="rgb(255, 250, 210)"/>
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="35" y="20"
|
|
transform="rotate(-90, 35, 20)">
|
|
yMin
|
|
</text>
|
|
<use xlink:href="#yMxx" y="40" fill="rgb(255, 240, 150)"/>
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="35" y="60"
|
|
transform="rotate(-90, 35, 60)">
|
|
yMid
|
|
</text>
|
|
<use xlink:href="#yMxx" y="80" fill="rgb(255, 235, 120)"/>
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="35" y="100"
|
|
transform="rotate(-90, 35, 100)">
|
|
yMax
|
|
</text>
|
|
</g>
|
|
|
|
<g id="sampleColumn" stroke="black" fill="none">
|
|
<use xlink:href="#sampleCell" fill="rgb(255, 250, 210)"/>
|
|
<use xlink:href="#sampleCell" y="40" fill="rgb(255, 240, 150)"/>
|
|
<use xlink:href="#sampleCell" y="80" fill="rgb(255, 235, 120)"/>
|
|
<use xlink:href="#sampleCell" y="120" fill="rgb(255, 250, 210)"/>
|
|
<use xlink:href="#sampleCell" y="160" fill="rgb(255, 240, 150)"/>
|
|
<use xlink:href="#sampleCell" y="200" fill="rgb(255, 235, 120)"/>
|
|
<use xlink:href="#sampleCell" y="240" fill="rgb(255, 250, 210)"/>
|
|
<use xlink:href="#sampleCell" y="280" fill="rgb(255, 240, 150)"/>
|
|
<use xlink:href="#sampleCell" y="320" fill="rgb(255, 235, 120)"/>
|
|
<use xlink:href="#sampleCell" y="360"/>
|
|
</g>
|
|
|
|
<rect id="columnHeader" x="40" y="-20" width="100" height="20" stroke="black"/>
|
|
|
|
</defs>
|
|
|
|
<g transform="translate(50, 80)">
|
|
<use xlink:href="#xMxxBlock" fill="rgb(255, 250, 210)"/>
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="15" y="60"
|
|
transform="rotate(-90, 15, 60)">
|
|
xMin
|
|
</text>
|
|
|
|
<use xlink:href="#xMxxBlock" y="120" fill="rgb(255, 240, 150)"/>
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="15" y="180"
|
|
transform="rotate(-90, 15, 180)">
|
|
xMid
|
|
</text>
|
|
|
|
<use xlink:href="#xMxxBlock" y="240" fill="rgb(255, 235, 120)"/>
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="15" y="300"
|
|
transform="rotate(-90, 15, 300)">
|
|
xMax
|
|
</text>
|
|
|
|
<use xlink:href="#sampleColumn" />
|
|
<use xlink:href="#sampleColumn" x="100" />
|
|
<use xlink:href="#sampleColumn" x="200" />
|
|
|
|
<use xlink:href="#columnHeader" fill="none"/>
|
|
<use xlink:href="#columnHeader" x="100" fill="none"/>
|
|
<use xlink:href="#columnHeader" x="200" fill="none"/>
|
|
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="90" y="-5">
|
|
meet
|
|
</text>
|
|
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="190" y="-5">
|
|
slice
|
|
</text>
|
|
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="290" y="-5">
|
|
none
|
|
</text>
|
|
|
|
<rect x="0" y="360" width="40" height="40" stroke="black" fill="none" />
|
|
<text class="label" stroke="none" fill="black"
|
|
text-anchor="middle" x="25" y="380"
|
|
transform="rotate(-90, 25, 380)">
|
|
none
|
|
</text>
|
|
|
|
<!-- ============================================ -->
|
|
<!-- Various pattern settings here -->
|
|
<!-- ============================================ -->
|
|
|
|
<!-- =============================== -->
|
|
<!-- meetOrSlice = meet -->
|
|
<!-- =============================== -->
|
|
<g>
|
|
|
|
<!-- xMxx = xMin -->
|
|
<use xlink:href="#testShape" fill="url(#meetXminYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#meetXminYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#meetXminYmax)" y="80"/>
|
|
|
|
<!-- xMxx = xMid -->
|
|
<g transform="translate(0, 120)">
|
|
<use xlink:href="#testShape" fill="url(#meetXmidYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#meetXmidYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#meetXmidYmax)" y="80"/>
|
|
</g>
|
|
|
|
<!-- xMxx = xMax -->
|
|
<g transform="translate(0, 240)">
|
|
<use xlink:href="#testShape" fill="url(#meetXmaxYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#meetXmaxYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#meetXmaxYmax)" y="80"/>
|
|
</g>
|
|
|
|
</g>
|
|
|
|
<!-- =============================== -->
|
|
<!-- meetOrSlice = slice -->
|
|
<!-- =============================== -->
|
|
<g marker-start="url(#startEndMarker)" transform="translate(100, 0)"
|
|
marker-end="url(#startEndMarker)" stroke="black">
|
|
|
|
<!-- xMxx = xMin -->
|
|
<use xlink:href="#testShape" fill="url(#sliceXminYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#sliceXminYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#sliceXminYmax)" y="80"/>
|
|
|
|
<!-- xMxx = xMid -->
|
|
<g transform="translate(0, 120)">
|
|
<use xlink:href="#testShape" fill="url(#sliceXmidYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#sliceXmidYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#sliceXmidYmax)" y="80"/>
|
|
</g>
|
|
|
|
<!-- xMxx = xMax -->
|
|
<g transform="translate(0, 240)">
|
|
<use xlink:href="#testShape" fill="url(#sliceXmaxYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#sliceXmaxYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#sliceXmaxYmax)" y="80"/>
|
|
</g>
|
|
|
|
</g>
|
|
|
|
<!-- =============================== -->
|
|
<!-- meetOrSlice = none -->
|
|
<!-- =============================== -->
|
|
<g marker-start="url(#startEndMarker)" transform="translate(200, 0)"
|
|
marker-end="url(#startEndMarker)" stroke="black">
|
|
|
|
<!-- xMxx = xMin -->
|
|
<use xlink:href="#testShape" fill="url(#noneXminYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#noneXminYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#noneXminYmax)" y="80"/>
|
|
|
|
<!-- xMxx = xMid -->
|
|
<g transform="translate(0, 120)">
|
|
<use xlink:href="#testShape" fill="url(#noneXmidYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#noneXmidYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#noneXmidYmax)" y="80"/>
|
|
</g>
|
|
|
|
<!-- xMxx = xMax -->
|
|
<g transform="translate(0, 240)">
|
|
<use xlink:href="#testShape" fill="url(#noneXmaxYmin)" />
|
|
<use xlink:href="#testShape" fill="url(#noneXmaxYmid)" y="40"/>
|
|
<use xlink:href="#testShape" fill="url(#noneXmaxYmax)" y="80"/>
|
|
</g>
|
|
|
|
</g>
|
|
|
|
<!-- =============================== -->
|
|
<!-- align = none -->
|
|
<!-- =============================== -->
|
|
<g marker-start="url(#startEndMarker)" transform="translate(0, 360)"
|
|
marker-end="url(#startEndMarker)" stroke="black">
|
|
|
|
<use xlink:href="#testShape" fill="url(#meetNone)" />
|
|
<use xlink:href="#testShape" fill="url(#sliceNone)" x="100"/>
|
|
<use xlink:href="#testShape" fill="url(#noneNone)" x="200"/>
|
|
|
|
</g>
|
|
</g>
|
|
</g>
|
|
|
|
|
|
<!-- ============================================================= -->
|
|
<!-- Batik sample mark -->
|
|
<!-- ============================================================= -->
|
|
<use xlink:href="../batikLogo.svg#Batik_Tag_Box" />
|
|
|
|
</svg>
|