From 4bf5d8ce7ee578b0c34e6c9fdc39294ce735f9d3 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 18:26:04 -0300 Subject: [PATCH 01/20] Added getBoundingRectangleHeight and getBoundingRectangleWidth. Also changed Object#toDataURL to use getBoundingRectangleHeight and getBoundingRectangleWidth. --- dist/all.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/dist/all.js b/dist/all.js index 58d4b5bf..454939c7 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7931,6 +7931,29 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { return this; }, + + /** + * Returns width of an object's bounding rectangle + * @method getBoundingRectangleWidth + * @return {Number} width value + */ + getBoundingRectangleWidth: function() { + minX = min(this.oCoords, 'x'), + maxX = max(this.oCoords, 'x'), + + return Math.abs(minX - maxX); + }, + + /** + * Returns height of an object's bounding rectangle + * @method getBoundingRectangleHeight + * @return {Number} height value + */ + getBoundingRectangleHeight: function() { + minY = min(this.oCoords, 'y'), + maxY = max(this.oCoords, 'y'); + return Math.abs(minY = maxY); + }, /** * Draws borders of an object's bounding box. @@ -8136,8 +8159,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { // TODO: should probably use bounding rectangle dimensions instead - el.width = this.getWidth(); - el.height = this.getHeight(); + el.width = this.getBoundingRectangleWidth(); //getWidth(); + el.height = this.getBoundingRectangleHeight();//getHeight(); fabric.util.wrapElement(el, 'div'); From 5ccc83e424c5bd09130a44ce82d00615e9803ff5 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 18:29:11 -0300 Subject: [PATCH 02/20] Update dist/all.js --- dist/all.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/all.js b/dist/all.js index 454939c7..f397efe9 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7938,8 +7938,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} width value */ getBoundingRectangleWidth: function() { - minX = min(this.oCoords, 'x'), - maxX = max(this.oCoords, 'x'), + minX = min(this.oCoords, 'x'); + maxX = max(this.oCoords, 'x'); return Math.abs(minX - maxX); }, @@ -7950,7 +7950,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} height value */ getBoundingRectangleHeight: function() { - minY = min(this.oCoords, 'y'), + minY = min(this.oCoords, 'y'); maxY = max(this.oCoords, 'y'); return Math.abs(minY = maxY); }, From bee869cbd24e86a538a0b5cd6ef7c9903be681a4 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:18:13 -0300 Subject: [PATCH 03/20] Updated getBoundingRectangleWidth and Height to use fabric.util.min --- dist/all.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/all.js b/dist/all.js index f397efe9..eb586d6f 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7938,8 +7938,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} width value */ getBoundingRectangleWidth: function() { - minX = min(this.oCoords, 'x'); - maxX = max(this.oCoords, 'x'); + minX = fabric.util.min(this.oCoords, 'x'); + maxX = fabric.util.max(this.oCoords, 'x'); return Math.abs(minX - maxX); }, @@ -7950,8 +7950,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} height value */ getBoundingRectangleHeight: function() { - minY = min(this.oCoords, 'y'); - maxY = max(this.oCoords, 'y'); + minY = fabric.util.min(this.oCoords, 'y'); + maxY = fabril.util.max(this.oCoords, 'y'); return Math.abs(minY = maxY); }, From e25776b3c1f479830a3172d9449e74f743c9f9e5 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:21:36 -0300 Subject: [PATCH 04/20] Update dist/all.js --- dist/all.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/all.js b/dist/all.js index eb586d6f..aee37181 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7938,8 +7938,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} width value */ getBoundingRectangleWidth: function() { - minX = fabric.util.min(this.oCoords, 'x'); - maxX = fabric.util.max(this.oCoords, 'x'); + minX = fabric.util.array.min(this.oCoords, 'x'); + maxX = fabric.util.array.max(this.oCoords, 'x'); return Math.abs(minX - maxX); }, @@ -7950,8 +7950,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} height value */ getBoundingRectangleHeight: function() { - minY = fabric.util.min(this.oCoords, 'y'); - maxY = fabril.util.max(this.oCoords, 'y'); + minY = fabric.util.array.min(this.oCoords, 'y'); + maxY = fabril.util.array.max(this.oCoords, 'y'); return Math.abs(minY = maxY); }, From 038119b1e0f157c23e06d3693907ca0c06280f06 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:23:38 -0300 Subject: [PATCH 05/20] Update dist/all.js --- dist/all.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dist/all.js b/dist/all.js index aee37181..a1a1cd5c 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7938,6 +7938,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} width value */ getBoundingRectangleWidth: function() { + console.log(this.oCoords); minX = fabric.util.array.min(this.oCoords, 'x'); maxX = fabric.util.array.max(this.oCoords, 'x'); @@ -7950,6 +7951,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} height value */ getBoundingRectangleHeight: function() { + console.log(this.oCoords); minY = fabric.util.array.min(this.oCoords, 'y'); maxY = fabril.util.array.max(this.oCoords, 'y'); return Math.abs(minY = maxY); From c6c79a09cc41e154278794659abbf42756f30473 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:28:36 -0300 Subject: [PATCH 06/20] Update dist/all.js --- dist/all.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dist/all.js b/dist/all.js index a1a1cd5c..bc42e20e 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7939,8 +7939,10 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { */ getBoundingRectangleWidth: function() { console.log(this.oCoords); - minX = fabric.util.array.min(this.oCoords, 'x'); - maxX = fabric.util.array.max(this.oCoords, 'x'); + //minX = fabric.util.array.min(this.oCoords, 'x'); + var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; + minX = min(xCoords); + maxX = max(xCoords); return Math.abs(minX - maxX); }, @@ -7952,9 +7954,10 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { */ getBoundingRectangleHeight: function() { console.log(this.oCoords); - minY = fabric.util.array.min(this.oCoords, 'y'); - maxY = fabril.util.array.max(this.oCoords, 'y'); - return Math.abs(minY = maxY); + var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; + minY = min(yCoords); + maxY = max(yCoords); + return Math.abs(minY - maxY); }, /** From 5a10ff63b5860238b2a9382c396a51801b326451 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:37:01 -0300 Subject: [PATCH 07/20] Update dist/all.js --- dist/all.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dist/all.js b/dist/all.js index bc42e20e..7d934fb9 100644 --- a/dist/all.js +++ b/dist/all.js @@ -2200,6 +2200,17 @@ fabric.Observable = { } }; } + + if (!Array.prototype.min) { + Array.prototype.max = function() { + return Math.max.apply(null, this); + } + } + if (!Array.prototype.min) { + Array.prototype.min = function() { + return Math.min.apply(null, this); + } + } if (!Array.prototype.map) { Array.prototype.map = function(fn, context) { From 04164267b94553cee4a5ef8f59a44139b48d984e Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:38:20 -0300 Subject: [PATCH 08/20] Update dist/all.js --- dist/all.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/all.js b/dist/all.js index 7d934fb9..76e9ae76 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7952,8 +7952,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { console.log(this.oCoords); //minX = fabric.util.array.min(this.oCoords, 'x'); var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; - minX = min(xCoords); - maxX = max(xCoords); + minX = xCoords.min; + maxX = xCoords.max; return Math.abs(minX - maxX); }, @@ -7966,8 +7966,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { getBoundingRectangleHeight: function() { console.log(this.oCoords); var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; - minY = min(yCoords); - maxY = max(yCoords); + minY = yCoords.min; + maxY = yCoords.max; return Math.abs(minY - maxY); }, From 6b043568d89501af18bebf18843197f0b83224ab Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:40:19 -0300 Subject: [PATCH 09/20] Update dist/all.js --- dist/all.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/dist/all.js b/dist/all.js index 76e9ae76..807a14c8 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7950,11 +7950,9 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { */ getBoundingRectangleWidth: function() { console.log(this.oCoords); - //minX = fabric.util.array.min(this.oCoords, 'x'); var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; - minX = xCoords.min; - maxX = xCoords.max; - + var minX = xCoords.min; + var maxX = xCoords.max; return Math.abs(minX - maxX); }, @@ -7966,8 +7964,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { getBoundingRectangleHeight: function() { console.log(this.oCoords); var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; - minY = yCoords.min; - maxY = yCoords.max; + var minY = yCoords.min; + var maxY = yCoords.max; return Math.abs(minY - maxY); }, From 91e71633d6349f011ad55b2e8e0556ef86ae3d9b Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:44:57 -0300 Subject: [PATCH 10/20] Update dist/all.js --- dist/all.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dist/all.js b/dist/all.js index 807a14c8..5198e8e5 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7949,10 +7949,14 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} width value */ getBoundingRectangleWidth: function() { - console.log(this.oCoords); + console.log('this.oCoords' + this.oCoords); var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; + console.log('xCoords' + xCoords); var minX = xCoords.min; + console.log('minX' + minX); var maxX = xCoords.max; + console.log('maxX' + maxX); + console.log('minX - maxX'+ Math.abs(minX - maxX));' return Math.abs(minX - maxX); }, From 4e790bf8cf33bfa89bb25ef37d2344069c640e2c Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:46:24 -0300 Subject: [PATCH 11/20] Update dist/all.js --- dist/all.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/all.js b/dist/all.js index 5198e8e5..3c31c7b6 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7956,7 +7956,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { console.log('minX' + minX); var maxX = xCoords.max; console.log('maxX' + maxX); - console.log('minX - maxX'+ Math.abs(minX - maxX));' + console.log('minX - maxX' + Math.abs(minX - maxX)); return Math.abs(minX - maxX); }, From f99e4eb282ceb452cef82640976c4f427a554d43 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:51:03 -0300 Subject: [PATCH 12/20] Update dist/all.js --- dist/all.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/all.js b/dist/all.js index 3c31c7b6..b7f6640b 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7952,11 +7952,11 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { console.log('this.oCoords' + this.oCoords); var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; console.log('xCoords' + xCoords); - var minX = xCoords.min; + var minX = Array.min(xCoords); console.log('minX' + minX); - var maxX = xCoords.max; - console.log('maxX' + maxX); - console.log('minX - maxX' + Math.abs(minX - maxX)); + var maxX = Array.max(xCoords); + console.log('maxX ' + maxX); + console.log('minX - maxX ' + Math.abs(minX - maxX)); return Math.abs(minX - maxX); }, From 1c0deef6799117b190837b5f29396afacb92c91e Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:52:00 -0300 Subject: [PATCH 13/20] Update dist/all.js --- dist/all.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/all.js b/dist/all.js index b7f6640b..12cadc21 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7952,9 +7952,9 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { console.log('this.oCoords' + this.oCoords); var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; console.log('xCoords' + xCoords); - var minX = Array.min(xCoords); + var minX = xCoords.min(); console.log('minX' + minX); - var maxX = Array.max(xCoords); + var maxX = xCoords.max(); console.log('maxX ' + maxX); console.log('minX - maxX ' + Math.abs(minX - maxX)); return Math.abs(minX - maxX); From f66dbc41dc8a25b19c2ad8e67cb014c93d4f6f6b Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 19:52:55 -0300 Subject: [PATCH 14/20] Update dist/all.js --- dist/all.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/all.js b/dist/all.js index 12cadc21..a1af2264 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7968,8 +7968,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { getBoundingRectangleHeight: function() { console.log(this.oCoords); var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; - var minY = yCoords.min; - var maxY = yCoords.max; + var minY = yCoords.min(); + var maxY = yCoords.max(); return Math.abs(minY - maxY); }, From 9c9fdc21e2234dcef39027f0302e5ab6dfe0df93 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 20:05:22 -0300 Subject: [PATCH 15/20] Removed console.log lines from getBoundingRectangleHeight and getBoundingRectangleWidth --- dist/all.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/dist/all.js b/dist/all.js index a1af2264..5dfbb69a 100644 --- a/dist/all.js +++ b/dist/all.js @@ -7949,14 +7949,9 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} width value */ getBoundingRectangleWidth: function() { - console.log('this.oCoords' + this.oCoords); var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; - console.log('xCoords' + xCoords); var minX = xCoords.min(); - console.log('minX' + minX); var maxX = xCoords.max(); - console.log('maxX ' + maxX); - console.log('minX - maxX ' + Math.abs(minX - maxX)); return Math.abs(minX - maxX); }, @@ -7966,7 +7961,6 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {Number} height value */ getBoundingRectangleHeight: function() { - console.log(this.oCoords); var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; var minY = yCoords.min(); var maxY = yCoords.max(); From 1bf382659e9fd7549c7bdd70c465a97c685cb162 Mon Sep 17 00:00:00 2001 From: garg Date: Mon, 28 May 2012 20:22:14 -0300 Subject: [PATCH 16/20] Fixed typo --- dist/all.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/all.js b/dist/all.js index 5dfbb69a..3406c736 100644 --- a/dist/all.js +++ b/dist/all.js @@ -2201,7 +2201,7 @@ fabric.Observable = { }; } - if (!Array.prototype.min) { + if (!Array.prototype.max) { Array.prototype.max = function() { return Math.max.apply(null, this); } From ca933e0cbab4a34aed3c0bc87387988977514627 Mon Sep 17 00:00:00 2001 From: garg Date: Tue, 29 May 2012 23:00:18 -0300 Subject: [PATCH 17/20] Added returnMinFromArray and returnMaxFromArray. Removed extended array functions. Renamed getBoundingRectangleWidth to getBoundingRectWidth. Renamed getBoundingRectangleHeight to getBoundingRectHeight. --- dist/all.js | 61 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/dist/all.js b/dist/all.js index 3406c736..584590bd 100644 --- a/dist/all.js +++ b/dist/all.js @@ -1816,6 +1816,30 @@ fabric.Observable = { } return array; }; + + /** + * Returns smallest number from an array. + * @static + * @memberOf fabric.util + * @method returnMinFromArray + * @param {Array} array + * @return {Number} smalled value + */ + function returnMinFromArray(array) { + return Math.min.apply(null, array); + } + + /** + * Returns largest number from an array. + * @static + * @memberOf fabric.util + * @method returnMaxFromArray + * @param {Array} array + * @return {Number} smalled value + */ + function returnMaxFromArray(array) { + return Math.max.apply(null, array); + } /** * Returns random number between 2 specified ones. @@ -1951,6 +1975,8 @@ fabric.Observable = { } fabric.util.removeFromArray = removeFromArray; + fabric.util.returnMaxFromArray = returnMaxFromArray; + fabric.util.returnMinFromArray = returnMinFromArray; fabric.util.degreesToRadians = degreesToRadians; fabric.util.toFixed = toFixed; fabric.util.getRandomInt = getRandomInt; @@ -2201,17 +2227,6 @@ fabric.Observable = { }; } - if (!Array.prototype.max) { - Array.prototype.max = function() { - return Math.max.apply(null, this); - } - } - if (!Array.prototype.min) { - Array.prototype.min = function() { - return Math.min.apply(null, this); - } - } - if (!Array.prototype.map) { Array.prototype.map = function(fn, context) { var result = [ ]; @@ -7945,25 +7960,25 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns width of an object's bounding rectangle - * @method getBoundingRectangleWidth + * @method getBoundingRectWidth * @return {Number} width value */ - getBoundingRectangleWidth: function() { + getBoundingRectWidth: function() { var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; - var minX = xCoords.min(); - var maxX = xCoords.max(); + var minX = fabric.util.returnMinFromArray(xCoords); + var maxX = fabric.util.returnMaxFromArray(xCoords); return Math.abs(minX - maxX); }, /** * Returns height of an object's bounding rectangle - * @method getBoundingRectangleHeight + * @method getBoundingRectHeight * @return {Number} height value */ - getBoundingRectangleHeight: function() { + getBoundingRectHeight: function() { var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; - var minY = yCoords.min(); - var maxY = yCoords.max(); + var minY = fabric.util.returnMinFromArray(yCoords); + var maxY = fabric.util.returnMaxFromArray(yCoords); return Math.abs(minY - maxY); }, @@ -8168,11 +8183,9 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { if (!el.getContext && typeof G_vmlCanvasManager != 'undefined') { G_vmlCanvasManager.initElement(el); } - - // TODO: should probably use bounding rectangle dimensions instead - - el.width = this.getBoundingRectangleWidth(); //getWidth(); - el.height = this.getBoundingRectangleHeight();//getHeight(); + + el.width = this.getBoundingRectWidth(); + el.height = this.getBoundingRectHeight(); fabric.util.wrapElement(el, 'div'); From d7cf6a576b6899048e2fe25b4f42e483adaae587 Mon Sep 17 00:00:00 2001 From: garg Date: Wed, 30 May 2012 20:12:56 -0300 Subject: [PATCH 18/20] Edited to use fabric.util.array.min and fabric.util.array.max --- dist/all.js | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/dist/all.js b/dist/all.js index 584590bd..16dc7295 100644 --- a/dist/all.js +++ b/dist/all.js @@ -1816,30 +1816,6 @@ fabric.Observable = { } return array; }; - - /** - * Returns smallest number from an array. - * @static - * @memberOf fabric.util - * @method returnMinFromArray - * @param {Array} array - * @return {Number} smalled value - */ - function returnMinFromArray(array) { - return Math.min.apply(null, array); - } - - /** - * Returns largest number from an array. - * @static - * @memberOf fabric.util - * @method returnMaxFromArray - * @param {Array} array - * @return {Number} smalled value - */ - function returnMaxFromArray(array) { - return Math.max.apply(null, array); - } /** * Returns random number between 2 specified ones. @@ -1975,8 +1951,6 @@ fabric.Observable = { } fabric.util.removeFromArray = removeFromArray; - fabric.util.returnMaxFromArray = returnMaxFromArray; - fabric.util.returnMinFromArray = returnMinFromArray; fabric.util.degreesToRadians = degreesToRadians; fabric.util.toFixed = toFixed; fabric.util.getRandomInt = getRandomInt; @@ -7965,8 +7939,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { */ getBoundingRectWidth: function() { var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; - var minX = fabric.util.returnMinFromArray(xCoords); - var maxX = fabric.util.returnMaxFromArray(xCoords); + var minX = fabric.util.array.min(xCoords); + var maxX = fabric.util.array.max(xCoords); return Math.abs(minX - maxX); }, @@ -7977,8 +7951,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { */ getBoundingRectHeight: function() { var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; - var minY = fabric.util.returnMinFromArray(yCoords); - var maxY = fabric.util.returnMaxFromArray(yCoords); + var minY = fabric.util.array.min(yCoords); + var maxY = fabric.util.array.max(yCoords); return Math.abs(minY - maxY); }, @@ -12644,4 +12618,4 @@ fabric.Image.filters.Invert.fromObject = function() { fabric.Canvas.prototype.setHeight = fabric.StaticCanvas.prototype.setHeight; } -})(); +})(); \ No newline at end of file From 218b76bc231f4fbabfae51e0a14584a9aca674d7 Mon Sep 17 00:00:00 2001 From: garg Date: Wed, 30 May 2012 20:14:59 -0300 Subject: [PATCH 19/20] Update dist/all.js --- dist/all.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/all.js b/dist/all.js index 16dc7295..e777d3ba 100644 --- a/dist/all.js +++ b/dist/all.js @@ -12618,4 +12618,4 @@ fabric.Image.filters.Invert.fromObject = function() { fabric.Canvas.prototype.setHeight = fabric.StaticCanvas.prototype.setHeight; } -})(); \ No newline at end of file +})(); From 49a51b1388e95b67bf087418db47d65ca7edf62c Mon Sep 17 00:00:00 2001 From: garg Date: Wed, 30 May 2012 20:30:42 -0300 Subject: [PATCH 20/20] Added getBoundingRectHeight and getBoundingRectWidth and changed toDataURL to use those instead of getHeight and getWidth. --- src/object.class.js | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/object.class.js b/src/object.class.js index 2382a029..43f864cc 100644 --- a/src/object.class.js +++ b/src/object.class.js @@ -558,7 +558,31 @@ return this; }, + + /** + * Returns width of an object's bounding rectangle + * @method getBoundingRectWidth + * @return {Number} width value + */ + getBoundingRectWidth: function() { + var xCoords = [this.oCoords.tl.x, this.oCoords.tr.x, this.oCoords.br.x, this.oCoords.bl.x]; + var minX = fabric.util.array.min(xCoords); + var maxX = fabric.util.array.max(xCoords); + return Math.abs(minX - maxX); + }, + /** + * Returns height of an object's bounding rectangle + * @method getBoundingRectHeight + * @return {Number} height value + */ + getBoundingRectHeight: function() { + var yCoords = [this.oCoords.tl.y, this.oCoords.tr.y, this.oCoords.br.y, this.oCoords.bl.y]; + var minY = fabric.util.array.min(yCoords); + var maxY = fabric.util.array.max(yCoords); + return Math.abs(minY - maxY); + }, + /** * Draws borders of an object's bounding box. * Requires public properties: width, height @@ -761,10 +785,8 @@ G_vmlCanvasManager.initElement(el); } - // TODO: should probably use bounding rectangle dimensions instead - - el.width = this.getWidth(); - el.height = this.getHeight(); + el.width = this.getBoundingRectWidth(); + el.height = this.getBoundingRectHeight(); fabric.util.wrapElement(el, 'div');