1
<?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!-- =====================================================================-->
3 <!-- animate-elem-44-t.svg -->
5 <!-- Tests animation of attributes 'd' of path element. -->
7 <!-- Author : Scott Hayman, 27-Jan-2004 --><!DOCTYPE svg PUBLIC
"-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
9 <svg xmlns=
"http://www.w3.org/2000/svg" xmlns:
xlink=
"http://www.w3.org/1999/xlink" version=
"1.1" baseProfile=
"tiny" id=
"svg-root" width=
"100%" height=
"100%" viewBox=
"0 0 480 360">
10 <SVGTestCase xmlns:
testcase=
"http://www.w3.org/2000/02/svg/testsuite/description/" xmlns=
"http://www.w3.org/2000/02/svg/testsuite/description/" reviewed=
"YES" reviewer=
"OA" owner=
"SH" desc=
"Tests animation of attributes 'd' of path element" status=
"accepted" version=
"$Revision: 1.7 $" testname=
"$RCSfile: animate-elem-44-t.svg,v $">
13 The purpose of this test is to test animation of the d
14 attribute of the path element.
17 This test consists of a path, specified as a series of
18 lineto commands, whose d attribute is animated.
19 The path morphs between the numbers
1,
2,
3, and
4.
20 The gray outlines indicates the expected position of the polygon at
1,
2,
3 and
4s.
21 The test contains an animated circle that indicates where
22 the path should be at a given time.
26 <g transform=
"translate(40,0) scale(0.8)">
27 <!-- GRAY SILHOUETTES INDICATING TIME IN SECONDS-->
28 <path id=
"Number1" d=
"M 26.5,32.5 L 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5 72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5 72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5 46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5 22.5,51.5 22.5,41.5 22.5,33.5 Z" fill=
"#ccc" stroke=
"rgb(0,0,0)" stroke-width=
"1"/>
29 <path id=
"Number2" d=
"M 108.5,38.5 L 123.5,26.5 148.5,16.5 172.5,17.5 188.5,19.5 202.5,23.5 206.5,26.5 210.5,37.5 213.5,44.5 215.5,57.5 209.5,68.5 203.5,81.5 187.5,98.5 164.5,120.5 206.5,121.5 224.5,121.5 220.5,149.5 194.5,147.5 181.5,147.5 167.5,146.5 150.5,147.5 133.5,149.5 117.5,148.5 117.5,136.5 118.5,124.5 133.5,115.5 151.5,97.5 170.5,78.5 186.5,59.5 179.5,43.5 159.5,35.5 139.5,40.5 125.5,49.5 Z" fill=
"#ccc" stroke=
"rgb(0,0,0)" stroke-width=
"1"/>
30 <path id=
"Number3" d=
"M 248.5,38.5 L 276.5,22.5 298.5,19.5 316.5,26.5 332.5,40.5 331.5,57.5 322.5,70.5 307.5,76.5 314.5,80.5 324.5,86.5 333.5,99.5 333.5,121.5 327.5,130.5 312.5,143.5 292.5,149.5 270.5,148.5 248.5,142.5 252.5,114.5 267.5,119.5 282.5,119.5 297.5,115.5 304.5,109.5 295.5,99.5 284.5,92.5 277.5,84.5 270.5,74.5 281.5,66.5 293.5,60.5 297.5,50.5 292.5,45.5 281.5,45.5 274.5,49.5 266.5,53.5 Z" fill=
"#ccc" stroke=
"rgb(0,0,0)" stroke-width=
"1"/>
31 <path id=
"Number4" d=
"M 427.5,17.5 L 439.5,15.5 449.5,15.5 449.5,29.5 447.5,44.5 447.5,59.5 465.5,60.5 466.5,74.5 465.5,89.5 450.5,87.5 449.5,102.5 449.5,123.5 449.5,140.5 449.5,153.5 420.5,154.5 421.5,137.5 420.5,123.5 420.5,111.5 419.5,99.5 392.5,97.5 367.5,99.5 366.5,79.5 367.5,69.5 376.5,43.5 381.5,27.5 384.5,17.5 412.5,16.5 406.5,36.5 400.5,49.5 394.5,70.5 419.5,71.5 423.5,49.5 424.5,33.5 Z" fill=
"#ccc" stroke=
"rgb(0,0,0)" stroke-width=
"1"/>
32 <!-- Gray silhouettes indicating the positions of the marker circle -->
33 <circle r=
"30" cx=
"50" cy=
"200" fill=
"#ccc"/>
34 <circle r=
"30" cx=
"173" cy=
"200" fill=
"#ccc"/>
35 <circle r=
"30" cx=
"297" cy=
"200" fill=
"#ccc"/>
36 <circle r=
"30" cx=
"420" cy=
"200" fill=
"#ccc"/>
38 <!-- Test the animation of the d attribute -->
39 <path id=
"animatedNumber" d=
"M 26.5,32.5 L 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5 72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5 72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5 46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5 22.5,51.5 22.5,41.5 22.5,33.5 Z" fill=
"rgb(204,0,102)" stroke=
"rgb(0,0,0)" stroke-width=
"4">
40 <animate attributeName=
"d" values=
"M 26.5,32.5 L 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5 72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5 72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5 46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5 22.5,51.5 22.5,41.5 22.5,33.5 Z; M 108.5,38.5 L 123.5,26.5 148.5,16.5 172.5,17.5 188.5,19.5 202.5,23.5 206.5,26.5 210.5,37.5 213.5,44.5 215.5,57.5 209.5,68.5 203.5,81.5 187.5,98.5 164.5,120.5 206.5,121.5 224.5,121.5 220.5,149.5 194.5,147.5 181.5,147.5 167.5,146.5 150.5,147.5 133.5,149.5 117.5,148.5 117.5,136.5 118.5,124.5 133.5,115.5 151.5,97.5 170.5,78.5 186.5,59.5 179.5,43.5 159.5,35.5 139.5,40.5 125.5,49.5 Z; M 248.5,38.5 L 276.5,22.5 298.5,19.5 316.5,26.5 332.5,40.5 331.5,57.5 322.5,70.5 307.5,76.5 314.5,80.5 324.5,86.5 333.5,99.5 333.5,121.5 327.5,130.5 312.5,143.5 292.5,149.5 270.5,148.5 248.5,142.5 252.5,114.5 267.5,119.5 282.5,119.5 297.5,115.5 304.5,109.5 295.5,99.5 284.5,92.5 277.5,84.5 270.5,74.5 281.5,66.5 293.5,60.5 297.5,50.5 292.5,45.5 281.5,45.5 274.5,49.5 266.5,53.5 Z; M 427.5,17.5 L 439.5,15.5 449.5,15.5 449.5,29.5 447.5,44.5 447.5,59.5 465.5,60.5 466.5,74.5 465.5,89.5 450.5,87.5 449.5,102.5 449.5,123.5 449.5,140.5 449.5,153.5 420.5,154.5 421.5,137.5 420.5,123.5 420.5,111.5 419.5,99.5 392.5,97.5 367.5,99.5 366.5,79.5 367.5,69.5 376.5,43.5 381.5,27.5 384.5,17.5 412.5,16.5 406.5,36.5 400.5,49.5 394.5,70.5 419.5,71.5 423.5,49.5 424.5,33.5 Z" fill=
"freeze" begin=
"1" dur=
"3s"/>
43 <!-- the "bouncing ball" circle that shows where the path should be -->
44 <circle r=
"30" cx=
"50" cy=
"200" fill=
"rgb(204,0,102)">
45 <animate attributeName=
"cx" values=
"50; 173; 297; 420" begin=
"1" dur=
"4" calcMode=
"discrete" fill=
"freeze"/>
49 <text x=
"5" y=
"225" font-size=
"28">Animation on the 'd'
50 attribute of path.
</text>
51 <text x=
"5" y=
"255" font-size=
"18">Digit should match outline at indicated time.
</text>
52 <text x=
"5" y=
"275" font-size=
"18">Filled circle should follow morphing digit discretely.
</text>
53 <text id=
"revision" x=
"10" y=
"340" font-size=
"40" stroke=
"none" fill=
"black">$Revision:
1.7 $
</text>
54 <rect id=
"test-frame" x=
"1" y=
"1" width=
"478" height=
"358" fill=
"none" stroke=
"#000000"/>