| /* |
| Copyright (c) 2004-2006, The Dojo Foundation |
| All Rights Reserved. |
| |
| Licensed under the Academic Free License version 2.1 or above OR the |
| modified BSD license. For more information on Dojo licensing, see: |
| |
| http://dojotoolkit.org/community/licensing.shtml |
| */ |
| |
| dojo.provide("dojo.charting.vml.PlotArea"); |
| dojo.require("dojo.lang.common"); |
| |
| if(dojo.render.vml.capable){ |
| dojo.extend(dojo.charting.PlotArea, { |
| initializePlot: function(plot){ |
| // summary |
| // Initialize the plot node for data rendering. |
| plot.destroy(); |
| plot.dataNode = document.createElement("div"); |
| plot.dataNode.id = plot.getId(); |
| return plot.dataNode; // HTMLDivElement |
| }, |
| initialize:function(){ |
| // summary |
| // Initialize the PlotArea. |
| |
| this.destroy(); // kill everything first. |
| var main = this.nodes.main = document.createElement("div"); |
| |
| // start with the background |
| var area = this.nodes.area = document.createElement("div"); |
| area.id = this.getId(); |
| area.style.width=this.size.width+"px"; |
| area.style.height=this.size.height+"px"; |
| area.style.position="absolute"; |
| main.appendChild(area); |
| |
| var bg = this.nodes.background = document.createElement("div"); |
| bg.id = this.getId()+"-background"; |
| bg.style.width=this.size.width+"px"; |
| bg.style.height=this.size.height+"px"; |
| bg.style.position="absolute"; |
| bg.style.top="0px"; |
| bg.style.left="0px"; |
| bg.style.backgroundColor="#fff"; |
| area.appendChild(bg); |
| |
| // the plot group |
| var a=this.getArea(); |
| var plots = this.nodes.plots = document.createElement("div"); |
| plots.id = this.getId()+"-plots"; |
| plots.style.width=this.size.width+"px"; |
| plots.style.height=this.size.height+"px"; |
| plots.style.position="absolute"; |
| plots.style.top="0px"; |
| plots.style.left="0px"; |
| plots.style.clip="rect(" |
| + a.top+" " |
| + a.right+" " |
| + a.bottom+" " |
| + a.left |
| +")"; |
| area.appendChild(plots); |
| for(var i=0; i<this.plots.length; i++){ |
| plots.appendChild(this.initializePlot(this.plots[i])); |
| } |
| |
| var axes = this.nodes.axes = document.createElement("div"); |
| axes.id = this.getId() + "-axes"; |
| area.appendChild(axes); |
| var ax = this.getAxes(); |
| for(var p in ax){ |
| var obj = ax[p]; |
| axes.appendChild(obj.axis.initialize(this, obj.plot, obj.drawAgainst, obj.plane)); |
| } |
| return main; // HTMLDivElement |
| } |
| }); |
| } |