Commit graph

876 commits

Author SHA1 Message Date
kangax
a0bc7b6904 Fix doc typo 2013-04-06 12:46:01 +02:00
kangax
8f34f2ac34 Build distribution 2013-04-06 12:44:36 +02: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
79a9d551c7 Build distribution. Version 1.1.6 2013-04-04 14:05:43 +02:00
shilo
2c2206b951 rendering canvas on node.js - fixed issue with segfault occuring when downloading an image that comes from https (secure) url 2013-04-03 13:40:48 +03:00
kangax
8bd52f98fb Build distribution 2013-03-30 01:36:38 +01: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
0d0763cad0 Build distribution. Version 1.1.5. 2013-03-29 13:21:13 +01:00
kangax
40bda07140 Fix fabric.Canvas#clipTo. Thanks @sn3p 2013-03-24 18:09:55 +01:00
kangax
14cbcb8ea3 Build distribution 2013-03-24 00:06:04 +01:00
kangax
83b7ef57e7 Build distribution. Version 1.1.4 2013-03-23 23:23:26 +01:00
kangax
4911cc036b Make fabric.Image.fromURL use fabric.util.loadImage which fixes it under Node 2013-03-23 23:16:16 +01:00
kangax
24735e6e31 Fix removal of event listeners in fabric.Canvas#dispose on touch-based devices. Version 1.1.3 2013-03-20 23:38:22 +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
da9cda6c90 [BACK_INCOMPAT] Version 1.1.2.
canvas.freeDrawingColor -> canvas.freeDrawingBrush.color;
canvas.freeDrawingLineWidth -> canvas.freeDrawingBrush.width;
2013-03-19 16:05:13 +01:00
kangax
8bea909a54 Merge master 2013-03-19 15:52:14 +01:00
kangax
2a5645fcd5 Fix scaling event not firing sometimes. Thanks @rcyrus. 2013-03-19 15:36:25 +01:00
kangax
030da0d36c Build distribution 2013-03-19 13:31:57 +01:00
kangax
e8e32e80de Fix gradient colorStops initialization. Thanks @Kienz 2013-03-18 13:11:31 +01:00
kangax
9bb38c144c Fix toDataURL not honoring format. Thanks ebirbal. 2013-03-18 13:03:54 +01:00
kangax
ecc97413da Version 1.1.1. Closes #447 2013-03-16 16:43:26 +01:00
kangax
d881340120 Version 1.1.0 2013-03-10 21:06:29 +01:00
kangax
e917b144aa Remove unnecessary space in SVG output 2013-03-06 18:55:26 +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
17a88e93e1 Doc fixes 2013-02-24 12:40:16 +01:00
kangax
7d9c91de70 res -> response and remove unnecessary semicolon 2013-02-22 17:24:22 +01:00
kangax
be4db2f409 Fix doc. Thanks @rodrigopandini 2013-02-20 23:42:38 +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
80469a23eb Fix createCanvasElement canvas initialization. IE<9 now works again. 2013-02-19 13:34:50 +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
39e2078fb6 Version 1.0.10 2013-02-17 13:39:58 +01:00
kangax
a77cbfe2be Text fixes for node-canvas. Version 1.0.9 2013-02-15 14:11:58 +01:00
kangax
cd93d7efd9 Build distribution. Version 1.0.7 2013-02-11 13:23:43 +01:00
kangax
d9291fbfe5 Add shadow support to brushes 2013-02-06 23:55:15 +01:00
kangax
b55c35f865 Merge master 2013-02-06 23:28:17 +01:00
kangax
776d966bdb Remove polygon offsetting fix which broke some SVG shapes 2013-02-06 21:04:14 +01:00
kangax
ed0716718a Fix build minification. Closes #417 2013-02-06 20:42:39 +01:00
kangax
4995fd9ed1 Fix free drawing path initialization 2013-02-06 20:41:58 +01:00
kangax
a4340fda45 Doc fixes 2013-02-06 16:20:53 +01:00
kangax
f140e2159e Build distribution 2013-02-06 16:20:53 +01:00
Arthaey
48ab4607b9 Add option to suppress XML preamble in toSVG method. 2013-02-05 22:20:56 -08:00
kangax
18e6e4f353 Version 1.0.6 2013-02-04 20:49:05 +01:00
kangax
5ee9b13a92 Add support for shadows (via fabric.Shadow) 2013-02-04 20:49:05 +01:00
kangax
8b04e286a8 Log full errors instead of just its messages 2013-02-04 20:49:05 +01:00
kangax
d645c4e7dc Add ability to specify pattern repeat via options 2013-02-04 20:49:05 +01:00
kangax
953f2a2d15 Version 1.0.5 2013-02-03 17:01:39 +01:00
kangax
7fd1a09174 Fix typo in serialization module 2013-02-03 02:17:46 +01:00
kangax
6777c50012 Add support for patterns 2013-02-03 02:15:29 +01:00
kangax
69f1b20a8e Add fabric.Object#getBoundingRect. getBoundingRectWidth/getBoundingRectHeight are deprecated. 2013-01-29 18:06:44 +01:00
kangax
7adb624f0b 2012 -> 2013 2013-01-25 14:31:31 +01:00
kangax
87a1bb31bf Amalgamate canvas creation + VML initialization into one place. Add new method fabric.util.createCanvasElement. Version 1.0.3. 2013-01-25 14:23:13 +01:00
Fabian Hickert
18b7e05eb2 Fixed event handling for touch-supported devices. 2013-01-24 11:32:58 +00:00
kangax
e262606eee Update uglyfyjs, build distribution 2013-01-21 21:14:57 +01:00
kangax
6da2ed6d65 More canvas refactoring 2013-01-20 20:40:26 +01:00
kangax
60af92a9c3 Version 1.0.2 2013-01-17 19:04:02 +01:00
kangax
ec469b6419 Version 1.0.1 2013-01-17 19:00:20 +01:00
kangax
c14c7a329e Prevent event.js from erroring out in Node 2013-01-17 19:00:20 +01:00
kangax
21ee892c28 Merge master 2013-01-15 00:06:54 +01:00
kangax
ecc8a3351d Prevent event.js from erroring out in Node 2013-01-14 12:53:23 +01:00
kangax
d6307d1aeb Add circle brush 2013-01-11 19:38:22 +01:00
kangax
1f206d039e Move gesture-based logic into a separate module 2013-01-10 18:23:23 +01:00
kangax
7be14a6a70 First implementation of brushes 2013-01-10 14:27:13 +01:00
kangax
7ee772a322 Build distribution 2013-01-04 19:18:39 +01:00
kangax
dc2e5210ae Work around VML's clearRect bug 2013-01-03 01:18:29 +01:00
kangax
c4bec70455 Performance optimizations 2013-01-02 23:25:13 +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
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
299273d7bd [BACK_INCOMPAT] fabric.Object#cornersize -> fabric.Object.cornerSize 2012-12-22 16:37:43 +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
Andrey Kravtsov
216b3234aa Changed approach for relative animations.
Issue #356
2012-12-19 19:36:42 +04:00
kangax
e12b6598cd Merge master 2012-12-18 18:12:08 +01:00
kangax
8c14478340 Add support for "text-align: justify". SVG representation is not yet working. 2012-12-18 18:01:30 +01:00
kangax
71dd5a9ec0 Pass original event to all fabric custom events (that are triggered via mouse/touch) 2012-12-18 11:52:18 +01:00
kangax
203ea6b51f Doc fixes 2012-12-18 11:46:51 +01:00
kangax
245de99834 Fix unit tests 2012-12-16 21:11:38 +01:00
kangax
c8172be31d Final doc additions. Every public method is now documented! 2012-12-16 20:44:26 +01:00
kangax
b5b901e99e Fix isMoving not set to false sometimes. Closes #350. Version 0.9.31. 2012-12-15 17:29:40 +01:00
kangax
6ed3dda6f5 Merge master 2012-12-15 17:16:39 +01:00
kangax
93a657fda5 Build distribution. 2012-12-13 15:46:06 +01:00
kangax
7a5cfe46ac Build distribution. Version 0.9.30. 2012-12-10 15:45:33 +01:00
kangax
a1a54fea0b Merge master 2012-12-09 10:17:12 +01:00
kangax
b84b22f484 Build distribution. 2012-12-09 10:15:25 +01:00
kangax
b749e87e30 Add documentation for a method. 2012-12-08 16:49:55 +01:00
kangax
a6a7b72dcd Padding-related fixes and some canvas.class refactoring. 2012-12-07 19:19:04 +01:00
kangax
913a4970bc Merge master 2012-12-07 15:43:57 +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
352dd44b3c Implement smooth free drawing. Free drawing is now a separate module. Thanks @coulix! 2012-12-06 19:47:34 +01:00
kangax
0c1fd43fc1 First stab at dynamic origin of transformation (based on the excellent work of https://github.com/stormbreakerbg). 2012-12-06 19:12:54 +01:00
kangax
832e754d9e Prevent FF<4 from throwing errors on getComputedStyle. 2012-12-04 14:14:08 +01:00
kangax
7a1de3c57b Fix fabric.util.loadImage test. 2012-12-04 12:39:46 +01:00
kangax
b330c9d715 Build distribution. Fix unit tests. Version 0.9.27. 2012-12-03 20:23:45 +01:00
kangax
57d7861fc4 Fix gradient fill on fabric.Text objects. Fix #278. 2012-12-03 08:57:44 +01:00
kangax
c105212c9c Doc fixes. Version 0.9.26 2012-12-02 11:53:38 +01:00
Steve Pemberton
c169daa4a4 build 2012-12-01 20:57:49 +00:00
kangax
1633bce401 Add most of the unit tests for fabric.util methods. Fix #35. 2012-12-01 17:52:03 +01:00
coulix
a0cf70994d No need for free drawing to extend fabric Objecti + freedrawing module presence check before instantiation 2012-12-01 00:34:33 +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
coulix
8f8322fb46 Merge master 2012-11-30 18:57:49 +01:00
coulix
16422bed01 Refactoring 2012-11-30 18:42:02 +01:00
kangax
f75934ec7c Fix error in fabric.StaticCanvas#toDataURLWithMultiplier. Closes #327. 2012-11-29 13:53:13 +01:00
Steve Pemberton
7594a19e7b ParseDimensions changes 2012-11-29 00:50:03 +00:00
kangax
63c5c02560 Add support for dashed selection. Thanks @coulix! Version 0.9.24. 2012-11-28 13:04:39 +01:00
coulix
61db93d5ec Smooth live free drawing on contextTop canvas 2012-11-28 11:55:30 +01:00
Greg Tappero
d0952172a3 Dashed selection borders
Wip dashed selection nearly there

fix dashed selection merge
2012-11-28 11:44:29 +01:00
kangax
d693130115 Add canvas reference to active group. Version 0.9.23. 2012-11-27 16:25:07 +01:00
kangax
315a2c9bf3 Move callSuper out of fabric.Object.prototype and create it dynamically in createClass. 2012-11-23 13:39:50 +01:00
kangax
2e1d02148b Get rid of _theta and update "angle" property dynamically. Version 0.9.22. Fix #283. 2012-11-15 14:20:45 +01:00
kangax
01982a446c Do not use uniqueID in IE as it's not always unique. Fix #311. 2012-11-15 12:49:10 +01:00
kangax
e3700484ea Fix minor issues found by JSHint. 2012-11-13 18:06:53 +01:00
kangax
a83b97a4e4 Add Convolute and Pixelate filters. Fix bug with consecutive "m"/"M" commands and "s" command. Version 0.9.21. 2012-11-03 16:14:05 +01:00
Steve Pemberton
eba9a8b66a Removed style alteration for cache canvas resize 2012-10-30 23:39:43 +00:00
Steve Pemberton
3b3c439b00 Added code to resize cache canvas.
_setDimensions will now correctly alter the cache canvas size when the
other canvases are resized. This ensures per pixel hit testing will
still function.
2012-10-30 23:34:52 +00: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
kangax
3541f4a45d More robust drawControls. 2012-10-30 18:43:55 +01:00
kangax
002cdb4eb5 Add contribution note. Fix #302. 2012-10-29 22:32:20 +01:00
kangax
a816fb9740 Fix object controls detection when controlsAboveOverlay=true. Fix #256. 2012-10-28 13:56:07 +01:00
kangax
aaee929373 Make overlay image part of canvas object/json representation. Some renderAll cleanup. Fix #265. 2012-10-28 12:21:44 +01:00
kangax
48443c193b Fix sendBackwards/bringForward methods to work with larger objects covering smaller ones. Fix #241. 2012-10-28 11:21:47 +01:00
kangax
5998dfc1a5 toSVG now displays flipped objects correctly. Fix #297. Version 0.9.18. 2012-10-26 15:26:44 +02:00
kangax
17fe1a2929 Allow to change number precision in sag transform values. Thanks Will McNeilly. 2012-10-24 22:05:19 +02:00
Steve Pemberton
e8a696c4b1 fix for retreiving scrolled & Fixed Descendants, Mouse Position 2012-10-24 19:56:48 +01:00
kangax
b9da2c4da2 Use "alphabetic" as textBaseline value. This normalizes vertical text position across browsers. Thanks Eric Lesch. 2012-10-23 22:58:44 +02:00
Steve Pemberton
e8cdf8e2fe Fixes for shift selecting/unselecting groups
Shift selecting/deselecting no longer causes the group to have its
transform re-applied.

You can no longer drag a shift added object separately from the group.
This also fixes the issue of the object jumping on addition to a group.

Objects in a group are now rendered to the upper-canvas in the order
they are in on the lower canvas.
2012-10-21 15:31:11 +01:00
kangax
d3ee764bc9 Build distribution. Version 0.9.16. 2012-10-20 20:13:21 +02:00
kangax
79f1b47063 Add uglifyjs as dev dependency. Fix compressing script. 2012-10-17 11:19:41 +02:00
kangax
1cc4a5c799 Merge origin/master. 2012-10-17 01:27:47 +02:00
kangax
15b1dcc555 Remove redundant bordervisibility/cornervisibility properties from image objects. Version 0.9.15. 2012-10-17 01:25:01 +02:00
kangax
1f10671202 Fix comment. Fix #286. 2012-10-17 01:18:54 +02:00
kangax
514f064710 Normalize option setting in all classes. Fix #287. 2012-10-17 01:17:51 +02:00
Steve Pemberton
f11f83b0db Fix for negative width on objects 2012-10-14 18:30:08 +01:00
Steve Pemberton
da28b363e4 Revert "Fix for negative width on objects preventing selection"
This reverts commit 55853039cd.
2012-10-14 18:23:39 +01:00
Steve Pemberton
55853039cd Fix for negative width on objects preventing selection 2012-10-14 13:27:41 +01:00
kangax
84a956c4b6 Lint everything with JSHint. Version 0.9.14. 2012-10-14 02:53:12 +02:00
kangax
33c8a34399 Fix gradient setting in loadFromJSON. Fix #246 again. 2012-10-13 19:56:54 +02:00
kangax
07698a22ae Add support for finding target per-pixel (ignoring transparent ones). This allows to drag shapes by non-transparent pixels only. Thanks Steve Pemberton for initial work. Version 0.9.13. 2012-10-11 00:40:03 +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
4ac8b68d78 Show rotating point handle only if hasControls=true. Remove "hideCorners" since there's already "hasControls" property (consistent with "hasBorders" one). Version 0.9.11. 2012-10-07 16:12:37 +02:00
kangax
2b3994f4c7 Fix corner detection. Thanks Josh Pearce. Fix #275. Fix #269. 2012-10-03 23:45:49 +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
20f9b9ed36 Build distribution. Version 0.9.8. 2012-09-10 19:47:12 -04:00
kangax
e8278236d6 Do not show middle controls when lockUniScaling is on. Closes #228. 2012-09-08 23:27:05 -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
0171b665be Fix SVG rendering of lines and images in groups. 2012-09-06 16:41:31 -04:00
kangax
06b0746258 Fix transform matrix bug. Closes #33. 2012-09-06 12:00:36 -04:00
kangax
77c7bd134f Fix object padding. 2012-09-05 17:25:37 -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
1d3de62a9c Add "controlsAboveOverlay" option to canvas. 2012-09-01 23:22:16 -04:00
kangax
204923e86c Object boundaries now take "strokeWidth" into consideration. Closes #166. 2012-08-26 23:25:16 +02:00
kangax
eb4ac004aa Gradients now render properly in IE9 (thanks Kienz).
Closes #110, #247. Version 0.9.3.
2012-08-26 21:14:34 +02:00
kangax
deb33940a2 Avoid rendering dot in FF on click in free drawing mode. 2012-08-23 15:15:11 +02:00
kangax
dc8224138d Fix gradient rendering in path objects. 2012-08-21 19:31:39 +02:00
kangax
9cde32897a Clear dummy DOM element used for Cufon rendering. 2012-08-21 16:00:09 +02:00
kangax
0bbaddf859 Fix _initGradient with non-empty non-gradient values. 2012-08-20 18:39:04 +02:00
kangax
189b0efd34 Bump version to 0.9.0. 2012-08-20 18:34:37 +02:00
kangax
e3a179f84f Update distribution. 2012-08-20 18:23:53 +02:00
kangax
90d7f7acf3 Fix native text rendering under node-canvas. 2012-08-16 18:08:24 +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
dc6d262b01 User renderOnAddition in canvas#insertAt. Closes #233. 2012-08-14 15:39:21 +02:00
kangax
9d2f3d261b Fix rendering bug with objects in group that also have transform attribute. 2012-08-14 14:37:27 +02:00
kangax
a0d05624ed Remove incorrect offsets in polygon rendering and fix <rect> position when part of a group. Closes #113. Closes #229. 2012-08-14 14:03:20 +02:00
kangax
99458c3f43 Build distribution. 2012-08-13 11:39:30 +02:00
kangax
3ce8507932 Implement fabric.Text.fromElement. Closes #182. 2012-08-11 18:59:53 +02:00
kangax
956d8708ed Add fabric.Group#toSVG. 2012-08-09 13:07:26 +02:00
kangax
daa6b4cbbf Fix fabric.Line#set method to call _setWidthHeight after coordinates update. 2012-08-09 12:24:22 +02:00
kangax
f99ee7e2e7 Build distribution, bump version. 2012-08-08 00:04:44 +02:00
kangax
04d770aa35 No longer allow to resize inactive objects (this also means cursor doesn't appear when hovering over resizing controls of inactive (non-selected) objects). 2012-08-02 21:19:06 +02:00
kangax
581d5a54b9 Fix compatibility with Node (including loadSVGFromString). 2012-07-31 20:55:49 +02:00
kangax
2ec3266655 Add fabric.isLikelyNode. Bump version to 0.8.41. 2012-07-29 12:38:01 +02:00
kangax
38ffacfbec Fix bug with text shadows parsed incorrectly when using native text rendering. Thanks @Kienz. Closes #211. 2012-07-28 17:59:04 +02:00
kangax
82ba3169f7 Make sure text objects have dimensions before they're added to canvas. Closes #158. 2012-07-27 02:56:52 +02:00
kangax
0371d7ba7c Bump version to 0.8.4 (now with native text support). 2012-07-27 00:35:09 +02:00
kangax
9d82685431 Merge native-text branch 2012-07-27 00:33:49 +02:00
kangax
884d02881b Fix SVG export failures when rendering text via native methods. 2012-07-27 00:26:54 +02:00
kangax
02a13062ee Fix bug when exponent notation (e.g. "q 10.47e-3") would trip up path parsing mechanism. 2012-07-26 00:17:04 +02:00
kangax
af7679cee1 Implement most of the remaining text rendering functionality when using native methods. This includes background, text decoration (underline/strike-through/overline), multiline text support, text alignment (left/center/right) in multiline text, text shadow, line height. SVG export is still partially broken when using native rendering methods. 2012-07-24 11:21:32 +02:00
kangax
d9a64e4529 Replace element in applyFilters directly, to avoid messing up image instance dimensions. 2012-07-20 21:16:14 +02:00
kangax
971f82fb7d Merge ollym/text-fixes. 2012-07-20 19:13:36 +02:00
kangax
92a8a3d34c Add support for specifying which modules to exclude during build.
For example:

`node build.js modules=ALL exclude=easing`

or:

`node build.js modules=serialization,easing exclude=image_filters,text`

Add support for stripping "use strict" directives during build (for compatibility with Rails 3).
2012-07-19 13:34:32 +02:00
kangax
ea699a776a Width/height passed to fabric.Image during initialization now take precedence over actual image width/height. 2012-07-19 11:45:04 +02:00
kangax
57484274ba Fabric events related to objects can now be observed on objects themselves.
For example, instead of:

canvas.observe('object:selected', function(o) {
  console.log('selected', o.target);
})

you can now do:

object.on('selected', function() {
  console.log('selected', object);
});

Events that are fired on objects are:

- mouseup
- mousedown
- mousemove

- rotating
- scaling
- moving

- modified
- selected

- added
2012-07-18 18:29:27 +02:00
kangax
fc7ce11cd3 Mark fabric.Text as synchronous. Closes #198. 2012-07-18 17:03:28 +02:00
Oliver Morgan
b4abf1d96f Removed Cufon dependency
Fixes #194
2012-07-14 21:35:45 +01:00
kangax
5ce8df3c67 Remove invisible rotating point and fix few other bugs with it. Add fabric.Object#rotatingPointOffset offset. Closes #190. 2012-07-11 16:29:10 +02:00
kangax
66247a7b1c Fix text shadow messing up size of bounding box.
Fix text shadow appearing under text background.
2012-07-11 01:52:52 +02:00
kangax
ae45281d18 Fix setBackgroundImage option setting. 2012-07-09 19:02:24 +02:00
kangax
aab5adcd11 Fix rendering artifact with rounded rectangles. Thanks Anne Poveda. 2012-07-09 18:11:18 +02:00
kangax
c988e5a8c3 Fix fabric.Line regression. 2012-06-28 21:14:19 +02:00
kangax
8581f94341 Fix polyline/polygon rendering in IE8. Closes #124. 2012-06-28 21:12:30 +02:00
kangax
f1cd5ebe1d Fix lines not respecting left/top when loaded from object. Closes #151. 2012-06-28 20:36:55 +02:00
kangax
0cb73481dd Build dist, bump version. 2012-06-26 16:44:14 +02:00
kangax
30f24f7f35 Fix loadFromJSON not invoking callback. Closes #184. 2012-06-25 15:27:10 +02:00
kangax
4dcf268d67 Prevent error in initFilters when filter is null (filters array is with holes). 2012-06-24 11:52:00 +02:00
kangax
249c330ed6 Add fabric.util.groupSVGElements for creating fabric.<Element> or fabric.PathGroup out of a group of elements. 2012-06-23 19:28:53 +02:00
kangax
411c027cf5 Bump version and built distribution files, now that group_rewrite is merged. 2012-06-23 18:51:58 +02:00
kangax
83582467d6 Merge master 2012-06-23 18:18:02 +02:00
kangax
9926d8389a [BACK_INCOMPAT] Remove CANVAS_WIDTH, CANVAS_HEIGHT properties from fabric.Canvas.prototype (as they're no longer used anywhere). Lowercase some of the fabric.Canvas.prototype properties, for consistency: CURSOR -> defaultCursor, ROTATION_CURSOR -> rotationCursor, HOVER_CURSOR -> hoverCursor, CONTAINER_CLASS -> containerClass. 2012-06-23 00:18:41 +02:00
kangax
9d36e26d71 Fix "mouse:down", "mouse:move", "mouse:up" events not firing during free drawing mode. 2012-06-22 17:25:15 +02:00
kangax
5d803c9778 Fire "mouse:down", "mouse:move", "mouse:up" events during free drawing mode. 2012-06-22 17:05:07 +02:00
kangax
dd43c23e86 Check for callback presence in fabric.Group.fromObject. 2012-06-21 09:59:48 +02:00
kangax
126c2aa507 Merge master 2012-06-20 17:43:39 +02:00
kangax
d6f7c9effb fabric.Canvas#setOverlayImage now correctly returns a reference to a canvas instance. 2012-06-19 20:33:46 +02:00
kangax
1706361616 Fix bug with rendering of subsequent "S" commands, where reflection of control point would be considering 1st control point of previous command, not 2nd one. Closes #177. 2012-06-17 13:25:17 +02:00
kangax
da2ed018d8 Fix fabric.util.requestAnimFrame erroring out due to wrong "context". 2012-06-15 17:35:05 +02:00
kangax
cd59885370 Fix port recognition from URL when loading SVG's via node. 2012-06-14 14:12:42 +02:00
kangax
5e29a2b319 Fix bugs in fabric.Object#animate (thanks Anton Ignatov). 2012-06-13 13:30:53 +02:00
kangax
b5d76f752d Add more image filters (Sepia, Sepia2, Brightness, Noise, GradientTransparency) based on Stoyan's demo — http://www.phpied.com/pixel-manipulation-in-canvas/ Fix bug with fabric.Image and filters. 2012-06-11 19:17:24 +02:00
kangax
b701627f42 Fix "stroke-width" being ignored in style attribute. 2012-06-10 12:13:12 +02:00
kangax
1da65cbead Build distribution. 2012-06-10 11:35:24 +02:00
kangax
787bb86198 Build distribution, bump version. 2012-06-07 16:24:44 +02:00
kangax
bb389e4723 Removing active object now fires "selection:cleared" events. Closes #121. 2012-06-07 12:47:15 +02:00
kangax
1ae8aa3a69 Update distribution, bump version to 0.8.15. 2012-06-07 12:32:58 +02:00
kangax
1bfa25acf4 Render canvas after setting background image. 2012-06-07 12:32:57 +02:00
Juriy Zaytsev
a239bdd2a8 Merge pull request #168 from garg/master
Fix `fabric.Object#toDataURL` to take bounding rectangle dimensions into consideration. Add `fabric.Object#getBoundingRectWidth`, `fabric.Object#getBoundingRectHeight`.
2012-05-31 14:50:06 -07:00
kangax
78eda278d1 Fix double tap issue in iOS. Closes #146. 2012-06-01 01:42:11 +04:00
garg
218b76bc23 Update dist/all.js 2012-05-30 20:14:59 -03:00
garg
d7cf6a576b Edited to use fabric.util.array.min and fabric.util.array.max 2012-05-30 20:12:56 -03:00
kangax
505b1dba87 Bump version to 0.8.13. 2012-05-30 15:58:08 +04:00
kangax
1204b14e3c Remove extraneous easing module include. 2012-05-30 11:59:46 +04:00
garg
ca933e0cba Added returnMinFromArray and returnMaxFromArray. Removed extended array functions. Renamed getBoundingRectangleWidth to getBoundingRectWidth. Renamed getBoundingRectangleHeight to getBoundingRectHeight. 2012-05-29 23:00:18 -03:00
kangax
e4dbab85f1 Fix xml parser initialization. 2012-05-29 12:29:20 +04:00
garg
1bf382659e Fixed typo 2012-05-28 20:22:14 -03:00
garg
9c9fdc21e2 Removed console.log lines from getBoundingRectangleHeight and getBoundingRectangleWidth 2012-05-28 20:05:22 -03:00
garg
f66dbc41dc Update dist/all.js 2012-05-28 19:52:55 -03:00
garg
1c0deef679 Update dist/all.js 2012-05-28 19:52:00 -03:00
garg
f99e4eb282 Update dist/all.js 2012-05-28 19:51:03 -03:00
garg
4e790bf8cf Update dist/all.js 2012-05-28 19:46:24 -03:00
garg
91e71633d6 Update dist/all.js 2012-05-28 19:44:57 -03:00
garg
6b043568d8 Update dist/all.js 2012-05-28 19:40:19 -03:00
garg
04164267b9 Update dist/all.js 2012-05-28 19:38:20 -03:00
garg
5a10ff63b5 Update dist/all.js 2012-05-28 19:37:01 -03:00
garg
c6c79a09cc Update dist/all.js 2012-05-28 19:28:36 -03:00
garg
038119b1e0 Update dist/all.js 2012-05-28 19:23:38 -03:00
garg
e25776b3c1 Update dist/all.js 2012-05-28 19:21:36 -03:00
garg
bee869cbd2 Updated getBoundingRectangleWidth and Height to use fabric.util.min 2012-05-28 19:18:13 -03:00
garg
5ccc83e424 Update dist/all.js 2012-05-28 18:29:11 -03:00
garg
4bf5d8ce7e Added getBoundingRectangleHeight and getBoundingRectangleWidth. Also changed Object#toDataURL to use getBoundingRectangleHeight and getBoundingRectangleWidth. 2012-05-28 18:26:04 -03:00
kangax
ecdd0fb980 Try using "xmldom" instead of "o3-xml". 2012-05-28 17:22:37 +04:00
kangax
af67423df9 fabric.Image now renders image according to current width/height (not width/height of original image). 2012-05-27 23:48:00 +04:00
kangax
35afa0c9c1 Fix size of selection border of scaled circles. Closes #157. 2012-05-25 15:34:01 +04:00
kangax
0e79544c12 Preserve hasControls, hasBorders, hasRotatingPoint values during serialization. Closes #163. 2012-05-21 14:24:33 +04:00
kangax
c7f31d9d0e Export backgroundImage, backgroundImageOpacity, backgroundImageStretch in SVG. Closes #125. 2012-05-16 15:25:18 +04:00
kangax
9584ae2759 "backgroundImage", "backgroundImageOpacity", and "backgroundImageStretch" are now preserved correctly (when saving canvas to JSON/loading from JSON). Closes #139. 2012-05-16 14:51:10 +04:00
kangax
09d6a6451d Revert circle as rotating control for now (will need to figure out why scaling occurs there). 2012-05-15 18:36:34 +04:00
kangax
bcde14c83f Update distribution files and version. 2012-05-15 18:02:16 +04:00
kangax
64a9c5da6e Update distribution files. 2012-05-15 15:07:51 +04:00
kangax
76495a3874 Remove garbage from build.js. Build distribution. 2012-05-13 18:47:45 +04:00
kangax
7c95155c2e Add fabric.Canvas#getSelectionElement for retrieval of canvas element on which object selection is drawn. 2012-05-13 18:37:28 +04:00
kangax
5a2eb2e3df [BACK_INCOMPAT] fabric.Canvas#getContext now returns context of canvas element on which all objects are drawn. fabric.Canvas#getSelectionContext returns context of canvas element on which object selection is drawn. 2012-05-13 18:30:12 +04:00
kangax
35fcc980da Output rx/ry in object, JSON, and SVG representations of fabric.Rect. 2012-05-12 14:30:23 +04:00
kangax
8a84affd6c [BACK_INCOMPAT] Remove "memo" from event objects. e.memo.xxx is now e.xxx. 2012-05-12 13:44:26 +04:00
kangax
cba1d4ca21 [BACK_INCOMPAT] Move object straightening methods into its own, optional module (fabric.Object#straighten, fabric.Object.fxStraighten, fabric.Canvas#straightenObject). 2012-05-11 15:31:30 +04:00
kangax
5e4811ea20 Fix bug in SVG rendering. 2012-05-09 19:14:42 +04:00
kangax
6aef8a009d Fix bug where static canvas couldn't render overlay image. 2012-04-20 13:37:47 +02:00
kangax
0a0ab70f68 Add fabric.Canvas#cloneWithoutData. Fix broken unit tests. Bump version to 0.8. 2012-04-20 13:37:46 +02:00
kangax
b3768bcdd3 Check event.touches[0] exists before accessing a property. Thanks @zj831007. Closes #149. 2012-04-08 18:20:19 +02:00
kangax
83e3c8bd9e Initial implementation of generic groups. See https://github.com/kangax/fabric.js/wiki/Working-with-groups for more info. 2012-04-08 15:15:31 +02:00
kangax
6cdee94cc6 Fix typo in docs. 2012-03-29 15:35:58 +02:00
kangax
8411165bcd Revert "Fix rendering of lines where x1,y1 are less than x2,y2."
This reverts commit c7006df133.
2012-03-26 00:30:29 +02:00
kangax
c7006df133 Fix rendering of lines where x1,y1 are less than x2,y2. 2012-03-19 13:17:03 +01:00
kangax
feaddda1c0 Ditch o3-xml-fork for now (it fails even on node 0.4.x) when parsing SVG. 2012-02-15 16:26:58 -05:00
kangax
2ab05fdeb3 Add bunch of stuff to .npmignore 2012-02-14 12:50:11 -05:00
kangax
93565f135d Fix text offset issue when exporting to SVG. 2012-02-10 00:37:06 -05:00
kangax
21de5fdbd2 Build distribution; bump version. 2012-02-10 00:15:01 -05:00
kangax
e5d92f71d5 Check that allOnTop is true not just any truthy value (so that we can pass it as callback to methods like "onChange"). See https://github.com/kangax/fabric.js/pull/104#issuecomment-3493677 2012-02-05 13:54:58 -05:00
kangax
b6179a6f64 Build distribution and bump version for previous change (removal of empty tspans). 2012-02-05 13:31:17 -05:00
kangax
13049361b0 Preserve image src for use in node.js. Add support for overriding src of images when exporting to SVG. 2012-02-03 23:27:45 -05:00
kangax
19dbb74307 Fix trailing commas. Closes #118. 2012-02-03 09:18:35 -05:00
kangax
e9dee5a37d Make SVG export of text more reliable (rgba()-based colors now work in Illustrator). Cut off decimal parts of values in SVG output, which slims down the size. 2012-02-01 18:43:52 -05:00
kangax
6ce924b38d Use a fork of "o3-xml" package that allows to run under latest Node.js 0.6.8. Note that SVG parsing doesn't work when running under latest Node. Here's why — https://github.com/ajaxorg/node-o3-xml/issues/23#issuecomment-3705238 2012-01-29 12:30:39 -05:00
kangax
3d6ae8442f Fix object controls not working in IE8. Closes #92. 2012-01-26 19:39:30 -05:00
kangax
0bb80dddf0 Fix fabric.Canvas#setOverlayImage('') not removing overlay image. 2012-01-21 23:07:16 -05:00
kangax
4565e0dd6a Fix parsing of gradients with stops that have absolute values (rather than percents). 2012-01-21 13:33:49 -05:00
kangax
c057b8b6d5 Fix vertical gradient rendering. Closes #108. Thanks aarr0n. 2012-01-21 12:59:30 -05:00
kangax
771ee6f89d Update year in header. 2012-01-20 14:29:51 -05:00
kangax
1c8b5c122d Avoid sub-pixel antialiasing when drawing straight vertical or horizontal lines. 2012-01-15 12:46:52 -05:00
kangax
23c4ec2068 [BACK_INCOMPAT] Remove fabric.Object#getCenter as it doesn't make sense (getLeft/getTop already return object center coordinates). 2012-01-10 14:16:16 -05:00
kangax
de8684cfda Fix text shadow rendering in exported SVG. 2012-01-06 19:58:21 -05:00
kangax
c39053456c Fix fabric.Text#textShadow to actually use specified color. 2012-01-05 22:39:30 -05:00
kangax
e20a37ba6a Add fabric.Image.filters.Invert (thanks Travis Paul). 2012-01-05 17:38:35 -05:00
kangax
c451f32c9f Fix text alignment in SVG export. Center- and right-aligned text now displays properly. Add more tests to SVG export test suite. 2012-01-04 17:18:42 -05:00
kangax
9814cf12b5 Add support for text background color in SVG representation. 2012-01-04 12:31:37 -05:00
kangax
b84cf9f496 Update version to 0.7.5. 2012-01-02 16:19:39 -05:00
kangax
d870410a7d First (and almost complete) implementation of fabric.Canvas#toSVG. 2012-01-02 16:14:20 -05:00
kangax
3544410689 Fix bug in canvas initialization in node. Thanks Urs. 2011-12-10 13:26:52 -05:00
kangax
cb7a4bdf86 Remove reference to window in util/misc.js for node compat. 2011-12-09 16:24:37 -05:00
kangax
326d662eec Fix JS error in older browsers (e.g. FF4) when fabric.Rect's x/y are undefined. Closes #84. Thanks Kienz. 2011-12-08 10:31:30 -05:00
kangax
a8758ffbe1 Use requestAnimFrame polyfill instead of setInterval in fabric.util.animate. Add fabric.util.requestAnimFrame. 2011-12-08 09:44:05 -05:00
kangax
ea99a1fc7c Pass actual event when firing synthetic "object:selected" one. 2011-12-05 12:55:31 -05:00
kangax
37f6e9d9b0 Build fabric distribution with modules=ALL. 2011-12-03 11:11:11 -05:00
kangax
eb9d64f89a Fix Opera <12 bug with canvas not getting correct prototype. 2011-11-28 19:47:41 -05:00
kangax
b8ea6b7cec [BACK_INCOMPAT] Add support for static canvases — fabric.StaticCanvas. fabric.Canvas#loadImageFromURL -> fabric.util.loadImage. Add fabric.Canvas#centerObject. 2011-11-27 23:57:28 -05:00
kangax
6d376dd588 Fix gradient positioning in fabric.Gradient.forObject. 2011-11-20 12:34:36 -05:00
kangax
f3a3e81ea2 [BACK_INCOMPAT] Fix JS error when calling fabric.Image#toDataURL. toDataURL is now asynchronous, and passes data url to callback (first argument) instead of returning it. Closes #79. 2011-11-18 10:44:53 -05:00
kangax
aff78a0d1d Fix wrong opacity setting in fabric.Color. (thanks Javier Valero) 2011-11-14 15:10:35 -05:00
kangax
7adb4309de Add support for customizing canvas default cursor. 2011-11-11 15:01:20 -05:00
kangax
343a5a2605 Add fabric.util.makeElementSelectable (the opposite of makeElementUnselectable). 2011-11-08 12:35:20 -05:00
kangax
2e42f9bd9d fabric.Image#setElement now updates instance' width/height properly. 2011-11-03 18:12:53 -04:00
kangax
d16e166e54 Fix element replacement in applyFilters (when no filters are present). 2011-11-02 17:25:20 -04:00
kangax
ae9025ce5c Fix image filter initialization in node. 2011-10-29 14:36:09 -04:00
kangax
d226102fbb Make fabric.Image#applyFilters work in node. 2011-10-29 14:11:44 -04:00
kangax
6c463afda5 Fix fabric.Canvas#backgroundImage bug. 2011-10-28 17:10:01 -04:00
kangax
94db7bfc8f fabric.Image.GrayscaleFilter --> fabric.Image.filters.Grayscale as per users request; Make image filters serializable. 2011-10-27 20:06:19 -04:00
kangax
ea0da5a987 Make sure fabric.Image#filters can be a sparse array. 2011-10-26 20:03:51 -04:00
kangax
a45b1e9231 Update inline docs. 2011-10-26 17:28:41 -04:00
kangax
1a8b82b8e3 [BACK_INCOMPAT] Add support for image filters. Add fabric.Image.GrayscaleFilter and fabric.Image.RemoveWhiteFilter "classes". Filters should be used by adding them to filters array of image instances. For example, myImage.filters = [ new fabric.Image.GrayscaleFilter(), new fabric.Image.RemoveWhiteFilter({ threshold: 30, distance: 50 }) ]. 2011-10-26 01:34:54 -04:00
kangax
fe03bf19d5 Fix broken fabric.Text#textDecoration. 2011-10-16 12:53:37 -04:00
kangax
2b08618742 Fire "object:scaling" and "object:rotating" events. 2011-09-29 09:31:57 -04:00
kangax
36aeed700a [BACK_INCOMPAT] fabric.Canvas#selection boolean property now only affects _group_ selection (i.e. blue area that allows to select multiple objects no longer appears). Objects can still be selected by clicking on them. To make _everything unselectable_ — set "selectable" property of each object to false AND fabric.Canvas#selection to false. 2011-09-26 14:43:00 -04:00
kangax
5fa051ccb9 Do not add/remove touch listeners in non-supporting environments. 2011-09-22 11:56:19 -04:00
kangax
efd2aba325 Add basic touch event support. 2011-09-21 19:29:00 -04:00
kangax
36fe5e3a6f Fix bug w. fabric.Text not accounting for fontSize. 2011-09-21 11:18:58 -04:00
kangax
99e64c30ee Closes #52. Fix initialization of fabric.Group with undefined "paths". 2011-09-20 14:25:25 -04:00
kangax
db456d2b68 Closes #49. Fix z-index issues with JSON loading.
`fabric.Canvas#insertAt` now accepts third (boolean) argument, indicating whether splicing can be used of insertion or not.
2011-09-19 20:23:00 -04:00
kangax
475578276e Fix fabric.Line to update width/height when changing x1,y1,x2,y2 coordinates. 2011-09-19 17:48:16 -04:00
kangax
6415c573fe Intercept error in node requests to avoid process failing on connection refused or other errors. 2011-09-08 15:56:59 -04:00
kangax
fe08e6aa3b Revamp site to use jekyll. 2011-09-07 18:02:17 -04:00
kangax
5dc7220425 Closes #51 again. Fix background scaling in toDataURLWithMultiplier. 2011-09-07 16:30:25 -04:00
kangax
952a31262e Closes #51. Fix canvas background becoming smaller when "rasterizing" canvas via toDataURLWithMultiplier. 2011-09-06 14:03:28 -04:00
kangax
450e571681 Bump version for node publishing. 2011-09-05 21:02:09 -04:00
kangax
8b0e91921c Forgotten update of distribution file. 2011-09-05 20:59:56 -04:00
kangax
8ea5f0d52c Closes #47. More conforming Function.prototype.bind. 2011-08-29 12:09:32 -04:00
kangax
709348f96f More compliant Array.prototype.indexOf. 2011-08-28 21:28:46 -04:00
kangax
a3d693302c Closes #38. Add support for fabric.Canvas#backgroundImage. 2011-08-28 14:55:33 -04:00
kangax
09fd6210b1 "mousemove" event listener on document is now only attached after "mousedown" on canvas. This avoids unnecessary work when moving mouse outside of canvas (especially with multiple canvas instances on a page). 2011-08-26 12:58:01 -04:00
kangax
2deedd02dd Fix regression in rendering with some of the path groups. 2011-08-26 12:54:49 -04:00
kangax
a56b50f1c1 Bump version. 2011-08-21 16:03:18 -04:00
kangax
36fc1dfafc Build distribution. 2011-08-16 19:06:06 -04:00
kangax
2bc0d560c3 Bump version to 0.5.2 2011-08-16 16:12:31 -04:00
kangax
6e9543cb69 Preparing fabric for publishing through npm. Make fabric.createCanvasForNode accept width/height rather than reference to node-canvas, to prevent user from having to instantiate node-canvas instance. Add fabric.Canvas.prototype.createPNGStream which is a simple proxy for node-canvas createPNGStream. 2011-08-16 15:57:07 -04:00
kangax
b53d794af6 [BACK_INCOMPAT] Custom fabric build is now created with node.js and is much more flexible. Sprockets is no longer required to build fabric. Parser and node are now optional modules, which means that parseSVGDocument is no longer included in default fabric build. 2011-08-14 17:35:36 -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
35ad4bf6e3 Preparing fabric to run on node.js 2011-08-05 19:00:26 -04:00
kangax
27999a327c Add unit tests for fabric.loadSVGFromString. 2011-08-04 20:48:25 -04:00
kangax
ace016c694 [BACK_INCOMPAT] fabric.Canvas#loadSVGFromURL --> fabric.loadSVGFromURL. Add fabric.loadSVGFromString. 2011-08-04 10:59:32 -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
b9dcfcf2c8 Fix bug when text objects were rendered with blue background when part of the selection. 2011-08-02 18:15:20 -04:00
kangax
9690f0849e Fix bug with fabric.Text which would make text objects render with "drag handles" when part of the selection. 2011-08-02 17:50:13 -04:00
kangax
23f7bec3b5 Update minified file. 2011-07-29 12:45:31 -04:00
kangax
d9daabc29c Update to 0.4.9 2011-07-27 18:10:21 -04:00
kangax
73004e388f Fix loadImageFromURL not invoking callback for cached images in Chrome. 2011-07-26 15:40:29 -04:00
kangax
e6be74571e Fix text background not respecting text alignment. 2011-07-26 14:57:01 -04:00
kangax
6e8d9da003 Pass original event to "mouse:down" and "mouse:up" ones. Pass target to "mouse:move". This normalizes what's passed to events — target and event. 2011-07-26 14:06:04 -04:00
kangax
29ae6b8f0f Closes #40. Objects, boundaries of which are fully contained within boundaries of other objects are now sent to back/forward properly (via canvas.sendBackwards/canvas.bringForward). 2011-07-26 00:20:57 -04:00
kangax
c823799657 Build distribution file. 2011-07-21 20:36:18 -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
7c03c115ac Fix bug with extend not being defined. 2011-07-21 16:49:43 -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
3bd5d8c1a3 Add grayscale example to customization demo. Add "mouse:move" event to fabric.Canvas and a corresponding demo. 2011-07-18 14:36:17 -04:00
kangax
b99a456989 Build files are now organized in such way that it's possible to build fabric w/o support for text and/or serialization. 2011-07-15 18:16:14 -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
15aef846e3 Move fx-related methods from canvas.class.js to a separate canvas.fx.js "module". 2011-07-09 12:18:51 -04:00
kangax
48a02e5ecb Path objects that are part of the group now have 'group' property that references their parent group. Path that are part of the group are now positioned in better accordance with spec. 2011-07-09 11:10:40 -04:00
kangax
e042c1dd10 Bump version to 0.4 since compat-breaking change (events revamp) was introduced. 2011-07-06 16:46:49 -04:00
kangax
85a256a8e7 Make events more consistent.
"object:moved" --> "object:moving" (since it's a continuously fired event).
"object:scaled" is gone (since this case can be solved with "object:modified").
"group:modified" is gone (since this case can be solved with "object:modified").
"group:selected" --> "selection:created".
"before:group:destroyed" --> "before:selection:cleared" (only fires when there is active object or group).
"after:group:destroyed" --> "selection:cleared" (only fires when there is active object or group).
2011-07-06 15:12:44 -04:00
kangax
2b3a166d2f fabric.util.animate is now defined in util/misc.js rather than util/dom_misc.js as it has nothing to do with DOM. 2011-07-06 14:38:56 -04:00
kangax
e3c311dfb5 Add support for elliptical arc commands (a, A) in SVG paths. Thanks @devongovett for initial code (and algorithm). Add 4 different arc test files (can be loaded in kitchensink demo). 2011-07-05 01:28:03 -04:00
kangax
5fc29b1dbb Add fabric.Object#animate. Tests to come. 2011-07-04 23:28:32 -04:00
kangax
0e3831ed6f Expose cursor style for hovered objects through fabric.Canvas#HOVER_CURSOR for customization purposes. 2011-07-02 01:33:43 -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
dcb6ac67a5 "mouse:down" and "mouse:up" events are now being passed clicked target (when one exists). Add example with opacity and no boundaries (transparent boundaries) on an object. 2011-06-30 14:46:30 -04:00
kangax
a64f622e61 Bump version to 0.3. Experiment with using native canvas fillText for fabric.Text. Turns out multiline text is not supported natively. Will experiment more. 2011-06-30 14:37:39 -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
c6950d9be8 Build distribution file. 2011-06-28 10:19:23 -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.stopObservingEventfabric.util.stopObserving, and fabric.util.fireEventfabric.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
1d9247ab3a When cloning canvas (in toDataURL, for example) make sure to clone clipTo (clipping function) property as well. 2011-05-26 09:03:11 -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
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
a7f7bdaf80 Make _removeDefaultValues more flexible. 2011-05-10 16:41:51 -04:00
kangax
39184f5ac4 Version 0.2 --> 0.2.1 2011-05-10 16:27:00 -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
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
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
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
752eff298d Few small IE fixes. 2011-03-29 13:27:28 -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
7770e2a09c Build distribution. 2011-03-01 19:27:48 -05:00
kangax
d9828321ca Fix text rendering in IE9. Now fully works! Fix fabric.Element#insertAt not calling setCoords and setupState on added object. This was affecting fabric.Element#loadFromJSON. Thanks vepkenez for bringing it up. 2011-02-17 16:41:16 -05:00
kangax
dc83c95e7d Rebuild distribution file. 2011-02-13 15:30:44 -05:00
kangax
ef425d18c5 Fix some of the parser.js unit tests by making resolveGradients more lenient. 2011-02-11 01:44:08 -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
df76f5d688 Change the way options are set for an object (don't use options property — which makes for quite expensive iteration during initialization — and instead take advantage of prototypal inheritance). 2011-02-09 18:21:45 -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
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
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
550bb5da3d Remove debugger leftover from gradient.js. 2011-02-06 23:25:19 -05:00
kangax
4d86890b68 Few tweaks to raphael vs fabric tests. 2011-02-06 04:28:04 -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
bf8bb679f7 Remove an assignment that was used for debugging. 2011-01-23 03:42:17 -05:00
kangax
0dae843114 Revamp object corner detection logic (now, finally, corners are detected properly). 2011-01-23 03:30:22 -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
580c0680f0 First stab at parsing + applying css rules to SVG elements. Needs unit tests! 2011-01-19 02:30:35 -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
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
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
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
45795824ac First stab at centering guidelines and snapping to a center (vertical/horizontal). 2010-10-30 21:47:15 -04:00
kangax
f497327131 Fabric now runs fully under ES5 strict mode (except certain 3rd party dependencies, like cufon.js and json2.js). 2010-10-21 22:54:00 -04:00
kangax
948d3998c8 A couple more doc fixes and build distribution + minified. 2010-10-19 16:31:39 -04:00
kangax
f052a067ef More documentation. 2010-10-19 16:27:24 -04:00
kangax
2f168d05a9 Add few sample fonts and cufon.js (which is a dependency for fabric.Text). 2010-10-15 00:56:54 -04:00
kangax
639aa12e2a Another chunk of documentation (which is a bitch, by the way). 2010-10-14 22:16:24 -04:00
kangax
415205d3f2 Document bunch of API (still incomplete, but getting there). 2010-10-14 17:42:39 -04:00
kangax
e70830f7d6 Introduce fabric.log and fabric.warn methods, as simple wrappers around console.log and console.warn (instead of declaring those methods right on console). This makes it easier to mock them when testing, and is generally safer due to less tinkering with host objects. 2010-10-11 14:45:06 -04:00
kangax
b35b559c6a String.prototype.trim now strips '\xA0' characters in engines which fail to match that character via \s. Fix a couple of unit tests. 2010-09-14 18:57:55 -04:00
kangax
769c0c1eb7 Function.prototype.bind now calls object it's being invoked on indirectly (better spec compliance), thanks Garrett Smith;
Unit test `fabric.util.makeElementUnselectable` and make test names in util module more descriptive.
2010-09-14 12:53:29 -04:00
kangax
30a8e12c73 Cache Math.PI * 2 when rendering ellipses. Build distribution files. 2010-09-09 17:57:10 -04:00
kangax
d8937fca9f Only render circles and ellipses according to left/top when they are part of a group. 2010-09-09 17:55:43 -04:00
kangax
e9fd7c6166 Fix bug in Polyline and Polygon points attribute parsing (thanks to unit tests). 2010-09-09 17:10:21 -04:00
kangax
2b73b27c09 Add fabric.version (start with 0.1). 2010-09-08 23:13:00 -04:00
kangax
8ed28fa260 Typo in Function.prototype.bind. Fix incorrect positioning when drawing circles and ellipses. 2010-09-08 23:07:52 -04:00
kangax
43d11b6914 In demo, notify about inability to serialize canvas to an image when toDataURL is not supported. 2010-08-27 13:25:10 -04:00
kangax
c6f4f3f61d Build distribution files 2010-08-27 12:30:13 -04:00
kangax
9d7254d86e Add distribution versions minified via uglify.js 2010-08-27 12:26:12 -04:00
kangax
b04d187a04 Make free drawing path round and make sure something it's drawn immediately, on mousedown, not just on mousemove. 2010-08-10 23:26:41 -04:00
kangax
5f18c43e91 More free-drawing tweaks. Paths can now be created with different stroke width and color. Add these options to demo. 2010-08-10 19:25:14 -04:00
kangax
9d018caf40 First draft of support for free drawing. 2010-08-10 18:29:33 -04:00
kangax
81cf81b34d Add support for locking of movement (horizontal or vertical), rotation and scaling of objects. 2010-08-04 23:23:16 -04:00
kangax
36a50ab3e8 Rendering fixes. 2010-08-02 14:50:07 -04:00
kangax
ef73b46f7c Fix simple shapes (triangle, circle, etc.) being drawn with corners while in selection. Minor perf. improvements. 2010-08-02 14:13:07 -04:00
kangax
7e7a7ff719 Math.floor --> ~~ for slight perf. increase (only do this for positive numbers). 2010-07-31 14:06:10 -04:00
kangax
9a9605fecd Alias Math.* methods for slight perf. increase.
Remove `fastestClearingMethod` test, as webkit has rendering bugs with `canvas.width = canvas.width` type of clearing.
Rename some properties/methods in `fabric.Element` from `_oXxxxx` & `_aXxxxx` to `_xxxxx`.
Add test for `fabric.Element::onFpsUpdate`.
2010-07-31 13:55:10 -04:00
kangax
89e61ed6d0 Add onFpsUpdate callback to fabric.Element. Display FPS in demo. 2010-07-30 19:39:12 -04:00
kangax
a2bb25043c toJSON now returns object instead of a string (fixes bug with JSON.stringify returning incorrect — double — serialization of an object). 2010-07-29 13:50:09 -04:00