blob: e5e426789fc8f5eb7fc7648bcab6d0b866605862 [file] [log] [blame]
<svg xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
<g id="testmeta">
<title>CSS Masking: Panning with clipPath and mask nesting 2</title>
<html:link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com"/>
<html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/>
<html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#ClipPathElement"/>
<html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-masks"/>
<html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#MaskElement"/>
<html:link rel="match" href="reference/mask-nested-clip-path-001-ref.svg" />
<metadata class="flags">svg</metadata>
<desc class="assert">Multiple references between clipPath and
mask elements. The current viewport gets translated by panning. You
should see a green square with 4 equally sized and positioned white squares
in it.</desc>
</g>
<clipPath id="clip1" clipPathUnits="objectBoundingBox">
<rect x="0.1" y="0.1" width="0.3" height="0.3"/>
<rect x="0.1" y="0.6" width="0.3" height="0.3"/>
</clipPath>
<clipPath id="clip2" clipPathUnits="objectBoundingBox">
<rect x="0.6" y="0.1" width="0.3" height="0.3"/>
<rect x="0.6" y="0.6" width="0.3" height="0.3"/>
</clipPath>
<clipPath id="clip" clipPathUnits="objectBoundingBox">
<rect x="0" y="0" width="1" height="1" clip-path="url(#clip1)"/>
<rect x="0" y="0" width="1" height="1" clip-path="url(#clip2)"/>
</clipPath>
<mask id="mask1a" x="0" y="0" width="1" height="1" maskContentUnits="objectBoundingBox">
<rect x="0" y="0" width="1" height="1" fill="white"/>
<rect x="0" y="0" width="1" height="1" fill="black" clip-path="url(#clip1)" />
</mask>
<mask id="mask1b" x="0" y="0" width="1" height="1" maskContentUnits="objectBoundingBox">
<rect x="0" y="0" width="1" height="1" fill="white"/>
<rect x="0" y="0" width="1" height="1" fill="black" clip-path="url(#clip2)" />
</mask>
<mask id="mask2" x="0" y="0" width="1" height="1" maskContentUnits="objectBoundingBox">
<rect x="0" y="0" width="1" height="1" fill="white" mask="url(#mask1a)"/>
</mask>
<mask id="mask3" x="0" y="0" width="1" height="1" maskContentUnits="objectBoundingBox">
<rect x="0" y="0" width="1" height="1" fill="white" mask="url(#mask1b)"/>
</mask>
<g mask="url(#mask3)" transform="translate(75, 0)">
<rect width="200" height="200" fill="green" mask="url(#mask2)"/>
</g>
<script>
var translate = document.getElementsByTagName('svg')[0].currentTranslate;
translate.x = -75;
</script>
</svg>