%PDF- %PDF-
Direktori : /home/jalalj2hb/public_html/ftm-admin/bower_components/kineticjs/src/shapes/ |
Current File : /home/jalalj2hb/public_html/ftm-admin/bower_components/kineticjs/src/shapes/Ring.js |
(function() { // the 0.0001 offset fixes a bug in Chrome 27 var PIx2 = (Math.PI * 2) - 0.0001; /** * Ring constructor * @constructor * @augments Kinetic.Shape * @param {Object} config * @param {Number} config.innerRadius * @param {Number} config.outerRadius * @param {Boolean} [config.clockwise] * @@shapeParams * @@nodeParams * @example * var ring = new Kinetic.Ring({<br> * innerRadius: 40,<br> * outerRadius: 80,<br> * fill: 'red',<br> * stroke: 'black',<br> * strokeWidth: 5<br> * }); */ Kinetic.Ring = function(config) { this.___init(config); }; Kinetic.Ring.prototype = { ___init: function(config) { // call super constructor Kinetic.Shape.call(this, config); this.className = 'Ring'; this.sceneFunc(this._sceneFunc); }, _sceneFunc: function(context) { context.beginPath(); context.arc(0, 0, this.getInnerRadius(), 0, PIx2, false); context.moveTo(this.getOuterRadius(), 0); context.arc(0, 0, this.getOuterRadius(), PIx2, 0, true); context.closePath(); context.fillStrokeShape(this); }, // implements Shape.prototype.getWidth() getWidth: function() { return this.getOuterRadius() * 2; }, // implements Shape.prototype.getHeight() getHeight: function() { return this.getOuterRadius() * 2; }, // implements Shape.prototype.setWidth() setWidth: function(width) { Kinetic.Node.prototype.setWidth.call(this, width); this.setOuterRadius(width / 2); }, // implements Shape.prototype.setHeight() setHeight: function(height) { Kinetic.Node.prototype.setHeight.call(this, height); this.setOuterRadius(height / 2); } }; Kinetic.Util.extend(Kinetic.Ring, Kinetic.Shape); // add getters setters Kinetic.Factory.addGetterSetter(Kinetic.Ring, 'innerRadius', 0); /** * get/set innerRadius * @name innerRadius * @method * @memberof Kinetic.Ring.prototype * @param {Number} innerRadius * @returns {Number} * @example * // get inner radius<br> * var innerRadius = ring.innerRadius();<br><br> * * // set inner radius<br> * ring.innerRadius(20); */ Kinetic.Factory.addGetterSetter(Kinetic.Ring, 'outerRadius', 0); /** * get/set outerRadius * @name outerRadius * @method * @memberof Kinetic.Ring.prototype * @param {Number} outerRadius * @returns {Number} * @example * // get outer radius<br> * var outerRadius = ring.outerRadius();<br><br> * * // set outer radius<br> * ring.outerRadius(20); */ Kinetic.Collection.mapMethods(Kinetic.Ring); })();