diff options
Diffstat (limited to 'js/dojo/dojox/drawing/tools/Pencil.js')
| -rw-r--r-- | js/dojo/dojox/drawing/tools/Pencil.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/js/dojo/dojox/drawing/tools/Pencil.js b/js/dojo/dojox/drawing/tools/Pencil.js new file mode 100644 index 0000000..a0b82a1 --- /dev/null +++ b/js/dojo/dojox/drawing/tools/Pencil.js @@ -0,0 +1,87 @@ +//>>built +// wrapped by build app +define("dojox/drawing/tools/Pencil", ["dijit","dojo","dojox"], function(dijit,dojo,dojox){ +dojo.provide("dojox.drawing.tools.Pencil"); + +dojox.drawing.tools.Pencil = dojox.drawing.util.oo.declare( + // summary: + // Class for a drawable, continous Path + // + dojox.drawing.stencil.Path, + function(){ + // summary: constructor + this._started = false; + }, + { + draws:true, + // minDist: Number + // The distance the mouse must travel before rendering + // a path segment. Lower number is a higher definition + // path but more points. + minDist: 15, // how to make this more dynamic? Settable? + + onDown: function(obj){ + this._started = true; + var p = { + x:obj.x, + y:obj.y + }; + this.points = [p]; + this.lastPoint = p; + this.revertRenderHit = this.renderHit; + this.renderHit = false; + this.closePath = false; + }, + + onDrag: function(obj){ + if( + !this._started + || this.minDist > this.util.distance(obj.x, obj.y, this.lastPoint.x, this.lastPoint.y) + ){ return; } + + var p = { + x:obj.x, + y:obj.y + }; + this.points.push(p); + this.render(); + this.checkClosePoint(this.points[0], obj); + this.lastPoint = p; + }, + + onUp: function(obj){ + if(!this._started){ return; } + if(!this.points || this.points.length<2){ + this._started = false; + this.points = []; + return; + } + var box = this.getBounds(); + if(box.w<this.minimumSize && box.h<this.minimumSize){ + this.remove(this.hit, this.shape, this.closeGuide); + this._started = false; + this.setPoints([]); + return; + } + if(this.checkClosePoint(this.points[0], obj, true)){ + this.closePath = true; + } + this.renderHit = this.revertRenderHit; + this.renderedOnce = true; + this.render(); + this.onRender(this); + + } + } +); + +dojox.drawing.tools.Pencil.setup = { + // summary: See Base ToolsSetup + // + name:"dojox.drawing.tools.Pencil", + tooltip:"Pencil Tool", + iconClass:"iconLine" +}; + +dojox.drawing.register(dojox.drawing.tools.Pencil.setup, "tool"); +}); |
