Commit graph

170 commits

Author SHA1 Message Date
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
48da79220f Fix fabric parser to workaround o3-xml bug with gEBTN("*") 2011-08-16 19:05:17 -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
a5b22895e7 canvas.fx --> canvas.animation 2011-08-04 21:00:44 -04:00
kangax
27999a327c Add unit tests for fabric.loadSVGFromString. 2011-08-04 20:48:25 -04:00
kangax
044866cf44 Document fabric.loadSVGFromString. Replace canvas.loadSVGFromURL with fabric.loadSVGFromURL. 2011-08-04 11:05:40 -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
b33b722a3b Fix missing references in canvas.serialization module. 2011-07-27 18:09:43 -04:00
kangax
73004e388f Fix loadImageFromURL not invoking callback for cached images in Chrome. 2011-07-26 15:40:29 -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
aa885ee458 Change default font family of fabric.Text objects to "Times New Roman". 2011-07-26 00:19:47 -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
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
a7155ccbfb Reorganize project structure. Add "customization" demo (work in progress). 2011-06-29 11:10:08 -04:00
kangax
628efcdc70 fabric.Element is renamed to fabric.Canvas, which makes more sense. fabric.Element is kept for compatibility reasons (but is deprecated). Bump version to 0.3. 2011-06-28 19:14:40 -04:00
kangax
fbe3246e68 Merge remote-tracking branch 'cleercode/gh-pages' into gh-pages 2011-06-28 00:35:42 -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
Chris Lee
bef5e8310a Activate mousedown only on left clicks 2011-06-03 11:15:56 -07:00
Chris Lee
0bf40b8bef Fix for line width 2011-05-31 11:23:30 -07:00
Chris Lee
dce11e13ae Global selection enable/disable through canvas.selection option 2011-05-31 10:56:09 -07: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
b15b319ed5 Add context.save + context.restore around canvas clipping to work around WebKit's performance loss (https://bugs.webkit.org/show_bug.cgi?id=61560) as suggested by @ohunt 2011-05-27 13:58:39 -04:00