%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/Arc.js |
(function() { var PI_OVER_180 = Math.PI / 180; /** * Arc constructor * @constructor * @augments Kinetic.Shape * @param {Object} config * @param {Number} config.angle in degrees * @param {Number} config.innerRadius * @param {Number} config.outerRadius * @param {Boolean} [config.clockwise] * @@shapeParams * @@nodeParams * @example * // draw a Arc that's pointing downwards<br> * var arc = new Kinetic.Arc({<br> * innerRadius: 40,<br> * outerRadius: 80,<br> * fill: 'red',<br> * stroke: 'black'<br> * strokeWidth: 5,<br> * angle: 60,<br> * rotationDeg: -120<br> * }); */ Kinetic.Arc = function(config) { this.___init(config); }; Kinetic.Arc.prototype = { ___init: function(config) { // call super constructor Kinetic.Shape.call(this, config); this.className = 'Arc'; this.sceneFunc(this._sceneFunc); }, _sceneFunc: function(context) { var angle = Kinetic.getAngle(this.angle()), clockwise = this.clockwise(); context.beginPath(); context.arc(0, 0, this.getOuterRadius(), 0, angle, clockwise); context.arc(0, 0, this.getInnerRadius(), angle, 0, !clockwise); context.closePath(); context.fillStrokeShape(this); } }; Kinetic.Util.extend(Kinetic.Arc, Kinetic.Shape); // add getters setters Kinetic.Factory.addGetterSetter(Kinetic.Arc, 'innerRadius', 0); /** * get/set innerRadius * @name innerRadius * @method * @memberof Kinetic.Arc.prototype * @param {Number} innerRadius * @returns {Number} * @example * // get inner radius * var innerRadius = arc.innerRadius(); * * // set inner radius * arc.innerRadius(20); */ Kinetic.Factory.addGetterSetter(Kinetic.Arc, 'outerRadius', 0); /** * get/set outerRadius * @name outerRadius * @method * @memberof Kinetic.Arc.prototype * @param {Number} outerRadius * @returns {Number} * @example * // get outer radius<br> * var outerRadius = arc.outerRadius();<br><br> * * // set outer radius<br> * arc.outerRadius(20); */ Kinetic.Factory.addGetterSetter(Kinetic.Arc, 'angle', 0); /** * get/set angle in degrees * @name angle * @method * @memberof Kinetic.Arc.prototype * @param {Number} angle * @returns {Number} * @example * // get angle<br> * var angle = arc.angle();<br><br> * * // set angle<br> * arc.angle(20); */ Kinetic.Factory.addGetterSetter(Kinetic.Arc, 'clockwise', false); /** * get/set clockwise flag * @name clockwise * @method * @memberof Kinetic.Arc.prototype * @param {Boolean} clockwise * @returns {Boolean} * @example * // get clockwise flag<br> * var clockwise = arc.clockwise();<br><br> * * // draw arc counter-clockwise<br> * arc.clockwise(false);<br><br> * * // draw arc clockwise<br> * arc.clockwise(true); */ Kinetic.Collection.mapMethods(Kinetic.Arc); })();