From a24e0e79fcca8f6619dfbe44a126347abd609b54 Mon Sep 17 00:00:00 2001 From: Steve Pemberton Date: Sat, 1 Dec 2012 20:57:21 +0000 Subject: [PATCH 1/2] Fix to allow path to be immediately positioned on creation --- src/path.class.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/path.class.js b/src/path.class.js index fb298911..ce943af7 100644 --- a/src/path.class.js +++ b/src/path.class.js @@ -203,7 +203,9 @@ */ _initializePath: function (options) { var isWidthSet = 'width' in options, - isHeightSet = 'height' in options; + isHeightSet = 'height' in options, + isLeftSet = 'left' in options, + isTopSet = 'top' in options; if (!isWidthSet || !isHeightSet) { extend(this, this._parseDimensions()); @@ -214,21 +216,25 @@ this.height = options.height; } } - else { //Set center location relative to given height/width - this.left = this.width / 2; - this.top = this.height / 2; + else { //Set center location relative to given height/width if not specified + if (!isTopSet) { + this.top = this.height / 2; + } + if (!isLeftSet) { + this.left = this.width / 2; + } } - this.pathOffset = this._calculatePathOffset(); //Save top-left coords as offset + this.pathOffset = this._calculatePathOffset(isTopSet || isLeftSet); //Save top-left coords as offset }, /** * @private * @method _calculatePathOffset */ - _calculatePathOffset: function () { + _calculatePathOffset: function (positionSet) { return { - x: this.left - (this.width / 2), - y: this.top - (this.height / 2) + x: positionSet ? 0 : this.left - (this.width / 2), + y: positionSet ? 0 : this.top - (this.height / 2) }; }, From c169daa4a4fe858b8f14e2ddb6204e58611e9af3 Mon Sep 17 00:00:00 2001 From: Steve Pemberton Date: Sat, 1 Dec 2012 20:57:49 +0000 Subject: [PATCH 2/2] build --- dist/all.js | 93 +++++++++++++++++++++++++++++---------------- dist/all.min.js.gz | Bin 40568 -> 0 bytes 2 files changed, 61 insertions(+), 32 deletions(-) diff --git a/dist/all.js b/dist/all.js index 75805384..09c35660 100644 --- a/dist/all.js +++ b/dist/all.js @@ -5427,7 +5427,7 @@ fabric.util.string = { }, /** - * Adds objects to canvas, then renders canvas; + * Adds objects to canvas, then renders canvas (if `renderOnAddition` is not `false`). * Objects should be instances of (or inherit from) fabric.Object * @method add * @param [...] Zero or more fabric instances @@ -5818,6 +5818,7 @@ fabric.util.string = { /** * Returs dataless JSON representation of canvas * @method toDatalessJSON + * @param {Array} propertiesToInclude * @return {String} json string */ toDatalessJSON: function (propertiesToInclude) { @@ -5827,7 +5828,8 @@ fabric.util.string = { /** * Returns object representation of canvas * @method toObject - * @return {Object} + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function (propertiesToInclude) { return this._toObjectMethod('toObject', propertiesToInclude); @@ -5836,7 +5838,8 @@ fabric.util.string = { /** * Returns dataless object representation of canvas * @method toDatalessObject - * @return {Object} + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toDatalessObject: function (propertiesToInclude) { return this._toObjectMethod('toDatalessObject', propertiesToInclude); @@ -8215,7 +8218,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns an object representation of an instance * @method toObject - * @return {Object} + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { @@ -8257,6 +8261,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns (dataless) object representation of an instance * @method toDatalessObject + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toDatalessObject: function(propertiesToInclude) { // will be overwritten by subclasses @@ -8886,14 +8892,15 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Clones an instance * @method clone - * @param {Object} options object + * @param {Function} callback Callback is invoked with a clone as a first argument + * @param {Array} propertiesToInclude * @return {fabric.Object} clone of an instance */ - clone: function(options) { + clone: function(callback, propertiesToInclude) { if (this.constructor.fromObject) { - return this.constructor.fromObject(this.toObject(), options); + return this.constructor.fromObject(this.toObject(propertiesToInclude), callback); } - return new fabric.Object(this.toObject()); + return new fabric.Object(this.toObject(propertiesToInclude)); }, /** @@ -9432,6 +9439,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns a JSON representation of an instance * @method toJSON + * @param {Array} propertiesToInclude * @return {String} json */ toJSON: function(propertiesToInclude) { @@ -9757,7 +9765,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @methd toObject - * @return {Object} + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { return extend(this.callSuper('toObject', propertiesToInclude), { @@ -9869,6 +9878,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject + * @param {Array} propertiesToInclude * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { @@ -10150,6 +10160,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject + * @param {Array} propertiesToInclude * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { @@ -10273,7 +10284,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { "use strict"; - var fabric = global.fabric || (global.fabric = { }); + var fabric = global.fabric || (global.fabric = { }), + extend = fabric.util.object.extend; if (fabric.Rect) { console.warn('fabric.Rect is already defined'); @@ -10423,10 +10435,11 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject + * @param {Array} propertiesToInclude * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { - return fabric.util.object.extend(this.callSuper('toObject', propertiesToInclude), { + return extend(this.callSuper('toObject', propertiesToInclude), { rx: this.get('rx') || 0, ry: this.get('ry') || 0 }); @@ -10481,7 +10494,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { var parsedAttributes = fabric.parseAttributes(element, fabric.Rect.ATTRIBUTE_NAMES); parsedAttributes = _setDefaultLeftTopValues(parsedAttributes); - var rect = new fabric.Rect(fabric.util.object.extend((options ? fabric.util.object.clone(options) : { }), parsedAttributes)); + var rect = new fabric.Rect(extend((options ? fabric.util.object.clone(options) : { }), parsedAttributes)); rect._normalizeLeftTopProperties(parsedAttributes); return rect; @@ -10548,7 +10561,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject - * @return {Object} Object representation of an instance + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { return fabric.Polygon.prototype.toObject.call(this, propertiesToInclude); @@ -10714,6 +10728,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject + * @param {Array} propertiesToInclude * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { @@ -11024,7 +11039,9 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { */ _initializePath: function (options) { var isWidthSet = 'width' in options, - isHeightSet = 'height' in options; + isHeightSet = 'height' in options, + isLeftSet = 'left' in options, + isTopSet = 'top' in options; if (!isWidthSet || !isHeightSet) { extend(this, this._parseDimensions()); @@ -11035,21 +11052,25 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { this.height = options.height; } } - else { //Set center location relative to given height/width - this.left = this.width / 2; - this.top = this.height / 2; + else { //Set center location relative to given height/width if not specified + if (!isTopSet) { + this.top = this.height / 2; + } + if (!isLeftSet) { + this.left = this.width / 2; + } } - this.pathOffset = this._calculatePathOffset(); //Save top-left coords as offset + this.pathOffset = this._calculatePathOffset(isTopSet || isLeftSet); //Save top-left coords as offset }, /** * @private * @method _calculatePathOffset */ - _calculatePathOffset: function () { + _calculatePathOffset: function (positionSet) { return { - x: this.left - (this.width / 2), - y: this.top - (this.height / 2) + x: positionSet ? 0 : this.left - (this.width / 2), + y: positionSet ? 0 : this.top - (this.height / 2) }; }, @@ -11397,7 +11418,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject - * @return {Object} + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { var o = extend(this.callSuper('toObject', propertiesToInclude), { @@ -11415,10 +11437,11 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns dataless object representation of an instance * @method toDatalessObject - * @return {Object} + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ - toDatalessObject: function() { - var o = this.toObject(); + toDatalessObject: function(propertiesToInclude) { + var o = this.toObject(propertiesToInclude); if (this.sourcePath) { o.path = this.sourcePath; } @@ -11709,6 +11732,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of this path group * @method toObject + * @param {Array} propertiesToInclude * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { @@ -11721,10 +11745,11 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns dataless object representation of this path group * @method toDatalessObject + * @param {Array} propertiesToInclude * @return {Object} dataless object representation of an instance */ - toDatalessObject: function() { - var o = this.toObject(); + toDatalessObject: function(propertiesToInclude) { + var o = this.toObject(propertiesToInclude); if (this.sourcePath) { o.paths = this.sourcePath; } @@ -12031,11 +12056,12 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject + * @param {Array} propertiesToInclude * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { return extend(this.callSuper('toObject', propertiesToInclude), { - objects: invoke(this.objects, 'toObject') + objects: invoke(this.objects, 'toObject', propertiesToInclude) }); }, @@ -12450,7 +12476,8 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns object representation of an instance * @method toObject - * @return {Object} Object representation of an instance + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { return extend(this.callSuper('toObject', propertiesToInclude), { @@ -12498,10 +12525,11 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { /** * Returns a clone of an instance * @mthod clone + * @param {Array} propertiesToInclude * @param {Function} callback Callback is invoked with a clone as a first argument */ - clone: function(callback) { - this.constructor.fromObject(this.toObject(), callback); + clone: function(callback, propertiesToInclude) { + this.constructor.fromObject(this.toObject(propertiesToInclude), callback); }, /** @@ -14077,7 +14105,8 @@ fabric.Image.filters.Pixelate.fromObject = function(object) { /** * Returns object representation of an instance * @method toObject - * @return {Object} Object representation of text object + * @param {Array} propertiesToInclude + * @return {Object} object representation of an instance */ toObject: function(propertiesToInclude) { return extend(this.callSuper('toObject', propertiesToInclude), { diff --git a/dist/all.min.js.gz b/dist/all.min.js.gz index 8cb56e8e31b32a30a977cb6e6733f35530fcd4b1..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 40568 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