Commit graph

34 commits

Author SHA1 Message Date
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
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
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
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
5fc29b1dbb Add fabric.Object#animate. Tests to come. 2011-07-04 23:28:32 -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
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
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
a7f7bdaf80 Make _removeDefaultValues more flexible. 2011-05-10 16:41:51 -04:00
kangax
b60edcc379 Much more usable multiline text. 2011-03-21 03:53:23 -04:00
kangax
dd4f178389 Allow options with falsy values (e.g. 0 or "") 2011-03-01 19:26:24 -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
da6b00fc0e Introduce fabric.Element#stateful and fabric.Element#renderOnAddition options, as a way to improve performance. Note that setting "renderOnAddition" to false could give a pretty significant performance boost when adding a lot of objects to canvas at once, since fabric.Element#add would not re-render canvas on each addition. Once added, the canvas should be re-rendered manually, via renderAll method. 2011-02-06 02:58:32 -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
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
b550020024 Elements that are descendants of <defs> elements are no longer rendered (as per spec). 2011-01-06 15:20:56 -05: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
f052a067ef More documentation. 2010-10-19 16:27:24 -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
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
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
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
kangax
313cffa57f Remove try/catch from around event handlers (for perf. reasons). Remove APE.anim references from fxCenterObjectH and fxCenterObjectV. 2010-07-27 14:07:59 -04:00
kangax
ad679a6f87 Create local aliases of some of the "long" methods. 2010-07-26 19:20:19 -04:00
Juriy Zaytsev
2340a98526 Rename canvas_*.class.js files to just *.class.js 2010-07-09 21:50:13 -04:00
Renamed from src/canvas_object.class.js (Browse further)