]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/charting/axis2d/common.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / charting / axis2d / common.js
diff --git a/static/dojo-release-1.1.1/dojox/charting/axis2d/common.js b/static/dojo-release-1.1.1/dojox/charting/axis2d/common.js
new file mode 100644 (file)
index 0000000..dd8ceb3
--- /dev/null
@@ -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;
+                       }
+               }
+       });
+})();
+
+}