in web/servicemix-web-console/src/main/webapp/js/plotkit/SVG.js [58:131]
PlotKit.SVGRenderer.prototype.__init__ = function(element, layout, options) {
var isNil = MochiKit.Base.isUndefinedOrNull;
// default options
this.options = {
"drawBackground": true,
"backgroundColor": Color.whiteColor(),
"padding": {left: 30, right: 30, top: 5, bottom: 10},
"colorScheme": PlotKit.Base.palette(PlotKit.Base.baseColors()[1]),
"strokeColor": Color.whiteColor(),
"strokeColorTransform": "asStrokeColor",
"strokeWidth": 0.5,
"shouldFill": true,
"shouldStroke": true,
"drawXAxis": true,
"drawYAxis": true,
"axisLineColor": Color.blackColor(),
"axisLineWidth": 0.5,
"axisTickSize": 3,
"axisLabelColor": Color.blackColor(),
"axisLabelFont": "Arial",
"axisLabelFontSize": 9,
"axisLabelWidth": 50,
"axisLabelUseDiv": true,
"pieRadius": 0.4,
"enableEvents": true
};
MochiKit.Base.update(this.options, options ? options : {});
this.layout = layout;
this.style = layout.style;
this.element = MochiKit.DOM.getElement(element);
this.container = this.element.parentNode;
this.height = parseInt(this.element.getAttribute("height"));
this.width = parseInt(this.element.getAttribute("width"));
this.document = document;
this.root = this.element;
// Adobe SVG Support:
// - if an exception is thrown, then no Adobe SVG Plugin support.
try {
this.document = this.element.getSVGDocument();
this.root = isNil(this.document.documentElement) ? this.element : this.document.documentElement;
}
catch (e) {
}
this.element.style.zIndex = 1;
if (isNil(this.element))
throw "SVGRenderer() - passed SVG object is not found";
if (isNil(this.container) || this.container.nodeName.toLowerCase() != "div")
throw "SVGRenderer() - No DIV's around the SVG.";
// internal state
this.xlabels = new Array();
this.ylabels = new Array();
// initialise some meta structures in SVG
this.defs = this.createSVGElement("defs");
this.area = {
x: this.options.padding.left,
y: this.options.padding.top,
w: this.width - this.options.padding.left - this.options.padding.right,
h: this.height - this.options.padding.top - this.options.padding.bottom
};
MochiKit.DOM.updateNodeAttributes(this.container,
{"style":{ "position": "relative", "width": this.width + "px"}});
};