| <svg version="1.1" baseProfile="tiny" 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="CN" author="VH" status="accepted" |
| version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-80-t.svg,v $"> |
| <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation"> |
| <p> |
| This test demonstrates validates the operation of the |
| animateTransform element and validates the operation |
| of the different type attribute values. |
| </p> |
| <p> |
| There are 5 possible values for the type attribute and |
| there is one animateTransform for each type and two for |
| the translate type. |
| </p> |
| <p> |
| For each transform type, the test has a corresponding animateTransform. |
| The test uses references to show what the expected transform should be |
| at different points in the animation. For example, the top left |
| animateTransform, for type=rotate, shows circular markers which turn |
| orange at the time of corresponding transform value should be set by the |
| animateTransform. |
| The marker elements show the expected transform value on reference |
| markers in the test. |
| </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 test has eight sub-tests, each of which consists of a brown |
| shape being animated in some way with the animation starting two |
| seconds after the document is loaded. Gray shapes are used |
| to indicate points along the animation. The test passes if |
| the brown shape in each of the sub-tests is animated correctly, |
| according to the following descriptions:</p> |
| <ul> |
| <li>In the two "type=rotate" sub-tests, the brown line is rotated |
| clockwise about one of its end points for one complete revolution, |
| and then immediately performs the reverse animation where it is |
| rotated anti-clockwise for one complete revolution. During the |
| animation, whenever the other end point of the line coincides |
| with one of the gray filled circles, the circle briefly glows yellow.</li> |
| <li>In the "type=skewX" sub-test, the brown line continuously skewed. |
| It starts off coinciding with the middle gray silhouette, and then |
| over the course of the animation coincides with the left gray silhouette, |
| the middle one, the right one and finally the middle one again. |
| During the animation, whenever the brown line coincides with one of the gray silhouettes, |
| the silhouette briefly glows yellow.</li> |
| <li>In the "type=skewY" sub-test, the brown line continuously skewed. |
| It starts off coinciding with the middle gray silhouette, and then |
| over the course of the animation coincides with the top gray silhouette, |
| the middle one, the bottom one and finally the middle one again. |
| During the animation, whenever the brown line coincides with one of the gray silhouettes, |
| the silhouette briefly glows yellow.</li> |
| <li>In the two "type=translate" sub-tests, the brown circle is continuously |
| translated. It starts off coinciding with the left-most gray circle, and |
| over the course of the animation coincides each of the other gray circles |
| from left to right. During the animation, whenever the brown circle coincides with one of the |
| gray circles, the circle briefly glows yellow.</li> |
| <li>In the two "type=scale" sub-tests, the brown circle is continuously |
| scaled. There are four concentric gray stroked circles indicating the |
| sizes the brown circle will take during the animation, although they |
| are only all visible at the end of the animation. (Initially only the |
| largest one is visible.) The brown circle |
| starts off with a size coinciding with the largest gray circle, and |
| over the course of the animation coincides each of the other gray circles |
| from outside in. During the animation, whenever the brown circle coincides with one of the |
| gray circles, the circle briefly glows yellow.</li> |
| </ul> |
| </d:passCriteria> |
| </d:SVGTestCase> |
| <title id="test-title">$RCSfile: animate-elem-80-t.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"> |
| <text text-anchor="middle" x="240" y="25" font-size="16"><animateTransform></text> |
| <defs> |
| <g id="ref" stroke="rgb(192,192,192)" fill="none"> |
| <circle stroke-width="2" r="40"/> |
| <line x1="-45" x2="45"/> |
| <line y1="-45" y2="45"/> |
| </g> |
| </defs> |
| <g transform="translate(0,0)" font-size="14"> |
| <g transform="translate(60,90)"> |
| <use xlink:href="#ref"/> |
| |
| <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(0)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/> |
| </line> |
| |
| <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(90)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2.5s;5.5s" dur="0.2s"/> |
| </line> |
| |
| <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(180)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3s;5s" dur="0.2s"/> |
| </line> |
| |
| <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(270)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3.5s;4.5s" dur="0.2s"/> |
| </line> |
| |
| <line x2="40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)"> |
| <animateTransform attributeName="transform" type="rotate" values="0;360;0" begin="2s" dur="4s"/> |
| </line> |
| |
| <text y="60" text-anchor="middle">type=rotate</text> |
| </g> |
| |
| <g transform="translate(180,110)"> |
| <line y2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewX(0)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/> |
| </line> |
| |
| <line y2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewX(45)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3.333s" dur="0.2s"/> |
| </line> |
| |
| <line y2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewX(-45)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="4.666s" dur="0.2s"/> |
| </line> |
| |
| <line y2="-40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)"> |
| <animateTransform attributeName="transform" type="skewX" values="0;45;-45;0" begin="2s" dur="4s"/> |
| </line> |
| <text y="40" text-anchor="middle">type=skewX</text> |
| </g> |
| |
| <g transform="translate(300,90)"> |
| <g transform="translate(15,0)"> |
| <line x2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewY(0)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/> |
| </line> |
| |
| <line x2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewY(30)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3.333s" dur="0.2s"/> |
| </line> |
| |
| <line x2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewY(-30)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="4.666s" dur="0.2s"/> |
| </line> |
| |
| <line x2="-40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)"> |
| <animateTransform attributeName="transform" type="skewY" values="0;30;-30;0" begin="2s" dur="4s"/> |
| </line> |
| </g> |
| |
| <text y="60" text-anchor="middle">type=skewY</text> |
| </g> |
| |
| <g transform="translate(420,90)"> |
| <circle stroke="rgb(192,192,192)" stroke-width="4" r="40" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" r="30" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" r="20" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/> |
| </circle> |
| |
| <circle fill="rgb(200,80,80)" r="10" transform="scale(4)"> |
| <animateTransform attributeName="transform" type="scale" values="4,4;3,3;2,2;1,1" begin="2s" dur="3s" fill="freeze"/> |
| </circle> |
| <text y="60" text-anchor="middle">type=scale</text> |
| <text y="75" text-anchor="middle">(sx and sy)</text> |
| </g> |
| |
| |
| <g transform="translate(20,180)"> |
| <use xlink:href="#ref" x="40" y="40"/> |
| |
| <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(0,40,40)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/> |
| </line> |
| |
| <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(90,40,40)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2.5s;5.5s" dur="0.2s"/> |
| </line> |
| |
| <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(180,40,40)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3s;5s" dur="0.2s"/> |
| </line> |
| |
| <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(270,40,40)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3.5s;4.5s" dur="0.2s"/> |
| </line> |
| |
| <line x1="40" y1="40" x2="80" y2="40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)"> |
| <animateTransform attributeName="transform" type="rotate" values="0 40 40;360 40 40;0 40 40" begin="2s" dur="4s"/> |
| </line> |
| |
| <text y="100" x="40" text-anchor="middle">type=rotate</text> |
| <text y="115" x="40" text-anchor="middle">(with cx/cy)</text> |
| </g> |
| |
| <g transform="translate(180,220)"> |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-40" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-20" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="0" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="20" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="40" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="6s" dur="0.2s"/> |
| </circle> |
| |
| <circle fill="rgb(200,80,80)" r="6" transform="translate(-40,0)"> |
| <animateTransform attributeName="transform" type="translate" values="-40;-20;0;20;40" begin="2s" dur="4s" fill="freeze"/> |
| </circle> |
| <text y="60" text-anchor="middle">type=translate</text> |
| <text y="75" text-anchor="middle">(tx only)</text> |
| </g> |
| |
| <g transform="translate(300,220)"> |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-40" cy="30" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-20" cy="15" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="0" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="20" cy="-15" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" cx="40" cy="-30" r="10" fill="none"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="6s" dur="0.2s"/> |
| </circle> |
| |
| <circle fill="rgb(200,80,80)" r="6" transform="translate(-40,30)"> |
| <animateTransform attributeName="transform" type="translate" values="-40,30;-20,15;0,0;20,-15;40,-30" begin="2s" dur="4s" fill="freeze"/> |
| </circle> |
| <text y="60" text-anchor="middle">type=translate</text> |
| <text y="75" text-anchor="middle">(tx and ty)</text> |
| </g> |
| |
| <g transform="translate(420,220)"> |
| <circle stroke="rgb(192,192,192)" stroke-width="1" r="10" fill="none" transform="scale(4,4)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="1.3333" r="10" fill="none" transform="scale(3,3)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="2" r="10" fill="none" transform="scale(2,2)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/> |
| </circle> |
| |
| <circle stroke="rgb(192,192,192)" stroke-width="4" r="10" fill="none" transform="scale(1,1)"> |
| <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/> |
| </circle> |
| |
| <circle fill="rgb(200,80,80)" r="10" transform="scale(4,4)"> |
| <animateTransform attributeName="transform" type="scale" values="4;3;2;1" begin="2s" dur="3s" fill="freeze"/> |
| </circle> |
| <text y="60" text-anchor="middle">type=scale</text> |
| <text y="75" text-anchor="middle">(sx only)</text> |
| </g> |
| </g> |
| </g> |
| <g font-family="SVGFreeSansASCII,sans-serif" font-size="32"> |
| <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text> |
| </g> |
| <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/> |
| <!-- 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> |