Commit graph

1973 commits

Author SHA1 Message Date
Andrea Bogazzi
675965da4f Update circle.class.js
fixed typo.
2014-09-18 01:39:15 +02:00
Andrea Bogazzi
18c7203335 Update circle.class.js
Add option to circle for start and end angle, to draw an ARC.
in radians, not in degree to avoid writing a setter and getter that does the conversion.
Internally is better radians i think.
2014-09-18 01:23:52 +02:00
Andrea Bogazzi
f6f359e6dd Update object.class.js
Fix opacity for groups.
Before it was working just in simple situation, now it should be ok both in path-group and in normal groups and nested groups.
2014-09-17 10:36:59 +02:00
Juriy Zaytsev
ad94d21541 Merge pull request #1660 from asturur/Fix-paths-toSVG
Update path.class.js
2014-09-14 12:29:15 +04:00
Juriy Zaytsev
1ebe46be41 Merge pull request #1664 from asturur/Polygon-and-Polylines-code-reduction
Polygon and polylines code reduction
2014-09-14 12:13:49 +04:00
Andrea Bogazzi
a4610822b5 Update object.class.js
Fix code style error.
2014-09-13 18:01:19 +02:00
Andrea Bogazzi
2415eec00d Update object.class.js 2014-09-13 17:05:17 +02:00
Andrea Bogazzi
e284fc0ec3 Update gradient.class.js 2014-09-13 17:03:56 +02:00
Andrea Bogazzi
ef18a5b9f1 Update polyline.class.js 2014-09-13 16:48:38 +02:00
Andrea Bogazzi
66c2714df8 Update polyline.class.js 2014-09-13 16:39:40 +02:00
Andrea Bogazzi
e05a5a78e3 Update polygon.class.js 2014-09-13 16:38:42 +02:00
Andrea Bogazzi
4e737abcde Update path.class.js
Fixes == with ===
2014-09-13 14:05:12 +02:00
Andrea Bogazzi
28784dc9b3 Update path.class.js
Like any other shape in fabric, when exported to svg, the shape has to be translated around origin.
This additional translation brings it there.

Fixes svg export of paths OUTSIDE of path-gropus. Inside was already ok.
2014-09-13 13:14:58 +02:00
Juriy Zaytsev
e6db38bb85 Merge pull request #1654 from zigotica/patch-1
bugfix: add toObject so Blend can be serialized
2014-09-12 17:58:25 +04:00
Sergi Meseguer
bc4c1c0c6d bugfix: add toObject so Blend can be serialized (added missing ;) 2014-09-12 15:53:59 +02:00
Juriy Zaytsev
071c63135e Merge pull request #1639 from asturur/Polygons-and-Polylines-top-and-left-property-precendece
Polygons and polylines top and left property precedence
2014-09-11 10:58:42 +04:00
Sergi Meseguer
879bfbbb62 bugfix: add toObject so Blend can be serialized (extend not needed) 2014-09-10 13:59:22 +02:00
Sergi Meseguer
af2b6c70b4 bugfix: add toObject so Blend can be serialized 2014-09-10 13:46:14 +02:00
Andrea Bogazzi
7cbe8a965e Update arc.js
Fix useless optimization of code that was rendering arcs not correctly
2014-09-09 14:17:44 +02:00
Chris Buergi
fb573607e2 Merge branch 'master' into scaling-strokewidth-fix 2014-09-08 10:45:42 +02:00
Chris Buergi
0739f4cad8 Only use strokeWidth in object scaling when stroke is set.
Also only use half of the strokeWidth, this matters especially when the strokeWidth is large compared to the object size.
2014-09-08 10:43:55 +02:00
Andrea Bogazzi
c2820bfcd5 Update polygon.class.js
!options..left would fail in case of left = 0.
2014-09-05 23:04:12 +02:00
Andrea Bogazzi
67a4be50a2 Update polyline.class.js
Mirror polygon changes
2014-09-04 22:59:24 +02:00
Andrea Bogazzi
aff2c4f313 Update polygon.class.js
Now polygon Top and Left can be setted in the contructor call or calculated by the points.
2014-09-04 22:37:25 +02:00
Joe Rozek
d2b146c21c support for preserving object stacking 2014-09-04 12:01:48 -07:00
Juriy Zaytsev
791c74a82e Merge pull request #1631 from asturur/Gradient-Fix-Part-2
Fix gradient rendering
2014-09-04 01:57:37 +04:00
Juriy Zaytsev
74bc327011 Merge pull request #1635 from asturur/Polygons-and-Polylines
Fix polygons and polylines rendering
2014-09-04 01:55:29 +04:00
Juriy Zaytsev
f250b259ec Merge pull request #1616 from asturur/Itext-firefox-squares-and-new-keys
Add support for control keys
2014-09-04 01:18:11 +04:00
Andrea Bogazzi
917d83b139 Update polyline.class.js 2014-09-03 22:49:47 +02:00
Andrea Bogazzi
6afc4dbc3a Update polygon.class.js 2014-09-03 22:49:04 +02:00
Andrea Bogazzi
2dd8884129 Update gradient.class.js
why it didn't tell me all togheter is a mistery.
Code style fix part 2.
2014-09-02 22:51:44 +02:00
Andrea Bogazzi
f854db4e4c Update gradient.class.js
code styles error fixed.
2014-09-02 22:47:49 +02:00
Andrea Bogazzi
55f9a5947b Update rect.class.js 2014-09-02 22:40:49 +02:00
Andrea Bogazzi
d87af17aa4 Update gradient.class.js 2014-09-02 22:40:00 +02:00
Juriy Zaytsev
cefc838e90 Merge pull request #1628 from asturur/text-export-fpr-groups
Update text.class.js
2014-08-30 14:57:13 +04:00
kangax
da3184aaae Fix style error 2014-08-30 13:22:19 +04:00
kangax
a3d40878d6 Update JSCS to 1.6, fix errors, hook up travis 2014-08-30 13:18:43 +04:00
Juriy Zaytsev
392d3e9a7e Merge pull request #1624 from asturur/missing-width-or-height
Update parser.js
2014-08-29 13:15:05 +04:00
Andrea Bogazzi
3b911a9882 Update text.class.js
Fixes exporting of text simple group.
Thanks to Chris Buergi to make me notice
2014-08-28 22:28:28 +02:00
Chris Buergi
7db0fe0aa2 Allow to opt out from the viewport transformation of the SVG output. 2014-08-28 13:43:36 +02:00
Andrea Bogazzi
b43492554a Update parser.js
Added comment for future reference
2014-08-28 00:04:07 +02:00
Andrea Bogazzi
4c4ba5bfe0 Update parser.js
Added comment for future reference
2014-08-27 23:09:31 +02:00
Andrea Bogazzi
cd7bea6183 Update parser.js
Better than getting 0px width and height.
Specs say that when they are missing we should consider 100%, in our case 100% will be 100px because we don't have anything to compare the SVG to before adding the SVG into a canvas.
Otherwise we could take canvas widht and height.
2014-08-27 14:17:33 +02:00
Andrea Bogazzi
18b17b4170 Update itext_key_behavior.mixin.js
Sorry, i missed that.
2014-08-25 15:14:19 +02:00
Andrea Bogazzi
f83636acb1 Update itext_key_behavior.mixin.js
Better behaviour of selection with keyboard.
Now you can cross from select direction LEFT to RIGHT and back.
2014-08-25 15:10:12 +02:00
Andrea Bogazzi
41b53f53e4 Update itext_key_behavior.mixin.js 2014-08-25 12:21:59 +02:00
Andrea Bogazzi
bce8d4f847 Update itext_key_behavior.mixin.js 2014-08-25 12:02:16 +02:00
Ulrich Sossou
dc7266bc1d Fix coding style 2014-08-24 18:25:58 +01:00
Ulrich Sossou
2541b7b69b Properly calculate width of whitespace characters when text is justified 2014-08-24 15:41:51 +01:00
Ulrich Sossou
f02622ea26 Merge branch 'master' into hotfix/printable-characters-not-working
Conflicts:
	src/mixins/itext_key_behavior.mixin.js
2014-08-23 18:58:29 +01:00
Juriy Zaytsev
060a4f6b12 Merge pull request #1604 from sorich87/hotfix/top-cursor-boundary-calculation
Use _getTopOffset to calculate top cursor boundary
2014-08-23 19:53:01 +02:00
Juriy Zaytsev
29c0448235 Merge pull request #1573 from brexis/patch-1
Update itext_key_behavior.mixin.js
2014-08-23 18:46:11 +02:00
Ulrich Sossou
9d8cd6ebb2 Accept all printable characters 2014-08-20 14:09:47 +01:00
Marc Galang
7111e6f2cc Merge remote-tracking branch 'upstream/master' 2014-08-20 15:58:28 +03:00
Ulrich Sossou
a9933a5450 Use _getTopOffset to calculate top cursor boundary
Left cursor boundary is calculated with _getLeftOffset,
top cursor boundary should also be calculated with the corresponding offset method
2014-08-20 13:51:17 +01:00
Juriy Zaytsev
ac7ceedd83 Merge pull request #1590 from asturur/Clean-fix-for-ar
Update arc.js
2014-08-20 14:41:27 +02:00
Andrea Bogazzi
29b6ae03e5 Update gradient.class.js 2014-08-19 15:07:33 +02:00
Andrea Bogazzi
92604f1ee4 Update gradient.class.js
Fixed some errore introduced with commit.
2014-08-19 13:59:26 +02:00
Andrea Bogazzi
cf5062b072 Update gradient.class.js 2014-08-16 17:17:00 +02:00
Andrea Bogazzi
2fe200e178 Update parser.js
Forgot one variable.
2014-08-16 16:26:08 +02:00
Andrea Bogazzi
98b4bdccaf Update object.class.js 2014-08-16 16:23:02 +02:00
Andrea Bogazzi
74a9ac9d48 Update parser.js
Changed variable names, For loop in While loop and typing error.
2014-08-16 16:18:48 +02:00
Andrea Bogazzi
dc4d4a4205 Update gradient.class.js
JSDOC and Variable names
2014-08-16 16:11:43 +02:00
Andrea Bogazzi
1e49598693 Update elements_parser.js
Fixing spaces
2014-08-16 16:05:16 +02:00
Andrea Bogazzi
f955969e76 Update object.class.js
added gradienttransfor rendering
2014-08-16 08:15:47 +02:00
Andrea Bogazzi
78db91225f Update parser.js
Changed parsegradient to consider href element
2014-08-16 08:15:07 +02:00
Andrea Bogazzi
011674707a Update gradient.class.js 2014-08-16 08:13:20 +02:00
Andrea Bogazzi
77911424ce Update elements_parser.js
Changed Resolvegradient function for fill and stroke
2014-08-16 08:11:50 +02:00
Juriy Zaytsev
3405d0e2ac Merge pull request #1584 from asturur/Lock-Scale-Flipping
Lock scale flipping
2014-08-13 19:44:36 +02:00
Juriy Zaytsev
2cc901f2f7 Merge pull request #1595 from asturur/Load-Gradient-before-reviver
Load gradient before reviver
2014-08-13 19:14:48 +02:00
Andrea Bogazzi
70b879b8b9 Update elements_parser.js
Added mono-object resolveGradient function. to be called befor reviver function.
2014-08-13 11:46:39 +02:00
Andrea Bogazzi
e157437476 Update parser.js
Delete function from parser. moved in element parser.
2014-08-13 11:40:20 +02:00
Andrea Bogazzi
6cc42ca43c Update object.class.js 2014-08-12 23:33:08 +02:00
Andrea Bogazzi
66621bb37f Update canvas.class.js 2014-08-12 23:02:55 +02:00
Andrea Bogazzi
9fc736c022 Update arc.js
Corrected arcs drawing and extended caching logic to have a chache hit more often.
Function is more or less 20 lines of code shorter, but i really cannot figure out if this implementation has more calculation
than the previous. I couldn't manage to find the error in the old one, i had to overwrite it.

in the picture , the multi colored arcs, are all on cache it after calculating the red one.
It will happen rarely, but why miss it?

![image](https://cloud.githubusercontent.com/assets/1194048/3872575/c962a7c0-211e-11e4-9413-cd6faba2e113.png)
2014-08-11 12:14:02 +02:00
Andrea Bogazzi
e8013f4964 Update object.class.js
Just grammar
2014-08-10 19:40:58 +02:00
Andrea Bogazzi
ebc1cf9604 Update object.class.js
added lockScalingFlip, if set to true you cannot flip by accident an objec while scaling it.
2014-08-10 00:38:44 +02:00
Andrea Bogazzi
2242b2a994 Update canvas.class.js
Added lockScaleFlip variable to scale object method
2014-08-10 00:37:01 +02:00
Juriy Zaytsev
5e65dd54b2 Merge pull request #1574 from asturur/tag-symbol
Tag symbol
2014-08-09 00:31:17 +02:00
Juriy Zaytsev
4c7ad6a82d Merge pull request #1567 from asturur/SVG-EXPORT
Better SVG export
2014-08-07 20:42:56 +02:00
Andrea Bogazzi
ea942e3580 Update parser.js
This was missing.
Now if width and height get parse correctly.
They were even before but if it was  width 18pt ( so 18 * 1.33 pixels ) and wievbox was 18, before no scaling was calculated.
2014-08-07 16:23:09 +02:00
Andrea Bogazzi
8eaba61b17 Update parser.js
Add support to catch attributes from symbol nodes.
This is a quick hack.
To have full support symbol should managed as defs and then copied as g, without display attribute.
But before adding tons of code, let's just make it work.
2014-08-07 16:11:31 +02:00
brexis
8f9a84351b Update itext_key_behavior.mixin.js
Some characters don't work in Mac OS X such as dot ".", opened parenthesis "(" and others. The key events return key codes witch are in _keysmap variable and so those characters are not rendered. Ex : '.' event key code return 46.
2014-08-07 12:45:58 +01:00
Andrea Bogazzi
3f75ce7f1b Update line.class.js
Just cosmetic.
2014-08-06 23:48:07 +02:00
Andrea Bogazzi
6367e30dba Update line.class.js
Don't ask why. For me half dimension was more than enough.
2014-08-06 19:20:13 +02:00
Juriy Zaytsev
4bcfef6277 Merge pull request #1557 from asturur/gradient-transform-impor
attribute gradientTransform import
2014-08-06 16:49:06 +02:00
Andrea Bogazzi
c4b3d1881d Update image.class.js
Fixed rendering of borders and svg transformation
2014-08-06 13:54:04 +02:00
Andrea Bogazzi
c02315f36b remove normalize func not more used 2014-08-05 13:03:04 +02:00
Andrea Bogazzi
74f796fe3e Fixed toSVG for text. 2014-08-05 13:01:51 +02:00
Andrea Bogazzi
ff2a24c3ae Simplified rect class and fixed SVG export 2014-08-05 12:58:50 +02:00
Andrea Bogazzi
ac7c208e4d Polyline: Fixes toSVG method, remove normalization 2014-08-05 12:57:32 +02:00
Andrea Bogazzi
ece0c1549f Polygon: Fixes toSVG method, removed normalization 2014-08-05 12:56:08 +02:00
Andrea Bogazzi
4a54069532 pathgroup: fixes toSVG method 2014-08-05 12:54:08 +02:00
Andrea Bogazzi
eef2e21c07 changed toSvg method 2014-08-05 12:51:20 +02:00
Andrea Bogazzi
f84091054f Object: Moved globalAlpha here, changes in render 2014-08-05 12:50:39 +02:00
Andrea Bogazzi
d40deb6d58 Fixed toSVG for line, changes in rendering logic 2014-08-05 12:49:34 +02:00
Andrea Bogazzi
32278413e3 Update image.class.js
Removed render method, added support for x and y positioning, fixed toSVG
2014-08-05 12:48:29 +02:00
Andrea Bogazzi
09ba1e115b ToSvg , added some \n 2014-08-05 12:45:07 +02:00
Andrea Bogazzi
15b6798d0e Simplified ellipse class and fixed SVG export 2014-08-05 12:44:19 +02:00
Andrea Bogazzi
c120242865 Simplified circle class and fixed SVG export 2014-08-05 12:43:51 +02:00
Andrea Bogazzi
5e0dc2211b Update parser.js
Adding scaling of translating that was wiped by some commit
2014-08-05 12:42:58 +02:00
Andrea Bogazzi
fc1b9b96a9 Update object.svg_export.js
Added missing properties and transforMatrx export.
2014-08-05 12:42:06 +02:00
Jim Rodovich
642a577ba1 Check for points existing before trying to do anything with them. 2014-08-04 15:41:39 -05:00
Marc Galang
b39ed5b9c6 Add darken, lighten, subtract modes to blend filter 2014-08-03 23:42:06 +03:00
Andrea Bogazzi
740047a98b Update gradient.class.js
Added import of gradient transform
2014-08-03 20:55:45 +02:00
kangax
818ab118b3 JSCS changes; Prepare for JSCS ignore support; down to 51 failures 2014-08-03 16:47:27 +02:00
Bnaya Peretz
f7fa1a874a tests 2014-07-31 18:19:19 +03:00
Bnaya Peretz
9f70f78411 Option to set css & backstore dimensions separatly
Introduced options param to the dimensions setters, options.backstoreOnly & options.cssOnly

When backstoreOnly set to true, only the value of the canvas element width & height will be changed.
When cssOnly set to true, only the css width & height of the involved DOM elements will be changed,
and you should include the unit of measure (px/%/em) with the passed value (eg '100px' '100%') and not just 100
2014-07-31 18:19:19 +03:00
Marc Galang
47d06c0cad Use createCanvasElement instead of createElement. Fix indentations. 2014-07-30 20:04:57 +03:00
Marc Galang
541393b991 Add blend filter. Implements several image blend modes (can add more later) 2014-07-30 10:14:02 +03:00
Juriy Zaytsev
6769228d18 Merge pull request #1532 from boonkerz/patch-1
Update to Fix select text in itext last letter issue #1429
2014-07-29 10:15:44 +02:00
Andrea Bogazzi
221dc595a5 Update parser.js 2014-07-27 16:58:54 +02:00
boonkerz
c20a3b1482 Fix for Linter
Fix for Linter #1429
2014-07-27 02:21:24 +02:00
kangax
e77a810774 Few JSCS fixes 2014-07-26 21:29:09 +02:00
Juriy Zaytsev
1e5b347987 Merge pull request #1536 from asturur/Style-sheet-parsing-and-test
Better stylesheet parsing
2014-07-26 19:38:15 +02:00
Juriy Zaytsev
1f9f70ce9b Merge pull request #1533 from asturur/circle-bounding-box
Fix circle radius during initialization
2014-07-26 19:36:21 +02:00
Andrea Bogazzi
ce2530661c Update parser.js 2014-07-26 19:19:22 +02:00
Andrea Bogazzi
d9f8a2f9da Update object_interactivity.mixin.js 2014-07-26 15:24:02 +02:00
Andrea Bogazzi
7b15e8b461 Update circle.class.js 2014-07-26 15:21:48 +02:00
boonkerz
39618701c2 Update to Fix select text in itext last letter issue #1429
This fixes the select issue.

Currently i have not understand why this line exists.
After delete nothing happen except the issue is fixt :)
2014-07-26 13:17:30 +02:00
Juriy Zaytsev
8425968f05 Merge pull request #1526 from boonkerz/patch-1
Fix Firefox keypress rendering arrow keys in itext. Closes #1434
2014-07-25 12:47:00 +02:00
kreig
d3f28eb1f0 globalCompositeOperation support (fillRule)
Fixes fillRule settings for text object as it was mentioned in https://github.com/kangax/fabric.js/pull/1172/files
2014-07-25 05:23:53 +03:00
boonkerz
e2633955e6 Update to Fix Firefox keypress arrow keys in itext symbols are shown #1434
Update to fix the issue #1434
2014-07-25 00:01:57 +02:00
Juriy Zaytsev
c0bfbce182 Merge pull request #1511 from asturur/passing-colorattributes
Passing colorattributes
2014-07-22 13:36:46 +02:00
Stefan Kienzle
045ce8b6bf Fix freedrawing (bug exists since commit #6b5f049bb0a459dd29e2927ed99094b3e7baec66) 2014-07-22 11:52:18 +02:00
asturur
cf1aa0049a Update parser.js
if we delete it , it won't pass to child graphic elements.
if this fillopacity is specified on a container element, it will change color of container element and then disappear. Color would then go to child element.
But if fill is specified on child element and fillopacity on parent element, this has to stay.
2014-07-21 06:47:40 +02:00
asturur
d78451a6b9 Update parser.js
Don't miss A tags, they behave like g tags.
2014-07-20 14:38:22 +02:00
asturur
85ba574458 Update parser.js
Restored parseUseDirectives functionality, maintaining getElementsByTagName and  changing logic of running trought the list.
2014-07-20 13:44:44 +02:00
asturur
481b40549e Update parser.js
I should not multiply the translating values.
Fixes mathformla that was still outside the screen
2014-07-20 13:36:52 +02:00
Juriy Zaytsev
de42013e3f Merge pull request #1504 from asturur/various-fixes
Various SVG rendering fixes
2014-07-19 19:19:37 +02:00
asturur
21591588d5 Update parser.js
remove statements (2?) for travis
2014-07-19 10:23:06 +02:00
asturur
12f5c6356e Update parser.js 2014-07-18 20:42:21 +02:00
asturur
da99193ad6 Update text.class.js 2014-07-18 20:37:32 +02:00
asturur
fbbd763eb0 Update object.class.js
Fix border in case of stroke=color but strokewidth=0.
2014-07-18 20:14:51 +02:00
asturur
a52e081c25 Update parser.js
I forgot to delete one piece.
2014-07-18 20:07:24 +02:00
asturur
20df73c362 Update polyline.class.js
never touch too much.
2014-07-18 17:49:29 +02:00
asturur
c58abe2698 Update polygon.class.js
Never touch too much.
2014-07-18 17:48:28 +02:00
asturur
56b4caebbe Update parser.js 2014-07-18 16:37:55 +02:00
asturur
2495d58523 Update line.class.js 2014-07-18 16:28:29 +02:00
asturur
f610ffe9de Update path.class.js 2014-07-18 16:27:29 +02:00
asturur
4db2d6c5ed Update text.class.js 2014-07-18 16:24:34 +02:00
asturur
3bf7fbc619 Update text.class.js 2014-07-18 16:24:15 +02:00
asturur
0c36a1a7cc Update polygon.class.js 2014-07-18 16:13:46 +02:00
asturur
58e318f214 Update polyline.class.js 2014-07-18 16:12:39 +02:00
Juriy Zaytsev
b2377f4195 Merge pull request #1502 from asturur/fix-ordering-of-the-pieces
Fix ordering of SVG parsing
2014-07-18 16:10:53 +02:00
asturur
7d3aa1cbef Update misc.js
Always return a pathgroup if we parse a svg.
2014-07-18 16:10:11 +02:00
asturur
848005c61b Update elements_parser.js 2014-07-18 15:13:19 +02:00
kangax
3df3c396a2 Fix unit tests 2014-07-18 13:11:18 +02:00
Stefan Kienzle
6b5f049bb0 JSDoc + JSCS tweaks - Part 2 2014-07-18 11:16:23 +02:00
asturur
347debb677 Update elements_parser.js
slicing one by one, doesn't make the array bigger. so the index value is still effective.
If you slice by 0 the array grows up and so index loose meaning.
2014-07-18 07:19:37 +02:00
Juriy Zaytsev
61853dd275 Merge pull request #1495 from Kienz/issue1494
Fix initialization of viewportTransform array
2014-07-17 18:54:27 +02:00
Juriy Zaytsev
2c6cafe34f Merge pull request #1496 from Kienz/jsdocFixes
JSDoc + JSCS tweaks - Part 1
2014-07-17 18:52:54 +02:00
asturur
795d8a7aa5 Update misc.js
some more polishing, for me and for toFixed.
2014-07-17 16:38:09 +02:00
asturur
5ca64ad636 Update parser.js 2014-07-17 16:25:59 +02:00
asturur
dfbd1887bf Update misc.js
some more polishing
2014-07-17 16:24:46 +02:00
Stefan Kienzle
b34387d10e JSDoc + JSCS tweaks - Part 1 2014-07-17 16:18:57 +02:00
Stefan Kienzle
43b029e8a4 Just do slice() for cloning 2014-07-17 14:35:28 +02:00
Stefan Kienzle
306a040fef Fix initialization of viewportTransform array
Add unit tests
JSDoc tweaks
2014-07-17 13:28:55 +02:00
asturur
0bb156f308 Update misc.js
it had some problem with len of string 0 and slicing from 0 to -0 , or calculating len of ''.
now is ok, rects went crazy and i didn't notice.
2014-07-17 07:44:03 +02:00
asturur
d34f970ffb Update misc.js 2014-07-17 00:42:31 +02:00
asturur
81092715c1 Update misc.js
added missing space.
2014-07-17 00:38:55 +02:00
asturur
d78996194b Update misc.js 2014-07-17 00:37:27 +02:00
asturur
bd4c7a0c4d Update parser.js 2014-07-16 18:56:10 +02:00
asturur
0d4320c018 Update parser.js
Use parseUnit to normalize pt,pc,mm,in,cm to px.
2014-07-16 15:34:54 +02:00
asturur
bf4fa0091f Update misc.js
add parseUnit function to normalize mm,cm,in,pt,pc to pixels.
res is setted to 96dpi is not real screen resolution dependant.
2014-07-16 15:29:41 +02:00
kangax
69fdc220e1 Add JSDoc validation in JSCS. Few style/doc fixes. 2014-07-16 11:45:50 +02:00
Mike Shaver
825bec65df More doc-comment fixes. 2014-07-15 15:59:53 -07:00
Juriy Zaytsev
49a783bb2a Merge pull request #1484 from shaver/doc-comment-fixes
Fix some doc comment errors that were preventing build.
2014-07-16 00:47:47 +02:00
Mike Shaver
095ee86e37 Fix some doc comment errors that were preventing build. 2014-07-15 15:34:06 -07:00
Juriy Zaytsev
26a964f241 Merge pull request #1476 from twffy/upstream
Fix positioning of controls for lines
2014-07-15 19:17:05 +02:00
Paul Kaplan
bbd1dd2d99 Simplify point parsing logic
The SVG spec basically allows delimiting numbers and pairs of numbers
with either whitespace or commas, so convert all commas to whitespace,
split on whitespace and remove the `asPairs` logic
2014-07-14 09:59:03 -05:00
Paul Kaplan
112dce71a3 Allow whitespace around commas in point parsing
Per the SVG spec:

http://www.w3.org/TR/SVG/shapes.html#PointsBNF
2014-07-12 18:08:03 -05:00
Tom French
9bbb4911c9 Brace style and JSHint 2014-07-11 18:29:17 +01:00
Tom French
91c642b0fa Fix controls for lines while scaling 2014-07-11 13:24:26 +01:00
Tom French
154b1cf5a3 Fix controls for scaled lines 2014-07-11 13:12:38 +01:00
Tom French
1434daac47 Fix controls for lines without caps 2014-07-11 13:12:13 +01:00
asturur
a453ba83d7 Update ellipse.class.js
Fixes border without killing opacity. Opacity need to be moved in render function maybe, not in _render.
2014-07-10 12:09:47 +02:00
Tom French
c40cada006 Merge remote-tracking branch 'upstream/master' 2014-07-09 20:12:38 +01:00
Tom French
23ab51b733 Fixes for stroked objects 2014-07-09 19:51:28 +01:00
Juriy Zaytsev
1663b5644c Merge pull request #1466 from simvan/IE8-IsVML-issue
isVML causing an issue in IE8 when filling in the corners of rectangles
2014-07-09 12:26:38 +02:00
Stefan Kienzle
9ad2279e8a Revert JSCS tweaks for single-line return statements. 2014-07-08 13:32:58 +02:00
Simon van Lankveld
6df9412bf7 Changing isVML to a function so that the G_vmlCanvasManager can be evaluated when needed instead a single time at the beginning. 2014-07-08 21:49:20 +12:00
Stefan Kienzle
de99a508c2 Make setCursor public.
JSCS tweaks.
2014-07-07 16:18:31 +02:00
Tom French
8cf9642fe4 Transform point given to zoomToPoint 2014-07-05 20:18:23 +01:00
Tom French
6b8ce5c1ce JSHint 2014-07-05 18:06:21 +01:00
Tom French
300de3be0d Correct rendering of active group 2014-07-04 20:07:04 +01:00
Tom French
d5f8d88bfc Fix ToSVG scaling 2014-07-04 17:47:25 +01:00
Tom French
ec0dcbfeb0 JSHint 2014-07-04 17:33:37 +01:00
Tom French
f6161f8713 ToSVG respects viewport transformation 2014-07-04 11:29:48 +01:00
Tom French
6fbd5df49c Fix FromObject 2014-07-04 11:29:48 +01:00
Tom French
42ce906e0d Fix group coordinates 2014-07-04 11:29:30 +01:00
Tom French
a4129c31e8 Merge remote-tracking branch 'upstream/master'
Conflicts:
	dist/fabric.min.js
	dist/fabric.min.js.gz
	dist/fabric.require.js
	src/canvas.class.js
2014-07-03 16:02:43 +01:00
Chris Buergi
9a867f893f Fire 'selection:changed' on IText object.
Previously the 'text:selection:changed' was only fired on the canvas, but not on the object.
2014-07-03 10:02:47 +02:00
Stefan Kienzle
6e97a70469 Reset backgroundColor with null value 2014-07-01 18:29:06 +02:00
Chris Buergi
dda68b44dd Render IText correctly when only fontWeight or fontStyle changes
Fixes rendering of characters that only have the styles "fontWeight" and/or "fontStyle" set. Previously _hasStyleChanged() did not detect a change if only one of those two styles have been set.
2014-06-30 16:19:35 +02:00
Juriy Zaytsev
0f2e306a64 Merge pull request #1425 from asturur/use-tag-use
Support use tag
2014-06-25 12:25:06 +02:00
asturur
b21820cc6b Update parser.js
Changed getElementsByTagName with queryselectorall, allow to go just on "use" node , but all of them ( getElementsByTagName doesn't , it select just first level of child.
Removed tagname check now useless.
2014-06-25 08:02:42 +02:00
Stefan Kienzle
50e3fd717c Merge pull request #1427 from asturur/shadow-return-null
Update shadow.class.js - `objects.setShadow(null)` removes the sahdow
Closes #1422
2014-06-24 15:48:16 +02:00
asturur
12c2fb82c3 Update shadow.class.js
At the end was a bad idea. If we call new fabric.Shadow() we should get a shadow whatever we pass as an argument.
2014-06-24 15:39:31 +02:00
asturur
22b0149e49 Update object.class.js
as suggested by Kienz.
2014-06-24 15:38:14 +02:00
asturur
4ccc2c83ba Update parser.js
Moved in a separate function.
Tried to fix sneaky tabs and spaces.
2014-06-24 15:17:59 +02:00
kangax
492253e5ca JSCS tweaks. Down to 114 failures. 2014-06-24 14:12:17 +02:00
asturur
79d035d27e Update shadow.class.js
Shadow return null if null is passed.
Makes .setShadow(null) works.
2014-06-24 13:16:42 +02:00
asturur
52c9792e15 Use of tag use
Deep cloning nodes that should be used before normal document parsing.
2014-06-24 13:12:27 +02:00
asturur
049259cc09 style parsing fix
code style should be ok this time
2014-06-22 20:51:04 +02:00
kangax
715fda8e94 Revert "Update path.class.js"
This reverts commit 77dd88569d.
2014-06-21 19:23:44 +02:00
kangax
62eb4e39f5 Revert "Build dist"
This reverts commit ac006b837f.
2014-06-21 19:15:10 +02:00
kangax
ac006b837f Build dist 2014-06-21 19:10:20 +02:00
Juriy Zaytsev
48247712c7 Merge pull request #1415 from asturur/master
Update path.class.js
2014-06-21 19:07:57 +02:00
asturur
587d527bb8 Update arc.js
while investigating why some arcs fails, reduced the number of calls to math.sin and math.cos, not by that much.
2014-06-21 17:45:50 +02:00
asturur
77dd88569d Update path.class.js
Modified path positioning, fixes svg 170, debian logo, change some errors in different errors.
2014-06-21 17:03:54 +02:00
Juriy Zaytsev
713f3ad7b1 Merge pull request #1407 from asturur/master
Ellipse positioning fix
2014-06-21 16:30:37 +02:00
asturur
35eebc0376 Update parser.js 2014-06-21 14:22:10 +02:00
asturur
54f5cf11e5 Update parser.js
Get rid of error stopping the parser for elements that doesn't have a parent with visible defined.
2014-06-21 14:19:31 +02:00
asturur
8294fd42ab Update circle.class.js
Same kind of modification from ellipse.
2014-06-21 10:37:31 +02:00
asturur
beb3fc205f Update ellipse.class.js
just extra space.
2014-06-21 10:31:04 +02:00
asturur
4729d104c8 Update ellipse.class.js
As crazy as it looks like. Translate the ellipse just if it doesn't have a transformMatrix.
I have the feeling that the problem is somewhere else, but i cannot fix it different way.
2014-06-21 10:29:22 +02:00
asturur
1257754d5b Update circle.class.js
Forgot those changes.
2014-06-20 09:17:34 +02:00
asturur
402c2a6f3a Update ellipse.class.js
Fixed some error i could not find but stopped the js to work.
2014-06-20 09:07:35 +02:00
asturur
efa6579450 Update path.class.js 2014-06-19 23:47:21 +02:00
asturur
fd658ce29b remove path positioning fixes
in different branch.
2014-06-19 23:46:06 +02:00
asturur
9c444b4ecb Path positioning
This path positioning change renders correctly the svg 170 ( the many red triangles ) and change the visualization of issue #1363. Need extensive testing. Consider that viewbox has to be implemented better, so don't take too much negatively the errors on svgs that have viewbox with negative numbers.

if this is not a solution i hope at least it can inspire someone
2014-06-19 23:33:12 +02:00
asturur
2dc5e298a3 Update ellipse.class.js 2014-06-19 21:38:26 +02:00
asturur
66d6b633ba Update ellipse.class.js 2014-06-19 21:37:33 +02:00
asturur
3f47559589 Start to fix the position of ellipses
Till this library won't use ctx.ellipse() this weird transformation will be a huge mess.
This little fix imroves position of not transformed ellipses.
You can see the fixes on the example i will post below.
It needs improvement to work with other transformMatrix.
2014-06-19 21:05:39 +02:00
asturur
190973f6c9 Update ellipse.class.js
Always transparency rendering related.
2014-06-19 17:14:36 +02:00
asturur
8482c1c29b Update polygon.class.js
Apply opacity property to poligon class.
2014-06-19 10:42:55 +02:00
asturur
572038b0e5 Update path.class.js
apply opacity property on paths.
2014-06-19 10:42:05 +02:00
Tom French
5f8e0ee6ee Fixes for group coordinates (coordinates now also generated before group is added to canvas) 2014-06-13 11:23:13 +01:00
Tom French
02b0b20343 Zoom overlay and background images 2014-06-12 13:10:42 +01:00
Tom French
b13e5763b6 Calculate group coordinates when initializing 2014-06-12 12:37:20 +01:00
Tom French
cd4d8b2c17 Fix group.hasMoved 2014-06-12 10:13:08 +01:00
Tom French
6924df7154 Replaced viewport-moving functions. 2014-06-06 20:46:34 +01:00
Jim Rodovich
1201cfb1e1 Make closepath commands update current x/y coordinates.
Per the SVG spec,
> If a "closepath" is followed immediately by any other command, then
> the next subpath starts at the same initial point as the current
> subpath.
2014-06-06 13:50:54 -05:00
Tom French
8c826a3204 Fixes for controlsAboveOverlay 2014-06-06 17:36:17 +01:00
Jim Rodovich
ff04efdc76 Don't ever draw lines to explicit M/m commands.
#1365 converted multiple M/m coordinates to L/l commands when importing paths. The `_render` function was already attempting to connect those coordinates, but that's no longer necessary as the only consecutive M/m commands in `_render` were explicitly defined as M/m commands.
2014-06-06 10:31:54 -05:00
Kienz
c258b08f48 Add IE support for copy / paste events
Fix for `cut` event if nothing is selected
2014-06-05 00:56:34 +02:00
Stefan Kienzle
41933ccf20 Merge pull request #1348 from Kureev/copy/paste
Copy/Paste from/to external resources
2014-06-05 00:45:17 +02:00
Tom French
ef01083cab Stray console.log removed. 2014-06-03 08:36:00 +01:00
Kureev Alexey
09836dc2c7 Copy/paste old browsers support check 2014-06-01 21:51:41 +02:00
Tom French
009c5389bf JSHint, restoring .gitignore 2014-05-31 18:08:33 +01:00
Tom French
b4746e6bf2 Merge remote-tracking branch 'upstream/master' 2014-05-31 17:33:28 +01:00
Tom French
0d8db88e71 Merge remote-tracking branch 'upstream/master'
Conflicts:
	.gitignore
	dist/fabric.js
	dist/fabric.require.js
	src/brushes/circle_brush.class.js
	src/canvas.class.js
	src/mixins/canvas_events.mixin.js
	src/mixins/object_geometry.mixin.js
	src/mixins/object_interactivity.mixin.js
	src/shapes/group.class.js
	src/shapes/image.class.js
	src/shapes/object.class.js
	src/shapes/path_group.class.js
	src/shapes/text.class.js
2014-05-31 17:29:55 +01:00
Jim Rodovich
6f8444c86a Convert extra "moveto" coordinates to "lineto" commands.
Per the [SVG spec](http://www.w3.org/TR/SVG11/paths.html#PathDataMovetoCommands):

> If a moveto is followed by multiple pairs of coordinates, the
> subsequent pairs are treated as implicit lineto commands. Hence,
> implicit lineto commands will be relative if the moveto is relative,
> and absolute if the moveto is absolute."
2014-05-30 10:08:03 -05:00
Jim Rodovich
7e8dc3a91f Fix slow clicks (> 100 ms) focusing previously-deselected IText. 2014-05-27 15:44:58 -05:00
Kureev Alexey
741e8cf43d Copy/Paste from/to external resources 2014-05-25 18:15:54 +04:00
Stefan Kienzle
a2512b2cd0 Fix IText canvas handler initialization 2014-05-22 10:48:02 +02:00
Jim Rodovich
74b0329abd Fix error when parsing empty SVG document.
And don't forget to call the callback.
2014-05-15 16:31:01 -05:00
Matt Harrison
bfb33fb1f7 Removed 'return this', not needed for private method 2014-05-15 15:18:37 +01:00
Matt Harrison
b7f03b8a6c Added smoothing option on fabric.StaticCanvas to support setting imageSmoothingEnabled 2014-05-14 09:05:15 +01:00
Stefan Kienzle
cbf59d577c JSON object without "objects" property throws "TypeError: Cannot read property 'length' of null" - Should now be fixed.
Add unit test.
Closes issue #1235
2014-05-13 13:32:55 +02:00
Juriy Zaytsev
91c32d89a7 Merge pull request #1323 from Kienz/issue-1257
Initialize "Noise" and "Brightness" filter with 0 instead of 100
2014-05-12 20:50:49 +02:00
Kienz
5ea264ae3d fabric.Object.setAngle consider different originX/originY values other than "center"
Closes issue #1093
2014-05-12 20:36:59 +02:00
Stefan Kienzle
e0ee99caa4 Initialize "Noise" and "Brightness" filter with 0 instead of 100.
Closes issue #1257
2014-05-12 16:44:12 +02:00
yuri
99a3a77267 Added Multiply filter 2014-05-12 00:39:02 +03:00
kangax
f5691b4b4f Set default originX as center. Closes #974 2014-05-09 23:29:11 +02:00
kangax
87b0f2da35 Add support for transparent value in fabric.Color 2014-05-09 22:55:33 +02:00
Juriy Zaytsev
916b35b93d Merge pull request #1314 from rodovich/round-rect-arcs
Use a cubic bezier approximation for rounded rectangle corners.
2014-05-09 00:32:41 +02:00
Juriy Zaytsev
a20e329213 Merge pull request #1317 from rodovich/leading-decimal
Be able to parse numbers with no digits before the decimal point.
2014-05-09 00:31:46 +02:00
Jim Rodovich
6a478e6791 Use a cubic bezier approximation for rounded rectangle corners.
According to the SVG spec these corners are supposed to be elliptical arcs.  HTML canvas does not have methods for elliptical arcs, but a cubic approximation can get within 0.02%.

Using the "magic number" from http://itc.ktu.lt/itc354/Riskus354.pdf.
2014-05-08 14:20:13 -05:00
Jim Rodovich
5b54f83548 Be able to parse viewbox numbers with no digits before the decimal. 2014-05-08 11:28:11 -05:00
Jim Rodovich
ed0b91109d Be able to parse numbers with no digits before the decimal point.
Per the [SVG spec](http://www.w3.org/TR/SVG11/types.html#DataTypeNumber), non-integer number values do not necessarily have any digits before the decimal point.
2014-05-08 11:20:56 -05:00
Jim Rodovich
95fd97fa63 Perform imported SVG rotations in degrees, per the SVG spec.
http://www.w3.org/TR/SVG11/coords.html#TransformAttribute
2014-05-08 10:56:32 -05:00
Jim Rodovich
76314abd95 Optimize for common case of radius 0. 2014-05-07 19:02:18 -05:00
Jim Rodovich
7b4455f29a Constrain rounded rect radii to half the width & height. 2014-05-07 10:25:34 -05:00
Grzegorz Godlewski
ce786cc3ad Transform matrix and isInPathGroup fix for images 2014-04-28 21:37:52 +02:00
kangax
9113b27e77 Revert _searchPossibleTargets optimization. Closes #1188 2014-04-24 10:33:33 -04:00
Juriy Zaytsev
c7b4b52981 Merge pull request #1282 from wilsonwc/master
Fix for #1237
2014-04-22 14:28:02 -04:00
kangax
314e06db6d Fix fontWeight parsing 2014-04-18 16:07:59 -04:00
kangax
b3600e62a4 Add support for text-anchor's 2014-04-18 16:07:49 -04:00
Ross Wilson
14338a9559 Fix for #1237
Only set crossorigin on the element if something is specified
2014-04-16 13:03:02 -06:00
kangax
c8164959c8 Add support for SVG "visibility: hidden" 2014-04-16 14:05:34 -04:00
kangax
5e385e5ed0 Fix text offsets and size in SVG 2014-04-16 13:39:32 -04:00
kangax
f3b7884827 Add support for "evenodd" fill rule. Closes #1021 2014-04-15 20:09:01 -04:00
kangax
d6a73aa7f5 Make isSameColor cave-insensitive. Closes #1272 2014-04-14 12:17:06 -04:00
kangax
a48ed5b31b Add support for display=none. Closes #1256 2014-04-10 17:47:36 -04:00
kangax
cfd71e9550 Fix viewBox parsing 2014-04-10 13:57:24 -04:00
kangax
3e06f4127d Fix typo. Closes #1265 2014-04-09 18:02:20 -04:00
Juriy Zaytsev
63ea7b0c34 Merge pull request #1260 from Webbgaraget/toJSON-currentTransform-bugfix
Moves the resetting of _currentTransform.target inside `if (activeGroup)`-block
2014-04-08 17:03:50 -04:00
Anders Lisspers
46100b24bd Moves the resetting of _currentTransform.target inside if (activeGroup)
This solves a problem that occurred if you were transforming (moving, scaling, rotating) a single object
when toJSON()/toObject() was run.
2014-04-03 16:20:05 +02:00
Ken Thompson
fa8bd1f40b added "_this" reference for setTimeout 2014-03-27 20:49:43 -05:00
kangax
3f14a96c5a Fix multiplier<1 export 2014-03-13 20:27:42 -04:00
Dennis Eijpe
b8dec2ddf0 Fix event listeners for multi-input devices 2014-03-09 17:14:06 +01:00
Max Kaplan
54f9c0428f add spaces before { 2014-03-07 17:32:09 -05:00
Max Kaplan
fd38b8f4a4 formatting for fixes 2014-03-07 01:15:56 -05:00
Max Kaplan
6f3f1ff7c9 Fix loadFromJSON 404s breaking fabric (Image)
Prevent image 404s in Images from loadFromJSON from breaking everything
trying to get attributes of a source which is null, while passing it
upwards to allow dealing with images which failed to load outside of
Fabric.JS Issue #1079
2014-03-07 01:12:50 -05:00
Max Kaplan
f2943ef2bb Fix loadFromJSON 404s breaking fabric (Pattern)
Prevent image 404s in patterns from loadFromJSON from breaking
everything trying to get attributes of a source which is null, while
passing it upwards to allow dealing with images which failed to load
outside of Fabric.JS
2014-03-07 00:19:35 -05:00
kangax
eb919f9a04 Fix ellipse borders. Closes #1099 Thanks @xnramx 2014-03-06 19:47:55 -05:00
kangax
2acdc7e85b Fix few bracketless statements. Down to 257 failures on JSCS. 2014-02-27 15:00:42 -05:00
kangax
eb75f4b491 Restore _currentTransform.target after toJSON. Closes #1159 2014-02-27 15:00:42 -05:00
Juriy Zaytsev
e15047016d Merge pull request #1203 from Webbgaraget/allow-decimals-in-rgba-colors
Allow decimals in rgba colors.
2014-02-27 12:41:13 -05:00
Anders Lisspers
11a21f10ee Allows rgba() colors to have decimals, i.e. rgba(45.2342%, 88.2342%, 83.5%) 2014-02-27 09:17:59 +01:00
Jeff Talbot
918d4dd5de Initialize variable with the correct name that is actually used 2014-02-24 10:47:22 -06:00
XhmikosR
67e9c8829c Remove extra commas. 2014-02-23 20:25:23 +02:00
kangax
1d4356008a Revert scroll detection change. 2014-02-21 15:04:42 -05:00
kangax
52a60769ee Update docs, specifying ms. 2014-02-20 13:59:27 -05:00
kangax
8e75acf836 Expose cursorMap. Closes #1179 2014-02-19 15:26:07 -05:00
kangax
c85a33752b Fix iText stealing focus 2014-02-19 15:25:50 -05:00
kangax
0dbf03835d Fix typo, build dist 2014-02-19 14:59:50 -05:00
Juriy Zaytsev
8f2d29f5d6 Merge pull request #1172 from kreig/patch-1
fabric.Object.fillRule support using globalCompositeOperation
2014-02-19 14:44:05 -05:00
kangax
0eed619d98 Make isContainedWithinObject check for equality as well. Closes #1177 2014-02-18 17:07:37 -05:00
kangax
6798111f03 Build distribution 2014-02-18 15:14:06 -05:00
kangax
32368ecbad Fix require typo 2014-02-18 14:53:59 -05:00
Juriy Zaytsev
7ded46ce7f Merge pull request #1168 from aspectit/css-scale-new
Fix mouse handling if the canvas has been scaled via CSS.
2014-02-18 11:58:29 -05:00
Michael Sievers
3faf5f0bae Added missing semicolon 2014-02-18 13:44:02 +01:00
Michael Sievers
bd2a235b12 Move ElementsParser instance methods to prototype 2014-02-18 13:44:01 +01:00
Michael Sievers
d44bde4605 Added semicolon to satisfy jshint 2014-02-18 13:43:20 +01:00
Michael Sievers
179ad93dc5 Make ElementsParser a constructor function and create instances in fabric.parseElements 2014-02-18 13:43:19 +01:00
Michael Elsdörfer
50107b06d7 Handle missing canvas bounds information correctly.
Fixes test failure.
2014-02-18 00:17:31 +01:00
Michael Elsdörfer
dc6e53288c Also consider CSS transforms when handling mouse. 2014-02-18 00:17:31 +01:00
Michael Elsdörfer
d5f948877c Make mouse handling respect CSS scaling.
Also DRYs getPointer() calls in many places.

See #868.
2014-02-18 00:17:31 +01:00
kangax
631226d26b More JSCS fixes; down to 295 failures 2014-02-17 11:55:54 -05:00
kangax
d2f6a9033e Add JSCS validation & change bunch of things for conformance. Down to 333 failures from ~1000. 2014-02-16 16:36:14 -05:00
kangax
21f573d381 Speed up getElementStyle 2014-02-16 16:36:13 -05:00
kreig
e89c9c84bd fabric.Object.fillRule support using globalCompositeOperation
Full support for the fabric.Object.fillRule option for any visual objects.
_setupFillRule(ctx) is used to set CanvasRenderingContext2D.globalCompositeOperation (from fillRule property).
_restorFillRule(ctx) restores previously saved globalCompositeOperation.
Both methods are called form the render() method, so individual blending settings for each object can be specified.
2014-02-16 19:00:53 +02:00
Michael Elsdörfer
1be7b9fee8 Fix mouse handling inside a scrollable div.
See also #870, which was incorrectly merged.
2014-02-15 03:29:22 +01:00
kangax
0460e4e248 Fix recent group addition 2014-02-11 12:47:09 -05:00
kangax
93ac070918 Make _calcBounds more flexible 2014-02-10 23:24:29 -05:00
kangax
be96d93f6e Fix group origin after toJSON 2014-02-10 21:37:47 -05:00
RG72
107dd5735f Options for node-canvas
Allowing to write pdf via node-canvas
```var canvas = fabric.createCanvasForNode(200, 200,'pdf');
..
fs.writeFile('out.pdf', canvas.nodeCanvas.toBuffer());```
2014-02-09 12:42:15 +05:00
Maciej Filip Szkodziński
7d72d0500f Removed Line._getCenterToCenter helpers
Pre-rendering context translation for lines in path-groups uses the
pre-existing getCenterPoint.

Removed tests for removed code.
2014-02-05 17:33:20 +01:00
Maciej Filip Szkodziński
df764728e0 Fix group mocks in Line tests
Added missing semicolons in tests.

Refactored Line centerToCenterGetter to improve readability.
2014-02-05 17:07:45 +01:00
Maciej Filip Szkodziński
6b1e144c44 Line coordinates are correct
fabric.Line._setWidthHeight was assigning left and top as if both
origins were 'center'.

It now uses private helper methods to calculate the distances from
left and top edges of canvas to the line origins.

The data for existing Line.toObject test is updated with origin-relative
coordinates.

Rendering of line inside a path-group was assuming a 'center' origin
for both coordinates.

Context translation done before rendering for lines inside path-groups
now uses private helper methods to calculate distances from the center
of path-group to center of line.
2014-02-05 15:42:52 +01:00
Juriy Zaytsev
0584d94a5c Merge pull request #1138 from GordoRank/Only-add-hidden-textarea-when-in-editing-mode
Fix object onClick (previously failed change)
2014-02-04 08:16:59 -08:00
GordoRank
d665ddfe81 Fix object onClick (previously failed change)
I'm unsure how but a previous change in this pull request never merged correctly (probably still due to my inexperience with github)  Regardless, this tiny patch fixes the bug
2014-02-04 09:44:49 +00:00
Juriy Zaytsev
172a3d3da2 Merge pull request #1135 from bernardofd/prJan2014
[Fix] loadSVGFromString receives raw buffer instead of string when loading SVG file from disk
2014-02-01 11:38:12 -08:00
kangax
512b0186c8 Tweak iText after PR 2014-02-01 14:24:25 -05:00
Juriy Zaytsev
4a967b7ddf Merge pull request #1114 from GordoRank/Improve-IText-performance
Improve overall IText performance with varying styles > 1000%
2014-02-01 11:22:20 -08:00
kangax
68d4a74def Tweak few things in iText; build distribution 2014-02-01 13:18:22 -05:00
Juriy Zaytsev
93bd41f356 Merge pull request #1113 from GordoRank/Reduce-calls-to-fillText/strokeText-for-IText
Reduce calls to fillText/fillStroke in IText
2014-02-01 10:15:39 -08:00
Bernardo Figuerêdo Domingues
522a4cc1d7 Fix request_fs returns raw buffer instead of string.
Since fs.readFile returns the raw buffer if no encoding is specified, the call to loadSVGFromString would fail. This PR fixes that, transforming the buffer into string (assuming 'utf-8') encoding. For other encodings, it may garble special characters.
2014-01-30 15:34:09 -02:00
Juriy Zaytsev
213b99eb9f Merge pull request #1127 from GordoRank/Optimize-searchPossibleTargets-for-IText
Optimize searchPossibleTargets for I-text
2014-01-27 12:54:02 -08:00
GordoRank
a962b59aa7 Iterate backwards 2014-01-27 13:05:32 +00:00
GordoRank
02d55954e9 Move check into separate function 2014-01-27 12:29:30 +00:00
kangax
f928e68386 Few small tweaks 2014-01-26 22:19:12 -05:00
mizzack
bed0cab833 Adding nullcheck to touches attr on event.
This was throwing errors in IE11 on desktop.  Not that it needs gesture support...
2014-01-26 15:36:31 -05:00
GordoRank
88157a8107 Optimize searchPossibleTargets 2014-01-24 09:44:08 +00:00
kangax
e977372236 Remove node 0.6 from travis until jsdom fixes it 2014-01-23 11:25:04 -05:00
kangax
3dd2f1572d Move for in body into a separate method (to allow inlining) 2014-01-23 10:49:23 -05:00
kangax
dbbfb992cb Add all properties onto prototype (not to invalidate hidden classes) 2014-01-23 10:49:23 -05:00
GordoRank
531faae418 revert master 2014-01-23 10:15:30 +00:00
GordoRank
4183bddd26 revert 2014-01-23 10:14:58 +00:00
GordoRank
235f7add81 update cache in setElement() 2014-01-23 10:08:49 +00:00
GordoRank
c8da9fbfc3 update cache automatically in _set() 2014-01-23 10:07:33 +00:00
Juriy Zaytsev
b600c39119 Merge pull request #1112 from GordoRank/Add-textselected-event
Add "text:selection:changed" event
2014-01-22 21:48:36 -08:00
GordoRank
b75fa8c32d switch to 'text:selection:changed' 2014-01-23 01:32:08 +00:00
GordoRank
f6108963b2 switch to 'text:selection:changed' 2014-01-23 01:31:20 +00:00
Juriy Zaytsev
9f0f5e6bd2 Merge pull request #1111 from GordoRank/Only-add-hidden-textarea-when-in-editing-mode
Prevent multiple hidden Textareas
2014-01-22 16:44:36 -08:00
Juriy Zaytsev
c9a27eb6a0 Merge pull request #1110 from GordoRank/Fix-multiple-renderAll-when-exiting-editing-mode
Fix multiple renderAll when exiting editing mode
2014-01-22 16:36:25 -08:00
GordoRank
4631a8929a Update itext.class.js 2014-01-20 20:59:04 +00:00
GordoRank
ab67a7d1d6 Update itext.class.js 2014-01-20 15:28:50 +00:00
GordoRank
394732f3a3 Update renderCursor/renderSelection
Update renderCursor()/renderSelection() to draw to separate canvas
2014-01-20 14:54:41 +00:00
GordoRank
e3dd37ff22 remove IText _render()
The ```the _render()``` method for IText objects is no longer needed when since rendering cursor/selection is now handled elsewhere
2014-01-20 14:51:21 +00:00
GordoRank
40b04c7b11 Let _getWidthOfChar() return cached values 2014-01-20 11:19:01 +00:00
GordoRank
e000ed0ef0 Remove clashing 'selected' event firing 2014-01-20 09:43:36 +00:00
GordoRank
cec2a17a47 Remove clashing 'selected' event firing 2014-01-20 09:43:00 +00:00
GordoRank
8cf567522d Update itext.class.js 2014-01-20 08:50:02 +00:00
GordoRank
72e1b91ee4 Reduce calls to fillText/fillStroke in IText 2014-01-20 08:42:24 +00:00
GordoRank
764b55ed33 Fire text:selected on selectAll 2014-01-20 08:22:02 +00:00
GordoRank
3e1433acb1 Add text:selected event 2014-01-20 08:21:00 +00:00
GordoRank
9a2d697cf2 Prevent multiple hidden Textareas
Currently a hidden ```TEXTAREA``` is created for every IText instance and remain in the DOM forever.  

This patch creates the required textarea on demand in ```enterEditing``` and destroys it in ```exitEditing```

This prevents multiple Textareas from hanging around in the DOM which can cause slowdowns in complex scenes with lots of IText instances.
2014-01-20 08:14:31 +00:00
GordoRank
b814568294 Prevent multiple RenderAll calls on exit edit
This commit modifies the ```mouseUp ```handler to fix ```enterEditing``` behaviour, while maintaining the ability to fire ```enterEditing()``` programmatically
2014-01-20 07:46:59 +00:00
GordoRank
564266e3e2 Prevent multiple RenderAll calls on exit edit
This fix prevents ```renderAll()``` being called for each IText instance when ```exitingMode``` is exited.  Only one ```renderAll()``` is necessary
2014-01-20 07:42:33 +00:00
GordoRank
d088bb1fb7 Fix IText selection with varying font widths 2014-01-20 07:28:33 +00:00
kangax
aa98c317b7 Fix keyboard appearance on Android. Closes #1070 2014-01-18 16:08:41 -05:00
kangax
f1aef7ed1a Version 1.4.3 2014-01-18 12:01:19 -05:00
kangax
bc8acac692 Only call _renderStroke in line and circle when this.stroke exists 2014-01-17 11:57:54 -05:00
kangax
20e0712688 Avoid set in fabric.Line#_setWidthHeight 2014-01-17 11:57:31 -05:00
kangax
727a8d04b1 Move _hasITextHandlers to canvas instance 2014-01-17 11:51:36 -05:00
kangax
13fcf15b8b Make sure compiler can inline 2014-01-17 11:51:16 -05:00
kangax
16447f9b7a Optimize _renderObjects to take fast path if no activeGroup given 2014-01-17 11:48:17 -05:00
kangax
4761c2527c Build distribution 2014-01-14 12:57:13 -05:00
Juriy Zaytsev
7094ec47e2 Merge pull request #1094 from anvaka/fixNodeCanvas
createCanvasForNode passes options to FabricCanvas
2014-01-14 09:51:55 -08:00
Juriy Zaytsev
d4ea2c6f1e Merge pull request #1097 from GordoRank/master
Rewrite renderSelection to only draw once per line
2014-01-14 09:46:16 -08:00
GordoRank
0abc547d6b Fixed formatting and cache start.lineIndex 2014-01-14 17:37:40 +00:00
kangax
166dc60716 Fix JSHint warnings, build distribution 2014-01-14 12:34:32 -05:00
GordoRank
9f2c678a66 Formatting fixed and end.lineIndex cached 2014-01-14 17:23:40 +00:00
GordoRank
350261437a Rewrite renderSelection to only draw once per line
Previously RenderSelection performed a fillRect() command for every character.  This resulted in poor performance on large bodies of text.  This rewrite calculates the selection box for each line of text and draws a single rectangle for each line, dramatically improving performance.
2014-01-14 17:09:19 +00:00
GordoRank
90a97e6272 Fix click cursor placement on center/right text
This clamps the click cursor placement so that clicking to the left of a short first line of centered/right aligned text positions the cursor to the left of the first character in the line....

Previously in that instance it would move to the left boundary instead
2014-01-14 15:48:59 +00:00
GordoRank
77f304bed0 Fixes Center/Right aligned cursor placement
Fixes Center/Right aligned cursor placement by mouse click when the text box is scaled
2014-01-14 13:58:06 +00:00
GordoRank
272859b8f1 Formatting fixes 2014-01-14 11:03:27 +00:00
GordoRank
1e9c58ea01 formatting fixes 2014-01-14 11:00:48 +00:00
GordoRank
a7e0e681d5 Formatting fixes 2014-01-14 10:56:43 +00:00
anvaka
6486606670 createCanvasForNode passes options to FabricCanvas
Some options like renderOnAddRemove plays crucial role in canvas
performance. This change allows clients to use custom options for
node.js
2014-01-14 01:12:29 -08:00
GordoRank
a2cf96a020 Dblclick at end of word selects previous word
Fixes selectWord so that double clicking at the end of a word (just after the last character in the left half of the space) selects the previous word.  Again this is MS Word behaviour.
2014-01-14 00:25:42 +00:00
GordoRank
1499baa7c3 Move enterEditing back into MouseUp
Oops... thats better! :)

This way we get all the responsiveness benefits of setting the cursor position on mousedown but can still actually move the objects!
2014-01-14 00:00:25 +00:00
GordoRank
ec144b773d Set cursor restart delay to 0
Setting cursor restart delay to 0 improves responsiveness when beginning drag selection, works inline with my previous two commits for selectLine/selectWord
2014-01-13 23:32:22 +00:00
GordoRank
8cb74e00e2 Restart cursor on selectWord/selectLine
Restarting cursor rendering using initDelayedCursor(true) in selectWord and selectLine improves user perceived responsiveness and provides an accurate reproduction of MS Word behaviour
2014-01-13 23:19:18 +00:00
GordoRank
2c5c83f9da Moved enterEditing into MouseDown
MS word appears to move the caret on MouseDown, not on MouseUp as I thought.
2014-01-13 23:09:12 +00:00
GordoRank
2539c68cc8 Do not rely on options object in enterEditing #2 2014-01-13 22:43:58 +00:00
GordoRank
ead81813bd Do not rely on options object for enterEditing #1 2014-01-13 22:42:29 +00:00
GordoRank
6acb697b7a Fix more formatting 2014-01-13 22:27:25 +00:00
GordoRank
b8c83ed242 Fix formatting 2014-01-13 22:22:40 +00:00
GordoRank
cc52bf7039 rename __lastEditing to __lastIsEditing 2014-01-13 22:19:44 +00:00
GordoRank
3510004d97 Set cursor to mouse position on editing enter 2014-01-13 12:13:19 +00:00
GordoRank
0957c9ca9f Set cursor position to mouse click on enter 2014-01-13 12:12:12 +00:00
GordoRank
55bc6a990b Make flashing cursor behave like MSWord 2014-01-13 12:04:46 +00:00
GordoRank
3582fd3ba9 Make flashing cursor behave like MSWord 2014-01-13 11:58:26 +00:00
GordoRank
f56be28052 Make flashing cursor behave like MSWord 2014-01-13 11:56:56 +00:00
GordoRank
f7e24da770 Click after line should set cursor to this line
Clicking past the end of line selects the last character of that line
2014-01-13 10:19:39 +00:00
GordoRank
b6fb6491bc Dbl click into editing mode sets cursor position
Double click directly into editing mode sets cursor position rather than selects whole word
2014-01-13 09:29:56 +00:00
Juriy Zaytsev
2b74c2abc5 Merge pull request #1087 from Kienz/patch-1
Fix fabric.Canvas initialization for width/height attributes. Closes #1086
2014-01-12 06:38:07 -08:00
Juriy Zaytsev
bb7f52cc84 Merge pull request #1088 from Kienz/patch-2
Fix path regExp for compressed path commands
2014-01-12 06:37:46 -08:00
Kienz
da0866429a Initialize fabric.IText canvas handlers only once. Closes #1076
Qunit additions
2014-01-12 15:32:50 +01:00
Kienz
61f65bc206 Fix path regExp for compressed path commands
Fix regExp for e^x numbers
Add unit test for e^x numbers
2014-01-12 13:50:03 +01:00
Kienz
50899a79ef Fix fabric.Canvas initialization for width/height attributes. Closes #1086. 2014-01-12 11:33:42 +01:00
kangax
c5f97d69af Remove console.log in itext 2014-01-04 15:02:51 -05:00
kangax
92b0d5e282 Optimize rendering of 1x1 rectangles 2014-01-04 15:02:51 -05:00
kangax
d7c2076b8a Do not call shadowColor = ... when there's no shadow 2014-01-04 15:02:51 -05:00
kangax
e0aed05c3d Build distribution 2013-12-31 09:29:14 -05:00
kangax
ea811cbb23 Fix fabric.Path#path being "cloned" by reference 2013-12-31 09:29:14 -05:00
Stefan Kienzle
6776e62d00 Fix overlayImage / overlayColor during selection mode. Closes #1068 2013-12-27 10:19:57 +01:00
kangax
7c541da8cc Fix double callback in loadFromJSON if objects.length == 0. Closes #1056 2013-12-21 15:17:08 +01:00
mizzack
d13a4dd273 Correcting invalid control name 2013-12-19 11:02:23 -05:00
Marco Miltenburg
b97f850bbb Added check to make sure xml is defined and exit if undefined. 2013-12-18 13:44:04 +01:00
kangax
d478482a19 Fix number parsing in paths. Closes #961 2013-12-18 11:29:44 +01:00
kangax
ec629c6b59 Update text events 2013-12-18 11:28:06 +01:00
kangax
032cc05bd1 Fix background offset in iText. Closes #1029 2013-12-14 14:55:47 +01:00
kangax
63eb873e7f Fix style object deletion in iText. Closes #1035 2013-12-14 12:25:04 +01:00
kangax
dbd9193703 Debounce element parsing. Thanks @biovisualize. Closes #1052 2013-12-14 12:19:54 +01:00
kangax
4a8c457680 Fix typo in _initCanvasHandlers. Closes #1048 2013-12-14 12:04:26 +01:00
kangax
79b4474e77 Mention that itext supports ctrl/cmd+a 2013-12-14 12:04:26 +01:00
kangax
db041fded5 Add note about clipTo origin. Update changelog 2013-12-11 11:09:59 +01:00
kangax
8d8cd16f6c Add "mouse:over" and "mouse:out" events 2013-12-09 15:35:08 +01:00
Nazar Mokrynskyi
38bed8143e New events:
* object:over
* object:out
* mouseover
* mouseout

Based on demo example
2013-12-08 18:01:48 +02:00
kangax
37afbc2909 Fix transformMatrix not affecting text. Closes #1031 2013-12-07 13:59:38 +01:00
Kienz
fd3ace05bb [BACK_INCOMPAT] Possibility to remove multiple fabric.Objects from collection (canvas, group) - this (canvas, group or object) is returned instead of delete object
Update unit tests - use strictEqual for some cases
Add multiple objects raised `object:added` for last added object first - now 1st added object raises 1st `object:added` event, 2nd object raises 2nd `object:added`…
2013-12-07 11:07:46 +01:00
Tom French
3cc191bdfb Fixed control and group selection rendering 2013-12-06 13:40:17 +00:00
Tom French
b0e944c251 Merge branch 'master' of https://github.com/kangax/fabric.js
Conflicts:
	dist/all.require.js
2013-12-05 19:46:47 +00:00
Tom French
ce4809d1e8 Merge branch 'master' of https://github.com/kangax/fabric.js
Conflicts:
	dist/all.js
	dist/all.require.js
	src/brushes/circle_brush.class.js
	src/brushes/spray_brush.class.js
	src/canvas.class.js
	src/mixins/canvas_events.mixin.js
	src/mixins/object_interactivity.mixin.js
	src/shapes/group.class.js
	src/shapes/image.class.js
	src/shapes/object.class.js
	src/util/misc.js
2013-12-05 19:45:39 +00:00
kangax
596831b6c1 Fix itext editing exit when clicking on other objects. Closes #1019 2013-11-29 14:43:01 +01:00
kangax
56f0bfb9cc Avoid setting crossOrigin on an image if unspecified. Closes #971 2013-11-27 20:00:33 +01:00
kangax
0f23f14a44 Add fabric.IText#caching 2013-11-27 19:48:35 +01:00
kangax
435f3933ac Fix i-text line-through offset 2013-11-26 14:58:53 +01:00
kangax
ae11740f82 Fix i-text style copy-pasting (doesn't work with multiline yet) 2013-11-25 21:32:00 +01:00
kangax
854d428c38 Add more tests 2013-11-23 17:35:31 +01:00
kangax
82509dc8d8 More IText tests 2013-11-23 13:45:53 +01:00
kangax
673fa39eba Start adding i-text unit tests; add additional util and color tests 2013-11-22 17:30:55 +01:00
kangax
ec8a920081 Reorganize parser.js 2013-11-21 18:00:29 +01:00
kangax
7fa80e82ba Add @private to doc 2013-11-21 12:17:51 +01:00
kangax
9e8b6bc5f6 Exit i-text editing properly when clicking on another text 2013-11-21 12:17:39 +01:00
kangax
336528551b Move object stacking and SVG export methods to separate files 2013-11-20 21:14:26 +01:00
Kienz
d4b2ea18b7 Fix center methods for object’s with different originX/originY
object.center() only re-renders canvas once instead of twice
Update unit tests
2013-11-20 20:41:13 +01:00
kangax
942b5cfd8d Add "editing:entered" and "editing:exited" events 2013-11-20 20:25:18 +01:00
kangax
70549d177c Fix styles when removing multiple lines 2013-11-20 20:18:43 +01:00
Stefan Kienzle
2e834aa81c Fix 1px offset of background image - Closes issue #990 2013-11-20 17:21:58 +01:00
Juriy Zaytsev
5c0d0cadda Merge pull request #1000 from msievers/issue973
Move getScrollLeftTop to dom_misc.js and call it inside getElementOffset
2013-11-20 04:48:59 -08:00
Michael Sievers
13feddfa16 Call fabric.util.getScrollLeftTop inside getElementOffset 2013-11-20 13:06:28 +01:00
kangax
81e9535ef0 Small code cleanup 2013-11-20 12:47:03 +01:00
Michael Sievers
7cb161438c Move getScrollLeftTop from dom_events.js to dom_misc.js 2013-11-20 10:42:34 +01:00