Commit graph

789 commits

Author SHA1 Message Date
kangax
69f1b20a8e Add fabric.Object#getBoundingRect. getBoundingRectWidth/getBoundingRectHeight are deprecated. 2013-01-29 18:06:44 +01:00
kangax
42c857c18c Pass event to "object:rotating" callback 2013-01-29 18:06:43 +01:00
Kienz
64bdb13836 Clear contextTop before call renderAll() in _finalizeAndAddPath 2013-01-26 15:08:53 +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
kangax
268dbb2114 Clear top context in toDataURL* methods. Closes #399 2013-01-25 14:20:53 +01:00
Fabian Hickert
18b7e05eb2 Fixed event handling for touch-supported devices. 2013-01-24 11:32:58 +00:00
Juriy Zaytsev
74855f6fd1 Merge pull request #388 from FremyCompany/patch-1
Add 'object:removed' and 'canvas:cleared' events
2013-01-23 14:02:44 -08:00
Kienz
33bacb0cd6 Bugfix for canvas.toDataURL() - canvas.clearContext(canvas.contextTop) in after:render clears context if canvas.toDataURL() is called.
Observe before:render and clear contextTop.
2013-01-21 22:15:28 +01:00
kangax
6da2ed6d65 More canvas refactoring 2013-01-20 20:40:26 +01:00
kangax
70119f7095 Refactor some logic from canvas and object classes into mixins 2013-01-20 20:40:26 +01:00
kangax
8a74303443 Refactor brushes 2013-01-20 17:28:06 +01:00
FremyCompany
7f2e8030c7 Added: 'canvas:cleared' event
When the canvas is cleared, it doesn't fire any 'object:removed' event, on purpose
2013-01-18 17:27:21 +01:00
FremyCompany
fd4a9733d4 Added: 'object:removed' event
Inlined removeFromArray call (because it didn't return whether indexOf returned -1 or not so I couldn't know if 'object:removed' had to be fired or not
2013-01-18 16:16:40 +01:00
Cedric Wienold
958f37d8fb Add createJPEGStream support for fabric canvas
Node Canvas already has support for createJPEGStream. Create a route to
take advantage of that through fabric.js canvas.
2013-01-17 12:48:41 -08:00
kangax
b721667b7b Discard active group when clearing canvas 2013-01-17 19:00:20 +01:00
kangax
7a527437c9 Avoid expensive regex when modifying data url string 2013-01-17 19:00:20 +01:00
kangax
21ee892c28 Merge master 2013-01-15 00:06:54 +01:00
Kienz
2715ef306c Bugfix for controlsAboveOverlay (issue #380)
Only if pointer is over targetCorner lastRenderedObjectWithControlsAboveOverlay is used as targetObject.

See issue #380.
2013-01-14 17:09:50 +01:00
kangax
85c9b34d04 Discard active group when clearing canvas 2013-01-14 12:08:54 +01:00
kangax
ddacd57cc8 Avoid expensive regex when modifying data url string 2013-01-14 12:08:39 +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
84270a47b2 Merge remote-tracking branch 'jaffer/master' 2013-01-10 14:31:59 +01:00
kangax
7be14a6a70 First implementation of brushes 2013-01-10 14:27:13 +01:00
kangax
082bee8279 Add fabric.Canvas.prototype.freeDrawingCursor 2013-01-10 14:22:02 +01:00
kangax
157ff19d47 Fix overlayImage not being applied in loadFromJSON under Node 2013-01-10 14:21:21 +01:00
kangax
4a84bf92a7 Clone options object of animate (to avoid conflicts) 2013-01-10 14:20:52 +01:00
kangax
d47ed61d49 Remove unnecessary e 2013-01-10 14:20:36 +01:00
kangax
3194c1903a Do not show corners in groups 2013-01-10 14:20:25 +01:00
kangax
dffe675eb2 Fix toDataURL doc 2013-01-10 14:20:13 +01:00
Jaffer Haider
20a87c6609 Support for pinch gesture to scale and rotate objects using Event.js. 2013-01-08 16:04:38 +05:00
kangax
a870e11a57 Fix fabric.util.loadImage in node 2013-01-04 19:15:18 +01:00
Josh Pearce
d56bf59137 Add image load onerror handler
Make sure, when loading from json, that
a bad image path doesn't fail the desserialization

Signed-off-by: kangax <kangax@gmail.com>
2013-01-04 19:14:24 +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
fb915851db Fix lost event in IE7/8. Closes #364. 2012-12-29 20:00: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
06e6365068 Fix unnecessary JS error when calling require 2012-12-23 15:19:21 +01:00
kangax
a7a6c38384 Fix incorrect parsing of fontSize which made text not appear when loaded from SVG. Closes #331. 2012-12-23 15:18:46 +01:00
kangax
a37fcc92d4 Fix incorrect rendering of text + path SVG. Closes #355. 2012-12-23 15:17:45 +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
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
7eae38db57 Doc additions. 2012-12-15 17:29:40 +01:00
kangax
6ed3dda6f5 Merge master 2012-12-15 17:16:39 +01:00
kangax
4bcc0bd80f Add uniScaleTransform and centerTransform parameters to canvas, which control how objects are transformed 2012-12-15 17:13:40 +01:00
kangax
fcfe5052f8 Use toFixed to cutoff some of the values. Closes #352. 2012-12-15 17:09:37 +01:00
kangax
f6cbb259f3 Doc additions. 2012-12-15 17:05:23 +01:00
Kienz
aefa280bb3 strokeText bugfix for Firefox < 4 2012-12-14 18:31:01 +01:00
Juriy Zaytsev
564e37eb5f Merge pull request #348 from Kienz/freedrawingFix
Fix another freedrawing bug in Firefox 3.6.1 - 3.6.24
2012-12-13 12:44:50 -08:00
Kienz
39c2b48ade Another freedrawing bug in Firefox 3.6.1 - 3.6.24
In Firefox 3.6.28 it works correct.
canvas 2d context arc() requires optional parameter anticlockwise - bugzilla issue https://bugzilla.mozilla.org/show_bug.cgi?id=617319.
2012-12-13 19:08:34 +01:00
Juriy Zaytsev
b8c573530a Merge pull request #346 from Kienz/freedrawingFix
Freedraw bugfix for Firefox 3.6.x
2012-12-13 06:47:54 -08:00
kangax
eb35434a97 Fix x/y not being set on rectangle sometimes. Closes #344. 2012-12-13 15:46:06 +01:00
kangax
3416d8a090 Documentation additions. 2012-12-13 15:46:06 +01:00
Kienz
d8831feb0e Freedraw bugfix for Firefox 3.6.x
The pointer flies away on starting freedrawing - line is drawing.
Here you can see a screenshot:
<img src="https://s3-eu-west-1.amazonaws.com/kienzle.geschaeft/projects/sketch/fabric_freedraw_problem_firefox_3.6.x.png"/>

jsFiddle:
http://jsfiddle.net/r2ZE7/95/
2012-12-13 11:57:16 +01:00
Kienz
3fa2a01faa Fix freedrawing for Firefox:
TypeError: Not enough arguments to CanvasRenderingContext2D.arc.
[Bei diesem Fehler anhalten]

this.canvas.contextTop.arc(originLeft, originTop, 3);
2012-12-10 15:59:26 +01:00
Juriy Zaytsev
fab0de8b5b Merge pull request #340 from shiloa/master
Change toSVG in image.class.js to properly close <image> tag.
2012-12-10 06:37:11 -08:00
Kienz
4b56e3f8ae Fix for touch devices - only works if page is has no scrolling. I've tested it no iPad with iOS 6.01. 2012-12-10 13:44:26 +01:00
shilo
4fba531e6f close <image> tag XML style to allow access to native SVG document 2012-12-10 14:40:26 +02:00
kangax
a1a54fea0b Merge master 2012-12-09 10:17:12 +01:00
Kienz
1599ab3484 loadFromJSON now handles json as String or Object - same behavior like loadFromDatalessJSON. 2012-12-08 10:40:29 +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
Juriy Zaytsev
e276743176 Merge pull request #335 from TimNZ/master
Allow `fabric.util.loadImage` to support data url in Node.js.
2012-12-06 10:49:29 -08: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
TimNZ
a119d39e85 Set img._src on loadImage for data url 2012-12-04 17:28:01 +13:00
TimNZ
e9fe12a6d0 Allow loadImage to support data:image url 2012-12-04 17:21:08 +13:00
Kienz
8e45dd8046 [BACK_INCOMPAT] Cufon rendered fabric.Text now has two properties: backgroundColor (whole bounding-box) and textBackgroundColor (textlines, same behavior as "old" fabric.Text#backgroundColor) 2012-12-03 19:38:35 +01:00
kangax
57d7861fc4 Fix gradient fill on fabric.Text objects. Fix #278. 2012-12-03 08:57:44 +01:00
Kienz
dfe2762394 Prevent drawing textBackground for empty textlines 2012-12-02 14:08:13 +01:00
Kienz
1d73cc6e9a fabric.Text backgroundColor vs. textBackgroundColor 2012-12-02 13:58:34 +01:00
kangax
c105212c9c Doc fixes. Version 0.9.26 2012-12-02 11:53:38 +01:00
Steve Pemberton
a24e0e79fc Fix to allow path to be immediately positioned on creation 2012-12-01 20:57:21 +00:00
kangax
1633bce401 Add most of the unit tests for fabric.util methods. Fix #35. 2012-12-01 17:52:03 +01:00
Kienz
f85e7a0335 Bugfixes for new parameter propertiesToInclude
Doc additions, fixes.
fabric.Group.toObject() now passes object propertiesToInclude also to objects inside the group
fabric.Image.clone() has now parameter propertiesToInclude
fabric.Object.clone() has now parameter propertiesToInclude
2012-12-01 13:57:27 +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
Steve Pemberton
4d40b7b080 Path fixes 2012-11-29 00:46:16 +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
f0b5329157 Doc additions, fixes. 2012-11-23 13:38:26 +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
kangax
cdeac75435 Do not show rotating corner points when objects inside active group. 2012-11-03 16:11:00 +01:00
kangax
b763330289 Make active group respect clipping/overlay. 2012-11-03 16:11:00 +01: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
kangax
df22b0f9b1 Default "fontWeight" is now corresponding to "normal" — 400, instead of 100 (which makes some fonts appear light). 2012-10-23 21:12:48 +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
f576ec797b Documentation additions. 2012-10-20 20:12:28 +02:00
kangax
1744469063 Fix opacity of rect, circle, ellipse objects. Fix #289. 2012-10-20 20:12:19 +02:00
kangax
39efd11c4c Add overlayImageLeft, overlayImageTop properties to control position of canvas overlayImage. Add "before:render" event. 2012-10-20 20:11:55 +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
0243009218 Doc fixes. 2012-10-17 11:02:53 +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
eacc459cf0 Add support for switching between filled and stroked corners. 2012-10-11 00:36:49 +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
Kienz
0595577c6e support check for toDataURL with quality parameter 2012-09-29 09:51:47 +02:00
kangax
0ead6db114 Path groups now have empty fill by default. 2012-09-10 19:54:47 -04:00
kangax
462041d2ce Fix group setter to not mess up children fill value. Fix #191. 2012-09-10 19:46:22 -04:00
kangax
f8ecc529f5 Fix fontFamily setting. 2012-09-10 19:45:25 -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
5f19d75a03 [BACK_INCOMPAT] Move NUM_FRACTION_DIGITS & MIN_SCALE_LIMIT to fabric.Object. 2012-09-02 11:50:07 -04:00
kangax
f646bdc735 object.theta --> object._theta 2012-09-02 11:34:48 -04:00
kangax
232f671b24 Fix loadFromJSON with async content. 2012-09-02 10:39:07 -04:00
kangax
f01736183a Fix straight-line polyline/polygon rendering. 2012-09-01 23:22:16 -04:00
kangax
1d3de62a9c Add "controlsAboveOverlay" option to canvas. 2012-09-01 23:22:16 -04:00
Kienz
77fe7884c0 RotatingPoint not working since strokeWidth is included in boundingBox of objects.
This should fix this.

Jsfiddle example:
http://jsfiddle.net/r2ZE7/23/
2012-08-27 19:51:28 +02: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
Juriy Zaytsev
b8983f9760 Merge pull request #244 from willmcneilly/image-render-fix
Add transform matrix to render method, reset image width and height.
2012-08-26 11:51:35 -07: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
Will McNeilly
2a22e1dba6 add transform matrix to render method, reset image width and height 2012-08-21 17:19:55 +01: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
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
3fbdd508ba Fix inline docs. 2012-08-20 18:23:53 +02:00
kangax
fc194eeec1 Unify object initialization logic used in add and insertAt. 2012-08-20 18:23:53 +02:00
kangax
9594ba330f gradient.js --> gradient.class.js 2012-08-20 18:23:53 +02:00
joshpearce
5923e008f7 Update src/parser.js 2012-08-19 21:36:37 -03:00
Josh Pearce
cf7a6d1482 Added reviver method in parser
The optional method is used when asking fabric to
load an SVG file and parse it, instantiating fabric objects.
After each fabric object is created, reviver(ele, obj) is
called so you can parse our custom attributes, or do
anything else custom.
2012-08-19 16:07:28 -04:00
kangax
90d7f7acf3 Fix native text rendering under node-canvas. 2012-08-16 18:08:24 +02:00
Will McNeilly
a4929cdbd4 shorthand quadratic curveto rendering fixes, dealing with coincident points. 2012-08-16 13:58:10 +01:00
Kienz
34be62682f Add quality parameter for toDataURL and toDataURLWithMultiplier 2012-08-15 20:42:28 +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
Juriy Zaytsev
b4f2f64ff1 Merge pull request #224 from davidjrice/path-fixes
Add fixes for "q" and "t" quadratic curves, as well as support for consecutive "t" curves.
2012-08-11 12:53:46 -07:00
kangax
3ce8507932 Implement fabric.Text.fromElement. Closes #182. 2012-08-11 18:59:53 +02:00
Will McNeilly
1ba26ad05f Add fixes for q and t quadratic curves and add support for consequtive t curves 2012-08-09 15:07:24 +01: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
0fcd356bf6 Initial support for "strokeDashArray" (WIP; works for rectangles only for now). 2012-08-08 00:04:01 +02:00
kangax
3e6b880086 Fix set({ key1: value1, key2: value2 }) not working with groups. 2012-08-08 00:04:01 +02:00
Cat Sync
2cfe384d57 Fix for polygon bounding box being offset (issue #147) 2012-08-05 16:58:27 -04: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
Juriy Zaytsev
6bf298d59c Merge pull request #205 from aggrosoft/master
Fix `applyFilter` dimensions and add new Tint Filter.
2012-07-31 13:16:55 -07:00
kangax
581d5a54b9 Fix compatibility with Node (including loadSVGFromString). 2012-07-31 20:55:49 +02:00
kangax
e85045d86a Rename fabric_node.js to node.js 2012-07-31 20:50:06 +02:00
Juriy Zaytsev
c51c10b3ec Merge pull request #214 from Kienz/cursor
Add moveCursor and fix "defaultCursor" typo.
2012-07-29 03:09:25 -07:00
Kienz
35e8addd88 moveCursor and typing error defaultCursor
Property moveCursor, _setCursor(this.moveCursor) when moving object,
typing error defaultCursor
2012-07-29 11:05:07 +02:00
Kienz
e4f9e405c2 defaultCursor typing error 2012-07-29 10:14:05 +02:00
Kienz
6feafb4a91 Native textShadow bug - offsetX, offsetY und blur are wrong
The definition of offsetX, offsetY and blur are wrong.
You can see this in this jsfiddle:
http://jsfiddle.net/TeBdn/2/
2012-07-29 09:53:40 +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
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
aggrosoft
ce86c0470c Fixing broken size of scaled images
Size of original image will be taken into account where the scaled size should be used when calling applyFilter.
This fixes this.
2012-07-25 13:24:45 +03:00
aggrosoft
89402af132 New Tint filter
Added new Tint filter that will recolor a semi transparent image
2012-07-25 13:22:07 +03: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
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
edbce2b32a Documentation fixes. 2012-07-19 11:43:46 +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
9590fe597c In fabric.Observable, observe is now on, stopObservingoff. observe and stopObserving are deprecated. 2012-07-18 18:25:51 +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
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
ab11c82b18 Fix callback to be invoked after background image is set. 2012-06-26 16:43:35 +02:00
kangax
be5e8a600f Remove redundant "//= require" statements. 2012-06-26 16:42:45 +02:00
kangax
b669085c97 Fix groups being lost after toDataURLWithMultiplier. 2012-06-26 16:41:43 +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
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
09585654a8 Cloned canvas now preserves background image (and all of its properties) properly. 2012-06-07 16:24:44 +02:00
kangax
e17fe9ddef Prevent error in fabric.Object#toDataURL when called before setCoords. 2012-06-07 16:24:44 +02:00
kangax
9e605340c1 Fix subclassing mechanism to work correctly with 2+ level deep inheritance. Closes #134. Closes #141. 2012-06-07 16:24:44 +02:00
Tim de Koning
a64ae3d9eb XML entities should be escaped globally! 2012-06-07 15:24:00 +02:00
kangax
bb389e4723 Removing active object now fires "selection:cleared" events. Closes #121. 2012-06-07 12:47:15 +02:00
kangax
9130ab7f60 Add "object:added" event. Fires when object is added to canvas (either via canvas.add or canvas.insertAt). 2012-06-07 12:32:58 +02:00
kangax
7791e9c2e0 IE fix for gradient parsing. 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
49a51b1388 Added getBoundingRectHeight and getBoundingRectWidth and changed toDataURL to use those instead of getHeight and getWidth. 2012-05-30 20:30:42 -03:00
Maciej Gajewski
752339aa3e Rotation point now works after flipY. 2012-05-29 13:04:25 +02:00
Maciej Gajewski
1d037645b9 Added ability to set cursor for rotation point just as default cursor. 2012-05-29 12:42:41 +02:00
kangax
e4dbab85f1 Fix xml parser initialization. 2012-05-29 12:29:20 +04: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
c5bf683d63 Display circle as rotating control, rather than square. 2012-05-15 18:01:57 +04:00
kangax
7451d8978a Set cursor to "crosshair" when hovering over rotating control. 2012-05-15 18:01:38 +04:00
kangax
5cbd8bdb8a Merge remote-tracking branch 'Kienz/master' 2012-05-15 16:53:57 +04:00
Kienz
b3b99e6aee Fix problem when hasRotatingPoint = 'false'. In this case the behavior is the same as before: corner-controls: scale + rotate. 2012-05-15 15:36:19 +03:00
kangax
a5efac75bb Merge remote-tracking branch 'Kienz/master' 2012-05-15 16:14:15 +04:00
Kienz
475e3ae1ce Bugfix seperate rotating point 2012-05-15 14:56:55 +03:00
Kienz
7c0a2e65cd Bugfix seperate rotating point 2012-05-15 14:54:39 +03:00
kangax
60f6bdfa60 Merge remote-tracking branch 'Kienz/master' 2012-05-15 15:08:03 +04:00
Kienz
ee380cc3a0 Revert "Revert "Separate rotating corner""
This reverts commit cc41222b0d.
2012-05-15 00:46:05 +02:00
Kienz
cc41222b0d Revert "Separate rotating corner"
This reverts commit d95894f5c2.
2012-05-15 00:44:38 +02:00
Kienz
d95894f5c2 Separate rotating corner
These changes are based on the easel.ly project. The separate rotate
corner can enabled/disabled by the option hasRotatingPoint
(true/false). By default the option is set to false.
Maybe you can have a look at these changes.
2012-05-15 00:35:20 +02:00
Kienz
33c7cda3aa Group selection by holding shift key if canvas.selection = false no longer possible 2012-05-14 12:25:02 +03:00
Juriy Zaytsev
351ec5d48f Merge pull request #155 from balthazar/master
Add easing functions.
2012-05-13 07:43:06 -07: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
Balthazar Auger
d3abeeb957 Merge branch 'master' of github.com:balthazar/fabric.js
Conflicts:
	build.js
2012-04-26 00:07:52 -03:00
Balthazar Auger
8724fa2bc1 Update default easing function 2012-04-26 00:01:42 -03:00
Balthazar Auger
383665d236 Debug and test remaining equations. 2012-04-24 17:35:53 -03:00
Balthazar Auger
4945372f05 Add most common easing functions
TODO: find out why easeOutBack and easeInOutBack mess up build
2012-04-24 02:29:38 -03:00
Balthazar Auger
f2a37a3bc0 Adapt fabric.util.animate to work with general easing equations 2012-04-24 02:28:45 -03:00
Balthazar Auger
b2853e8717 Study how to insert easing functions 2012-04-24 00:27:18 -03: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
Juriy Zaytsev
c551e1bcbe Merge pull request #144 from sunrei/master
Fixed bug with `loadFromDatalessJSON` not loading text objects when those objects have no "path" property.
2012-03-28 05:09:55 -07: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
Dmitriy
f780babe2f fixed bug when text object are not being loaded with loadFromDatalessJSON method 2012-03-23 14:34:47 +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
93565f135d Fix text offset issue when exporting to SVG. 2012-02-10 00:37:06 -05:00
kangax
905ab44665 Remove unused functionality in fabric.Image (maxwidth/maxheight). If we do add this in the future, it should really be on fabric.Object not only on fabric.Image. 2012-02-10 00:13:28 -05:00
Tim de Koning
513766d63c fixed issue where canvas is messed up when no backgroundImage or backgroundColor is configured and something is dragged around on the canvas. 2012-02-09 11:00:30 +01:00
Tim de Koning
0ed5f80248 escape XML in SVG strings 2012-02-09 09:54:30 +01: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
Juriy Zaytsev
7169b53a46 Merge pull request #109 from gburlet/bgImg
Add "backgroundImageStretch" and "backgroundImageOpacity" options to canvas.
2012-02-05 10:48:50 -08:00