summaryrefslogtreecommitdiff
path: root/js/dojo/dojox/drawing/stencil/Rect.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dojo/dojox/drawing/stencil/Rect.js')
-rw-r--r--js/dojo/dojox/drawing/stencil/Rect.js86
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");
+});