| <?xml version="1.0" encoding="UTF-8"?> |
| <svg xmlns="http://www.w3.org/2000/svg" onload="init()"> |
| |
| <script> |
| function init() |
| { |
| var point = document.rootElement.createSVGPoint(); |
| |
| // Test initial values |
| if (point.x == 0) { |
| document.getElementById("test1").setAttribute("fill", "green"); |
| } |
| if (point.y == 0) { |
| document.getElementById("test2").setAttribute("fill", "green"); |
| } |
| |
| // Assign new values from local function |
| point.x = 100; |
| point.y = 200; |
| if (point.x == 100) { |
| document.getElementById("test3").setAttribute("fill", "green"); |
| } |
| if (point.y == 200) { |
| document.getElementById("test4").setAttribute("fill", "green"); |
| } |
| |
| // Assign new values from external function |
| assignValues(point); |
| if (point.x == 300) { |
| document.getElementById("test5").setAttribute("fill", "green"); |
| } |
| if (point.y == 400) { |
| document.getElementById("test6").setAttribute("fill", "green"); |
| } |
| |
| // Create new point in external function, check values |
| var newPoint = createNewPoint(); |
| if (newPoint.x == 66) { |
| document.getElementById("test7").setAttribute("fill", "green"); |
| } |
| if (newPoint.y == 666) { |
| document.getElementById("test8").setAttribute("fill", "green"); |
| } |
| |
| // Check swapping of point objects |
| var savedPoint = point; |
| point = newPoint; |
| if (point.x == 66) { |
| document.getElementById("test9").setAttribute("fill", "green"); |
| } |
| if (point.y == 666) { |
| document.getElementById("test10").setAttribute("fill", "green"); |
| } |
| |
| point = savedPoint; |
| if (point.x == 300) { |
| document.getElementById("test11").setAttribute("fill", "green"); |
| } |
| if (point.y == 400) { |
| document.getElementById("test12").setAttribute("fill", "green"); |
| } |
| |
| // Modifying savedPoint, should also modify point |
| savedPoint.x = 150; |
| savedPoint.y = 250; |
| |
| if (point.x == 150) { |
| document.getElementById("test13").setAttribute("fill", "green"); |
| } |
| if (point.y == 250) { |
| document.getElementById("test14").setAttribute("fill", "green"); |
| } |
| } |
| |
| function assignValues(p) |
| { |
| p.x = 300; |
| p.y = 400; |
| } |
| |
| function createNewPoint() |
| { |
| var point = document.rootElement.createSVGPoint(); |
| point.x = 66; |
| point.y = 666; |
| return point; |
| } |
| </script> |
| |
| <rect id="test1" transform="translate(0, 0)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test2" transform="translate(0, 30)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test3" transform="translate(0, 60)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test4" transform="translate(0, 90)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test5" transform="translate(0, 120)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test6" transform="translate(0, 150)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test7" transform="translate(0, 180)" x="0" y="0" width="100" height="20" fill="red"/> |
| |
| <rect id="test8" transform="translate(110, 0)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test9" transform="translate(110, 30)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test10" transform="translate(110, 60)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test11" transform="translate(110, 90)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test12" transform="translate(110, 120)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test13" transform="translate(110, 150)" x="0" y="0" width="100" height="20" fill="red"/> |
| <rect id="test14" transform="translate(110, 180)" x="0" y="0" width="100" height="20" fill="red"/> |
| </svg> |