diff --git a/src/Node.js b/src/Node.js index 538bcf3b..a3f6e7d6 100644 --- a/src/Node.js +++ b/src/Node.js @@ -119,7 +119,28 @@ * region for debugging purposes * @returns {Kinetic.Node} * @example - * node.cache(); + * // cache a shape with the x,y position of the bounding box at the center and
+ * // the width and height of the bounding box equal to the width and height of
+ * // the shape obtained from shape.width() and shape.height()
+ * image.cache();

+ * + * // cache a node and define the bounding box position and size
+ * node.cache({
+ * x: -30,
+ * y: -30,
+ * width: 100,
+ * height: 200
+ * });

+ * + * // cache a node and show a red border around the bounding box
+ * // for debugging purposes
+ * node.cache({
+ * x: -30,
+ * y: -30,
+ * width: 100,
+ * height: 200,
+ * showBorder: true
+ * }); */ cache: function(config) { var conf = config || {}, @@ -1504,10 +1525,13 @@ return no; }; - // add getters setters + + + // =========================== add getters setters =========================== + Kinetic.Factory.addOverloadedGetterSetter(Kinetic.Node, 'position'); /** - * get or set node position relative to parent + * get/set node position relative to parent * @name position * @method * @memberof Kinetic.Node.prototype @@ -1529,7 +1553,7 @@ Kinetic.Factory.addGetterSetter(Kinetic.Node, 'x', 0); /** - * get or set x position + * get/set x position * @name x * @method * @memberof Kinetic.Node.prototype @@ -1546,7 +1570,7 @@ Kinetic.Factory.addGetterSetter(Kinetic.Node, 'y', 0); /** - * get or set y position + * get/set y position * @name y * @method * @memberof Kinetic.Node.prototype @@ -1563,7 +1587,7 @@ Kinetic.Factory.addGetterSetter(Kinetic.Node, 'opacity', 1); /** - * get or set opacity. Opacity values range from 0 to 1. + * get/set opacity. Opacity values range from 0 to 1. * A node with an opacity of 0 is fully transparent, and a node * with an opacity of 1 is fully opaque * @name opacity @@ -1583,7 +1607,7 @@ Kinetic.Factory.addOverloadedGetterSetter(Kinetic.Node, 'name'); /** - * set name + * get/set name * @name name * @method * @memberof Kinetic.Node.prototype @@ -1601,7 +1625,7 @@ Kinetic.Factory.addOverloadedGetterSetter(Kinetic.Node, 'id'); /** - * set id + * get/set id * @name id * @method * @memberof Kinetic.Node.prototype @@ -1618,11 +1642,11 @@ Kinetic.Factory.addRotationGetterSetter(Kinetic.Node, 'rotation', 0); /** - * get or set rotation in radians + * get/set rotation in radians * @name rotation * @method * @memberof Kinetic.Node.prototype - * @param {Number} theta + * @param {Number} rotation * @returns {Number} * @example * // get rotation in radians
@@ -1633,11 +1657,11 @@ */ /** - * get or set rotation in degrees + * get/set rotation in degrees * @name rotationDeg * @method * @memberof Kinetic.Node.prototype - * @param {Number} deg + * @param {Number} rotationDeg * @returns {Number} * @example * // get rotation in degrees
@@ -1650,7 +1674,7 @@ Kinetic.Factory.addPointGetterSetter(Kinetic.Node, 'scale', 1); /** - * get or set scale + * get/set scale * @name scale * @param {Object} scale * @param {Number} scale.x @@ -1670,7 +1694,7 @@ */ /** - * get or set scale x + * get/set scale x * @name scaleX * @param {Number} x * @method @@ -1685,7 +1709,7 @@ */ /** - * get or set scale y + * get/set scale y * @name scaleY * @param {Number} y * @method @@ -1702,62 +1726,53 @@ Kinetic.Factory.addPointGetterSetter(Kinetic.Node, 'skew', 0); /** - * set skew - * @name setSkew + * get/set skew + * @name skew * @param {Object} skew * @param {Number} skew.x * @param {Number} skew.y * @method * @memberof Kinetic.Node.prototype - * @returns {Kinetic.Node} + * @returns {Object} * @example - * // set x and y
- * shape.setSkew({
+ * // get skew
+ * var skew = node.skew();

+ * + * // set skew
+ * node.skew({
* x: 20
* y: 10 * }); */ /** - * get skew - * @name getSkew - * @method - * @memberof Kinetic.Node.prototype - * @returns {Object} - */ - - /** - * set skew x - * @name setSkewX + * get/set skew x + * @name skewX * @param {Number} x * @method * @memberof Kinetic.Node.prototype - * @returns {Kinetic.Node} - */ - - /** - * get skew x - * @name getSkewX - * @method - * @memberof Kinetic.Node.prototype * @returns {Number} + * @example + * // get skew x
+ * var skewX = node.skewX();

+ * + * // set skew x
+ * node.skewX(3); */ /** - * set skew y - * @name setSkewY + * get/set skew y + * @name skewY * @param {Number} y * @method * @memberof Kinetic.Node.prototype - * @returns {Kinetic.Node} - */ - - /** - * get skew y - * @name getSkewY - * @method - * @memberof Kinetic.Node.prototype * @returns {Number} + * @example + * // get skew y
+ * var skewY = node.skewY();

+ * + * // set skew y
+ * node.skewY(3); */ Kinetic.Factory.addPointGetterSetter(Kinetic.Node, 'center', 0); @@ -1771,11 +1786,14 @@ * @param {Number} center.y * @returns {Object} * @example - * // set x and y
- * shape.center({
+ * // get center
+ * var center = node.center();

+ * + * // set center
+ * node.center({
* x: 20
* y: 10
- * });

+ * }); */ /** @@ -1783,7 +1801,13 @@ * @name centerX * @memberof Kinetic.Node.prototype * @param {Number} x - * @returns {Integer} + * @returns {Number} + * @example + * // get center x
+ * var centerX = node.centerX();

+ * + * // set center x
+ * node.centerX(3); */ /** @@ -1792,87 +1816,119 @@ * @method * @memberof Kinetic.Node.prototype * @param {Number} y - * @returns {Integer} + * @returns {Number} + * @example + * // get center y
+ * var centerY = node.centerY();

+ * + * // set center y
+ * node.centerY(3); */ Kinetic.Factory.addSetter(Kinetic.Node, 'width', 0); Kinetic.Factory.addOverloadedGetterSetter(Kinetic.Node, 'width'); - /** - * set width - * @name setWidth + * get/set width + * @name width * @method * @memberof Kinetic.Node.prototype * @param {Number} width - * @returns {Kinetic.Node} + * @returns {Number} + * @example + * // get width
+ * var width = node.width();

+ * + * // set width
+ * node.width(100); */ Kinetic.Factory.addSetter(Kinetic.Node, 'height', 0); Kinetic.Factory.addOverloadedGetterSetter(Kinetic.Node, 'height'); - /** - * set height - * @name setHeight + * get/set height + * @name height * @method * @memberof Kinetic.Node.prototype * @param {Number} height - * @returns {Kinetic.Node} + * @returns {Number} + * @example + * // get height
+ * var height = node.height();

+ * + * // set height
+ * node.height(100); */ Kinetic.Factory.addGetterSetter(Kinetic.Node, 'listening', 'inherit'); - /** - * listen or don't listen to events. Can be "inherit", true, or false. The default is "inherit". - * @name setListening - * @method - * @memberof Kinetic.Node.prototype - * @param {Boolean|String} listening - * @returns {Kinetic.Node} - */ - - /** - * determine if node is listening or not. - * @name getListening + * get/set listenig attr. If you need to determine if a node is listening or not + * by taking into account its parents, use the isListening() method + * @name listening * @method * @memberof Kinetic.Node.prototype + * @param {Boolean|String} listening Can be "inherit", true, or false. The default is "inherit". * @returns {Boolean|String} + * @example + * // get listening attr
+ * var listening = node.listening();

+ * + * // stop listening for events
+ * node.listening(false);

+ * + * // listen for events
+ * node.listening(true);

+ * + * // listen to events according to the parent
+ * node.listening('inherit'); */ - Kinetic.Factory.addGetterSetter(Kinetic.Node, 'filters'); /** - * get/set filters + * get/set filters. Filters are applied to cached canvases * @name filters * @method * @memberof Kinetic.Node.prototype * @param {Array} filters array of filters * @returns {Array} * @example + * // get filters
+ * var filters = node.filters();

+ * * // set a single filter
+ * node.cache();
* node.filters([Kinetic.Filters.Blur]);

* - * // get filters
- * var filters = node.filters(); + * // set multiple filters
+ * node.cache();
+ * node.filters([
+ * Kinetic.Filters.Blur,
+ * Kinetic.Filters.Sepia,
+ * Kinetic.Filters.Invert + * ]); */ Kinetic.Factory.addGetterSetter(Kinetic.Node, 'visible', 'inherit'); - /** - * set visible. Can be "inherit", true, or false. The default is "inherit". - * @name setVisible + * get/set visible attr. Can be "inherit", true, or false. The default is "inherit". + * If you need to determine if a node is visible or not + * by taking into account its parents, use the isVisible() method + * @name visible * @method * @memberof Kinetic.Node.prototype - * @param {Boolean} visible - * @returns {Kinetic.Node} - */ - - /** - * get visible property for the node. If you need to determine if the node is actually visible, - * use the isVisible() method because it takes ancestors into account - * @name getVisible - * @method - * @memberof Kinetic.Node.prototype - * @returns {Boolean} + * @param {Boolean|String} visible + * @returns {Boolean|String} + * @example + * // get visible attr
+ * var visible = node.visible();

+ * + * // make invisible
+ * node.visible(false);

+ * + * // make visible
+ * node.visible(true);

+ * + * // make visible according to the parent
+ * node.visible('inherit'); */ Kinetic.Factory.addGetterSetter(Kinetic.Node, 'transformsEnabled', 'all'); @@ -1885,6 +1941,12 @@ * @memberof Kinetic.Node.prototype * @param {String} enabled * @returns {String} + * @example + * // enable position transform only to improve draw performance
+ * node.transformsEnabled('position');

+ * + * // enable all transforms
+ * node.transformsEnabled('all'); */ Kinetic.Collection.mapMethods([