Rename all x-axis / y-axis parameters in #scale and #shear to hor / ver, and fix a bug in Matrix#shear, where an undeclared variable was used (sx instead of shx).

This commit is contained in:
Jürg Lehni 2011-07-01 18:00:16 +02:00
parent 0644d9d8b5
commit 7e26a7af1e
2 changed files with 51 additions and 51 deletions

View file

@ -119,28 +119,28 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
* *
* @name Matrix#scale * @name Matrix#scale
* @function * @function
* @param {Number} sx The x-axis scaling factor. * @param {Number} hor The horizontal scaling factor.
* @param {Number} sy The y-axis scaling factor. * @param {Number} ver The vertical scaling factor.
* @param {Point} [center] The center for the scaling * @param {Point} [center] The center for the scaling
* transformation. * transformation.
* @return {Matrix} This affine transform. * @return {Matrix} This affine transform.
*/ */
scale: function(sx, sy /* | scale */, center) { scale: function(hor, ver /* | scale */, center) {
if (arguments.length < 2 || typeof sy === 'object') { if (arguments.length < 2 || typeof ver === 'object') {
// sx is the single scale parameter, representing both sx and sy // hor is the single scale parameter, representing both hor and ver
// Read center first from argument 1, then set sy = sx (thus // Read center first from argument 1, then set ver = hor (thus
// modifing the content of argument 1!) // modifing the content of argument 1!)
center = Point.read(arguments, 1); center = Point.read(arguments, 1);
sy = sx; ver = hor;
} else { } else {
center = Point.read(arguments, 2); center = Point.read(arguments, 2);
} }
if (center) if (center)
this.translate(center); this.translate(center);
this._m00 *= sx; this._m00 *= hor;
this._m10 *= sx; this._m10 *= hor;
this._m01 *= sy; this._m01 *= ver;
this._m11 *= sy; this._m11 *= ver;
if (center) if (center)
this.translate(center.negate()); this.translate(center.negate());
return this; return this;
@ -211,16 +211,16 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
* *
* @name Matrix#shear * @name Matrix#shear
* @function * @function
* @param {Number} shx The x shear factor. * @param {Number} hor The horizontal shear factor.
* @param {Number} shy The y shear factor. * @param {Number} ver The vertical shear factor.
* @param {Point} [center] The center for the shear transformation. * @param {Point} [center] The center for the shear transformation.
* @return {Matrix} This affine transform. * @return {Matrix} This affine transform.
*/ */
shear: function(shx, shy, center) { shear: function(hor, ver, center) {
// See #scale() for explanation of this: // See #scale() for explanation of this:
if (arguments.length < 2 || typeof shy === 'object') { if (arguments.length < 2 || typeof ver === 'object') {
center = Point.read(arguments, 1); center = Point.read(arguments, 1);
sy = sx; ver = hor;
} else { } else {
center = Point.read(arguments, 2); center = Point.read(arguments, 2);
} }
@ -228,10 +228,10 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
this.translate(center); this.translate(center);
var m00 = this._m00; var m00 = this._m00;
var m10 = this._m10; var m10 = this._m10;
this._m00 += shy * this._m01; this._m00 += ver * this._m01;
this._m10 += shy * this._m11; this._m10 += ver * this._m11;
this._m01 += shx * m00; this._m01 += hor * m00;
this._m11 += shx * m10; this._m11 += hor * m10;
if (center) if (center)
this.translate(center.negate()); this.translate(center.negate());
return this; return this;
@ -416,9 +416,9 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
}, },
getScaling: function() { getScaling: function() {
var sx = Math.sqrt(this._m00 * this._m00 + this._m10 * this._m10), var hor = Math.sqrt(this._m00 * this._m00 + this._m10 * this._m10),
sy = Math.sqrt(this._m01 * this._m01 + this._m11 * this._m11); ver = Math.sqrt(this._m01 * this._m01 + this._m11 * this._m11);
return new Point(this._m00 < 0 ? -sx : sx, this._m01 < 0 ? -sy : sy); return new Point(this._m00 < 0 ? -hor : hor, this._m01 < 0 ? -ver : ver);
}, },
/** /**
@ -490,12 +490,12 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
/** /**
* Sets this transform to a scaling transformation. * Sets this transform to a scaling transformation.
* *
* @param {Number} sx The x-axis scaling factor. * @param {Number} hor The horizontal scaling factor.
* @param {Number} sy The y-axis scaling factor. * @param {Number} ver The vertical scaling factor.
* @return {Matrix} This affine transform. * @return {Matrix} This affine transform.
*/ */
setToScale: function(sx, sy) { setToScale: function(hor, ver) {
return this.set(sx, 0, 0, sy, 0, 0); return this.set(hor, 0, 0, ver, 0, 0);
}, },
/** /**
@ -513,12 +513,12 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
/** /**
* Sets this transform to a shearing transformation. * Sets this transform to a shearing transformation.
* *
* @param {Number} shx The x-axis shear factor. * @param {Number} hor The horizontal shear factor.
* @param {Number} shy The y-axis shear factor. * @param {Number} ver The vertical shear factor.
* @return {Matrix} This affine transform. * @return {Matrix} This affine transform.
*/ */
setToShear: function(shx, shy) { setToShear: function(hor, ver) {
return this.set(1, shy, shx, 1, 0, 0); return this.set(1, ver, hor, 1, 0, 0);
}, },
/** /**
@ -564,12 +564,12 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
/** /**
* Creates a transform representing a scaling transformation. * Creates a transform representing a scaling transformation.
* *
* @param {Number} sx The x-axis scaling factor. * @param {Number} hor The horizontal scaling factor.
* @param {Number} sy The y-axis scaling factor. * @param {Number} ver The vertical scaling factor.
* @return {Matrix} A transform representing a scaling * @return {Matrix} A transform representing a scaling
* transformation. * transformation.
*/ */
getScaleInstance: function(sx, sy) { getScaleInstance: function(hor, ver) {
var mx = new Matrix(); var mx = new Matrix();
return mx.setToScale.apply(mx, arguments); return mx.setToScale.apply(mx, arguments);
}, },
@ -590,11 +590,11 @@ var Matrix = this.Matrix = Base.extend(/** @lends Matrix# */{
/** /**
* Creates a transform representing a shearing transformation. * Creates a transform representing a shearing transformation.
* *
* @param {Number} shx The x-axis shear factor. * @param {Number} hor The horizontal shear factor.
* @param {Number} shy The y-axis shear factor. * @param {Number} ver The vertical shear factor.
* @return {Matrix} A transform representing a shearing transformation. * @return {Matrix} A transform representing a shearing transformation.
*/ */
getShearInstance: function(shx, shy, center) { getShearInstance: function(hor, ver, center) {
var mx = new Matrix(); var mx = new Matrix();
return mx.setToShear.apply(mx, arguments); return mx.setToShear.apply(mx, arguments);
}, },

View file

@ -1327,8 +1327,8 @@ var Item = this.Item = Base.extend(/** @lends Item# */{
* *
* @name Item#scale * @name Item#scale
* @function * @function
* @param {Number} sx the horizontal scale factor * @param {Number} hor the horizontal scale factor
* @param {Number} sy the vertical scale factor * @param {Number} ver the vertical scale factor
* @param {Point} [center={@link Item#position}] * @param {Point} [center={@link Item#position}]
* *
* @example {@paperscript} * @example {@paperscript}
@ -1342,13 +1342,13 @@ var Item = this.Item = Base.extend(/** @lends Item# */{
* // Scale the path horizontally by 300% * // Scale the path horizontally by 300%
* circle.scale(3, 1); * circle.scale(3, 1);
*/ */
scale: function(sx, sy /* | scale */, center) { scale: function(hor, ver /* | scale */, center) {
// See Matrix#scale for explanation of this: // See Matrix#scale for explanation of this:
if (arguments.length < 2 || typeof sy === 'object') { if (arguments.length < 2 || typeof ver === 'object') {
center = sy; center = ver;
sy = sx; ver = hor;
} }
return this.transform(new Matrix().scale(sx, sy, return this.transform(new Matrix().scale(hor, ver,
center || this.getPosition())); center || this.getPosition()));
}, },
@ -1425,19 +1425,19 @@ var Item = this.Item = Base.extend(/** @lends Item# */{
* *
* @name Item#shear * @name Item#shear
* @function * @function
* @param {Number} shearX * @param {Number} hor the horizontal shear factor.
* @param {Number} shearY * @param {Number} ver the vertical shear factor.
* @param {Point} [center={@link Item#position}] * @param {Point} [center={@link Item#position}]
* @see Matrix#shear * @see Matrix#shear
*/ */
shear: function(shearX, shearY, center) { shear: function(hor, ver, center) {
// PORT: Add support for center back to Scriptographer too! // PORT: Add support for center back to Scriptographer too!
// See Matrix#scale for explanation of this: // See Matrix#scale for explanation of this:
if (arguments.length < 2 || typeof sy === 'object') { if (arguments.length < 2 || typeof ver === 'object') {
center = shearY; center = ver;
shearY = shearX; ver = hor;
} }
return this.transform(new Matrix().shear(shearX, shearY, return this.transform(new Matrix().shear(hor, ver,
center || this.getPosition())); center || this.getPosition()));
}, },