summaryrefslogtreecommitdiff
path: root/includes/js/dojox/charting/axis2d/common.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/charting/axis2d/common.js')
-rw-r--r--includes/js/dojox/charting/axis2d/common.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/includes/js/dojox/charting/axis2d/common.js b/includes/js/dojox/charting/axis2d/common.js
new file mode 100644
index 0000000..dd8ceb3
--- /dev/null
+++ b/includes/js/dojox/charting/axis2d/common.js
@@ -0,0 +1,75 @@
+if(!dojo._hasResource["dojox.charting.axis2d.common"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.charting.axis2d.common"] = true;
+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 = text;
+ 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 p;
+ }
+ }
+ });
+})();
+
+}