diff options
Diffstat (limited to 'js/dojo/dojox/drawing/stencil/Rect.js')
| -rw-r--r-- | js/dojo/dojox/drawing/stencil/Rect.js | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/js/dojo/dojox/drawing/stencil/Rect.js b/js/dojo/dojox/drawing/stencil/Rect.js new file mode 100644 index 0000000..454c7d8 --- /dev/null +++ b/js/dojo/dojox/drawing/stencil/Rect.js @@ -0,0 +1,86 @@ +//>>built +// wrapped by build app +define("dojox/drawing/stencil/Rect", ["dijit","dojo","dojox"], function(dijit,dojo,dojox){ +dojo.provide("dojox.drawing.stencil.Rect"); + + +dojox.drawing.stencil.Rect = dojox.drawing.util.oo.declare( + // summary: + // Creates a dojox.gfx rectangle based on data or points provided. + // + dojox.drawing.stencil._Base, + function(options){ + // summary: + // constructor + if(this.points.length){ + //this.render(); + } + }, + { + type:"dojox.drawing.stencil.Rect", + anchorType: "group", + baseRender:true, + + dataToPoints: function(/*Object*/d){ + //summary: + // Converts data to points. + d = d || this.data; + this.points = [ + {x:d.x, y:d.y}, // TL + {x:d.x + d.width, y:d.y}, // TR + {x:d.x + d.width, y:d.y + d.height}, // BR + {x:d.x, y:d.y + d.height} // BL + ]; + return this.points; + }, + + pointsToData: function(/*Array*/p){ + // summary: + // Converts points to data + p = p || this.points; + var s = p[0]; + var e = p[2]; + this.data = { + x: s.x, + y: s.y, + width: e.x-s.x, + height: e.y-s.y, + r:this.data.r || 0 + }; + return this.data; + + }, + + _create: function(/*String*/shp, /*StencilData*/d, /*Object*/sty){ + // summary: + // Creates a dojox.gfx.shape based on passed arguments. + // Can be called many times by implementation to create + // multiple shapes in one stencil. + // + //console.log("render rect", d) + //console.log("rect sty:", sty) + this.remove(this[shp]); + this[shp] = this.container.createRect(d) + .setStroke(sty) + .setFill(sty.fill); + + this._setNodeAtts(this[shp]); + }, + + render: function(){ + // summary: + // Renders the 'hit' object (the shape used for an expanded + // hit area and for highlighting) and the'shape' (the actual + // display object). + // + this.onBeforeRender(this); + this.renderHit && this._create("hit", this.data, this.style.currentHit); + this._create("shape", this.data, this.style.current); + } + } +); + +dojox.drawing.register({ + name:"dojox.drawing.stencil.Rect" +}, "stencil"); +}); |
