87 lines
2.0 KiB
JavaScript
87 lines
2.0 KiB
JavaScript
//>>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");
|
|
});
|