Commit graph

208 commits

Author SHA1 Message Date
kangax
776b72d624 More canvas.class.js refactoring 2013-11-13 14:33:01 +01:00
kangax
bbd3480d50 canvas.class.js refactoring 2013-11-13 14:26:49 +01:00
kangax
779c2ef527 Move isTransparent logic to utils 2013-11-13 14:10:28 +01:00
kangax
4f46626467 Extract method in fabric.Canvas 2013-11-11 16:20:11 +01:00
kangax
014109ced3 Move canvas grouping logic to separate mixin/file 2013-11-11 16:07:51 +01:00
kangax
15889d3677 Fix active group's originX/originY 2013-11-11 00:02:10 +01:00
kangax
a39474d5bc Refactor __onMouseUp 2013-11-10 15:34:10 +01:00
Tom French
88b589b3d6 Implement zoom for brushes, various zoom fixes, remove canvasBorder. 2013-11-08 15:54:55 +00:00
kangax
5f643daf54 Normalize behavior of setActiveObject, setActiveGroup, discardActiveObject, discardActiveGroup. Closes #579 2013-11-06 20:58:23 +01:00
kangax
c3fd102cdb Fix fabric.Object#selectable. Closes #957 2013-11-06 18:41:02 +01:00
Tom French
328f14f388 Add zoom 2013-10-31 17:36:18 +00:00
kangax
3b3b478e77 Refactor _setObjectScale 2013-10-30 17:15:53 +01:00
kangax
733eccb00c Separate IText behavior into a separate "module" 2013-10-27 14:05:35 +01:00
kangax
0aad996dc9 Refactor _scaleObject more 2013-10-26 19:06:48 +02:00
kangax
aa75b47506 Refactor _scaleObject 2013-10-26 18:59:36 +02:00
kangax
d803f9aa64 Refactor _findSelectedObjects 2013-10-26 18:54:29 +02:00
kangax
c42d857b14 Refactor _handleGroupLogic even more 2013-10-25 10:43:42 +02:00
kangax
c0c222f672 Refactor _handleGroupLogic 2013-10-25 10:38:32 +02:00
kangax
c2edbf003a Refactor _setupCurrentTransform 2013-10-25 10:20:55 +02:00
kangax
476da71e92 Doc changes 2013-10-25 09:05:39 +02:00
Stefan Kienzle
9c6565491b Don't fire 'selection:created' if only one object exists 2013-10-23 09:18:07 +02:00
Kienz
0f9612b69f Fix object selection with shift key - Closes issue #912 2013-10-22 20:33:20 +02:00
Kienz
5adf772a64 Invisible objects are no longer selectable with "selection-mode" (canvas.selection = true) - Closes issue #891 2013-10-09 20:57:41 +02:00
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