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
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
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
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
3d6ae8442f
Fix object controls not working in IE8. Closes #92 .
2012-01-26 19:39:30 -05:00
kangax
d72fceb14b
Documentation tweaks.
2011-12-08 09:44:05 -05:00
kangax
ea99a1fc7c
Pass actual event when firing synthetic "object:selected" one.
2011-12-05 12:55:31 -05:00
kangax
eb9d64f89a
Fix Opera <12 bug with canvas not getting correct prototype.
2011-11-28 19:47:41 -05:00
kangax
b8ea6b7cec
[BACK_INCOMPAT] Add support for static canvases — fabric.StaticCanvas. fabric.Canvas#loadImageFromURL -> fabric.util.loadImage. Add fabric.Canvas#centerObject.
2011-11-27 23:57:28 -05:00
kangax
7adb4309de
Add support for customizing canvas default cursor.
2011-11-11 15:01:20 -05:00
kangax
6c463afda5
Fix fabric.Canvas#backgroundImage bug.
2011-10-28 17:10:01 -04:00
kangax
2b08618742
Fire "object:scaling" and "object:rotating" events.
2011-09-29 09:31:57 -04:00
kangax
36aeed700a
[BACK_INCOMPAT] fabric.Canvas#selection boolean property now only affects _group_ selection (i.e. blue area that allows to select multiple objects no longer appears). Objects can still be selected by clicking on them. To make _everything unselectable_ — set "selectable" property of each object to false AND fabric.Canvas#selection to false.
2011-09-26 14:43:00 -04:00
kangax
5fa051ccb9
Do not add/remove touch listeners in non-supporting environments.
2011-09-22 11:56:19 -04:00
kangax
efd2aba325
Add basic touch event support.
2011-09-21 19:29:00 -04:00
kangax
db456d2b68
Closes #49 . Fix z-index issues with JSON loading.
...
`fabric.Canvas#insertAt` now accepts third (boolean) argument, indicating whether splicing can be used of insertion or not.
2011-09-19 20:23:00 -04:00
kangax
5dc7220425
Closes #51 again. Fix background scaling in toDataURLWithMultiplier.
2011-09-07 16:30:25 -04:00
kangax
952a31262e
Closes #51 . Fix canvas background becoming smaller when "rasterizing" canvas via toDataURLWithMultiplier.
2011-09-06 14:03:28 -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
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
ace016c694
[BACK_INCOMPAT] fabric.Canvas#loadSVGFromURL --> fabric.loadSVGFromURL. Add fabric.loadSVGFromString.
2011-08-04 10:59:32 -04:00
kangax
73004e388f
Fix loadImageFromURL not invoking callback for cached images in Chrome.
2011-07-26 15:40:29 -04:00