8398c9048d
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
dojo.provide("dojox.charting.axis2d.common");
|
|
|
|
dojo.require("dojox.gfx");
|
|
|
|
(function(){
|
|
var g = dojox.gfx;
|
|
|
|
function clearNode(s){
|
|
s.marginLeft = "0px";
|
|
s.marginTop = "0px";
|
|
s.marginRight = "0px";
|
|
s.marginBottom = "0px";
|
|
s.paddingLeft = "0px";
|
|
s.paddingTop = "0px";
|
|
s.paddingRight = "0px";
|
|
s.paddingBottom = "0px";
|
|
s.borderLeftWidth = "0px";
|
|
s.borderTopWidth = "0px";
|
|
s.borderRightWidth = "0px";
|
|
s.borderBottomWidth = "0px";
|
|
}
|
|
|
|
dojo.mixin(dojox.charting.axis2d.common, {
|
|
createText: {
|
|
gfx: function(chart, creator, x, y, align, text, font, fontColor){
|
|
return creator.createText({
|
|
x: x, y: y, text: text, align: align
|
|
}).setFont(font).setFill(fontColor);
|
|
},
|
|
html: function(chart, creator, x, y, align, text, font, fontColor){
|
|
// setup the text node
|
|
var p = dojo.doc.createElement("div"), s = p.style;
|
|
clearNode(s);
|
|
s.font = font;
|
|
p.innerHTML = String(text).replace(/\s/g, " ");
|
|
s.color = fontColor;
|
|
// measure the size
|
|
s.position = "absolute";
|
|
s.left = "-10000px";
|
|
dojo.body().appendChild(p);
|
|
var size = g.normalizedLength(g.splitFontString(font).size),
|
|
box = dojo.marginBox(p);
|
|
// new settings for the text node
|
|
dojo.body().removeChild(p);
|
|
s.position = "relative";
|
|
switch(align){
|
|
case "middle":
|
|
s.left = Math.floor(x - box.w / 2) + "px";
|
|
break;
|
|
case "end":
|
|
s.left = Math.floor(x - box.w) + "px";
|
|
break;
|
|
//case "start":
|
|
default:
|
|
s.left = Math.floor(x) + "px";
|
|
break;
|
|
}
|
|
s.top = Math.floor(y - size) + "px";
|
|
// setup the wrapper node
|
|
var wrap = dojo.doc.createElement("div"), w = wrap.style;
|
|
clearNode(w);
|
|
w.width = "0px";
|
|
w.height = "0px";
|
|
// insert nodes
|
|
wrap.appendChild(p)
|
|
chart.node.insertBefore(wrap, chart.node.firstChild);
|
|
return wrap;
|
|
}
|
|
}
|
|
});
|
|
})();
|