| <?xml version="1.0" encoding="UTF-8"?> |
| <!--======================================================================--> |
| <!--= Copyright 2004 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/. =--> |
| <!--======================================================================--><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> |
| |
| <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"> |
| |
| <SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Test multiple on multiple end conditions in the end attribute" status="accepted" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-63-t.svg,v $"> |
| |
| <OperatorScript> |
| |
| <Paragraph> |
| |
| This tests validates multiple end conditions in the end attribute, |
| |
| assuming support for the <set> element and setting the |
| |
| dur attribute to 'indefinite'. |
| |
| </Paragraph> |
| |
| <Paragraph> |
| |
| The test validates the various possibilities for the end attribute |
| |
| value: multiple offset values, multiple event base values, multiple sync base |
| |
| values, multiple repeat values, and multiple accessKey values. Finally, |
| |
| the test validates that end values of different kinds can be mixed. |
| |
| </Paragraph> |
| |
| |
| |
| <Paragraph> |
| |
| The test shows 6 rows where a red rectangle's x attribute is animated |
| |
| with <set> elements. |
| |
| </Paragraph> |
| |
| |
| |
| <Paragraph> |
| |
| On the first three rows, the red rectangles should show on the left from |
| |
| 0 to 1s. From 1 to 2s, the rectangles should show on the right. Then |
| |
| the rectangles should show on the left from 2 to 4s, then on the right |
| |
| again from 4 to 5s and come back to the left position and stay there |
| |
| after 5s. |
| |
| </Paragraph> |
| |
| <Paragraph> |
| |
| On the fourth row, the rectangle's end condition is event based |
| |
| and requires a user click. One of the end condition is defined |
| |
| to be 5 seconds prior to the click and one is defined to be 5 |
| |
| seconds after the click. If the user clicks on the rectangle |
| |
| before 5 seconds (in document time), the red rectangle we move |
| |
| to the left position 5 seconds after the click (because the |
| |
| 'click - 5s' end time resolves to a time prior to the begin |
| |
| time). If the user clicks after 5 seconds (in document time), |
| |
| then the red rectangle moves to the left position immediately because |
| |
| the 'click - 5s' time resolves to a time after the begin time. |
| |
| </Paragraph> |
| |
| <Paragraph> |
| |
| On the fifth row, the rectangle's end condition is accessKey based |
| |
| and requires a user to press the 'a' key. The behavior is exactly the |
| |
| same as for the previous row, except that the triggering event |
| |
| is the 'a' key press. |
| |
| </Paragraph> |
| |
| <Paragraph> |
| |
| The last row's rectangle has a end condition with two offset values |
| |
| (1s;4s) and should behave like the rectangles of the first three |
| |
| rows for the first 5 seconds of the document's timeline. In addition, |
| |
| the end condition has a click event base and thus, the rectangle |
| |
| should immediately move to the left position if the user everytime the user |
| |
| clicks clicks on the rectangle when it is on the right position. |
| |
| Finally, the end condition also has an accessKey condition |
| |
| for the 'b' character. Thus, the rectangle should move to the left |
| |
| position every time the user presses the 'b' key and the rectangle is |
| |
| on the right position. |
| |
| </Paragraph> |
| |
| </OperatorScript> |
| |
| </SVGTestCase> |
| |
| <title id="test-title">$RCSfile: animate-elem-63-t.svg,v $</title> |
| |
| |
| |
| <!--======================================================================--> |
| |
| <!--Content of Test Case follows... =====================--> |
| |
| <!--======================================================================--> |
| |
| <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.6 $</text> |
| |
| <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/> |
| |
| |
| |
| <text text-anchor="middle" x="240" y="30" font-size="20">multiple end</text> |
| |
| |
| |
| <g transform="translate(100, 100)"> |
| |
| |
| |
| <g transform="translate(80,25)" text-anchor="end" font-size="14"> |
| |
| <text>2 offsets</text> |
| |
| <text y="25">2 sync bases</text> |
| |
| <text y="50">2 repeat</text> |
| |
| |
| |
| <text y="100">2 event base</text> |
| |
| <text y="125">2 accessKeys</text> |
| |
| |
| |
| <text y="150">misc</text> |
| |
| </g> |
| |
| |
| |
| <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14"> |
| |
| <text>0-1s</text> |
| |
| <text y="-20">2s-4s</text> |
| |
| <text y="-40">> 5s</text> |
| |
| |
| |
| <g transform="translate(40,0)"> |
| |
| <text>1-2s</text> |
| |
| <text y="-20">4-5s</text> |
| |
| </g> |
| |
| </g> |
| |
| |
| |
| <g transform="translate(150,20)" stroke="black"> |
| |
| <defs> |
| |
| <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/> |
| |
| </defs> |
| |
| |
| |
| <g id="setOne"> |
| |
| <use xlink:href="#shadow" x="0"/> |
| |
| <use xlink:href="#shadow" x="40"/> |
| |
| |
| |
| <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| |
| <set id="firstSet" attributeName="x" to="34" begin="1s; 4s" end="2s; 5s" dur="indefinite"/> |
| |
| </rect> |
| |
| </g> |
| |
| |
| |
| <g id="setTwo" transform="translate(0, 25)"> |
| |
| <set id="syncBase" attributeName="display" to="inline" begin="0s" dur="indefinite"/> |
| |
| |
| |
| <use xlink:href="#shadow" x="0"/> |
| |
| <use xlink:href="#shadow" x="40"/> |
| |
| |
| |
| <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| |
| <set attributeName="x" to="34" begin="1s; 4s" end="syncBase.begin+2s;syncBase.begin + 5s" dur="indefinite"/> |
| |
| </rect> |
| |
| </g> |
| |
| |
| |
| <g id="setThree" transform="translate(0, 50)"> |
| |
| <set id="repeatBase" attributeName="display" to="inline" begin="0s" dur="1s" repeatDur="indefinite"/> |
| |
| |
| |
| <use xlink:href="#shadow" x="0"/> |
| |
| <use xlink:href="#shadow" x="40"/> |
| |
| |
| |
| <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| |
| <set attributeName="x" to="34" begin="1s; 4s" end="repeatBase.repeat(2);repeatBase.repeat(5)" dur="indefinite"/> |
| |
| </rect> |
| |
| </g> |
| |
| |
| |
| <g id="setFour" transform="translate(0, 100)"> |
| |
| <use xlink:href="#shadow" x="0"/> |
| |
| <use xlink:href="#shadow" x="40"/> |
| |
| |
| |
| <rect id="setFourTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| |
| <set attributeName="x" to="34" begin="0s" end="setFourTarget.click -5s; setFourTarget.click + 5s" dur="indefinite"/> |
| |
| </rect> |
| |
| </g> |
| |
| |
| |
| <g id="setFive" transform="translate(0, 125)"> |
| |
| <use xlink:href="#shadow" x="0"/> |
| |
| <use xlink:href="#shadow" x="40"/> |
| |
| |
| |
| <rect id="setFiveTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| |
| <set attributeName="x" to="34" begin="0s" end="accessKey(a) - 5s;accessKey(a)+5s" dur="indefinite"/> |
| |
| </rect> |
| |
| </g> |
| |
| |
| |
| <g id="setSix" transform="translate(0, 150)"> |
| |
| <use xlink:href="#shadow" x="0"/> |
| |
| <use xlink:href="#shadow" x="40"/> |
| |
| |
| |
| <rect id="setSixTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)"> |
| |
| <set attributeName="x" to="34" begin="1s;4s" end="2s;5s;setSixTarget.click;accessKey(b)" dur="indefinite"/> |
| |
| </rect> |
| |
| </g> |
| |
| </g> |
| |
| </g> |
| |
| </svg> |