fabric-rails 1.0.10 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +5 -1
- data/lib/fabric/rails/version.rb +2 -2
- data/vendor/assets/javascripts/fabric.js +91 -85
- metadata +2 -2
data/CHANGELOG.md
CHANGED
data/lib/fabric/rails/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/* build: `node build.js modules=ALL exclude=gestures` */
|
2
2
|
/*! Fabric.js Copyright 2008-2013, Printio (Juriy Zaytsev, Maxim Chernyak) */
|
3
3
|
|
4
|
-
var fabric = fabric || { version: "1.0.
|
4
|
+
var fabric = fabric || { version: "1.0.11" };
|
5
5
|
|
6
6
|
if (typeof exports !== 'undefined') {
|
7
7
|
exports.fabric = fabric;
|
@@ -2207,14 +2207,53 @@ fabric.Observable.trigger = fabric.Observable.fire;
|
|
2207
2207
|
ctx.restore();
|
2208
2208
|
}
|
2209
2209
|
|
2210
|
-
|
2211
|
-
|
2210
|
+
/**
|
2211
|
+
* Creates canvas element and initializes it via excanvas if necessary
|
2212
|
+
* @static
|
2213
|
+
* @memberOf fabric.util
|
2214
|
+
* @method createCanvasElement
|
2215
|
+
* @param {CanvasElement} [canvasEl] optional canvas element to initialize; when not given, element is created implicitly
|
2216
|
+
* @return {CanvasElement} initialized canvas element
|
2217
|
+
*/
|
2218
|
+
function createCanvasElement(canvasEl) {
|
2219
|
+
canvasEl || (canvasEl = fabric.document.createElement('canvas'));
|
2212
2220
|
if (!canvasEl.getContext && typeof G_vmlCanvasManager !== 'undefined') {
|
2213
2221
|
G_vmlCanvasManager.initElement(canvasEl);
|
2214
2222
|
}
|
2215
2223
|
return canvasEl;
|
2216
2224
|
}
|
2217
2225
|
|
2226
|
+
/**
|
2227
|
+
* Creates accessors (getXXX, setXXX) for a "class", based on "stateProperties" array
|
2228
|
+
* @static
|
2229
|
+
* @memberOf fabric.util
|
2230
|
+
* @method createAccessors
|
2231
|
+
* @param {Object} klass "Class" to create accessors for
|
2232
|
+
*/
|
2233
|
+
function createAccessors(klass) {
|
2234
|
+
var proto = klass.prototype;
|
2235
|
+
|
2236
|
+
for (var i = proto.stateProperties.length; i--; ) {
|
2237
|
+
|
2238
|
+
var propName = proto.stateProperties[i],
|
2239
|
+
capitalizedPropName = propName.charAt(0).toUpperCase() + propName.slice(1),
|
2240
|
+
setterName = 'set' + capitalizedPropName,
|
2241
|
+
getterName = 'get' + capitalizedPropName;
|
2242
|
+
|
2243
|
+
// using `new Function` for better introspection
|
2244
|
+
if (!proto[getterName]) {
|
2245
|
+
proto[getterName] = (function(property) {
|
2246
|
+
return new Function('return this.get("' + property + '")');
|
2247
|
+
})(propName);
|
2248
|
+
}
|
2249
|
+
if (!proto[setterName]) {
|
2250
|
+
proto[setterName] = (function(property) {
|
2251
|
+
return new Function('value', 'return this.set("' + property + '", value)');
|
2252
|
+
})(propName);
|
2253
|
+
}
|
2254
|
+
}
|
2255
|
+
}
|
2256
|
+
|
2218
2257
|
fabric.util.removeFromArray = removeFromArray;
|
2219
2258
|
fabric.util.degreesToRadians = degreesToRadians;
|
2220
2259
|
fabric.util.radiansToDegrees = radiansToDegrees;
|
@@ -2230,6 +2269,7 @@ fabric.Observable.trigger = fabric.Observable.fire;
|
|
2230
2269
|
fabric.util.populateWithProperties = populateWithProperties;
|
2231
2270
|
fabric.util.drawDashedLine = drawDashedLine;
|
2232
2271
|
fabric.util.createCanvasElement = createCanvasElement;
|
2272
|
+
fabric.util.createAccessors = createAccessors;
|
2233
2273
|
|
2234
2274
|
})();
|
2235
2275
|
(function() {
|
@@ -10106,26 +10146,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @scope fabric.Stati
|
|
10106
10146
|
}
|
10107
10147
|
});
|
10108
10148
|
|
10109
|
-
|
10110
|
-
for (var i = proto.stateProperties.length; i--; ) {
|
10111
|
-
|
10112
|
-
var propName = proto.stateProperties[i],
|
10113
|
-
capitalizedPropName = propName.charAt(0).toUpperCase() + propName.slice(1),
|
10114
|
-
setterName = 'set' + capitalizedPropName,
|
10115
|
-
getterName = 'get' + capitalizedPropName;
|
10116
|
-
|
10117
|
-
// using `new Function` for better introspection
|
10118
|
-
if (!proto[getterName]) {
|
10119
|
-
proto[getterName] = (function(property) {
|
10120
|
-
return new Function('return this.get("' + property + '")');
|
10121
|
-
})(propName);
|
10122
|
-
}
|
10123
|
-
if (!proto[setterName]) {
|
10124
|
-
proto[setterName] = (function(property) {
|
10125
|
-
return new Function('value', 'return this.set("' + property + '", value)');
|
10126
|
-
})(propName);
|
10127
|
-
}
|
10128
|
-
}
|
10149
|
+
fabric.util.createAccessors(fabric.Object);
|
10129
10150
|
|
10130
10151
|
/**
|
10131
10152
|
* Alias for {@link fabric.Object.prototype.setAngle}
|
@@ -14441,11 +14462,9 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @scope fabric.Stati
|
|
14441
14462
|
* @return {fabric.Image}
|
14442
14463
|
*/
|
14443
14464
|
fabric.Image.fromElement = function(element, callback, options) {
|
14444
|
-
options || (options = { });
|
14445
|
-
|
14446
14465
|
var parsedAttributes = fabric.parseAttributes(element, fabric.Image.ATTRIBUTE_NAMES);
|
14447
14466
|
|
14448
|
-
fabric.Image.fromURL(parsedAttributes['xlink:href'], callback, extend(
|
14467
|
+
fabric.Image.fromURL(parsedAttributes['xlink:href'], callback, extend((options ? fabric.util.object.clone(options) : { }), parsedAttributes));
|
14449
14468
|
};
|
14450
14469
|
|
14451
14470
|
/**
|
@@ -15374,6 +15393,37 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
15374
15393
|
return;
|
15375
15394
|
}
|
15376
15395
|
|
15396
|
+
var dimensionAffectingProps = {
|
15397
|
+
fontSize: true,
|
15398
|
+
fontWeight: true,
|
15399
|
+
fontFamily: true,
|
15400
|
+
textDecoration: true,
|
15401
|
+
fontStyle: true,
|
15402
|
+
lineHeight: true,
|
15403
|
+
strokeStyle: true,
|
15404
|
+
strokeWidth: true,
|
15405
|
+
text: true
|
15406
|
+
};
|
15407
|
+
|
15408
|
+
var stateProperties = fabric.Object.prototype.stateProperties.concat();
|
15409
|
+
stateProperties.push(
|
15410
|
+
'fontFamily',
|
15411
|
+
'fontWeight',
|
15412
|
+
'fontSize',
|
15413
|
+
'path',
|
15414
|
+
'text',
|
15415
|
+
'textDecoration',
|
15416
|
+
'textShadow',
|
15417
|
+
'textAlign',
|
15418
|
+
'fontStyle',
|
15419
|
+
'lineHeight',
|
15420
|
+
'strokeStyle',
|
15421
|
+
'strokeWidth',
|
15422
|
+
'backgroundColor',
|
15423
|
+
'textBackgroundColor',
|
15424
|
+
'useNative'
|
15425
|
+
);
|
15426
|
+
|
15377
15427
|
/**
|
15378
15428
|
* Text class
|
15379
15429
|
* @class Text
|
@@ -15486,6 +15536,14 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
15486
15536
|
*/
|
15487
15537
|
useNative: true,
|
15488
15538
|
|
15539
|
+
/**
|
15540
|
+
* List of properties to consider when checking if state of an object is changed (fabric.Object#hasStateChanged)
|
15541
|
+
* as well as for history (undo/redo) purposes
|
15542
|
+
* @property
|
15543
|
+
* @type Array
|
15544
|
+
*/
|
15545
|
+
stateProperties: stateProperties,
|
15546
|
+
|
15489
15547
|
/**
|
15490
15548
|
* Constructor
|
15491
15549
|
* @method initialize
|
@@ -15496,7 +15554,6 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
15496
15554
|
initialize: function(text, options) {
|
15497
15555
|
options = options || { };
|
15498
15556
|
|
15499
|
-
this._initStateProperties();
|
15500
15557
|
this.text = text;
|
15501
15558
|
this.setOptions(options);
|
15502
15559
|
this._initDimensions();
|
@@ -15510,38 +15567,9 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
15510
15567
|
*/
|
15511
15568
|
_initDimensions: function() {
|
15512
15569
|
var canvasEl = fabric.util.createCanvasElement();
|
15513
|
-
|
15514
15570
|
this._render(canvasEl.getContext('2d'));
|
15515
15571
|
},
|
15516
15572
|
|
15517
|
-
/**
|
15518
|
-
* Creates `stateProperties` list on an instance, and adds `fabric.Text` -specific ones to it
|
15519
|
-
* (such as "fontFamily", "fontWeight", etc.)
|
15520
|
-
* @private
|
15521
|
-
* @method _initStateProperties
|
15522
|
-
*/
|
15523
|
-
_initStateProperties: function() {
|
15524
|
-
this.stateProperties = this.stateProperties.concat();
|
15525
|
-
this.stateProperties.push(
|
15526
|
-
'fontFamily',
|
15527
|
-
'fontWeight',
|
15528
|
-
'fontSize',
|
15529
|
-
'path',
|
15530
|
-
'text',
|
15531
|
-
'textDecoration',
|
15532
|
-
'textShadow',
|
15533
|
-
'textAlign',
|
15534
|
-
'fontStyle',
|
15535
|
-
'lineHeight',
|
15536
|
-
'strokeStyle',
|
15537
|
-
'strokeWidth',
|
15538
|
-
'backgroundColor',
|
15539
|
-
'textBackgroundColor',
|
15540
|
-
'useNative'
|
15541
|
-
);
|
15542
|
-
fabric.util.removeFromArray(this.stateProperties, 'width');
|
15543
|
-
},
|
15544
|
-
|
15545
15573
|
/**
|
15546
15574
|
* Returns string representation of an instance
|
15547
15575
|
* @method toString
|
@@ -16200,20 +16228,6 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
16200
16228
|
return this;
|
16201
16229
|
},
|
16202
16230
|
|
16203
|
-
/**
|
16204
|
-
* Sets fontSize of an instance and updates its coordinates
|
16205
|
-
* @method setFontsize
|
16206
|
-
* @param {Number} value
|
16207
|
-
* @return {fabric.Text} thisArg
|
16208
|
-
* @chainable
|
16209
|
-
*/
|
16210
|
-
setFontsize: function(value) {
|
16211
|
-
this.set('fontSize', value);
|
16212
|
-
this._initDimensions();
|
16213
|
-
this.setCoords();
|
16214
|
-
return this;
|
16215
|
-
},
|
16216
|
-
|
16217
16231
|
/**
|
16218
16232
|
* Returns actual text value of an instance
|
16219
16233
|
* @method getText
|
@@ -16223,20 +16237,6 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
16223
16237
|
return this.text;
|
16224
16238
|
},
|
16225
16239
|
|
16226
|
-
/**
|
16227
|
-
* Sets text of an instance, and updates its coordinates
|
16228
|
-
* @method setText
|
16229
|
-
* @param {String} value
|
16230
|
-
* @return {fabric.Text} thisArg
|
16231
|
-
* @chainable
|
16232
|
-
*/
|
16233
|
-
setText: function(value) {
|
16234
|
-
this.set('text', value);
|
16235
|
-
this._initDimensions();
|
16236
|
-
this.setCoords();
|
16237
|
-
return this;
|
16238
|
-
},
|
16239
|
-
|
16240
16240
|
/**
|
16241
16241
|
* Sets specified property to a specified value
|
16242
16242
|
* @method set
|
@@ -16250,6 +16250,11 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
16250
16250
|
this.path = this.path.replace(/(.*?)([^\/]*)(\.font\.js)/, '$1' + value + '$3');
|
16251
16251
|
}
|
16252
16252
|
this.callSuper('_set', name, value);
|
16253
|
+
|
16254
|
+
if (name in dimensionAffectingProps) {
|
16255
|
+
this._initDimensions();
|
16256
|
+
this.setCoords();
|
16257
|
+
}
|
16253
16258
|
}
|
16254
16259
|
});
|
16255
16260
|
|
@@ -16305,6 +16310,8 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
16305
16310
|
return text;
|
16306
16311
|
};
|
16307
16312
|
|
16313
|
+
fabric.util.createAccessors(fabric.Text);
|
16314
|
+
|
16308
16315
|
})(typeof exports !== 'undefined' ? exports : this);
|
16309
16316
|
(function() {
|
16310
16317
|
|
@@ -16455,4 +16462,3 @@ fabric.Image.filters.Pixelate.fromObject = function(object) {
|
|
16455
16462
|
}
|
16456
16463
|
|
16457
16464
|
})();
|
16458
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fabric-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-19 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: This gem provides fabric.js for your Rails 3 application via the asset
|
15
15
|
pipeline.
|