Commit graph

185 commits

Author SHA1 Message Date
kangax
a0c508c1d5 Fix selectable=false objects getting incorrectly selected. Closes #880 2013-10-01 16:52:11 +02:00
Kienz
fa2f18a77a Add more docs.
Examples, tutorial and demo links.
2013-09-28 12:31:32 +02:00
kangax
485b3569d3 Add docs 2013-09-27 22:22:28 +02:00
Kienz
5f9edecd18 [BACK_INCOMPAT] Split fabric.Object.centerTransform and fabric.Canvas.centerTransform into the properties centeredScaling and centeredRotation
centeredScaling: Define if object scaling should be centered (true). Default = false.
centeredRotation: Define if object rotates around center (true) or around origin (originX/originY) point (false).  Default = false.
Pressed altKey negates the behavior.
2013-09-26 18:19:17 +02:00
kangax
365b2dc0a9 Doc additions 2013-09-26 17:50:28 +02:00
kangax
41ab3a0064 Doc additions 2013-09-26 14:12:02 +02:00
kangax
812717b207 Add fabric.Object#evented. fabric.Object#selectable now fires events again, but can not be selected. However, evented=false does not receive events at all. 2013-09-25 19:05:57 +02:00
kangax
95c97f5447 [BACK_INCOMPAT] Object rotation now happens around originX/originY point UNLESS centerTransform=true. Version 1.2.12. Closes #439 2013-09-09 16:39:39 +02:00
kangax
d7469c6a93 Make selectable=false objects propagate events through 2013-09-03 12:01:26 +02:00
kangax
434bfb2c6d Fix fabric.Canvas subclassing; fabric.Canvas, fabric.StaticCanvas now created via createClass. 2013-08-28 15:17:25 +02:00
kangax
a2e4d30a82 Add fabric.Canvas#skipTargetFind 2013-08-14 21:51:00 +02:00
kangax
4b1d1140eb Doc additions 2013-08-14 12:55:09 +02:00
Kienz
0912d1eeeb Remove activeObject on creating activeGroup with shiftKey - closes issue #764
Add @default jsdoc tag etc.
2013-07-24 20:21:51 +02:00
kangax
33fd6c66b5 Version 1.2.1 2013-07-06 16:04:29 +02:00
kangax
0b9a9fa9e2 Fix incorrectly created group. Closes #710 2013-07-05 23:10:45 +02:00
kangax
be72f68670 Make sure object angle is always positive 2013-07-04 14:18:30 +02:00
Daniel Beardsley
f10bef57af Resizing: allow centerTransform per-object
Instead of ONLY a global setting. Some objects (like circles) make far
more sense with centerTransform so it's nice to be able to do it
per-object.
2013-06-19 17:01:32 -07:00
kangax
4d4a129ee6 Fix objects z-index when creating a group via shift click 2013-06-18 12:34:43 +02:00
Stefan Kienzle
7e9122945e Merge pull request #701 from woutercommandeur/flip
fix flickering when flipping using the corner scaling controls
2013-06-13 13:36:37 -07:00
Wouter Commandeur
6f4e78d6fc semicolons again 2013-06-13 17:50:40 +02:00
Wouter Commandeur
cb5bb66628 adjust scaling when dealing with padding 2013-06-13 17:41:07 +02:00
Wouter Commandeur
34e00e862c missing semicolon fixed 2013-06-13 17:00:31 +02:00
Wouter Commandeur
10e878fb62 mouse coordinates had to be adjusted for padding, now scaling works with padding as well 2013-06-13 16:52:21 +02:00
Wouter Commandeur
f4e4715905 remove commented out code 2013-06-12 21:23:15 +02:00
Wouter Commandeur
ecedb34d23 fix behaviour to be the same as the original 2013-06-12 21:21:34 +02:00
Wouter Commandeur
0ad759c428 fix flickering when flipping using the corner scaling controls 2013-06-12 19:24:30 +02:00
Riley Dutton
d79ff8f5e2 Fix bug for not firing selection:created when using Shift to add objects
Currently if you use Shift+Click to add objects to a group, selection:created will only fire after you add 3 or more objects to the group. This fix allows selection:created to fire when the group is first created (when the second object is added).
2013-06-12 10:19:00 -05:00
Wouter Commandeur
3809d19024 fix indentation 2013-06-11 11:03:05 +02:00
Wouter Commandeur
6dec0d24e0 fix flipping of objects using the corner controls 2013-06-11 10:07:35 +02:00
Wouter Commandeur
b55bfd5326 fix scaling with large strokeWidth, this fixes #687 2013-06-09 21:28:08 +02:00
kangax
51b7c09314 Move Cufon methods to text.cufon. Move drawControls to Canvas (from StaticCanvas). Move dataURL-exporting methods to dataurl_exporter mixin. 2013-06-06 12:31:32 +02:00
Kienz
a6eab8d4e2 Fix wrong canvas offset
- Copy inline style attributes from lowerCanvasEl to upperCanvasEl
- Copy classes from lowerCanvasEl to upperCanvasEl
- Add borderTopWidth, borderLeftWidth, paddingTopWidth and paddingLeftWidth (offsetAttributes) to canvas offset (fabric.util.getElementOffset) - these properties are not considered from getBoundingClientRect()
- JSfiddle's for tests - new: http://jsfiddle.net/Kienz/KRcsY/, old: http://jsfiddle.net/Kienz/xrMDr/
2013-05-25 17:32:42 +02:00
Kienz
6e612facc6 Fix isContainedWithinRect and isContainedWithinObject, Add fabric.Object.containsPoint 2013-05-09 19:41:04 +02:00
kangax
70cf7a6963 Tweak docs 2013-05-09 12:14:30 -04:00
kangax
f5b88b4045 Make fabric.Canvas#isTargetTransparent public. Closes #595 2013-05-01 09:58:39 -04:00
kangax
d755d64c76 Remove unnecessary renderAll calls. Thanks @Kienz. Closes #587 2013-04-26 21:49:13 -04:00
kangax
c16dcf88a4 Change inline docs to conform to jsdoc3 2013-04-24 12:58:04 -04:00
Stefan Kienzle
53c8b074c2 findTarget now retuns unselectable objects 2013-04-18 17:51:53 +03:00
Stefan Kienzle
854d0db56c Clear selection for unselectable object
Now objects are found even they are unselectable - expand _shouldClearSelection for unselectable objects.
Don't call findTarget() - new in parameter target.
2013-04-18 17:50:02 +03:00
kangax
26c2590066 Group fixes. Closes #504. Closes #505 2013-03-30 01:36:15 +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
Kienz
292178474d fabric.Object#visible bugfixes and improvements
Bugfixes if perPixelTargetFind = false => object are found if they are invisible with mouse hover.
Only consider visible objects in findTarget (improvement).
2013-03-20 19:17:39 +01:00
kangax
b55c35f865 Merge master 2013-02-06 23:28:17 +01:00
Kienz
ddaf8ba796 Fix touch events if canvas is inside a scrolled container (see issue #123).
Fix bug if mouse moves over absolute scrolled element while object scaling (see issue #385). Also if mouse is moved over documentElement (fabric.document) while scaling object is fixed (same issue like #385).

Tested with Safari 5.1.7, 6.1, Firefox 18, 3.6.28, Chrome 24/25beta, Opera 12.12 and iPhone iOS 6.1, iPad iOS 6.1 in non-scrolled and scrolled containers.
2013-02-01 18:27:20 +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
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
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
Jaffer Haider
20a87c6609 Support for pinch gesture to scale and rotate objects using Event.js. 2013-01-08 16:04:38 +05:00
kangax
e12b6598cd Merge master 2012-12-18 18:12:08 +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
4bcc0bd80f Add uniScaleTransform and centerTransform parameters to canvas, which control how objects are transformed 2012-12-15 17:13:40 +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
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
coulix
8f8322fb46 Merge master 2012-11-30 18:57:49 +01:00
coulix
16422bed01 Refactoring 2012-11-30 18:42:02 +01: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
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
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
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
84a956c4b6 Lint everything with JSHint. Version 0.9.14. 2012-10-14 02:53:12 +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
f646bdc735 object.theta --> object._theta 2012-09-02 11:34:48 -04:00
kangax
deb33940a2 Avoid rendering dot in FF on click in free drawing mode. 2012-08-23 15:15:11 +02:00
kangax
3fbdd508ba Fix inline docs. 2012-08-20 18:23:53 +02: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
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
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
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
126c2aa507 Merge master 2012-06-20 17:43:39 +02: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
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
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