blob: 5928d57ea392342cda329185deaf23a4a45c5788 [file] [log] [blame]
<svg version="1.1" baseProfile="basic" id="svg-root"
width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!--======================================================================-->
<!--= SVG 1.1 2nd Edition Test Case =-->
<!--======================================================================-->
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, European Research Consortium for =-->
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
<!--= All Rights Reserved. =-->
<!--= See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
version="$Revision: 1.8 $" testname="$RCSfile: masking-mask-01-b.svg,v $">
<d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#Masking">
<p>
Test to see if the masking features using the mask element and mask
property are available.
</p>
<p>
A red rectangle is displayed in the background to help view the result
of transparency and masking.
</p>
<p>
From top to bottom, the tests are as follows.
</p>
<p>
In the top test, a linear gradient is used inside the mask to change the opacity
of the rectangle from 1.0 (at the top) to 0.5 (at the bottom).
</p>
<p>
In the second test, a simple 50% opaque rectangle is used as a mask.
</p>
<p>
In the third test, no mask is used, but a rectangle is shown with 50% opacity.
The second and third test should look the same.
</p>
<p>
Lastly, a string of text has a mask applied to it. The mask only covers a partial
area of the text, so the text should only be half visible. Also the mask consists
of 4 rectangles with various levels of opacity.
</p>
</d:testDescription>
<d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
<p>
Run the test. No interaction required.
</p>
</d:operatorScript>
<d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
<p>
The rendered picture should match the reference image, except
variations are possible in the labelling text (per CSS2 rules).
</p>
</d:passCriteria>
</d:SVGTestCase>
<title id="test-title">$RCSfile: masking-mask-01-b.svg,v $</title>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<style type="text/css">
@font-face {
font-family: larabie-anglepoise;
src: url(woffs/anglepoi.woff) format("woff");
}
</style>
<defs>
<font horiz-adv-x="313">
<!-- Converted from Larabie Anglepoise by Batik ttf2svg -->
<font-face font-family="larabie-anglepoise" units-per-em="1000" panose-1="0 0 4 0 0 0 0 0 0 0" ascent="703" descent="-300" alphabetic="0"/>
<missing-glyph horiz-adv-x="500" d="M63 0V700H438V0H63ZM125 63H375V638H125V63Z"/>
<glyph unicode="S" glyph-name="S" horiz-adv-x="385" d="M371 1H29V144H264Q264 151 264 166Q265 180 265 188Q265 212 249 212H132Q83 212 55 247Q29 279 29 329V566H335V422H136V375Q136 360 144 356Q148 355 168 355H279Q327 355 352 309Q371 273 371 221V1Z"/>
<glyph unicode="V" glyph-name="V" horiz-adv-x="351" d="M365 563L183 -33L0 563H101L183 296L270 563H365Z"/>
<glyph unicode="G" glyph-name="G" horiz-adv-x="367" d="M355 1H18V564H355V420H125V144H248V211H156V355H355V1Z"/>
<hkern g1="V" g2="G" k="-40"/>
</font>
</defs>
<g font-family="SVGFreeSansASCII,sans-serif">
<text font-size="14" x="10" y="20">Test for mask support</text>
<!-- Draw a red rectangle in the background -->
<rect x="10" y="30" width="100" height="260" fill="red"/>
<!-- Apply a gradient ramp based opacity -->
<mask id="mask1" maskUnits="userSpaceOnUse" x="60" y="50" width="100" height="60" color-interpolation="linearRGB">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" id="Grad1" x1="60" y1="50" x2="60" y2="120">
<stop stop-color="white" stop-opacity="1" offset="0"/>
<stop stop-color="white" stop-opacity="0.5" offset="1"/>
</linearGradient>
</defs>
<rect x="60" y="50" width="100" height="60" fill="url(#Grad1)"/>
</mask>
<rect x="60" y="50" width="100" height="60" fill="lime" mask="url(#mask1)"/>
<text font-size="12" x="200" y="65">Mask with linear gradient from</text>
<text font-size="12" x="200" y="80">opacity=1 to opactity=0.5</text>
<!-- Simulate a uniform opacity using a mask -->
<mask id="mask2" maskUnits="userSpaceOnUse" x="60" y="120" width="100" height="30" color-interpolation="linearRGB">
<rect x="60" y="120" width="100" height="30" fill-opacity="0.5" fill="white"/>
</mask>
<rect x="60" y="120" width="100" height="30" fill="lime" mask="url(#mask2)"/>
<text font-size="12" x="200" y="135">Mask with uniform opacity of 0.5</text>
<!-- Apply a uniform opacity -->
<rect x="60" y="160" width="100" height="30" fill="lime" fill-opacity="0.5"/>
<text font-size="12" x="200" y="175">Rectangle with uniform opacity of 0.5</text>
<!-- Apply a mask to text -->
<mask id="mask3" maskUnits="userSpaceOnUse" x="60" y="200" width="200" height="100" color-interpolation="linearRGB">
<rect x="60" y="200" width="200" height="25" fill="white" fill-opacity="0.5"/>
<rect x="60" y="225" width="200" height="25" fill="white" fill-opacity="0.2"/>
<rect x="60" y="250" width="200" height="25" fill="white" fill-opacity="1"/>
<rect x="60" y="275" width="200" height="25" fill="white" fill-opacity="0.7"/>
</mask>
<text x="60" y="280" font-family="larabie-anglepoise" font-size="110" fill="lime" mask="url(#mask3)">SVG</text>
<text font-size="12" x="200" y="225">Text with mask containing rectangles</text>
<text font-size="12" x="200" y="240">of various opacities</text>
</g>
</g>
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
</g>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
<!-- comment out this watermark once the test is approved -->
<!--<g id="draft-watermark">
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
</g>-->
</svg>