diff --git a/src/Shape.js b/src/Shape.js index cf607ab1..99974deb 100644 --- a/src/Shape.js +++ b/src/Shape.js @@ -1171,31 +1171,34 @@ * @returns {Number} */ - Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillRadialGradientStartPoint', 0); + Kinetic.Factory.addGetterSetter(Kinetic.Shape, 'fillRadialGradientStartPoint', {x: 0, y: 0}); /** * set fill radial gradient start point * @name setFillRadialGradientStartPoint * @method * @memberof Kinetic.Shape.prototype - * @param {Number|Array|Object} startPoint + * @param {Object} startPoint + * @param {Number} startPoint.x + * @param {Number} startPoint.y * @example - * // set x and y
- * shape.setFillRadialGradientStartPoint(20, 40);

- * - * // set x only
+ * // set x and y
* shape.setFillRadialGradientStartPoint({
* x: 20
- * });

- * - * // set x and y using an array
- * shape.setFillRadialGradientStartPoint([20, 40]);

- * - * // set x and y to the same value
- * shape.setFillRadialGradientStartPoint(5); + * y: 10 + * }); */ - /** + /** + * get fill radial gradient start point + * @name getFillRadialGradientStartPoint + * @method + * @memberof Kinetic.Shape.prototype + * @returns {Object} + */ + + Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillRadialGradientStartPoint', 'x', 0); + /** * set fill radial gradient start point x * @name setFillRadialGradientStartPointX * @method @@ -1203,7 +1206,15 @@ * @param {Number} x */ - /** + /** + * get fill radial gradient start point x + * @name getFillRadialGradientStartPointX + * @method + * @memberof Kinetic.Shape.prototype + */ + + Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillRadialGradientStartPoint', 'y', 0); + /** * set fill radial gradient start point y * @name setFillRadialGradientStartPointY * @method @@ -1211,51 +1222,40 @@ * @param {Number} y */ - /** - * get fill radial gradient start point - * @name getFillRadialGradientStartPoint - * @method - * @memberof Kinetic.Shape.prototype - */ - - /** - * get fill radial gradient start point x - * @name getFillRadialGradientStartPointX - * @method - * @memberof Kinetic.Shape.prototype - */ - - /** + /** * get fill radial gradient start point y * @name getFillRadialGradientStartPointY * @method * @memberof Kinetic.Shape.prototype */ - Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillRadialGradientEndPoint', 0); + Kinetic.Factory.addGetterSetter(Kinetic.Shape, 'fillRadialGradientEndPoint', {x: 0, y: 0}); /** * set fill radial gradient end point * @name setFillRadialGradientEndPoint * @method * @memberof Kinetic.Shape.prototype - * @param {Number|Array|Object} endPoint + * @param {Object} endPoint + * @param {Number} endPoint.x + * @param {Number} endPoint.y * @example - * // set x and y
- * shape.setFillRadialGradientEndPoint(20, 40);

- * - * // set x only
+ * // set x and y
* shape.setFillRadialGradientEndPoint({
* x: 20
- * });

- * - * // set x and y using an array
- * shape.setFillRadialGradientEndPoint([20, 40]);

- * - * // set x and y to the same value
- * shape.setFillRadialGradientEndPoint(5); + * y: 10 + * }); */ + /** + * get fill radial gradient end point + * @name getFillRadialGradientEndPoint + * @method + * @memberof Kinetic.Shape.prototype + * @returns {Object} + */ + + Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillRadialGradientEndPoint', 'x', 0); /** * set fill radial gradient end point x * @name setFillRadialGradientEndPointX @@ -1264,29 +1264,23 @@ * @param {Number} x */ - /** - * set fill radial gradient end point y - * @name setFillRadialGradientEndPointY - * @method - * @memberof Kinetic.Shape.prototype - * @param {Number} y - */ - - /** - * get fill radial gradient end point - * @name getFillRadialGradientEndPoint - * @method - * @memberof Kinetic.Shape.prototype - */ - - /** + /** * get fill radial gradient end point x * @name getFillRadialGradientEndPointX * @method * @memberof Kinetic.Shape.prototype */ - /** + Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillRadialGradientEndPoint', 'y', 0); + /** + * set fill radial gradient end point y + * @name setFillRadialGradientEndPointY + * @method + * @memberof Kinetic.Shape.prototype + * @param {Number} y + */ + + /** * get fill radial gradient end point y * @name getFillRadialGradientEndPointY * @method diff --git a/src/shapes/Ellipse.js b/src/shapes/Ellipse.js index 76d731a2..f10a494f 100644 --- a/src/shapes/Ellipse.js +++ b/src/shapes/Ellipse.js @@ -61,20 +61,16 @@ Kinetic.Util.extend(Kinetic.Ellipse, Kinetic.Shape); // add getters setters - Kinetic.Factory.addPointGetterSetter(Kinetic.Ellipse, 'radius', 0); + Kinetic.Factory.addGetterSetter(Kinetic.Ellipse, 'radius', {x:0,y:0}); /** * set radius * @name setRadius * @method * @memberof Kinetic.Ellipse.prototype - * @param {Object|Array} radius - * radius can be a number, in which the ellipse becomes a circle, - * it can be an object with an x and y component, or it - * can be an array in which the first element is the x component - * and the second element is the y component. The x component - * defines the horizontal radius and the y component - * defines the vertical radius + * @param {Object} radius + * @param {Number} radius.x + * @param {Number} radius.y */ /** @@ -84,4 +80,39 @@ * @memberof Kinetic.Ellipse.prototype * @returns {Object} */ + Kinetic.Factory.addComponentGetterSetter(Kinetic.Ellipse, 'radius', 'x', 0); + + /** + * set radius x + * @name setRadiusX + * @method + * @memberof Kinetic.Ellipse.prototype + * @param {Number} x + */ + + /** + * get radius x + * @name getRadiusX + * @method + * @memberof Kinetic.Ellipse.prototype + * @returns {Number} + */ + + Kinetic.Factory.addComponentGetterSetter(Kinetic.Ellipse, 'radius', 'y', 0); + + /** + * set radius y + * @name setRadiusY + * @method + * @memberof Kinetic.Ellipse.prototype + * @param {Number} y + */ + + /** + * get radius y + * @name getRadiusY + * @method + * @memberof Kinetic.Ellipse.prototype + * @returns {Number} + */ })(); \ No newline at end of file diff --git a/test/unit/shapes/Circle-test.js b/test/unit/shapes/Circle-test.js index 9400f959..d533b55a 100644 --- a/test/unit/shapes/Circle-test.js +++ b/test/unit/shapes/Circle-test.js @@ -53,8 +53,8 @@ suite('Circle', function(){ y: stage.getHeight() / 2, radius: 70, fillPatternImage: imageObj, - fillPatternOffset: -5, - fillPatternScale: 0.7, + fillPatternOffset: {x: -5, y: -5}, + fillPatternScale: {x: 0.7, y: 0.7}, stroke: 'black', strokeWidth: 4, name: 'myCircle', @@ -68,7 +68,7 @@ suite('Circle', function(){ assert.equal(circle.getFillPatternOffset().x, -5); assert.equal(circle.getFillPatternOffset().y, -5); - circle.setFillPatternOffset(1, 2); + circle.setFillPatternOffset({x:1, y:2}); assert.equal(circle.getFillPatternOffset().x, 1); assert.equal(circle.getFillPatternOffset().y, 2); @@ -95,9 +95,9 @@ suite('Circle', function(){ x: stage.getWidth() / 2, y: stage.getHeight() / 2, radius: 70, - fillRadialGradientStartPoint: -20, + fillRadialGradientStartPoint: {x: -20, y: -20}, fillRadialGradientStartRadius: 0, - fillRadialGradientEndPoint: -60, + fillRadialGradientEndPoint: {x: -60, y: -60}, fillRadialGradientEndRadius: 130, fillRadialGradientColorStops: [0, 'red', 0.2, 'yellow', 1, 'blue'], name: 'myCircle', @@ -131,8 +131,8 @@ suite('Circle', function(){ x: stage.getWidth() / 2, y: stage.getHeight() / 2, radius: 70, - fillLinearGradientStartPoint: -35, - fillLinearGradientEndPoint: 35, + fillLinearGradientStartPoint: {x:-35,y:-35}, + fillLinearGradientEndPoint: {x:35,y:35}, fillLinearGradientColorStops: [0, 'red', 1, 'blue'], stroke: 'black', strokeWidth: 4, diff --git a/test/unit/shapes/Ellipse-test.js b/test/unit/shapes/Ellipse-test.js index 2a135ff5..c7055aaa 100644 --- a/test/unit/shapes/Ellipse-test.js +++ b/test/unit/shapes/Ellipse-test.js @@ -7,7 +7,7 @@ suite('Ellipse', function(){ var ellipse = new Kinetic.Ellipse({ x: stage.getWidth() / 2, y: stage.getHeight() / 2, - radius: [70, 35], + radius: {x:70, y:35}, fill: 'green', stroke: 'black', strokeWidth: 8