diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:52 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:52 -0800 |
commit | 8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (patch) | |
tree | 11425ea0b299d6fb89c6d3618a22d97d5bf68d0f /WebCore/manual-tests/svg-repaint-foreignObject.svg | |
parent | 648161bb0edfc3d43db63caed5cc5213bc6cb78f (diff) | |
download | external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.zip external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.gz external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'WebCore/manual-tests/svg-repaint-foreignObject.svg')
-rw-r--r-- | WebCore/manual-tests/svg-repaint-foreignObject.svg | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/WebCore/manual-tests/svg-repaint-foreignObject.svg b/WebCore/manual-tests/svg-repaint-foreignObject.svg new file mode 100644 index 0000000..5c5cad9 --- /dev/null +++ b/WebCore/manual-tests/svg-repaint-foreignObject.svg @@ -0,0 +1,81 @@ +<svg xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xhtml="http://www.w3.org/1999/xhtml"> + +<script> +<![CDATA[ +var stateIndex = 0; +var currentTarget = 0; + +function stateA() +{ + document.getElementById("A").textContent = '|A|'; + document.getElementById("B").textContent = 'B'; + + currentTarget = 0; + startAnimation(); +} + +function stateB() +{ + document.getElementById("A").textContent = 'A'; + document.getElementById("B").textContent = '|B|'; + currentTarget = 1; + startAnimation(); +} + +var intervalId = null; + +function startAnimation() { + if (intervalId == null) { + intervalId = setInterval(animationStep, 20); + } +} + +function animationStep() { + if (Math.abs(stateIndex - currentTarget) < .001) { + clearInterval(intervalId); + intervalId = null; + return; + } + + if (stateIndex < currentTarget) { + stateIndex += 1 / 128; + } else { + stateIndex -= 1 / 128; + } + + var elt = document.getElementById("targetGroup"); + + var transform = "translate(" + (100 * stateIndex) + "," + (100 * stateIndex) + ") rotate(" + (405 * stateIndex) + ",100,250) scale(" + (1 + stateIndex) + ")" ; + var opacity = 1 - .75 * stateIndex; + + elt.setAttribute("opacity", opacity); + elt.setAttribute("transform", transform); +} + + +]]> +</script> + + <text id="A" x="0" y="32" fill="red" font-size="32" onclick="stateA()">|A|</text> + <text id="B" x="60" y="32" fill="blue" font-size="32" onclick="stateB()">B</text> + <text x="0" y="642" fill="black" font-size="32">Click B and then A above.</text> + <text x="0" y="674" fill="black" font-size="32">The animation should have no trails or clipping.</text> + + <circle fill="pink" cx="300" cy="300" stroke="lightblue" stroke-width="40" r="300" /> + + <g> + <rect fill="yellow" stroke="#000000" stroke-width="2" x="60" y="60" width="170" height="170" /> + + <foreignObject id="targetGroup" x="60" y="60" width="170" height="170" > + <xhtml:xhtml> + <xhtml:img src="http://www.citilink.com/~grizzly/anigifs/3dolph.gif" width="170" height="170" /><br /> + </xhtml:xhtml> + </foreignObject> + </g> + + +</svg> + + |