%PDF- %PDF-
Direktori : /home/jalalj2hb/public_html/ftm-admin/bower_components/kineticjs/src/plugins/ |
Current File : /home/jalalj2hb/public_html/ftm-admin/bower_components/kineticjs/src/plugins/Star.js |
(function() { /** * Star constructor * @constructor * @memberof Kinetic * @augments Kinetic.Shape * @param {Object} config * @param {Integer} config.numPoints * @param {Number} config.innerRadius * @param {Number} config.outerRadius * @@shapeParams * @@nodeParams * @example * var star = new Kinetic.Star({<br> * x: 100,<br> * y: 200,<br> * numPoints: 5,<br> * innerRadius: 70,<br> * outerRadius: 70,<br> * fill: 'red',<br> * stroke: 'black',<br> * strokeWidth: 4<br> * }); */ Kinetic.Star = function(config) { this.___init(config); }; Kinetic.Star.prototype = { ___init: function(config) { // call super constructor Kinetic.Shape.call(this, config); this.className = 'Star'; this.sceneFunc(this._sceneFunc); }, _sceneFunc: function(context) { var innerRadius = this.innerRadius(), outerRadius = this.outerRadius(), numPoints = this.numPoints(); context.beginPath(); context.moveTo(0, 0 - outerRadius); for(var n = 1; n < numPoints * 2; n++) { var radius = n % 2 === 0 ? outerRadius : innerRadius; var x = radius * Math.sin(n * Math.PI / numPoints); var y = -1 * radius * Math.cos(n * Math.PI / numPoints); context.lineTo(x, y); } context.closePath(); context.fillStrokeShape(this); } }; Kinetic.Util.extend(Kinetic.Star, Kinetic.Shape); // add getters setters Kinetic.Factory.addGetterSetter(Kinetic.Star, 'numPoints', 5); /** * set number of points * @name setNumPoints * @method * @memberof Kinetic.Star.prototype * @param {Integer} points */ /** * get number of points * @name getNumPoints * @method * @memberof Kinetic.Star.prototype */ Kinetic.Factory.addGetterSetter(Kinetic.Star, 'innerRadius', 0); /** * set inner radius * @name setInnerRadius * @method * @memberof Kinetic.Star.prototype * @param {Number} radius */ /** * get inner radius * @name getInnerRadius * @method * @memberof Kinetic.Star.prototype */ Kinetic.Factory.addGetterSetter(Kinetic.Star, 'outerRadius', 0); /** * set outer radius * @name setOuterRadius * @method * @memberof Kinetic.Star.prototype * @param {Number} radius */ /** * get outer radius * @name getOuterRadius * @method * @memberof Kinetic.Star.prototype */ Kinetic.Collection.mapMethods(Kinetic.Star); })();