gecko/layout/reftests/svg/clipPath-advanced-01.svg

85 lines
3.1 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<title>Testcase for clipPath referencing other clipPaths</title>
<!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=534612 -->
<defs>
<clipPath id="clip1">
<rect id="r1" x="20" y="-40" width="100" height="40" />
</clipPath>
<clipPath id="clip2">
<rect x="20" y="20" width="100" height="100" clip-path="url(#clip1)" />
</clipPath>
<clipPath id="clip3">
<rect x="140" y="-40" width="100" height="40" />
</clipPath>
<clipPath id="clip4" clip-path="url(#clip3)">
<rect x="140" y="20" width="100" height="100" />
</clipPath>
<clipPath id="clip1">
<rect x="20" y="-40" width="100" height="40" />
</clipPath>
<clipPath id="clip5">
<rect id="r5" x="20" y="140" width="100" height="100" />
</clipPath>
<clipPath id="clip6">
<use xlink:href="#r5" clip-path="url(#clip5)" />
</clipPath>
<clipPath id="clip7">
<rect id="r7" x="140" y="140" width="100" height="100" />
</clipPath>
<clipPath id="clip8">
<use xlink:href="#r7" fill="red" clip-path="url(#clip1)"/>
</clipPath>
<clipPath id="clip9">
<rect x="20" y="260" width="100" height="100" />
</clipPath>
<clipPath id="clip10">
<use xlink:href="#r1" fill="red" clip-path="url(#clip9)"/>
</clipPath>
<clipPath id="clip11">
<rect id="r11" x="140" y="260" width="100" height="100" clip-path="url(#clip1)"/>
</clipPath>
<clipPath id="clip12">
<use xlink:href="#r11" fill="red" clip-path="url(#clip11)"/>
</clipPath>
<clipPath id="clip12" clipPathUnits="objectBoundingBox">
<rect width=".5" height=".5"/>
</clipPath>
<clipPath id="clip13" clip-path="url(#clip12)">
<circle cx="100" cy="470" r="150"/>
</clipPath>
<clipPath id="clip14">
<use xlink:href="#clip1"/>
</clipPath>
<clipPath id="clip15" clip-path="url(#clip14)">
<text x="140" y="500" font-size="100px">CLIP</text>
</clipPath>
</defs>
<rect width="100%" height="100%" fill="lime" />
<!-- clip path where an object is itself clipped -->
<rect x="20" y="20" width="100" height="100" fill="red" clip-path="url(#clip2)" />
<!-- clip path referencing another clip-path -->
<rect x="140" y="20" width="100" height="100" fill="red" clip-path="url(#clip4)" />
<!-- clip paths where object has complex clipping -->
<rect x="20" y="140" width="100" height="100" fill="red" />
<rect x="20" y="140" width="100" height="100" fill="lime" clip-path="url(#clip6)" />
<rect x="140" y="140" width="100" height="100" fill="red" clip-path="url(#clip8)" />
<rect x="20" y="260" width="100" height="100" fill="red" clip-path="url(#clip10)" />
<rect x="140" y="260" width="100" height="100" fill="red" clip-path="url(#clip12)" />
<!-- clip paths with different clipPathUnits -->
<rect x="20" y="400" height="300" width="300" fill="red" clip-path="url(#clip13)" />
<rect x="20" y="400" width="100" height="100" fill="lime" />
<!-- text clipping -->
<rect x="140" y="400" height="300" width="300" fill="red" clip-path="url(#clip15)" />
</svg>