Commit graph

1021 commits

Author SHA1 Message Date
Yuri Shmorgun
d5de9042cd Issue #756 fixed - single click in free drawing mode now works for pencil brush, circle brush and pattern_brush (inherits pencil brush fix) 2013-07-24 23:30:48 +03:00
kangax
bc3adcffbc Clip free drawing 2013-07-24 22:16:28 +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
67b54a44a5 Fix pattern toSVG 2013-07-22 22:00:03 +02:00
kangax
974ed943b8 Fix polyline, polygon tests and JSHint warnings 2013-07-22 14:39:07 +02:00
kangax
6b36e72521 Make SVG output Corel Draw -compatible. Closes #758 2013-07-22 14:22:36 +02:00
kangax
d3e2b03856 Start implementing pattern toSVG support 2013-07-22 14:22:36 +02:00
Kienz
c9d866dcf9 Fixed fabric.PathGroup.fromObject - use fabric.util.enlivenObjects to instatiate fabric.Path objects
Corrected jsdoc tags for fabric.PathGroup.fromObject, fabric.Path.fromObject and fabric.Path.fromElement
Fixed quint tests for fabric.Path and fabric.PathGroup
2013-07-18 22:21:19 +02:00
kangax
6f1b6bf243 Avoid canvas re-rendering for each object when loading from JSON 2013-07-17 16:36:29 +02:00
kangax
45017eeed2 Fire 'path:created' event for circle and spray brushes 2013-07-16 23:46:11 +02:00
kangax
8a0e9bd6b4 Fix fabric.Path.fromElement. Version 1.2.5 2013-07-13 20:15:35 +02:00
kangax
8f02189d50 Fix fabric.Path/fabric.PathGroup fromObject 2013-07-13 18:56:41 +02:00
Juriy Zaytsev
d741b647bc Merge pull request #740 from nathan-muir/kangax-master
Fix issue with `fabric.Line` in browsers that don't support 'setLineDash'
2013-07-13 02:09:00 -07:00
kangax
b8ad7fa79e Clip text background and decoration properly. Closes #743. 2013-07-13 02:35:04 +02:00
kangax
c8cab03aac [BACK_INCOMPAT] fabric.Path.fromObject is now async. fabric.Canvas#loadFromDatalessJSON is deprecated. 2013-07-12 22:38:21 +02:00
kangax
72ef6c67fa Parse lineHeight in style attribute. This fixes IE11's only failing test. 2013-07-11 20:39:45 +02:00
Nathan Muir
f97d593c84 Fixed issue with fabric.Line when browser doesn't support 'setLineDash' (firefox & IE 10). Example at http://jsfiddle.net/taRvU/1/ 2013-07-11 12:16:34 +10:00
kangax
4e5f5badc0 Avoid trailing comma in shadow.class.js when toSVG is stripped. Thanks @danielbeardsley 2013-07-08 12:39:19 +02:00
kangax
0bf607be2e Revert polygon/polyline points change as it breaks shapes in SVG import section 2013-07-08 12:39:13 +02:00
kangax
3eb00518f8 Fix pointer detection in scrollable container. Thanks @kwicher. Closes #730 2013-07-07 22:32:03 +02:00
kangax
21f87bb63a Fix polygon/polyline tests and minor cleanup 2013-07-07 22:25:01 +02:00
Juriy Zaytsev
3076a7b45f Merge pull request #736 from timandres/master
Fix polygon/polyline bounding box
2013-07-07 13:09:30 -07:00
kangax
33fd6c66b5 Version 1.2.1 2013-07-06 16:04:29 +02:00
Juriy Zaytsev
e4989e3fbe Merge pull request #709 from woutercommandeur/path
Fix path behaviour with top/left offsets. Closes #663
2013-07-06 05:56:43 -07: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
kangax
a33a599417 Remove commented out code 2013-07-04 14:18:30 +02:00
Juriy Zaytsev
aca2a62a22 Merge pull request #734 from sn3p/master
Make `sendBackward` / `bringForward` work with non-intersecting objects
2013-07-03 15:38:20 -07:00
Matthijs Kuiper
fe4c0cbb32 Make sendBackward/bringForward work with non-intersecting objects
sendBackward/bringForward functions now take an additional parameter
`intersecting` (boolean).
If `true`, send object behind/in front of next intersecting object.
If `false` (default), send object one level down/up without checking for
intersection.

See issue https://github.com/kangax/fabric.js/issues/707
2013-07-03 23:05:05 +02:00
Kienz
520b2258d3 Convert opacity value into float value. If stop-opacity is set as attribute (not as style attribute) el.getAttribute('stop-opacity') returns null. Problem exists since commit a0b7fa4eb9.
Add default value rgb(0,0,0) for stop-color and 1 for stop-opacity.
Add more gradient tests.
2013-07-02 21:09:50 +02:00
Tim Andres
1576306ef0 Simplified fabric.util.getBoundingRect code 2013-06-28 17:29:07 -04:00
Tim Andres
09e438b0ee Fixed bounding box bug with SVG parsed polylines and polygons 2013-06-28 16:39:15 -04:00
kangax
53aaedadb6 Fix docs 2013-06-20 14:24:00 +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
Juriy Zaytsev
8805547e74 Merge pull request #716 from iFixit/load-image-buffer-support
Add support for Buffers in `fabric.utils.loadImage`
2013-06-19 04:19:33 -07:00
Cedric Wienold
5fc960aa56 Add support for Buffers to utils.loadImage
If the user has preloaded image data in a Buffer, allow that user to use
that data to load into a Fabric.js image.

This is possible because node-canvas supports setting 'src' to a Buffer.
2013-06-19 04:11:06 -07:00
kangax
6597b8919b Make sure only existent custom properties included in output. Closes #713 2013-06-19 12:49:45 +02:00
kangax
4d4a129ee6 Fix objects z-index when creating a group via shift click 2013-06-18 12:34:43 +02:00
Michal Knizek
f22c198a1e Zero opacity in gracient color stop kangax/fabric.js#711 2013-06-18 09:00:55 +02:00
Wouter Commandeur
b2b305e90b fix path behaviour with top/left offsets, fixes #663 2013-06-16 11:56:35 +02:00
kangax
be8e921e57 Fix nested matrix multiplication. Closes #705 2013-06-13 23:10:33 +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
kangax
5bd8ba28d6 Fix loadFromJSON callback when objects array is empty. Closes #703 2013-06-13 13:39:17 +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
Juriy Zaytsev
6ad7e80f95 Merge pull request #696 from woutercommandeur/scaleflipfix
Fix flipping by using the corner controls
2013-06-12 06:31:00 -07: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
86bda44927 adjust point translation for strokeWidth. This fixes #687 (part 2) 2013-06-10 16:59:52 +02:00
kangax
5792521c7a Remove bottom/right from fabric.Path#_parseDimensions, as it's incorrect and not used anywhere. Build distribution. Closes #666 2013-06-10 15:44:23 +02:00
kangax
816261d863 objects -> getObjects() 2013-06-10 15:30:17 +02:00
kangax
d89dea62ac Only use quadraticCurveTo when rendering rectangle with rounded corners. Closes #691 2013-06-10 15:30:17 +02:00
Wouter Commandeur
b55bfd5326 fix scaling with large strokeWidth, this fixes #687 2013-06-09 21:28:08 +02:00
Wouter Commandeur
e503c36170 fix objects jumping around when scaling one side of a group and then rotating 2013-06-07 16:42:26 +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
kangax
e1f93a3668 Move dimensionAffectingProps to fabric.Text.prototype. Simplify and speed up Intersection class. Build distribution. 2013-06-06 03:06:17 +02:00
kangax
55eeed181b Move drawArc to utils. Simplify and speed up fabric.Point 2013-06-06 02:49:42 +02:00
kangax
64317de0d0 Revert text box behavior back to previous (so that characters don't peak out of bounding box). Version 1.1.21 2013-06-05 14:53:35 +02:00
kangax
1b1e0ecc72 Fix node text rendering again 2013-06-05 13:51:26 +02:00
Wouter Commandeur
3c9f7ba5ab and fix bug. 2013-06-04 21:57:00 +02:00
Wouter Commandeur
54aad583cd no need for extra local var 2013-06-04 21:55:54 +02:00
Wouter Commandeur
823ea5ecc5 local var for strokeWidth 2013-06-04 21:52:30 +02:00
Wouter Commandeur
b8e3e6d83f proper fix for strokeWidth causing problems with controls on large scaling 2013-06-04 21:51:23 +02:00
Wouter Commandeur
af31d2abc9 fix object controls being incorrectly rendered at large scaling. Fixes #680. 2013-06-04 21:20:03 +02:00
Wouter Commandeur
e377e681c3 adjust mouse cursor depending on rotation. fixes #644 2013-06-03 19:10:33 +02:00
kangax
2f1383a713 Fix text rendering again. Version 1.1.19 2013-06-03 18:32:44 +02:00
Wouter Commandeur
2dadf7b06a fix transparentCorners beheaviour. When transparentCorners is specified we nolonger clearRect. See issue #405. 2013-06-03 10:51:20 +02:00
kangax
044f5ed483 Fix rect positioning when loading from JSON. Closes #522 2013-06-03 02:24:41 +02:00
kangax
5a28acb032 Fix toJSON/toSVG serialization when there's active group on canvas. Closes #645 2013-06-03 01:55:51 +02:00
kangax
2407dbba49 Implement clipTo serialization, deserialization, and initialization. Closes #583. Closes #677. Closes #676 2013-06-02 23:04:54 +02:00
kangax
221146997c Fix pattern initialization from function string. Closes #442. Version 1.1.18 2013-06-02 22:07:16 +02:00
kangax
e65a7bfee8 Fix text rendering on Node when originY !== top 2013-06-02 21:17:26 +02:00
kangax
1c1b7e4b95 Fix function body matching regex. Add fabric.util.getFunctionBody 2013-06-01 18:08:36 +02:00
kangax
46183d8a85 Fix function body regex to match in IE. Closes #658 2013-06-01 17:48:46 +02:00
kangax
9b09a957f4 Better docs 2013-06-01 16:27:10 +02:00
kangax
6e41088614 Fix getElementOffset in IE<9 2013-06-01 13:14:52 +02:00
Kienz
cd49e7d90e Update README
Move getKlass into seperate function (fabric.util.getKlass)
2013-05-31 20:52:04 +02:00
Stefan Kienzle
2698597c74 Fix vertical gradients (x1 = x2 = 0)
I think `ctx.canvas.width` is not needed.
If gradient coords are e.g. `{x1: 0, y1: -50, x2: 0, y2: -50}` the vertical gradient doesn't work.
Fixes issue #660
2013-05-31 13:30:44 +02:00
kangax
2223b1b61f Remove more functions in distribution when SVG import (parser) is not included. Always include stateful mixin. Closes #662 2013-05-30 21:55:26 +02:00
kangax
b53209437f Move shape classes (circle, line, rect, path, etc.) to /shapes dir 2013-05-30 21:53:49 +02:00
Kienz
86211daa9a Fix indentation (2 whitespaces)
Add opaque to fabric.Image.filters.Convolute.toJSON
Update docs
2013-05-28 21:44:10 +02:00
Wouter Commandeur
d06b6e130e Split image filters into separate files 2013-05-26 15:42:29 +02:00
Kienz
7bb8cc63c6 Fix fabric.util.getElementOffset for Firefox 2013-05-26 01:19:54 +02:00
Juriy Zaytsev
13326cde52 Merge pull request #646 from Kienz/parseSVGOpacity
Parse SVG stroke-opacity and fill-opacity. Add hsl/hsla support.
2013-05-25 15:08:17 -07:00
kangax
0a44d30347 Fix fabric.Line to render properly when x2/y2 is smaller than x1/y1. Thanks @LimeyTX. Closes #648 2013-05-26 00:06:06 +02:00
Kienz
2c29c0cfab Fix typo, add hsl/hsla (with whitespaces) unit tests and move stuff outside of functions 2013-05-25 19:42:31 +02:00
Kienz
46256f2eeb Reverse checks currentStyle & getComputedStyle => first check getComputedStyle and then currentStyle 2013-05-25 18:38:38 +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
1ba6d1345e Merge remote-tracking branch 'origins/master' into parseSVGOpacity 2013-05-25 11:32:59 +02:00
Kienz
c96bc217c2 Add link to github page from that the hsl code is adapted 2013-05-25 11:23:30 +02:00
Kienz
66fc8f4d4b Parse SVG stroke-opacity and fill-opacity
- SVG attribute opacity is now used for object's opacity
- fill-opacity and stroke-opacity are added to stroke and fill color value
- Add hsl/hsla support (e.g. hsl(270, 80%, 10%), hsla(320, 10%, 66%, 0.5))
- Add support for rgb/rgba values with whitespaces around values (e.g. rgba( 255 , 100 , 50 , 0.1 )) and percentage values (e.g. rgb(100%, 67%, 15%, 0.8))
- Delete stroke and strokeWidth from fabric.Text (defined in fabric.Object)
- New unit test for parse stroke-opacity and fill-opacity
- Update unit tests (new tests for hsl/hsla and rgb/rgba (whitespaces and percentage values))
- Change equal and deepEqual parameter order (e.g. equal(actualValue, expectedValue, message))
- Doc additions
2013-05-25 11:03:09 +02:00
Kienz
c03c556177 Fix wrong positioned bounding box of fabric.Polygon and fabric.Polyline objects
- Substract minX and minY from points.x/points.y (_calcDimensions)
- Same in fromElement - but only if minX or minY is negative
2013-05-23 20:02:44 +02:00
kangax
5e10c0011b Fix regression in adjustPosition. Version 1.1.16 2013-05-23 03:52:56 +02:00
kangax
8a52f99292 Fix line rendering when points make height become negative. Closes #589 2013-05-21 18:38:32 +02:00
kangax
f3f1db63b3 Fix fabric.Line rendering 2013-05-21 17:47:44 +02:00
kangax
257d629575 Remove space at the bottom of containing box on text objects (with high line height). Fix underline/strike-through to work with line height correctly. Closes #608 2013-05-21 13:16:26 +02:00
Kienz
f0ca6b7b8f Remove fabric.Group.containsPoint => uses now fabric.Object.containsPoint
Update group unit test - containsPoint checks now scaled group and group with padding
Fix text unit test (complexity, toString)
2013-05-20 18:41:16 +02:00
Kienz
727c075235 Add method complexity() to fabric.Text (returns 1) 2013-05-20 10:17:39 +02:00
kangax
d2bcfc922d Build distribution 2013-05-19 16:26:23 +02:00
Juriy Zaytsev
21bfba0d42 Merge pull request #622 from nathan-muir/master
Fix issue with `getElementOffset` when using canvas in fullscreen mode
2013-05-19 04:10:43 -07:00
kangax
1ed4e40bdf Move brushes to /brushes and mixins to /mixins. Organize ATTRIBUTE_NAMES to use fabric.SHARED_ATTRIBUTES. 2013-05-18 16:43:49 +02:00
Kienz
d80fec5df1 Better strokeDashArray support + Fixes
- fabric.Text has now strokeDashArray support (only native support)
- fabric.Text.fill = null should now work
- Fix save/restore context in render methods => setLineDash affected drawBorder/drawControls
- Add strokeLineCap (default "butt"), strokeLineJoin (default "miter") and strokeMiterLimit (default 10)
- Add support for fabric.Object#fromElement for strokeDashArray (and other stroke properties)
- Add @default tag to properties (JSDoc 3)
- strokeDashArray now only works if stroke property is defined
- Add trokeLineCap (default "round"), strokeLineJoin (default "round") to fabric.BaseBrush
- Updated unit tests
2013-05-18 13:01:34 +02:00
Nathan Muir
fd22edb289 Merge pull request #1 from kangax/master
Merged master branch
2013-05-15 20:52:10 -07:00
kangax
f1c8670102 Remove unnecessary script attributes 2013-05-14 12:34:59 -04:00
kangax
6f306a6436 Add no-es5-compat option during build. Add option to include/exclude stateful module during build. 2013-05-14 12:34:45 -04:00
kangax
b2bcb3aff5 Fix adjustPosition and _getLeftTopCoords 2013-05-14 11:25:52 -04:00
kangax
0be6a5d556 Fix node text rendering. Version 1.1.14 2013-05-12 20:30:24 -04:00
kangax
c65b1f5e7d Add support for parsing shorthand font declaration in styles, such as "font: italic 12px Arial,Helvetica,sans-serif" 2013-05-12 13:01:23 -04:00
Juriy Zaytsev
0229df4a78 Merge pull request #627 from aleph1/master
Optimize Grayscale Filter performance and footprint
2013-05-11 10:53:11 -07:00
Daniel Barber
17c83dcd67 Optimized Grayscale Filter performance and footprint.
Changed from "for" to "while" loop and reduced number of variables.

It is possible to get even better performance by assigning the average
amount in a single line, or by dropping the average variable and doing
a direct assignment (See:
http://jsperf.com/fabric-js-grayscale-benchmark/5), however I wasn't
sure if this is against the project's coding guidelines.
2013-05-11 12:29:29 -04:00
Kienz
efc4d8f486 Don't fire object:modified on group selection (with shiftKey)
Fixing tags for jsdoc
2013-05-11 11:27:31 +02:00
Nathan Muir
8e8597cb7b Updated fabric.util.getElementOffset(). Returns correct offset when using requestFullscreen(parentElement) 2013-05-10 14:14:38 +10:00
kangax
2b6b64dd02 Add support for removing SVG export functionality during build (via no-svg-export flag) 2013-05-09 14:21:10 -04: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
Kienz
d2d1c50872 Check infinity in setCoords() if object has zero width 2013-05-09 12:14:00 +02:00
Juriy Zaytsev
9843d6642b Merge pull request #611 from xxorax/nodeOnloadFilter
Fix callback called 2 times on Node
2013-05-08 21:05:35 -07:00
kangax
5f8ca2cbc9 Make background white when generating data url jpeg image. Closes #613 2013-05-07 11:37:00 -04:00
xxorax
dcfeb9c8ff Fix callback called 2 times, recent versions of Node call onload on the
elements
2013-05-06 18:35:42 +02:00
kangax
a47128afa4 Add support for same options in fabric.Object#toDataURL as there are in fabric.Canvas#toDataURL. Closes #609 2013-05-06 11:52:16 -04:00
Stefan Kienzle
662b322cd1 Call setCoords() only on target object
Only update target's cornerCoords.
2013-05-06 18:11:42 +03:00
kangax
d6e292e482 Fix text rendering. Closes #590. Version 1.1.12 2013-05-05 13:23:49 -04:00
kangax
fde521317e Store result of setLineDash support check. Build distribution. Version 1.1.11 2013-05-04 20:29:59 -04:00
Kienz
e4287accb6 Fix typo 2013-05-04 18:32:22 +02:00
Kienz
8645378288 Implement dashed stroke + some fixes with stroke, fill, removeShadow and clipTo + fixes in brushes
- fabric.Rect (now uses fabric.util.drawDashedLine), fabric.Line, fabric.Triangle, fabric.Polygon, fabric.Polyline, fabric.Image now supports dashed stroke
- fabric.Circle and fabric.Ellipse actual only supports native dashed stroke (browser must support context.setLineDash)
- fabric.Image.toSVG() has stroke/dashed-stroke support
- fabric.Object#clipTo has now affect on fabric.Image's stroke
- fabric.Shadow#affectStroke is considered - _removeShadow is now called in _renderFill (check whether stroke is to be affected) and _renderStroke
- reset shadow styles (contextTop) in fabric.PencilBrush, fabric.CircleBrush and fabric.Spraybrush (fabric.BaseBrush.removeShadowStyles)
2013-05-04 18:25:57 +02:00
tka
85f18e36f5 when use nodejs load remote image with fullpath
sometime use server generate image, and passing parameter in url
so when send request should use full path, not only pathname
2013-05-03 15:24:18 +08:00
kangax
35d5cf220f [BACK_INCOMPAT] Make fabric.Object#toDataURL synchronous. Fix fabric.Object#cloneAsImage to preserve angle. Closes #596 2013-05-01 14:49:42 -04:00
kangax
f5b88b4045 Make fabric.Canvas#isTargetTransparent public. Closes #595 2013-05-01 09:58:39 -04:00
kangax
e8825bc581 Doc fixes 2013-05-01 09:35:26 -04:00
kangax
775df6e836 Move state-related methods to stateful mixin 2013-05-01 09:29:57 -04:00
kangax
17974a55be Reuse mt coordinate values in mtr coordinates. Closes #592 2013-05-01 03:06:04 -04:00
kangax
eeecde62a8 Normalize style values. Closes #598 2013-05-01 02:58:59 -04:00
Stefan Kienzle
6caf60670b Fixed _renderFill - fallback for offsetX/offsetY
If object.fill.offsetX or object.fill.offsetY is undefined (e.g. fill = fabric.Gradient) browser might have problems (seen in firefox 3.6.28).
2013-04-30 16:27:01 +03:00
kangax
a6a5cb4a54 Load image via fabric.util.loadImage in cloneAsImage. Add fabric.util.createImage helper. Closes #593 2013-04-29 15:16:59 -04:00
kangax
f6da728aad Add support for parsing "compressed" path data in SVG path's. Version 1.1.10 2013-04-29 11:12:20 -04:00
kangax
d755d64c76 Remove unnecessary renderAll calls. Thanks @Kienz. Closes #587 2013-04-26 21:49:13 -04:00
Stefan Kienzle
acfddabe16 Fire 'object:selected' only once
The event 'object:selected' should only be called on first activation.
Fixes #584
2013-04-26 11:55:13 +03:00
kangax
4e1a26cc11 Update docs 2013-04-25 14:21:32 -04:00
kangax
56e6107752 Doc fixes 2013-04-25 13:52:05 -04:00
kangax
c16dcf88a4 Change inline docs to conform to jsdoc3 2013-04-24 12:58:04 -04:00
kangax
40d5a52492 More robust rendering of text on Node.js; left-aligned text is now aligned consistently. 2013-04-24 12:50:38 -04:00
kangax
66c3c80d18 Fix doc 2013-04-22 09:26:57 -04:00
kangax
22de40dc54 Add support for pattern offsets (via fabric.Pattern#offsetX/offsetY). Version 1.1.8 2013-04-22 09:16:58 -04:00
kangax
dce3f6f6ca Optimize _initDimensions to not create off-screen canvas every time. Closes #564 2013-04-20 12:04:45 -04:00
Juriy Zaytsev
9a34bbfba2 Merge pull request #568 from Kienz/patch-1
Return unselectable objects in canvas 'mouse:down' event
2013-04-20 08:58:41 -07:00
Kienz
d03da23d0a - lockUniScaling now can't be overridden with shiftKey or uniScaleTransform property
- Pass event to object 'rotating'
- some refactoring
2013-04-20 15:01:09 +02:00
Stefan Kienzle
571887036f Bugfix object.opacity == 0 in svg output
If object.opacity = 0 the svg output sets opacity to 1.
2013-04-19 14:35:52 +03:00
kangax
e56d37d9da Fix text and line rendering in path group. Add support for multiple declarations in "transform" attribute. Fix stroke color of line. Version 1.1.7 2013-04-18 21:42:46 -04:00
Juriy Zaytsev
359df373c0 Merge pull request #569 from xxorax/master
Build canvas from json even if no object is sent
2013-04-18 15:13:55 -07:00
Martin Panel
4071fd7040 Fix backgroundImageLoaded not checked 2013-04-19 00:01:53 +02: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
Stefan Kienzle
99f31b5753 Return target on mouse:down (even for unselectable objects)
canvas 'mouse:down' event only returns selectable objects.
2013-04-18 17:42:47 +03:00
Tim Andres
3950298c75 Changed nestTransformMatrices to mutilplyTransformMatrices 2013-04-17 13:54:11 -04:00
Tim Andres
bd058e6a94 Fetched and merged upstream changes 2013-04-17 13:53:43 -04:00
Martin Panel
13acd4ee76 Build canvas from json even if no object is sent. 2013-04-17 02:11:56 +02:00
kangax
8879c73af7 Document lock* properties. Build distribution 2013-04-16 12:44:54 -04:00
Tim Andres
63809278d2 Documented new matrix multiplication utility 2013-04-16 02:26:22 -04:00
Tim Andres
e2bba99e98 Fixed path translation bug with SVG parsing 2013-04-16 01:49:42 -04:00
Stefan Kienzle
e73fe4625e Return object reference in drawControls and drawBorders
Closes #556
2013-04-12 00:47:07 +03:00
kangax
e8c9c7b0f1 Fix group selection when animation is in progress. Thanks @Kienz 2013-04-10 16:46:16 +02:00
kangax
7f190662d1 Do not parse fill value if it's not a string (but, for example, a gradient or pattern) 2013-04-08 13:41:46 +02:00
Stefan Kienzle
185686738e fabric.Rect.fromElement() are wrong positioned
If the left/top properties are 0 they are ignored - they are not normalized.
http://jsfiddle.net/Kienz/3SmUC
2013-04-08 09:25:33 +03:00
kangax
a0bc7b6904 Fix doc typo 2013-04-06 12:46:01 +02:00
kangax
fcc0c5cbbb Only call change and complete callbacks once, when animating multiple properties. Closes #544 2013-04-06 12:44:10 +02:00
Stefan Kienzle
9c76ba0f92 Add svg element to async objects (reviver)
If async objects parsed (image), the reviver svg element is undefined.
You can see it here:
http://jsfiddle.net/Kienz/nhYww/
2013-04-05 19:06:02 +03:00
kangax
c22d9f0c18 req_handler -> reqHandler 2013-04-04 14:05:24 +02:00
kangax
97222fbaa1 Remove pathOffset from object/json output for now 2013-04-04 14:03:22 +02:00
kangax
4e74f4d7ab Preserve group reference on objects in group after adding/removing some object from group. Closes #533 2013-04-04 13:58:08 +02:00
kangax
c294ae2b3a [BACK_INCOMPAT] fabric.Text#strokeStyle -> stroke, for consistency with other objects. Closes #535 2013-04-04 13:58:08 +02:00
kangax
4be589019c Fix positioning of line and image instances when part of a group 2013-04-04 13:58:08 +02:00
kangax
6e725ae18b Support stroke on image instances. Closes #536 2013-04-04 13:58:08 +02:00
kangax
4d037e979a Document strokeDashArray on fabric.Rect 2013-04-04 13:58:08 +02:00
Juriy Zaytsev
9e10349558 Merge pull request #531 from shiloa/master
Fix crash (segfault) on node.js if canvas loads images with secure url (https://...)
2013-04-04 04:55:14 -07:00
Juriy Zaytsev
2c7205fec1 Merge pull request #537 from Kienz/shadowBrush
Fix reset shadow of fabric brushes
2013-04-04 03:39:19 -07:00
Taher Haveliwala
bafc75b35c The jsdoc params for fabric.Image.clone() were out of order, making
the jsdoc API reference for this method at

    http://fabricjs.com/docs/symbols/fabric.Image.html

display an incorrect method summary (with the order of propertiesToInclude
and callback swapped).
2013-04-03 20:14:14 -07:00
Kienz
4e61f7eb2e Fix reset shadow of fabric brushes 2013-04-03 21:09:31 +02:00
Kienz
f5eb524ddd Don't set activeObject if clicked on activeGroup
canvas._activeGroup should be null if clicked on activeGroup. 
Only set activeObject if target !== activeGroup.
2013-04-03 16:17:46 +03:00
Kienz
0fdb97f289 Activate clicked object if group selection is cleared
If group selection is cleared and pointer clicked other object 
=> activate this object.

See issue #506
2013-04-03 16:07:27 +03:00
shilo
2c2206b951 rendering canvas on node.js - fixed issue with segfault occuring when downloading an image that comes from https (secure) url 2013-04-03 13:40:48 +03:00
Kienz
142a7a9779 Fire event 'removed' on object level
There is ```obj.fire('added')``` but not ```obj.fire('removed')```.
2013-04-02 16:05:51 +03:00
kangax
4c5df5ea0c Specify that loadSVGFromURL uses XHR and conforms to SOP 2013-04-02 13:47:47 +02:00
kangax
c66707b3e5 Cleanup events and gestures modules 2013-03-30 01:36:27 +01:00
kangax
26c2590066 Group fixes. Closes #504. Closes #505 2013-03-30 01:36:15 +01:00
kangax
b0a6d8cd7d Fix pixelate filter. Thanks @Oleg. Closes #523 2013-03-30 01:30:46 +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
kangax
75873ebf95 Only transform rect when part of path group not group. Closes #495 2013-03-29 13:20:35 +01:00
kangax
27c6f2529c Mention that set doesn't update border/control and that setCoords should be called for that. Closes #518. 2013-03-29 12:44:05 +01:00
Kienz
0b078cd4be Include pathOffset in fabric.Path.toObject()
Include pathOffset in toObject() of fabric.Path and use it (if defined) in _initializePath().
This should fix issue #500.
2013-03-28 16:07:00 +01:00
Kienz
dfec3dd2f0 fabric.StaticCanvas.clear() delete _activeObject
If canvas is cleared ```canvas._activeObject``` should be removed.
2013-03-28 09:06:36 +01:00
kangax
40bda07140 Fix fabric.Canvas#clipTo. Thanks @sn3p 2013-03-24 18:09:55 +01:00
kangax
81e8f9c2e2 Fix node-based url request 2013-03-24 00:05:13 +01:00
kangax
40490dc7f3 Add support for loading local files in fabric.loadSVGFromURL 2013-03-24 00:04:50 +01:00
kangax
4911cc036b Make fabric.Image.fromURL use fabric.util.loadImage which fixes it under Node 2013-03-23 23:16:16 +01:00
Juriy Zaytsev
81993d21fb Merge pull request #494 from Kienz/moveTo
Implement fabric.StaticCanvas#moveTo(object, index)
2013-03-23 14:55:14 -07:00
Juriy Zaytsev
e8de627f98 Merge pull request #493 from Kienz/viewBoxSVG
Add option to define viewBox in fabric.Canvas#toSVG
2013-03-22 11:18:01 -07:00
Kienz
3a0a2c7fd2 Implement fabric.StaticCanvas#moveTo to move object to specified level in stack of drawn objects
You can also move fabric.Group objects in the grub objects stack to a specified level.

Add unit tests for moveTo.
2013-03-22 15:10:44 +01:00
Kienz
9e79c487be Add viewBox attribute to toSVG(options) to define the viewBox of sag output. 2013-03-22 12:57:33 +01:00
Kienz
4b1939e5d3 Add check if object is visible to fabric.Image and fabric.Path. Now all fabric instances with own render method should check for visible property.
Some doc updates - add noTransform to doc and set it optional
2013-03-22 12:10:34 +01:00
Juriy Zaytsev
97fdc215a8 Merge pull request #488 from Kienz/patch-2
Bugfixes for fabric.Object#visible
2013-03-20 16:13:41 -07:00
kangax
24735e6e31 Fix removal of event listeners in fabric.Canvas#dispose on touch-based devices. Version 1.1.3 2013-03-20 23:38:22 +01:00
Kienz
6379278384 fabric.Text#visible not working
Bugfix for text objects - only render visible objects
2013-03-20 19:20:05 +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
919f95a0a0 Move collection-related methods to fabric.Collection, shared by fabric.Canvas and fabric.Group. 2013-03-20 10:28:35 +01:00
kangax
8bea909a54 Merge master 2013-03-19 15:52:14 +01:00
kangax
2a5645fcd5 Fix scaling event not firing sometimes. Thanks @rcyrus. 2013-03-19 15:36:25 +01:00
kangax
7f19110967 Update docs on left/top being relative to object center 2013-03-19 13:20:21 +01:00
Kienz
4800b0729b fabric.Group#visible = false did not work
The fabric.Object#visible attribute has no affect to fabric.Goup and its objects.
2013-03-18 14:32:05 +01:00
kangax
e8e32e80de Fix gradient colorStops initialization. Thanks @Kienz 2013-03-18 13:11:31 +01:00
kangax
9bb38c144c Fix toDataURL not honoring format. Thanks ebirbal. 2013-03-18 13:03:54 +01:00
kangax
7123ea357f Fix JSHint warnings 2013-03-16 16:41:36 +01:00
kangax
2622a380bf [BACK_INCOMPAT] fabric.Group#objects -> fabric.Group._objects (making it consistent with canvas._objects). Objects in group always have group reference to a group they're in. bringToFront, sendToBack, etc. now work in relation to group when called on objects within group. 2013-03-16 16:41:19 +01:00
kangax
85fd7ee852 Add support for clipping objects. Closes #64 2013-03-10 21:06:17 +01:00
kangax
012c333bbb Fix gradient initialization 2013-03-10 21:05:24 +01:00
kangax
e886fee63d Add docs for ellipse rx/ry 2013-03-10 21:04:44 +01:00
Juriy Zaytsev
c366e1d184 Merge pull request #470 from Kienz/visiblePropFix
Bugfix fabric.PathGroup if object is not visible
2013-03-09 15:04:58 -08:00
Kienz
5fec23e7c1 JSHint - remove extra comma at the end of the fabric.Color.colorNameMap object 2013-03-09 22:38:42 +01:00
Kienz
df46e3af26 Bugfix fabric.PathGroup if object is not visible
- if object is not visible and of type 'path-group' the object was still drawn
2013-03-09 22:15:31 +01:00
Kienz
e35e1a0191 [BACK_INCOMPAT] Implement fabric.Gradient#toSVG() and radialGradient
- Implement radial gradient and expand linear gradient (stop-opacity should now take into account)
- Gradients should now be included in the SVG output for the following fabric objects: circle, ellipse, line, path, polygon, polyline, rect and triangle (text is not yet implemented)
- Gradients (linear / radial) can be applied to stroke or fill property => change setGradientFill(options) to setGradient(type, options)
- Change toObject() that linear and radial gradients can be serialized
- Expand fabric.Color by 16 basic colors fabric.Color.colorNameMap => gradients with e.g. stop-color="blue" and stop-opacity="0.5 can be converted to RGBA color
- RGBA colors in svg has no affect (convert to RGB color), only stop-opacity has affect to color opacity
- Attached some test svg files http://kienzle.geschaeft.s3.amazonaws.com/projects/fabricjs/gradients/gradients.rarUpdate setGradient and addColorStop interface

Update setGradient and addColorStop interface
- setGradient('fill', {x1: 50, y2: 10, colorStops: {'0.7', 'rgba(0,153,153,0.5)'}});
- addColorStop({'0.4', 'blue'});
2013-03-09 21:00:54 +01:00
kangax
ece75b6065 Remove unused maxY variable 2013-03-09 15:28:30 +01:00
Juriy Zaytsev
79575b9dc7 Merge pull request #467 from xxorax/master
Fix backgroundColor render on nodejs
2013-03-08 15:59:02 -08:00
root
b6a178d8a1 Fix backgroundColor render on nodejs 2013-03-09 00:34:54 +01:00
root
246c45d57c Merge branch 'master' of github.com:xxorax/fabric.js
Conflicts:
	src/node.js
2013-03-09 00:32:11 +01:00
Atis
70d3c702b1 fix infinity check so that Closure Compiler does not choke on it 2013-03-08 19:41:33 +02:00
Martin Panel
dfb1e2a230 Fix backgroundColor render on nodejs 2013-03-07 22:14:30 +01:00
Martin Panel
f84a8628c3 Fix backgroundColor render on nodejs 2013-03-07 22:11:30 +01:00
kangax
e917b144aa Remove unnecessary space in SVG output 2013-03-06 18:55:26 +01:00
kangax
506125bbe6 [BACK_INCOMPAT] fabric.Canvas.toDataURL now accepts options object instead linear arguments. fabric.Canvas.toDataURLWithMultiplier is deprecated; use toDataURL({ multiplier: … }) instead. 2013-03-06 18:47:50 +01:00
kangax
43dd170f5b Add fabric.Object#visible property. Closes #342. Version 1.0.13. 2013-03-06 18:45:18 +01:00
kangax
9f934d4dad Minor style change 2013-03-05 19:33:16 +01:00
kangax
39fc445c07 Add fontStyle to delegated properties 2013-03-05 19:33:16 +01:00
llocust
ff8b09fb35 Update dom_event.js
Sorry.. Copy+Past from .min version...
e->event
2013-03-05 04:54:41 +04:00
llocust
5662472f81 Update dom_event.js
On a mobile (touchbased) platform at an event 'touchend' data are stored in the changedTouches array.
2013-03-05 04:14:43 +04:00
kangax
b260845af9 Fix hasControls value being lost after object is part of a group. Closes #445. 2013-03-02 01:39:32 +01:00
kangax
af5a0ac74f Make group getter respect delegated properties 2013-03-02 01:25:34 +01:00
kangax
638876f3f8 Add support for passing additional state properties into saveState 2013-03-02 01:25:08 +01:00
kangax
293227811f Doc additions 2013-02-27 00:48:27 +01:00
Kienz
ae67d83216 Update setGradient and addColorStop interface
- setGradient('fill', {x1: 50, y2: 10, colorStops: {'0.7', 'rgba(0,153,153,0.5)'}});
- addColorStop({'0.4', 'blue'});
2013-02-25 18:26:20 +01:00
kangax
17a88e93e1 Doc fixes 2013-02-24 12:40:16 +01:00
Kienz
4c4f845bfe [BACK_INCOMPAT] Implement fabric.Gradient#toSVG() and radialGradient
- Implement radial gradient and expand linear gradient (stop-opacity should now take into account)
- Gradients should now be included in the SVG output for the following fabric objects: circle, ellipse, line, path, polygon, polyline, rect and triangle (text is not yet implemented)
- Gradients (linear / radial) can be applied to stroke or fill property => change setGradientFill(options) to setGradient(type, options)
- Change toObject() that linear and radial gradients can be serialized
- Expand fabric.Color by 16 basic colors fabric.Color.colorNameMap => gradients with e.g. stop-color="blue" and stop-opacity="0.5 can be converted to RGBA color
- RGBA colors in svg has no affect (convert to RGB color), only stop-opacity has affect to color opacity
- Attached some test svg files http://kienzle.geschaeft.s3.amazonaws.com/projects/fabricjs/gradients/gradients.rar
2013-02-23 17:02:52 +01:00
kangax
7d9c91de70 res -> response and remove unnecessary semicolon 2013-02-22 17:24:22 +01:00
Juriy Zaytsev
4651d6ecd9 Merge pull request #413 from uruz/feature/fix-failing-test
Fix failing test: fabric.util.loadImage
2013-02-22 08:22:09 -08:00
kangax
be4db2f409 Fix doc. Thanks @rodrigopandini 2013-02-20 23:42:38 +01:00
Juriy Zaytsev
a0c31a2628 Merge pull request #437 from Kienz/svgOutputValidation
Ensure valid SVG output (http://validator.w3.org/)
2013-02-20 04:28:32 -08:00