You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.2 KiB
71 lines
2.2 KiB
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" > |
|
<head> |
|
<title>Testing surface.destroy()</title> |
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|
<style type="text/css"> |
|
@import "../../../dojo/resources/dojo.css"; |
|
@import "../../../dijit/tests/css/dijitTests.css"; |
|
</style> |
|
<script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="isDebug: true"></script> |
|
<!--<script type="text/javascript" src="../_base.js"></script>--> |
|
<!--<script type="text/javascript" src="../shape.js"></script>--> |
|
<!--<script type="text/javascript" src="../path.js"></script>--> |
|
<!--<script type="text/javascript" src="../vml.js"></script>--> |
|
<!--<script type="text/javascript" src="../svg.js"></script>--> |
|
<!--<script type="text/javascript" src="../silverlight.js"></script>--> |
|
<script type="text/javascript"> |
|
dojo.require("dojox.gfx"); |
|
dojo.require("dojox.gfx.registry"); |
|
|
|
surface = null; |
|
|
|
createSurface = function(){ |
|
surface = dojox.gfx.createSurface("test", 500, 500); |
|
surface.whenLoaded(makeShapes); |
|
}; |
|
|
|
makeShapes = function(){ |
|
var path = surface.createPath(""); |
|
|
|
// form concentric circles |
|
var center = {x: 250, y: 250}; |
|
for(var r = 200; r > 0; r -= 30){ |
|
// make two 180 degree arcs to form a circle |
|
var start = {x: center.x, y: center.y - r}; |
|
var end = {x: center.x, y: center.y + r}; |
|
path.moveTo(start).arcTo(r, r, 0, true, true, end).arcTo(r, r, 0, true, true, start).closePath(); |
|
} |
|
// set visual attributes |
|
path.setFill("red").setStroke("black"); |
|
}; |
|
|
|
cleanUp = function(){ |
|
if(surface){ |
|
var id = surface.children[0].getUID(); |
|
surface.destroy(); |
|
surface = null; |
|
var t = dojo.byId("test").innerHTML; |
|
if(t){ |
|
console.error("Garbage detected: " + t); |
|
return; |
|
} |
|
if (dojox.gfx.shape.byId(id)){ |
|
console.log("Shape not disposed."); |
|
return; |
|
} |
|
console.log("The parent node was cleaned up properly."); |
|
} |
|
createSurface(); |
|
} |
|
|
|
dojo.addOnLoad(createSurface); |
|
</script> |
|
</head> |
|
<body> |
|
<h1>Testing surface.destroy()</h1> |
|
<p><button onclick="cleanUp();">Regenerate</button></p> |
|
<p><em>See the firebug log for detailed reports.</em></p> |
|
<div id="test" style="width: 500px; height: 500px;"></div> |
|
<p>That's all Folks!</p> |
|
</body> |
|
</html>
|
|
|