in web/servicemix-web-console/src/main/webapp/js/plotkit/Layout.js [51:111]
PlotKit.Layout = function(style, options) {
this.options = {
"barWidthFillFraction": 0.75,
"xOriginIsZero": true,
"yOriginIsZero": true,
"xAxis": null, // [xmin, xmax]
"yAxis": null, // [ymin, ymax]
"xTicks": null, // [{label: "somelabel", v: value}, ..] (label opt.)
"yTicks": null, // [{label: "somelabel", v: value}, ..] (label opt.)
"xNumberOfTicks": 10,
"yNumberOfTicks": 5,
"xTickPrecision": 1,
"yTickPrecision": 3,
"pieRadius": 0.4
};
// valid external options : TODO: input verification
this.style = style;
MochiKit.Base.update(this.options, options ? options : {});
// externally visible states
// overriden if xAxis and yAxis are set in options
if (!MochiKit.Base.isUndefinedOrNull(this.options.xAxis)) {
this.minxval = this.options.xAxis[0];
this.maxxval = this.options.xAxis[1];
this.xscale = this.maxxval - this.minxval;
}
else {
this.minxval = 0;
this.maxxval = null;
this.xscale = null; // val -> pos factor (eg, xval * xscale = xpos)
}
if (!MochiKit.Base.isUndefinedOrNull(this.options.yAxis)) {
this.minyval = this.options.yAxis[0];
this.maxyval = this.options.yAxis[1];
this.yscale = this.maxyval - this.maxymin;
}
else {
this.minyval = 0;
this.maxyval = null;
this.yscale = null;
}
this.bars = new Array(); // array of bars to plot for bar charts
this.points = new Array(); // array of points to plot for line plots
this.slices = new Array(); // array of slices to draw for pie charts
this.xticks = new Array();
this.yticks = new Array();
// internal states
this.datasets = new Array();
this.minxdelta = 0;
this.xrange = 1;
this.yrange = 1;
this.hitTestCache = {x2maxy: null};
};