Commit graph

6153 commits

Author SHA1 Message Date
Jürg Lehni
c0a2e0ec63 Support insert parameter again in #toShape() / #toPath() 2015-12-30 21:55:21 +01:00
Jürg Lehni
060ab5e7f9 Only mark overlap segments as visited during #intersect(). 2015-12-30 21:55:21 +01:00
Jürg Lehni
f4f46fa985 Implement optimization suggested by @iconexperience in #869 2015-12-30 21:55:20 +01:00
Jürg Lehni
0e427c16a2 Fix some white-spaces in comments and HTML. 2015-12-30 21:55:20 +01:00
Jürg Lehni
bf65866b58 Port over boolean #intersect() fix from c6b1a8067f5045e94294735a21aa2fa222fbb2a1
Relates to #870
2015-12-30 21:55:20 +01:00
Jürg Lehni
fa9698aaaa Revert back to always call #setClockwise() in #resolveCrossings()
This solves some regressions, e.g. https://github.com/paperjs/paper.js/issues/869#issuecomment-167586249
2015-12-30 21:55:20 +01:00
Jürg Lehni
4d13f0e1e0 Simple optimization in PathItem#contains()
Perform a handle bounds check before calculating winding, as described by @iconexperience in #869
2015-12-30 21:55:20 +01:00
Jürg Lehni
5c976420f8 Further improve #resolveCrossings() based on discussion with @iconexperience.
Closes #869
2015-12-30 21:55:20 +01:00
Jürg Lehni
d6a8538674 Fix overlap handling for boolean intersection.
Closes #870
2015-12-30 21:55:20 +01:00
Jürg Lehni
b5a38ae5ec Fix orientation handling in new #resolveCrossings().
Closes #869
2015-12-30 21:55:20 +01:00
Jürg Lehni
9d4066da1c Implement unit tests for getWinding() and zero-winding curves.
Closes #819
2015-12-30 21:55:20 +01:00
Jürg Lehni
85f08825d7 Implement support for CSS blend-modes in SVGExport. 2015-12-30 21:55:20 +01:00
Jürg Lehni
ecad1c6a0d More code clean-ups and simplifications for #852 2015-12-30 21:55:20 +01:00
Jürg Lehni
973491f962 Some code-clean up for #852
Mainly to make it fit into the 80 char line lenght.
2015-12-30 21:55:20 +01:00
Jürg Lehni
f34afbc19a Clean up code from #856 a bit. 2015-12-30 21:55:19 +01:00
Jürg Lehni
d67796f655 Some more documentation work. 2015-12-30 21:55:19 +01:00
Jürg Lehni
8967193bb9 Improve SVG definition id parsing.
Closes #666
2015-12-30 21:55:19 +01:00
Jürg Lehni
cc1e58e243 Improve Chrome fix to handle wrong coordinates in both directions.
Closes #800.
2015-12-30 21:55:19 +01:00
Jürg Lehni
21f4141e4f Fix werid mouse event issue on Chrome / Windows.
Closes #800
2015-12-30 21:55:19 +01:00
Jürg Lehni
32cf1ba69e Partly revert "Treat overlaps as crossings as well."
This partly reverts commit deafacdad0 and closes #868
2015-12-30 21:55:19 +01:00
Jürg Lehni
a7a07fb6d5 Update JSDoc and do some documentation spring-cleaning.
- Convert from {@code ...} to shorter `...`
- Reformat some documentation comment blocks
- Update copyright notices
2015-12-30 21:55:19 +01:00
Jürg Lehni
7d25096de6 Fix new failing #isCrossing() test-case. 2015-12-30 21:55:19 +01:00
Jürg Lehni
12dbd3eb26 Add unit tests for isCrossing() and define a new, currently failing test. 2015-12-30 21:55:19 +01:00
Jürg Lehni
a20b0469d6 Correctly keep track of all straight curves that need their handles cleared at the end.
Closes #838
2015-12-30 21:55:19 +01:00
Jürg Lehni
b724a59901 Handle non-reversible matrix in Item#hitTest()
Closes #617
2015-12-30 21:55:18 +01:00
Jürg Lehni
f2f34c3b75 Some minor fixes in new #getItems() code. 2015-12-30 21:55:18 +01:00
Jürg Lehni
f2a44a5832 Remove Base#class again as it's causing issues in lookup tables. 2015-12-30 21:55:18 +01:00
Jürg Lehni
de532aac2f Implement control over recursive iteration in #getItems()
Closes #853.
2015-12-30 21:55:18 +01:00
Jürg Lehni
f95d6ab310 Fix bug in Item#getItems(function() {})
Closes #751
2015-12-30 21:55:18 +01:00
Jürg Lehni
08d75a48ff Fix issue again with param.overlapping in #getItems()
This time, properly!
Closes #751
2015-12-30 21:55:18 +01:00
Jürg Lehni
93a5e2d18c Refine some code comments. 2015-12-30 21:55:18 +01:00
Jürg Lehni
aa316ffc8c Avoid applying item._matrix twice in Item#intersects()
As suggested by @sapics.
Closes #847
2015-12-30 21:55:18 +01:00
Jürg Lehni
7592895445 Big overhaul of CurveLocation#isCrossing()
Improved to better handle touching curves and edge cases involving straight curves.

Closes #865
2015-12-30 21:55:18 +01:00
Jürg Lehni
306d8bae86 Clean up the new Item#reduce() code a bit. 2015-12-30 21:55:18 +01:00
Jürg Lehni
fec67617e1 Merge pull request #846 from iconexperience/reduce-fix
Make sure reduced item has no parent if original item had no parent.
Fix for #835
2015-12-30 21:55:18 +01:00
Jürg Lehni
b987590c71 Define documentation for excludeMatrix parameter. 2015-12-30 21:55:18 +01:00
Jürg Lehni
83b53cb9e0 Fix a few edge cases in cloning and copying of attributes. 2015-12-30 21:55:17 +01:00
Jürg Lehni
2fea40f86f Introduce new Item#copyAttributes() & #copyContent(), and revamp #clone() handling. 2015-12-30 21:55:17 +01:00
Jürg Lehni
463f50a0c1 Adjust comment by @iconexperience.
As outlined here: https://github.com/paperjs/paper.js/issues/854#issuecomment-167334294
2015-12-30 21:55:17 +01:00
Jürg Lehni
386632b0be Implement new version of #reorient() and merge with #resolveCrossings()
As proposed by @iconexperience in #854
2015-12-30 21:55:17 +01:00
Jürg Lehni
48c0988546 Implement support for SVG fill-rule attribute.
Relates to #858
2015-12-30 21:55:17 +01:00
Jürg Lehni
a5f05c90f5 Rename #windingRule to #fillRule.
...keeping deprecated aliases on Style and Item around for now.

Closes #858
2015-12-30 21:55:17 +01:00
Jürg Lehni
1d80c13b73 Clean up path intersection tests. 2015-12-30 21:55:17 +01:00
Jürg Lehni
086485dc95 Minor code clean-up. 2015-12-30 21:55:17 +01:00
Jürg Lehni
401877c6dc Fix the correct bubbling of doubleclick events.
Fixes #834.
2015-12-30 21:55:17 +01:00
Jürg Lehni
e3a27da7b2 Fix alt key combos on Chrome.
Relates to #860
2015-12-30 21:55:17 +01:00
Jürg Lehni
0badb3b3f4 A bunch of code clean-ups. 2015-12-30 21:55:16 +01:00
Jürg Lehni
248364aebc Fix @param description. 2015-12-30 21:55:16 +01:00
Jürg Lehni
99a29cf9f9 Update JSDoc. 2015-12-30 21:55:16 +01:00
Jürg Lehni
16d6edb724 Remove editor settings from project files since that's now handled by .editorconfig files. 2015-12-30 21:55:16 +01:00