1 if(!dojo._hasResource["dojox.charting.plot2d.Grid"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2 dojo._hasResource["dojox.charting.plot2d.Grid"] = true;
3 dojo.provide("dojox.charting.plot2d.Grid");
5 dojo.require("dojox.charting.Element");
6 dojo.require("dojox.charting.plot2d.common");
7 dojo.require("dojox.lang.functional");
10 var du = dojox.lang.utils;
12 dojo.declare("dojox.charting.plot2d.Grid", dojox.charting.Element, {
14 hAxis: "x", // use a horizontal axis named "x"
15 vAxis: "y", // use a vertical axis named "y"
16 hMajorLines: true, // draw horizontal major lines
17 hMinorLines: false, // draw horizontal minor lines
18 vMajorLines: true, // draw vertical major lines
19 vMinorLines: false, // draw vertical minor lines
20 hStripes: "none", // TBD
21 vStripes: "none" // TBD
23 optionalParams: {}, // no optional parameters
25 constructor: function(chart, kwArgs){
26 this.opt = dojo.clone(this.defaultParams);
27 du.updateWithObject(this.opt, kwArgs);
28 this.hAxis = this.opt.hAxis;
29 this.vAxis = this.opt.vAxis;
37 setAxis: function(axis){
39 this[axis.vertical ? "_vAxis" : "_hAxis"] = axis;
43 addSeries: function(run){
47 calculateAxes: function(dim){
51 getRequiredColors: function(){
54 render: function(dim, offsets){
55 // draw horizontal stripes and lines
56 if(!this.dirty){ return this; }
58 var s = this.group, ta = this.chart.theme.axis,
59 scaler = this._vAxis.getScaler();
60 if(this.opt.hMinorLines && scaler.minor.tick){
61 for(var i = 0; i < scaler.minor.count; ++i){
62 var y = dim.height - offsets.b - scaler.scale *
63 (scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick);
67 x2: dim.width - offsets.r,
69 }).setStroke(ta.minorTick);
72 if(this.opt.hMajorLines && scaler.major.tick){
73 for(var i = 0; i < scaler.major.count; ++i){
74 var y = dim.height - offsets.b - scaler.scale *
75 (scaler.major.start - scaler.bounds.lower + i * scaler.major.tick);
79 x2: dim.width - offsets.r,
81 }).setStroke(ta.majorTick);
84 // draw vertical stripes and lines
85 scaler = this._hAxis.getScaler();
86 if(this.opt.vMinorLines && scaler.minor.tick){
87 for(var i = 0; i < scaler.minor.count; ++i){
88 var x = offsets.l + scaler.scale *
89 (scaler.minor.start - scaler.bounds.lower + i * scaler.minor.tick);
94 y2: dim.height - offsets.b
95 }).setStroke(ta.minorTick);
98 if(this.opt.vMajorLines && scaler.major.tick){
99 for(var i = 0; i < scaler.major.count; ++i){
100 var x = offsets.l + scaler.scale *
101 (scaler.major.start - scaler.bounds.lower + i * scaler.major.tick);
106 y2: dim.height - offsets.b
107 }).setStroke(ta.majorTick);