Jürg Lehni
438de7013a
Correctly handle groups as clipping masks.
...
Closes #370 .
2014-03-17 14:51:47 +01:00
Jürg Lehni
0fe52a7d39
Implement an optimization in _changed() notifications where not all curves need to updated if only segments change that already have told their curves about the change.
2014-03-17 14:35:33 +01:00
Jürg Lehni
c84c019990
Add TODO and DOC for new #arcTo(to, radius, rotation, clockwise, large)
2014-03-13 17:46:31 +01:00
Jürg Lehni
42558fa057
Changes to new #arcTo(): Rename sweep -> clockwise and change argument sequence, as clockwise is more often used than large.
2014-03-13 16:35:56 +01:00
Jürg Lehni
3c257dcae0
Merge branch 'refs/heads/master' into apply-matrix
2014-03-13 00:54:05 +01:00
Jürg Lehni
326ecfca0e
Rename angle parameter to rotation.
2014-03-12 23:05:54 +01:00
Jürg Lehni
56335ae5f5
Implement SVG-style #arcTo() version.
...
This should fix the arc related part of issue #413 .
2014-03-12 23:00:47 +01:00
Jürg Lehni
550044e476
Merge branch 'refs/heads/master' into apply-matrix
2014-03-04 09:55:20 +01:00
Jürg Lehni
b08cc68ffe
Fix newly introduced issue in CompoundPath#moveTo() / #lineTo()
2014-03-04 09:48:41 +01:00
Jürg Lehni
7dbf6ceaff
Move Project#options to PaperScope#settings and define reasonable defaults.
2014-03-04 09:29:28 +01:00
Jürg Lehni
5b49fdf3ff
Merge branch 'refs/heads/master' into apply-matrix
2014-03-04 09:27:55 +01:00
Jürg Lehni
763fd5b6a3
Optimize and fix code that draws selections and handles.
2014-03-04 09:26:55 +01:00
Jürg Lehni
30b11e5968
Better handle Path#moveTo() / #closePath() edge cases in SVG data.
...
Relates to issue #413
2014-03-03 17:27:47 +01:00
Jürg Lehni
80a725d08a
Rename Item#transformContent to the more correct Item#applyMatrix
2014-03-02 16:04:17 +01:00
Jürg Lehni
4129231504
Rename Path. _addSquareJoin() to more suitable _addBevelJoin()
2014-02-28 18:10:58 +01:00
Jürg Lehni
bd59be8629
Fix issue with strokeBounds affecting corners with miter limit and both handles set.
2014-02-28 18:01:50 +01:00
Jürg Lehni
ccfd51a65a
Improve performance of Path constructors and handling of { insert: false } Item creation.
2014-02-26 16:15:51 +01:00
Jürg Lehni
3d2b53789c
Move _getMonoCurves() definitions to PathItem.Boolean.js
2014-02-20 20:00:46 +01:00
Jürg Lehni
86e4d2a6b9
Implement Curve#remove() and Path#reduce().
...
Also have Item#reduce() recursively call #reduce() on reduced children.
2014-02-20 02:50:39 +01:00
Jürg Lehni
56bf87ce84
Rename _getMonotoneCurves() to _getMonoCurves()
...
Shorter is better...
2014-02-20 00:24:09 +01:00
Jürg Lehni
6af639946b
Simplify and streamline Path._getMonotoneCurves() code.
2014-02-19 23:55:56 +01:00
Jürg Lehni
1a0eead28c
Various code and comment clean-ups in new bool-op code.
2014-02-19 23:18:14 +01:00
Jürg Lehni
093aae0836
Merge remote-tracking branch 'origin/master' into bool-new-2
2014-02-19 14:35:52 +01:00
Jürg Lehni
ea89498e48
Remove debug logging.
2014-02-19 14:31:32 +01:00
Jürg Lehni
ad801fa786
Use parameter tolerances in Path#slipt()
...
Required because CurveLocation objects as returned by Path#getLocationAt() have some imprecision in their #parameter values. Fixes #401 .
2014-02-15 23:37:41 +01:00
hkrish
87ded4dcff
Merge master
2014-02-15 00:02:02 +01:00
hkrish
ccb9f518b8
Fix monotoneCurve calculation for open paths
2014-02-10 22:11:29 +01:00
hkrish
24cbf3b079
Correct winding contribution calculation for horizontal curves
2014-01-16 20:02:26 +01:00
Jürg Lehni
6cb25fafe3
Use changes in latest Straps.js to remove as many hidden parameters as possible.
...
Hidden parameters through arguments[] are bad news for JS optimizer engines.
2014-01-05 17:40:54 +01:00
Jürg Lehni
ea63d4c288
Merge branch 'refs/heads/master' into v8-optimizations
...
Conflicts:
src/core/Base.js
src/style/Color.js
2014-01-05 05:01:13 +01:00
Jürg Lehni
e22fa3a664
Update copyright notice.
2014-01-04 01:47:16 +01:00
Jürg Lehni
35890383d8
Merge branch 'refs/heads/paperscript-refactoring' into v8-optimizations
2013-12-29 15:54:54 +01:00
hkrish
1bacbc32e9
Link previous & next curves while returning monotone curves
2013-12-29 13:03:39 +01:00
Jürg Lehni
38d67d843d
Move Path#getStyle() to better location and simplify code.
2013-12-28 20:56:44 +01:00
hkrish
a8a4a6fd03
Return horizontal curves as well, with monotonic curves
2013-12-26 18:03:23 +01:00
hkrish
0134596f66
_getMonotoneCurves method which returns and caches curves that are monotonic in Y direction
2013-12-25 20:38:48 +01:00
Jürg Lehni
81651a7379
Prevent V8 "assignment to parameter in arguments object" deoptimizations.
...
Some getter-like functions still need fixing, but this might require a fix in Straps.js first.
2013-12-17 23:28:55 +01:00
Jürg Lehni
3dbad9c477
Replace delete in favor of setting to undefined to prevent V8 deoptimization.
2013-12-17 23:27:48 +01:00
Jürg Lehni
d176acfc53
Include point property in stroke hit-results.
2013-12-11 17:10:32 +01:00
Jürg Lehni
68bce5b062
Implement options.selected for hit-testing segments and handles.
2013-12-10 19:34:25 +01:00
Jürg Lehni
52891830e4
Fix typo in new segment / handle hit-testing code.
2013-12-10 18:59:04 +01:00
Jürg Lehni
9177bac125
Use same stroke tolerance approach for hit-testing joins and caps as well.
2013-12-10 14:23:05 +01:00
Jürg Lehni
48c8946f9e
Implement correct hit-testing tolerance using transformed 2D stroke padding rather than unscaled numerical tolerance.
...
But we still need to factor in the View zoom as well...
2013-12-10 12:52:42 +01:00
Jürg Lehni
d65ede7df8
Correctly take strokePadding and transformation matrices into account in roughBounds, through new Path._getPenPadding()
2013-12-10 11:43:05 +01:00
Jürg Lehni
b7943239eb
Implement cached getInternalRoughBounds as well.
2013-12-09 19:33:34 +01:00
Jürg Lehni
44e913201d
Switch back to instanceof checks.
...
As people are started to subclass Paper.js classes...
2013-12-09 15:04:44 +01:00
Jürg Lehni
e238d23194
Implement caching of internal, untransformed bounds.
2013-12-09 10:53:19 +01:00
Jürg Lehni
17e4078e3b
Fix a newly introduced bug in drawSegments()
2013-12-08 22:16:27 +01:00
Jürg Lehni
fc4e88c039
Change the way segments, points and handles are selected and deselected.
...
There is no interdependency anymore, except for selecting a segment selects the point and both handles, and selecting a curve selects both points and handles.
Closes #355
2013-12-08 18:06:31 +01:00
Jürg Lehni
2884894d0f
Implement hit-testing tolerance for fill tests.
...
Closes #278 .
2013-12-08 12:15:10 +01:00