blob: 0436ee6ee003572b107b637b02ea9055a85d5344 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!--======================================================================-->
<!--= Copyright 2002 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, Institut National de Recherche en =-->
<!--= Informatique et en Automatique, Keio University). All Rights =-->
<!--= Reserved. See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<!-- ===================================================================== -->
<!-- -->
<!-- paths-data-02-f.svg -->
<!-- 1.1 revision by Christophe Jolif -->
<!-- -->
<!-- Test that the viewer has the basic capability to handle the 'path' -->
<!-- element and its data (d) attribute in combination with the quadratic -->
<!-- Bezier curveto commands, Q, q, T, t (plus Mm and Zz). -->
<!-- -->
<!-- Author : Lofton Henderson, 29-Feb-2000 (based on work -->
<!-- of Mark Sgarlato, Adobe). -->
<!-- -->
<!-- History: -->
<!-- 29-Feb-2000, LRH, Ser#1 created. -->
<!-- 12-Mar-2000, LH, fix test-framing rect; ser#2 -->
<!-- 03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# . -->
<!-- 17-Aug-2000, JF=" fix duplicate ID bug" ser#3. -->
<!-- 15-Nov-2000, LH: add missing test-body-content group. -->
<!-- -->
<!-- ===================================================================== -->
<!--======================================================================-->
<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
<!--= log messages, and therefore is no longer in the preceding preamble.=-->
<!--======================================================================-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript>
<Paragraph>
Test that the viewer has the basic capability to handle the 'path'
element and its data (d) attribute in combination with the quadratic
Bezier curveto commands, Q, q, T, t (plus Mm and Zz).
</Paragraph>
<Paragraph>
There are 7 subtests, each composed from the quadric Bezier path commands per
the label by the subtest. On-curve control points (i.e., the curve position)
are marked by small colored squares. Subtests are filled, or stroked, or
both, using simple style properties and colors.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image exactly, except for possible
variations in the labelling text (per CSS2 rules).
</Paragraph>
<Paragraph>
The test uses the 'rect' element, as well as basic fill (solid primary colors),
stroke (primary color wide and 1-pixel lines), font-family (Helvetica) and font-size properties.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<title id="test-title">paths-data-02-f</title>
<desc id="test-desc">Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the quadratic Bezier curveto commands, both regular and shorthand/smooth forms - Q, q, T, t (along with Mm and Zz).</desc>
<!--======================================================================-->
<!--Content of Test Case follows... =====================-->
<!--======================================================================-->
<g id="test-body-content">
<text font-family="Helvetica" font-size="12" x="120" y="14">Quadric bezier curves drawn with commands:</text>
<!-- ====================================================================== -->
<!-- Quad Bezier with sub-path using M, Q, M, q, & z ====================== -->
<!-- ====================================================================== -->
<path id="Bez_MQMqz" fill="none" stroke="#0000FF" stroke-width="3" d="M 15 20 Q 30 120 130 30 M 180 80 q -75 -100 -163 -60z"/>
<text font-family="Helvetica" font-size="12" x="80" y="86">M, Q, M, q, z</text>
<rect x="13" y="18" width="4" height="4" fill="#00C000" stroke="none"/>
<rect x="128" y="28" width="4" height="4" fill="#00C000" stroke="none"/>
<rect x="178" y="78" width="4" height="4" fill="#00C000" stroke="none"/>
<rect x="15" y="18" width="4" height="4" fill="#00C000" stroke="none"/>
<!-- ====================================================================== -->
<!-- Quad Bezier with sub-path using m, q, z, m, q, & z =================== -->
<!-- ====================================================================== -->
<path id="Bez_fill_MQzmqz" fill="#FFFF00" stroke="#CF0000" d="M372 130Q272 50 422 10zm70 0q50-150-80-90z"/>
<text font-family="Helvetica" font-size="12" x="352" y="150">m, q, z, m, q, z</text>
<rect x="370" y="128" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="420" y="8" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="440" y="128" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="360" y="38" width="4" height="4" fill="#0000FF" stroke="none"/>
<!-- ====================================================================== -->
<!-- Simple Bezier using M, Q, & Z ======================================== -->
<!-- ====================================================================== -->
<path id="Bez_stroke_MQz" fill="none" stroke="#00FFFF" d="M224 103Q234 -12 304 33Z"/>
<text font-family="Helvetica" font-size="12" x="192" y="36">M, Q, Z</text>
<rect x="222" y="101" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="302" y="31" width="4" height="4" fill="#0000FF" stroke="none"/>
<!-- ====================================================================== -->
<!-- Tri Bezier using M, Q, T, Q, & z ===================================== -->
<!-- ====================================================================== -->
<path id="Tri_MQTQz" fill="#00C000" stroke="#000000" d="M208 168Q258 268 308 168T258 118Q128 88 208 168z"/>
<text font-family="Helvetica" font-size="12" x="308" y="188">M, Q, T, Q, z</text>
<rect x="206" y="166" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="306" y="166" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="256" y="116" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="206" y="206" width="4" height="4" fill="#0000FF" stroke="none"/>
<!-- ====================================================================== -->
<!-- Double Bezier using M, Q, Q, & z ===================================== -->
<!-- ====================================================================== -->
<path id="Inv_V_MCcZ" fill="#CF0000" stroke="none" d=" M 60 100 Q -40 150 60 200 Q 160 150 60 100 z "/>
<text font-family="Helvetica" font-size="12" x="80" y="200">M, Q, Q, z</text>
<rect x="58" y="98" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="58" y="198" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="58" y="98" width="4" height="4" fill="#0000FF" stroke="none"/>
<!-- ====================================================================== -->
<!-- Sin Wave using M, q, t, t, t, t, & z ================================ -->
<!-- ====================================================================== -->
<path id="Sin_Mqttttz" fill="none" stroke="#FF0000" d="M240 296q25-100 47 0t47 0t47 0t47 0t47 0z"/>
<text font-family="Helvetica" font-size="12" x="380" y="236">M, q, t, t, t, t, z</text>
<rect x="238" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="285" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="332" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="379" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="426" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
<rect x="473" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
<!-- ====================================================================== -->
<!-- Double Spade using M, q, Q, q, Q, & z ================================ -->
<!-- ====================================================================== -->
<path id="Dbl_spd_MCcZ" fill="#0000C0" stroke="#00CF00" stroke-width="2" d="M172 193q-100 50 0 50Q72 243 172 293q100 -50 0 -50Q272 243 172 193z"/>
<text font-family="Helvetica" font-size="12" x="48" y="280">M, q, Q, q, Q, z</text>
<rect x="170" y="191" width="4" height="4" fill="#FF0000" stroke="none"/>
<rect x="170" y="241" width="4" height="4" fill="#FF0000" stroke="none"/>
<rect x="170" y="291" width="4" height="4" fill="#FF0000" stroke="none"/>
<rect x="170" y="241" width="4" height="4" fill="#FF0000" stroke="none"/>
<rect x="170" y="191" width="4" height="4" fill="#FF0000" stroke="none"/>
</g>
<!--======================================================================-->
<!--Legend and frame: Title, suite and SVG document serialization====-->
<!--======================================================================-->
<g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
<rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
<path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
<text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
<a xlink:href="copyright-documents-19990405.html">
<text x="12" y="347" fill="blue">Copyright 2002 W3C. All Rights Reserved.</text>
</a>
<text font-size="12" x="35" y="330">paths-data-02-f</text>
<text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
<text font-size="10" x="210" y="345">Release 1.0</text>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
</g>
</svg>