kangax
d6a73aa7f5
Make isSameColor cave-insensitive. Closes #1272
2014-04-14 12:17:06 -04:00
Anders Lisspers
f5ba67541e
Adds test case for rgba percentages with decimals
2014-02-27 10:19:42 +01:00
XhmikosR
d8b1eca014
Trim trailing spaces.
2014-02-23 20:16:20 +02:00
Maciej Filip Szkodziński
7d72d0500f
Removed Line._getCenterToCenter helpers
...
Pre-rendering context translation for lines in path-groups uses the
pre-existing getCenterPoint.
Removed tests for removed code.
2014-02-05 17:33:20 +01:00
Maciej Filip Szkodziński
df764728e0
Fix group mocks in Line tests
...
Added missing semicolons in tests.
Refactored Line centerToCenterGetter to improve readability.
2014-02-05 17:07:45 +01:00
Maciej Filip Szkodziński
6b1e144c44
Line coordinates are correct
...
fabric.Line._setWidthHeight was assigning left and top as if both
origins were 'center'.
It now uses private helper methods to calculate the distances from
left and top edges of canvas to the line origins.
The data for existing Line.toObject test is updated with origin-relative
coordinates.
Rendering of line inside a path-group was assuming a 'center' origin
for both coordinates.
Context translation done before rendering for lines inside path-groups
now uses private helper methods to calculate distances from the center
of path-group to center of line.
2014-02-05 15:42:52 +01:00
Kienz
61f65bc206
Fix path regExp for compressed path commands
...
Fix regExp for e^x numbers
Add unit test for e^x numbers
2014-01-12 13:50:03 +01:00
kangax
448dfad97e
Fix unit tests
2014-01-04 15:02:51 -05:00
kangax
ea811cbb23
Fix fabric.Path#path being "cloned" by reference
2013-12-31 09:29:14 -05:00
kangax
dbd9193703
Debounce element parsing. Thanks @biovisualize. Closes #1052
2013-12-14 12:19:54 +01:00
Kienz
fd3ace05bb
[BACK_INCOMPAT] Possibility to remove multiple fabric.Objects from collection (canvas, group) - this (canvas, group or object) is returned instead of delete object
...
Update unit tests - use strictEqual for some cases
Add multiple objects raised `object:added` for last added object first - now 1st added object raises 1st `object:added` event, 2nd object raises 2nd `object:added`…
2013-12-07 11:07:46 +01:00
kangax
b189645bba
Fix unit test
2013-11-25 21:57:32 +01:00
kangax
ae11740f82
Fix i-text style copy-pasting (doesn't work with multiline yet)
2013-11-25 21:32:00 +01:00
kangax
f84ac95f75
fix test
2013-11-25 16:53:31 +01:00
kangax
4950e35627
Add remaining i-text unit tests
2013-11-25 16:39:50 +01:00
kangax
1075ed0851
Even more i-text unit tests
2013-11-23 19:33:48 +01:00
kangax
58464d4773
More i-text unit tests
2013-11-23 19:28:12 +01:00
kangax
3abe2f74f3
Add expect(0)
2013-11-23 17:49:21 +01:00
kangax
854d428c38
Add more tests
2013-11-23 17:35:31 +01:00
kangax
82509dc8d8
More IText tests
2013-11-23 13:45:53 +01:00
kangax
673fa39eba
Start adding i-text unit tests; add additional util and color tests
2013-11-22 17:30:55 +01:00
Kienz
d4b2ea18b7
Fix center methods for object’s with different originX/originY
...
object.center() only re-renders canvas once instead of twice
Update unit tests
2013-11-20 20:41:13 +01:00
Kienz
67fd4253f3
Fix unit tests
2013-11-20 19:47:30 +01:00
kangax
ffe6091dd7
Move getObjects to fabric.Collection. Add support for getObjects(type). Version 1.3.10.
2013-11-09 14:50:30 +01:00
Kienz
42935be697
Remove activeObject in fabric.Canvas#remove
...
Fire 'before:selection:cleared' and 'selection:cleared' if activeObject is removed from canvas
Add unit test
Fixes issue #962
2013-11-08 19:09:16 +01:00
kangax
d0abb90f1c
Add fabric.Image#crossOrigin which allows crossOrigin image loading and canvas rendering without tainting. fabric.util.loadImage now accepts 4th argument (crossOrigin) and sets crossOrigin="" on image element by default. fabric.Image.fromURL can be passed crossOrigin via 3rd argument (options). Closes #263
2013-11-05 15:13:15 +01:00
Juriy Zaytsev
fe54615584
Merge pull request #931 from lorenzopolidori/controls-visibility
...
Added object controls visibility. Closes #552 .
2013-11-03 15:28:19 -08:00
kangax
330784ac2c
[BACK_INCOMPAT] Change default objects' originX/originY to left/top
2013-11-04 00:15:49 +01:00
Lorenzo Polidori
d1642c0729
Added object controls visibility (github issue #552 ).
2013-11-03 23:08:05 +00:00
Kienz
5017bc6626
[BACK_INCOMPAT] fabric.StaticCanvas#backgroundImage and fabric.StaticCanvas#overlayImage are fabric.Image instances. fabric.StaticCanvas#backgroundImageOpacity, fabric.StaticCanvas#backgroundImageStretch, fabric.StaticCanvas#overlayImageLeft and fabric.StaticCanvas#overlayImageTop were removed.
...
`backgroundImage` and `overlayImage` are now `fabric.Image` instances
New property `overlayColor` (analog to `backgroundColor`) - should be set with `canvas.setOverlayColor`
`backgroundImageOpacity` was removed => use `fabric.Image#opacity`
`overlayImageLeft ` was removed => use `fabric.Image#left`
`overlayImageTop ` was removed => use `fabric.Image#top`
`backgroundImageStretch` was removed => use `fabric.Image#width` and `fabric.Image#height`. If you scale your canvas you have to adjust the backgroundImage width/height manually.
Update SVG output.
Add 2nd parameter `firstLetterOnly` to `fabric.util.string.capitalize` => only first letter is transformed to uppercase (other letters stay untouched)
Add `preserveAspectRatio="none"` to `fabric.Image#toSVG` (otherwise streched backgroundImage and overlayImage didn't work as expected)
Update examples - TODO: Update jsfiddles for `setBackgroundImage` and `setOverlayImage`
Add unit test
Closes issue #270
2013-11-03 13:09:49 +01:00
Kienz
6f115bbf1e
Fix fabric.util.enlivenObjects for empty fabric.Group objects
...
Add unit test
Fixes issue #943
2013-11-02 16:02:38 +01:00
kangax
c6ff46269c
Preserve canvas reference in fabric.Object#toDataURL. Closes #938
2013-10-31 16:00:31 +01:00
Alex Chuchunkov
a6f8e16c81
stopObserving w/o arguments removes all event - handler pairs. Closes issue #936
2013-10-29 22:47:29 +04:00
kangax
ae5973676a
Support includeDefaultValues in shadow serialization
2013-10-25 09:05:39 +02:00
Kienz
14d053e9b2
Fix unit test
2013-09-29 10:21:55 +02:00
Kienz
be86429b32
Add reviver function to fabric.Canvas.toSVG.
...
Reviver function accepts one parameter (svg string representation of object instance) and should return svg string.
Add qunit test.
2013-09-29 09:22:44 +02:00
kangax
f2ad6e5be6
[BACK_INCOMPAT] Move "backgroundColor" from fabric.Text to fabric.Object (only works with text for now). Remove fabric.Object#overlayFill. Remove fabric.Canvas.toGrayscale, fabric.Object#toGrayscale, and fabric.Object#overlayFill. Version 1.3.5
2013-09-28 23:47:53 +02:00
kangax
83ca60e885
Fix resolveNamespace and getKlass on node
2013-09-24 13:25:38 +02:00
Kienz
cabc63c633
Fixed unit test
2013-09-20 22:38:37 +02:00
Stefan Kienzle
60e9d0f144
[BACK_INCOMPAT] Initialization of fabric.Image.filters.Tint is now different - options.color: color string value, options.opacity: 0..1
...
Now you can define opacity of the tint filter (by rgba/hsla colors or with opacity attribute)
Doc additions
2013-09-20 19:51:55 +02:00
Kienz
cb510b9ef3
Fixed fabric.Group.toSVG- object order was wrong
2013-09-18 19:17:50 +02:00
kangax
408a8b9de6
Alias "jpg" format to "jpeg". Closes #806
2013-09-14 18:44:44 +02:00
Kienz
26e784aede
Move setColorfrom fabric.Text to fabric.Object
...
Fixed "enum" notation
`fabric.Object.setGradient` is now chainable
Doc additions
Add `fabric.Object.setPatternFill`unit test
Add chainable tests to some methods
2013-09-14 17:10:49 +02:00
Juriy Zaytsev
a7489774fd
Merge pull request #840 from Kienz/patch-2
...
`fabric.Observable.on` and `fabric.Observable.off` can add/remove multiple handlers (object with key/value pairs). Closes #838
2013-09-12 14:49:31 -07:00
Kienz
1e1adc7831
fabric.Observable.on and fabric.Observable.off can add/remove multiple handlers (object with key/value pairs)
...
Update jsdoc
Add unit tests
2013-09-12 20:43:31 +02:00
Kienz
9f6dea5d9e
Add reviver function to fabric.Canvas.loadFromJSON (and loadFromDatalessJSON)
...
Add unit test
2013-09-12 20:10:23 +02:00
kangax
5ebd697978
[BACK_INCOMPAT] Remove selectable, hasControls, hasBorders, hasRotatingPoint, transparentCorners, perPixelTargetFind from default object/json representation of objects. Fix includeDefaultValues. Version 1.2.13. Closes #795
2013-09-11 11:41:00 +02:00
Stefan Kienzle
d190c31e8b
Renamed fabric.Shadow.getShadow to fabric.Shadow.toString
2013-09-05 18:09:34 +02:00
Juriy Zaytsev
ed1c116793
Merge pull request #823 from Kienz/patch-1
...
[BACK_INCOMPAT] `fabric.Text.textShadow`was removed and `fabric.BaseBrush` shadow properties removed (new `fabric.BaseBrush.shadow`)
2013-09-03 12:27:13 -07:00
kangax
4559918688
Resolve conflicts
2013-09-03 21:18:29 +02:00
Drew Lustro
1f993e92b8
requirejs support added via "requirejs" build.sh option
...
$ node build modules=ALL requirejs
- dist/all* is clean of changes
- fixed bug in build.sh that would prevent dist/all.require.js from compiling properly
- Updated test.js to include test_script.js fixtures
- NOTE: Qunit tests largely incompatible with requirejs version... need more
insight on how Qunit works to get fabric in the namespace since it is
no longer a global when built as an AMD module.
2013-09-03 14:15:12 -04:00
Kienz
8c74f2b335
[BACK_INCOMPAT] fabric.Text#textShadow has been removed - new fabric.Text.shadow property (type of fabric.Shadow)
...
[BACK_INCOMPAT] `fabric.BaseBrush`shadow properties are combined into one property => `fabric.BaseBrush.shadow`(shadowColor, shadowBlur, shadowOffsetX, shadowOffsetY no longer exist)
Removed fabric.Text.getText method => is generated with `fabric.util.createAccessors`
`fabric.Shadow` can now initialized with string or object (e.g. '10px 10px 5px rgb(0,0,255)', 'rgb(0,0,255) 10px 10px 5px', {color: 'gb(0,0,255)', offsetX: 10, offsetY: 10, blur: 5})
`fabric.Shadow.getShadow`to get css3 declaration of shadow (String)
`fabric.Object.set('shadow', value)`is now the same as `fabric.Shadow.setShadow(value)`
Add unit tests
2013-09-03 19:11:21 +02:00
kangax
9539306a0e
Add test for context in trigger
2013-09-03 11:53:10 +02:00
kangax
ec32a3c399
Make on/off/trigger chainable
2013-09-03 11:52:10 +02:00
kangax
191ce1aa69
Build distribution, fix unit test
2013-08-30 13:52:24 +02:00
Stefan Kienzle
89f3ab0668
Fix fabric.Circle.set for radius - update width/height if radius is set
...
Closes issue #811
2013-08-30 11:51:08 +02:00
Kienz
345ed3f5e9
Fix fabric.Text#fontFamily in SVG output - Closes issue #813
...
Add unit tests
2013-08-29 22:06:24 +02:00
kangax
434bfb2c6d
Fix fabric.Canvas subclassing; fabric.Canvas, fabric.StaticCanvas now created via createClass.
2013-08-28 15:17:25 +02:00
Kienz
f31a62a25c
Add encoding to canvas.toSVG(options)
...
Add unit tests for canvas.toSVG
2013-08-27 20:32:15 +02:00
kangax
78dc27a029
Call abort in context of an object. Closes #803
2013-08-23 14:30:33 +02:00
Kienz
026df90193
Add fabric.Image.filters.Mask unit test
2013-08-18 21:01:50 +02:00
Kienz
a61b384684
Add toJSON back to image filters
...
Add toJSON to unit tests
2013-08-09 20:37:56 +02:00
Kienz
f2035da955
Add image filter tests
...
Doc fixes
2013-08-09 19:59:30 +02:00
Stefan Kienzle
6599d393ac
Fix fabric.Image.setElement - now _element and _originalElement (until now _originalImage) are set. Closes #745
...
Add additional parameter callback (invoked after filters habe been applied).
Fix `fabric.Image.fromObject` - don't overwrite image width/height with object width/height.
`fabric.Image.applyFilters` only resets _originalElement - fixes issue if object's width/height are different to _originaElement's width/height
[BACK_INCOMPAT] Renamed `fabric.Image.filters` method `toJSON` -> `toObject`
Fix serializiation of fabric.Image filter objects
2013-08-09 14:18:27 +02:00
Kienz
b63a943137
Renamed property renderOnAddition to renderOnAddRemove
...
fabric.Canvas.renderAll can now be disabled on removing objects (renderOnAddRemove = false)
Add tests for renderOnAddRemove (add, insertAt and remove)
jsdoc additions
2013-08-07 21:01:45 +02:00
kangax
67b54a44a5
Fix pattern toSVG
2013-07-22 22:00:03 +02:00
kangax
974ed943b8
Fix polyline, polygon tests and JSHint warnings
2013-07-22 14:39:07 +02:00
Kienz
c9d866dcf9
Fixed fabric.PathGroup.fromObject - use fabric.util.enlivenObjects to instatiate fabric.Path objects
...
Corrected jsdoc tags for fabric.PathGroup.fromObject, fabric.Path.fromObject and fabric.Path.fromElement
Fixed quint tests for fabric.Path and fabric.PathGroup
2013-07-18 22:21:19 +02:00
kangax
c8cab03aac
[BACK_INCOMPAT] fabric.Path.fromObject is now async. fabric.Canvas#loadFromDatalessJSON is deprecated.
2013-07-12 22:38:21 +02:00
kangax
21f87bb63a
Fix polygon/polyline tests and minor cleanup
2013-07-07 22:25:01 +02:00
kangax
33fd6c66b5
Version 1.2.1
2013-07-06 16:04:29 +02:00
Kienz
520b2258d3
Convert opacity value into float value. If stop-opacity is set as attribute (not as style attribute) el.getAttribute('stop-opacity') returns null. Problem exists since commit a0b7fa4eb9.
...
Add default value rgb(0,0,0) for stop-color and 1 for stop-opacity.
Add more gradient tests.
2013-07-02 21:09:50 +02:00
kangax
6597b8919b
Make sure only existent custom properties included in output. Closes #713
2013-06-19 12:49:45 +02:00
Kienz
57de0f7f3a
Add more tests to gradient (distinguish between linearGradient and radialGradient)
2013-06-18 22:34:18 +02:00
kangax
be8e921e57
Fix nested matrix multiplication. Closes #705
2013-06-13 23:10:33 +02:00
kangax
5bd8ba28d6
Fix loadFromJSON callback when objects array is empty. Closes #703
2013-06-13 13:39:17 +02:00
kangax
044f5ed483
Fix rect positioning when loading from JSON. Closes #522
2013-06-03 02:24:41 +02:00
kangax
5a28acb032
Fix toJSON/toSVG serialization when there's active group on canvas. Closes #645
2013-06-03 01:55:51 +02:00
kangax
2407dbba49
Implement clipTo serialization, deserialization, and initialization. Closes #583 . Closes #677 . Closes #676
2013-06-02 23:04:54 +02:00
kangax
221146997c
Fix pattern initialization from function string. Closes #442 . Version 1.1.18
2013-06-02 22:07:16 +02:00
kangax
1c1b7e4b95
Fix function body matching regex. Add fabric.util.getFunctionBody
2013-06-01 18:08:36 +02:00
Kienz
2c29c0cfab
Fix typo, add hsl/hsla (with whitespaces) unit tests and move stuff outside of functions
2013-05-25 19:42:31 +02:00
Kienz
1ba6d1345e
Merge remote-tracking branch 'origins/master' into parseSVGOpacity
2013-05-25 11:32:59 +02:00
Kienz
66fc8f4d4b
Parse SVG stroke-opacity and fill-opacity
...
- SVG attribute opacity is now used for object's opacity
- fill-opacity and stroke-opacity are added to stroke and fill color value
- Add hsl/hsla support (e.g. hsl(270, 80%, 10%), hsla(320, 10%, 66%, 0.5))
- Add support for rgb/rgba values with whitespaces around values (e.g. rgba( 255 , 100 , 50 , 0.1 )) and percentage values (e.g. rgb(100%, 67%, 15%, 0.8))
- Delete stroke and strokeWidth from fabric.Text (defined in fabric.Object)
- New unit test for parse stroke-opacity and fill-opacity
- Update unit tests (new tests for hsl/hsla and rgb/rgba (whitespaces and percentage values))
- Change equal and deepEqual parameter order (e.g. equal(actualValue, expectedValue, message))
- Doc additions
2013-05-25 11:03:09 +02:00
kangax
d23cbcbb3a
Fix unit tests
2013-05-23 20:16:08 +02:00
Kienz
c03c556177
Fix wrong positioned bounding box of fabric.Polygon and fabric.Polyline objects
...
- Substract minX and minY from points.x/points.y (_calcDimensions)
- Same in fromElement - but only if minX or minY is negative
2013-05-23 20:02:44 +02:00
Kienz
f0ca6b7b8f
Remove fabric.Group.containsPoint => uses now fabric.Object.containsPoint
...
Update group unit test - containsPoint checks now scaled group and group with padding
Fix text unit test (complexity, toString)
2013-05-20 18:41:16 +02:00
Kienz
d80fec5df1
Better strokeDashArray support + Fixes
...
- fabric.Text has now strokeDashArray support (only native support)
- fabric.Text.fill = null should now work
- Fix save/restore context in render methods => setLineDash affected drawBorder/drawControls
- Add strokeLineCap (default "butt"), strokeLineJoin (default "miter") and strokeMiterLimit (default 10)
- Add support for fabric.Object#fromElement for strokeDashArray (and other stroke properties)
- Add @default tag to properties (JSDoc 3)
- strokeDashArray now only works if stroke property is defined
- Add trokeLineCap (default "round"), strokeLineJoin (default "round") to fabric.BaseBrush
- Updated unit tests
2013-05-18 13:01:34 +02:00
kangax
c65b1f5e7d
Add support for parsing shorthand font declaration in styles, such as "font: italic 12px Arial,Helvetica,sans-serif"
2013-05-12 13:01:23 -04:00
Kienz
6e612facc6
Fix isContainedWithinRect and isContainedWithinObject, Add fabric.Object.containsPoint
2013-05-09 19:41:04 +02:00
kangax
a47128afa4
Add support for same options in fabric.Object#toDataURL as there are in fabric.Canvas#toDataURL. Closes #609
2013-05-06 11:52:16 -04:00
kangax
35d5cf220f
[BACK_INCOMPAT] Make fabric.Object#toDataURL synchronous. Fix fabric.Object#cloneAsImage to preserve angle. Closes #596
2013-05-01 14:49:42 -04:00
kangax
eeecde62a8
Normalize style values. Closes #598
2013-05-01 02:58:59 -04:00
kangax
f6da728aad
Add support for parsing "compressed" path data in SVG path's. Version 1.1.10
2013-04-29 11:12:20 -04:00
kangax
c16dcf88a4
Change inline docs to conform to jsdoc3
2013-04-24 12:58:04 -04:00
kangax
22de40dc54
Add support for pattern offsets (via fabric.Pattern#offsetX/offsetY). Version 1.1.8
2013-04-22 09:16:58 -04:00
kangax
e56d37d9da
Fix text and line rendering in path group. Add support for multiple declarations in "transform" attribute. Fix stroke color of line. Version 1.1.7
2013-04-18 21:42:46 -04:00
kangax
fcc0c5cbbb
Only call change and complete callbacks once, when animating multiple properties. Closes #544
2013-04-06 12:44:10 +02:00
kangax
5a3d59c3a7
Fix text unit test
2013-04-04 14:03:08 +02:00
kangax
d24d6307e5
[BACK_INCOMPAT] fabric.Object.setActive(…) -> fabric.Object.set('active', …). fabric.Object.isActive is gone (use active instead)
2013-03-29 16:26:27 +01:00
kangax
40bda07140
Fix fabric.Canvas#clipTo. Thanks @sn3p
2013-03-24 18:09:55 +01:00
Kienz
3a0a2c7fd2
Implement fabric.StaticCanvas#moveTo to move object to specified level in stack of drawn objects
...
You can also move fabric.Group objects in the grub objects stack to a specified level.
Add unit tests for moveTo.
2013-03-22 15:10:44 +01:00
kangax
919f95a0a0
Move collection-related methods to fabric.Collection, shared by fabric.Canvas and fabric.Group.
2013-03-20 10:28:35 +01:00
kangax
d89bbf0d8d
Temporarily comment out unit tests that fail due to Node 0.10 bug ( https://github.com/joyent/node/issues/5011 )
2013-03-19 13:10:33 +01:00
kangax
e8e32e80de
Fix gradient colorStops initialization. Thanks @Kienz
2013-03-18 13:11:31 +01:00
kangax
2622a380bf
[BACK_INCOMPAT] fabric.Group#objects -> fabric.Group._objects (making it consistent with canvas._objects). Objects in group always have group reference to a group they're in. bringToFront, sendToBack, etc. now work in relation to group when called on objects within group.
2013-03-16 16:41:19 +01:00
kangax
9fb9b1ca34
Fix unit tests
2013-03-10 20:58:48 +01:00
kangax
506125bbe6
[BACK_INCOMPAT] fabric.Canvas.toDataURL now accepts options object instead linear arguments. fabric.Canvas.toDataURLWithMultiplier is deprecated; use toDataURL({ multiplier: … }) instead.
2013-03-06 18:47:50 +01:00
kangax
43dd170f5b
Add fabric.Object#visible property. Closes #342 . Version 1.0.13.
2013-03-06 18:45:18 +01:00
kangax
9be89b2f2f
drawCorners -> drawControls, for consistency. Remove unused hasCorners and use hasControls instead of hideCorners. Version 1.0.12
2013-02-20 13:19:22 +01:00
kangax
9df85553b9
[BACK_INCOMPAT] Add fabric.util.createAccessors. Add accessors for fabric.Text -specific properties (setTextDecoration, setFontWeight, setFontStyle, etc.). Make text object dimensions change when setting dimension-affecting properties. fabric.Text#setFontsize becomes setFontSize. Version 1.0.11.
2013-02-18 16:22:48 +01:00
kangax
7b8dfe5a30
More test fixes
2013-02-17 13:48:21 +01:00
kangax
3f3d336852
Fix text unit tests
2013-02-17 13:26:53 +01:00
kangax
160e7e5ded
Alias fabric.Observable.fire to trigger, similar to jQuery, Backbone, etc. Closes #401
2013-02-11 13:22:30 +01:00
kangax
97fa81aa77
Fix polygon boundaries. Closes #416
2013-02-11 13:21:33 +01:00
Arthaey
48ab4607b9
Add option to suppress XML preamble in toSVG method.
2013-02-05 22:20:56 -08:00
kangax
5ee9b13a92
Add support for shadows (via fabric.Shadow)
2013-02-04 20:49:05 +01:00
kangax
107dcfcbd6
Add fabric.Pattern tests
2013-02-03 17:01:01 +01:00
kangax
6777c50012
Add support for patterns
2013-02-03 02:15:29 +01:00
kangax
15eee3b861
Fix tests
2013-01-02 23:33:21 +01:00
kangax
7121830ca6
Merge dynamic origin branch into master. Version 1.0.0
2012-12-29 20:04:24 +01:00
kangax
2735d543e2
Merge master. Enable hasRotatingPoint by default (now that objects are not rotated via corners)
2012-12-26 11:18:17 +01:00
kangax
894988b508
Fix browser-based unit tests
2012-12-23 23:30:01 +01:00
kangax
c11abb377f
Fix tests. Build distribution. Version 0.9.35.
2012-12-23 15:28:08 +01:00
kangax
4ae8b9d725
Simplify object straightening logic. Thanks @woutercommandeur. Closes #362 .
2012-12-22 20:20:54 +01:00
kangax
882d7085d8
Fix fabric.Object#cloneAsImage on node. Closes #336 . Version 0.9.34
2012-12-20 19:49:51 +01:00
kangax
f0d2235053
Fix group loading in dateless json. Closes #322
2012-12-20 16:23:31 +01:00
kangax
245de99834
Fix unit tests
2012-12-16 21:11:38 +01:00
kangax
35ba6c6bf5
Final fix for fabric.util.loadImage
2012-12-10 15:59:44 +01:00
kangax
5d1cfce96a
Try to fix fabric.util.loadImage test once again.
2012-12-10 15:52:14 +01:00
kangax
26d735146f
Fix fabric.util.loadImage test.
2012-12-10 15:44:30 +01:00
Kienz
332dcd81c2
Add unit tests for loadFromJSON with json object instead of json string
2012-12-08 13:38:19 +01:00
kangax
2b33b7f570
Locking properties (lockMovementX, lockMovementY, lockRotation, etc.) are now respected in groups. Closes #152 .
2012-12-07 15:39:47 +01:00
kangax
7a1de3c57b
Fix fabric.util.loadImage test.
2012-12-04 12:39:46 +01:00
kangax
801fd3fb4d
Fix text test.
2012-12-04 12:03:16 +01:00
kangax
b330c9d715
Build distribution. Fix unit tests. Version 0.9.27.
2012-12-03 20:23:45 +01:00
kangax
1633bce401
Add most of the unit tests for fabric.util methods. Fix #35 .
2012-12-01 17:52:03 +01:00
kangax
2329ef59fe
Add support for specifying additional properties to return in toObject, toJSON. Fix #272 .
2012-11-30 23:46:09 +01:00
kangax
dbe5ad2149
Adjust positioning of text objects created via fromElement. Fix #303 . Version 0.9.20.
2012-10-31 00:19:13 +01:00
Steve Pemberton
e8a696c4b1
fix for retreiving scrolled & Fixed Descendants, Mouse Position
2012-10-24 19:56:48 +01:00
kangax
0e3abc745d
Fix unit test
2012-10-23 23:10:17 +02:00
kangax
70784f55d9
Add support for off method to remove all handlers for event when not given any handlers.
2012-10-20 20:11:16 +02:00
kangax
8494350baf
Remove onFpsUpdate as it's such a rarely used functionality (and could be accomplished on application level).
2012-10-20 20:10:32 +02:00
kangax
f9eeeb2916
Fix unit tests.
2012-10-14 02:53:25 +02:00
kangax
307c9503d4
Fix fabric.Group#toObject not serializing children image objects. Fix #260 .
2012-10-08 21:01:29 +02:00
kangax
999f7f5231
Account for bounding box in scaleToWidth/scaleToHeight. Fix #271 . Version 0.9.12.
2012-10-08 19:35:37 +02:00
kangax
b555245780
Add support for animating multiple properties.
2012-10-03 23:45:49 +02:00
kangax
0ead6db114
Path groups now have empty fill by default.
2012-09-10 19:54:47 -04:00
kangax
f8ecc529f5
Fix fontFamily setting.
2012-09-10 19:45:25 -04:00
kangax
44dc5f7fe7
Update text dimensions after changing text. Closes #257 . Version 0.9.7.
2012-09-07 13:30:32 -04:00
kangax
7cf01772a4
Fix fabric.Text#set.
2012-09-07 13:15:42 -04:00
kangax
ada83ffff5
Change unstable image test once again
2012-09-06 12:06:40 -04:00
kangax
762cfb7b8a
Fix unit tests. Add loadFromJSON test for previous fix. Version 0.9.5.
2012-09-02 12:28:52 -04:00
kangax
db37e1e855
Add convenience methods to objects, utilizing new object.canvas property — reference to a canvas to which an object was added last. Add unit tests for new methods.
2012-08-20 18:23:54 +02:00
kangax
9a7d40d7d7
Change the way gradients are initialized.
...
They no longer need `ctx` property, which is now taken from object directly during rendering time.
Add unit tests for gradients.
2012-08-20 18:23:53 +02:00
kangax
d97f08b5a3
Remove line.html file.
2012-08-20 18:23:53 +02:00
kangax
8e429ceaf9
Fix loadFromDatalessJSON when native text is present in data. Bump allowed node version to 0.8.6.
2012-08-15 15:30:59 +02:00
kangax
98614842e7
Bring IMG_WIDTH/IMG_HEIGHT back.
2012-08-14 16:13:30 +02:00
kangax
7151dc211c
Fix failing unit tests.
2012-08-14 16:04:32 +02:00
David Rice
19763483df
With node-canvas 0.13.0 (and libgif installed) image width/height can be determined for a .gif
2012-08-13 16:30:31 +01:00
kangax
3ce8507932
Implement fabric.Text.fromElement. Closes #182 .
2012-08-11 18:59:53 +02:00
kangax
df02b880ae
Remove no longer needed test files
2012-08-11 16:32:02 +02:00
kangax
fe9d927d47
Move site into a different repository.
2012-08-10 17:20:04 +02:00
kangax
fe08e6aa3b
Revamp site to use jekyll.
2011-09-07 18:02:17 -04:00
kangax
8ea5f0d52c
Closes #47 . More conforming Function.prototype.bind.
2011-08-29 12:09:32 -04:00
kangax
a3d693302c
Closes #38 . Add support for fabric.Canvas#backgroundImage.
2011-08-28 14:55:33 -04:00
kangax
a41fd5dffd
Closes #43 . fabric.Text#set can now accept object with property/values.
2011-08-12 13:46:17 -04:00
kangax
8f819bb760
Fabric can now run under node.js
2011-08-11 15:18:18 -04:00
kangax
27999a327c
Add unit tests for fabric.loadSVGFromString.
2011-08-04 20:48:25 -04:00
kangax
04bb0aad66
Add "hasControls" and "hasBorders" options to fabric.Object. "hasControls", when set to false allows to fully disable controls rendering (and mouse detection); hasBorders does the same for object borders. Fix failing unit tests. Update QUnit.
2011-08-02 19:35:02 -04:00
kangax
76b67aa34c
[BACK_INCOMPAT] More consistent option names in fabric.Text: fontfamily --> fontFamily, fontsize --> fontSize, fontweight --> fontWeight (similarly to other options, like textShadow, textDecoration, fontStyle, etc.)
2011-07-21 20:32:02 -04:00
kangax
e3dd685f1b
Add support for "textAlign" in fabric.Text. Could be any of "left", "center", or "right" values. Works with multiline text.
2011-07-21 14:53:48 -04:00
kangax
89c030ebdf
Closes #18 . Less confusing method names: removeActiveObject --> discardActiveObject, removeActiveGroup --> discardActiveGroup (since both of those methods don't actually _remove_ objects). [BACK_INCOMPAT]
2011-07-15 11:39:48 -04:00
kangax
c046bbd5f1
Closes #34 — Support multiple sequences of command arguments in SVG paths.
2011-07-09 15:50:44 -04:00
kangax
7a62895d03
Fix bootstrapping of functional tests.
2011-07-09 11:00:55 -04:00
kangax
1bed43e3c4
Add unit tests for fabric.Observable. fabric.Canvas#observe can now accept object — canvas.observe({ event1: ..., event2: ... }).
2011-07-02 01:19:32 -04:00
kangax
31e3ae7bb7
Fix menu links on couple of pages.
2011-06-29 11:11:53 -04:00
kangax
a7155ccbfb
Reorganize project structure. Add "customization" demo (work in progress).
2011-06-29 11:10:08 -04:00
kangax
628efcdc70
fabric.Element is renamed to fabric.Canvas, which makes more sense. fabric.Element is kept for compatibility reasons (but is deprecated). Bump version to 0.3.
2011-06-28 19:14:40 -04:00
kangax
6845db3670
Rework observable mechanism: All events are now scoped to canvas instances. fabric.util.observeEvent(...) becomes canvas.observe(...) and only observes events of that particular canvas instance. fabric.util.observeEvent becomes fabric.util.observe, fabric.util.stopObservingEvent — fabric.util.stopObserving, and fabric.util.fireEvent — fabric.util.fire. These could still serve as a generic pub-sub mechanism. Add "mouse:down" event (to be consistent with "mouse:up"). Add "Event inspector" demo page.
2011-06-27 18:25:45 -04:00
kangax
e7aafae9e7
Add support for "opacity" attribute.
2011-06-14 17:28:54 -04:00
kangax
27c72bd634
Use set with object in tests (rather than chaining it).
2011-06-14 10:11:25 -04:00
kangax
0a9d835b12
Dynamically generate accessors based on state properties — width, height, fill, opacity, scaleX, scaleY, etc. For example, rect.set('fill', 'red') can now be replaced with rect.setFill('red'), and rect.get('opacity') with rect.getOpacity().
2011-05-31 00:56:01 -04:00
kangax
d7fd8f0af3
fabric.Object#set can now be passed an object of property/value pairs rather than just property and value. E.g.: rect.set({ width: 100, height: 50, fill: 'red' }).
2011-05-29 21:59:48 -04:00
kangax
c1150c714a
fabric.Element now has forEachObject. Add header to /demos, /tests and /docs pages.
2011-05-22 09:57:37 -04:00
kangax
abaa87fbd0
Add fabric.Text#backgroundColor (can be used for text highlighting). Change default lineheight of text objects from 1 to 1.6.
2011-05-13 14:34:24 -04:00
kangax
fe37bc66a0
fabric.Element#loadImageFromURL no longer displays image that's being loaded. Fix getPointer unit test.
2011-05-11 18:58:51 -04:00
kangax
2be834d582
Make sure tests continue running even if image is not loaded.
2011-05-11 18:42:19 -04:00
kangax
f47a4eff0b
Bump timeout interval for large images to load.
2011-05-11 18:38:54 -04:00
kangax
6af48ed1c7
Fix couple more unit tests.
2011-05-11 18:34:52 -04:00
kangax
3ea4a4ad95
Fix majority of failing unit tests.
2011-05-11 18:17:21 -04:00
kangax
1f0b1280d4
Add unit tests for fabric.Object#selectable; make sure "selectable" is part of toJSON/toObject output. Fix failing fabric.Object unit tests.
2011-05-11 17:48:43 -04:00
kangax
79e37bbf30
Add fabric.Object#selectable Boolean property (true by default), which can be used to control object selection.
2011-05-11 15:56:49 -04:00
kangax
7041b64ad6
Update minified file.
2011-05-10 19:02:31 -04:00
kangax
14e988aa9f
lockScaling constrain is now broken into lockScalingX and lockScalingY ones. Add lockUniScaling to be able to prevent non-proportional scaling of an object. lockHorizontally is now lockMovementX and lockVertically is now lockMovementY for consistency. Change demo accordingly.
2011-05-05 17:02:46 -04:00
kangax
b96c91a56f
Try using requestAnimationFrame for animation test.
2011-05-03 19:03:10 -04:00
kangax
5c7440cc13
Fix leaking of one element's attribute values onto another (following) element during SVG parsing.
2011-04-29 16:44:49 -04:00
kangax
7a28d275a3
Add test for issue #25 about parseSVGDocument and rect element.
2011-04-28 16:37:21 -04:00
kangax
74dcd851dd
Animation benchmark now allows to dynamically change scale of animated objects, load different shapes, and change canvas size. This allows us to see how all these aspects (e.g. canvas size or shape size) influence canvas rendering performance.
2011-04-23 17:39:56 -04:00
kangax
e61f46b44c
Add "lineHeight" to fabric.Text options. Add slider to control line height of selected text to demo.
2011-04-20 16:36:31 -04:00
kangax
cf1c1b2808
Disable clipping in demo.
2011-04-11 15:21:07 -04:00
kangax
a29aa82518
Add experimental clipping support.
2011-04-11 02:41:55 -04:00
kangax
cc0c5085d7
Add fabric.Circle#getRadiusX, fabric.Circle#getRadiusY methods.
2011-04-09 17:37:35 -04:00
kangax
9853b4a18f
Add rudimentary support for stroke style. Fix IE errors on a demo page.
2011-03-28 18:57:40 -04:00
kangax
91205b4bb6
More text enhancements and fixes. Demo page now has italic/underline/overline/line-through and shadow buttons for text manipulations.
2011-03-21 17:24:36 -04:00
kangax
b60edcc379
Much more usable multiline text.
2011-03-21 03:53:23 -04:00
kangax
4046084994
Revamp canvas initialization (now simpler, more maintainable, and makes more sense after removing old cruft). Bump version to 0.2. Back. compat warning: wrapping canvas container now has a "canvas-container" class instead of "canvas_container" (the actual class name can also be changed via fabric.Element#CONTAINER_CLASS); canvas background element is no longer created (as it wasn't really used).
2011-03-17 17:59:52 -04:00
kangax
849f2e226f
Use non-minified distribution in suite runner. Will need to create a switch later.
2011-02-13 15:30:03 -05:00
kangax
34e2fbafc9
Prevent errors in parser.js unit tests.
2011-02-13 15:29:03 -05:00
kangax
95cfa88c77
Fix most of the fabric.Object unit tests.
2011-02-13 15:28:38 -05:00
kangax
bf9ffb4768
Add more shapes to the demo.
2011-02-13 15:28:18 -05:00
kangax
a7301741cf
Make sure canvas complexity is re-calculated after async. adding shapes and images. Disable text for now as we can't tell its complexity just yet.
2011-02-13 15:27:54 -05:00
kangax
143c251010
Disable profiling on test page which seems to throw IE9 off.
2011-02-11 01:08:28 -05:00
kangax
7e6b615601
Fix simple shapes test. Make sure objects' coords are set even when fabric.Element#stateful is false.
2011-02-09 18:40:38 -05:00
kangax
240fbf0c13
Uncomment raphael test in complex_shape benchmark.
2011-02-09 18:25:16 -05:00
kangax
2ade9dc0f8
More optimizations: setCoords doesn't need to be invoked on an object before it's added to canvas. This makes most sense when creating path groups, since each of the paths in a path group doesn't really need to have coords. Coords are used to determine object boundaries when moving/scaling/rotating objects, and paths in pathgroup never participate in it (instead, pathgroup does).
2011-02-09 17:30:35 -05:00
kangax
45c9a333a8
Few optimizations in _parsePath implementation.
2011-02-09 16:35:46 -05:00
kangax
d42ba6ec02
Add links to benchmarks in readme; modify simple shapes benchmark to be able to chose number of shapes.
2011-02-09 02:27:25 -05:00
kangax
0a1c52408d
Add breakdown of parsing vs. rendering to complex_shape test.
2011-02-09 01:09:30 -05:00
kangax
83d1d7cecf
Uncomment raphael test in complex_shape_2.
2011-02-09 01:04:31 -05:00
kangax
ca11620451
Replace map with for loop for perf. reasons (as this method is likely to be called thousands of times).
2011-02-09 01:03:04 -05:00
kangax
afb841e085
Add another complex shape (~9K paths) to the raphael vs. fabric perf suite.
2011-02-09 00:41:27 -05:00
kangax
ba4486e5be
Use Array.prototype.slice to convert nodelist to an array (slice is usually faster; it makes sense in this context where nodelists (i.e. shapes) could consist of thousands of elements).
2011-02-09 00:14:12 -05:00
kangax
4d86890b68
Few tweaks to raphael vs fabric tests.
2011-02-06 04:28:04 -05:00
kangax
7e395b9a85
Few tests comparing performance of fabric vs Raphael.
2011-02-06 04:10:08 -05:00
kangax
fef2fd4666
Experiment with multiline text (incomplete; need to properly determine height of the bounding box).
2011-02-06 04:09:40 -05:00
kangax
848f7990b4
Add few more SVG files (for use in a demo).
2011-02-01 19:58:48 -05:00
kangax
bb4aad1de5
Modify cufon and text class to support textDecoration (underline/overline), fontStyle (italic), and textShadow (any valid CSS value).
2011-02-01 19:57:01 -05:00
kangax
fcbe708c5c
Enable color and opacity controls only when something is selected on canvas.
2011-01-30 18:37:02 -05:00
kangax
17c6817bf3
Add native colorpicker (<input type=color>) when available. Note that Chrome produces false positive; doesn't expose actual colorpicker control.
2011-01-30 18:29:30 -05:00
kangax
0dae843114
Revamp object corner detection logic (now, finally, corners are detected properly).
2011-01-23 03:30:22 -05:00
kangax
d54ac51445
Move gradient shape in the demo to the top of the shapes list (where other 1-path shapes are).
2011-01-20 01:44:23 -05:00
kangax
6e8810d791
Gradient color stops can now be parsed from style attribute of <stop> elements (which are children of <gradient> elements). Fix gradient rendering logic, where rendering point would originate from center of the shape, instead of a proper top/left corner. Add 2 more example gradients to the demo page.
2011-01-20 01:42:00 -05:00
kangax
0570d6f825
Add missing assets
2011-01-19 02:32:49 -05:00
kangax
580c0680f0
First stab at parsing + applying css rules to SVG elements. Needs unit tests!
2011-01-19 02:30:35 -05:00
kangax
1acbb04036
Add more demo shapes, including HTML5 logo. Make gradientify button enabled only when there's an active object.
2011-01-18 18:55:46 -05:00
kangax
b35ebd0bb2
Reorganize SVG gradients parsing in such way so that during parsing, objects (to apply those gradients to) were available; we need this to be able to apply percent-based values properly (e.g. x2="100%" should be translated to an object's width, y2="50%" -- to object's height / 2, etc.).
2011-01-09 02:09:28 -05:00
kangax
a40e9cd610
Initial implementation of gradients. Work in progress (but demo page now has working "gradientify" button). Still need to add tests, and make sure gradient-based fills on SVG elements are parsed/set properly.
2011-01-09 01:38:54 -05:00
kangax
6fa84aba5e
Add more shapes to the demo (all except few render properly).
2011-01-09 01:37:04 -05:00
kangax
80148361f3
Add support for parsing <image> SVG elements and creating fabric.Image instances out of them. Backwards-compatibility note: fabric.parseElements changed signature from (elements, options) to (elements, callback, options) and is now an "asynchronous" method -- doesn't return a value, but instead passes it to a callback function (second argument).
2011-01-07 19:53:19 -05:00
kangax
1a84c912d9
Add few more shapes to the demo page
2011-01-07 02:13:44 -05:00
kangax
fdfb61fd48
Make it possible to delete object/group with "delete" key.
2011-01-07 02:12:41 -05:00
kangax
2eea8d4468
Fix style attribute parsing + tests. Add one more shape to the demo (which utilizes style attribute).
2011-01-06 17:13:07 -05:00
kangax
19a82b2b50
Add test for elements inside <defs> being ignored.
2011-01-06 15:38:20 -05:00
kangax
b550020024
Elements that are descendants of <defs> elements are no longer rendered (as per spec).
2011-01-06 15:20:56 -05:00
kangax
d5a82f3fd9
Make sure straight lines are rendered.
2010-12-25 21:48:48 -05:00
kangax
773fe2bc55
Only activate guidelines in demo when url query has specific parameter.
2010-10-31 23:57:59 -04:00
kangax
33278ae20b
Reorganize fabric.Element in such way so that centering and aligning guidelines could work together.
...
`fabric.Element#onObjectMove` callback is gone, replaced by "object:moved" event (which allows subscription to the event by multiple parties).
Similarly, `fabric.Element#onMouseUp` is replaced with "mouse:up" event, and `fabric.Element#afterRender` with "after:render" one.
The drawback of these events, as of now, is that it's not possible to determine which canvas instance fired which event --
in case of multiple canvas instances in a document, this could get hairy. Will probably fix it by introducing some kind of `Observable` mixin,
which would add "observe" and "fire" methods to `fabric.Element` itself.
2010-10-31 22:42:20 -04:00
kangax
33467d15a2
First (crooked and incomplete) implementation of aligning guidelines.
2010-10-31 01:28:54 -04:00
kangax
45795824ac
First stab at centering guidelines and snapping to a center (vertical/horizontal).
2010-10-30 21:47:15 -04:00