Jürg Lehni
|
c63f9516b3
|
Remove Project#options.
The deprecated getter now redirects to PaperScope#settings.
|
2014-03-13 01:23:55 +01:00 |
|
Jürg Lehni
|
d622d648c1
|
Merge branch 'refs/heads/master' into apply-matrix
|
2014-03-13 01:19:52 +01:00 |
|
Jürg Lehni
|
4e20a5594e
|
Fix failing test.
|
2014-03-13 01:15:36 +01:00 |
|
Jürg Lehni
|
d58f24157e
|
Merge branch 'refs/heads/master' into apply-matrix
|
2014-03-13 01:05:09 +01:00 |
|
Jürg Lehni
|
10c28a301e
|
Fix compare statements.
|
2014-03-13 01:04:31 +01:00 |
|
Jürg Lehni
|
0bca1656ac
|
Avoid CompoundPath#reduce() in SVG path import by improving regular expression that identifies the need for CompoundPath.
|
2014-03-13 01:01:26 +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
|
e80991658b
|
Fix issue with relative commands after Z.
Closes #413.
|
2014-03-13 00:52:24 +01:00 |
|
Jürg Lehni
|
afcabea1a7
|
Fix issue with Z in the middle of SVG path data, not followed by a M command.
Closes #413.
|
2014-03-12 23:24:09 +01:00 |
|
Jürg Lehni
|
86c5894822
|
No need to use parseFloat() in color parsing, a + does enough.
|
2014-03-12 23:06:13 +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
|
7ace275da8
|
Implement Segment#transform()
|
2014-03-12 22:58:12 +01:00 |
|
Jürg Lehni
|
847060e146
|
Improve handling of _changed() events in Segment.
|
2014-03-12 22:58:00 +01:00 |
|
Jürg Lehni
|
dc76ef144e
|
Remove accidentally committed console.log()
|
2014-03-12 21:34:52 +01:00 |
|
Jürg Lehni
|
6a58679593
|
Stick to 80 char line length.
|
2014-03-12 15:40:22 +01:00 |
|
Jürg Lehni
|
0ea5416a54
|
Deactivate dragstart events on view too.
|
2014-03-12 15:39:08 +01:00 |
|
hkrish
|
066d47dbf7
|
Avoid dividing with zero while splitting curves
|
2014-03-12 13:34:43 +01:00 |
|
Jürg Lehni
|
9c552b1739
|
Implement propper support for pointer events and MSPointer events.
Closes #406 and #336.
|
2014-03-12 13:22:41 +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
|
73ef269f0f
|
Bake in matrix changes if owner has #applyMatrix set.
|
2014-03-04 09:36:00 +01:00 |
|
Jürg Lehni
|
d594b4264d
|
Define settings.applyMatrix and inherit at Item creation time.
|
2014-03-04 09:30:04 +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
|
dad17ba28e
|
Minor clean-up in the way Base.exports are handled.
|
2014-03-03 22:53:00 +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
|
2f5a9bb70d
|
Fix SVG issues with reflected control points in the commands 'SsTt'
Relates to issue #413
|
2014-03-03 08:57:33 +01:00 |
|
Jürg Lehni
|
7911d8b42a
|
Change code sequence in tracePaths() to only calculate tangents and winding values if they are required.
|
2014-03-02 21:39:54 +01:00 |
|
Jürg Lehni
|
21bd4628f2
|
Merge branch 'refs/heads/bool-cleanup'
|
2014-03-02 21:19:47 +01:00 |
|
Jürg Lehni
|
d7be443119
|
Simplify path filtering code in tracePaths() a bit, and improve documentation.
|
2014-03-02 21:19:31 +01:00 |
|
Jürg Lehni
|
36e3cbddf2
|
Remove inheritance of Item#applyMatrix setting again.
Implementation cannot be solved well, since hierarchy is not known at creation time of item.
|
2014-03-02 21:00:08 +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
|
fb1420eee0
|
Internalize Item#applyMatrix() code in #transform() and add short-cut method to it in Matrix#apply()
|
2014-03-02 15:50:45 +01:00 |
|
Jürg Lehni
|
6fdb9f60bd
|
Merge branch 'refs/heads/master' into apply-matrix
|
2014-03-02 01:27:50 +01:00 |
|
Jürg Lehni
|
2f61d11a3b
|
Prevent accidental transformation of selection bounds in TextItem.
Closes #386.
|
2014-03-02 01:07:36 +01:00 |
|
Jürg Lehni
|
7bf9cc88e4
|
Merge pull request #387 from mgrabovsky/master
Fix typo in comment
|
2014-03-02 01:05:21 +01:00 |
|
Jürg Lehni
|
ac2161c6d9
|
Fix importPoly() on Node.js
Closes #390
|
2014-03-02 01:02:33 +01:00 |
|
Jürg Lehni
|
0ba58431e5
|
Merge branch 'refs/heads/master' into apply-matrix
|
2014-03-01 23:41:24 +01:00 |
|
Jürg Lehni
|
7dd3bfa2ec
|
Fix issue in recent Path.Line constructor optimization.
Line paths should not be closed.
|
2014-03-01 23:40:38 +01:00 |
|
Jürg Lehni
|
4ba17127aa
|
Make sure that #transformContent can only be set to true on items that actually support it.
|
2014-03-01 23:24:33 +01:00 |
|
Jürg Lehni
|
1a836a168f
|
Merge branch 'refs/heads/master' into apply-matrix
Conflicts:
src/item/Item.js
|
2014-03-01 22:55:54 +01:00 |
|
Jürg Lehni
|
a8578326ea
|
Inherit #transformContent setting from parent, if not explicitely defined.
|
2014-03-01 22:52:00 +01:00 |
|
Jürg Lehni
|
dad7821ee9
|
Include Item#transformContent in serialization and cloning.
|
2014-03-01 22:51:01 +01:00 |
|
Jürg Lehni
|
7cf4591a1e
|
Define Item#style before calling #addChild() in #initialize(), to avoid issues with layers.
|
2014-03-01 22:49:46 +01:00 |
|
Jürg Lehni
|
a3114e5c28
|
Do not preserve matrix transformations in empty groups when applied to inexisting content.
|
2014-03-01 22:48:44 +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
|
fe146c5ec0
|
Fix issues in Point#isOrthogonal() and Point#isColinear()
|
2014-02-28 17:57:09 +01:00 |
|
hkrish
|
cb810c73bd
|
Fix self-intersection resolution on a single bezier curve
|
2014-02-28 16:51:28 +01:00 |
|
Jürg Lehni
|
c1ccdf6cb7
|
Take into account the view's resolution in Item#rasterize()
|
2014-02-26 16:20:19 +01:00 |
|
Jürg Lehni
|
ec0877962b
|
Expose the view's pixel-ratio and resolution through View#pixelRatio and View#resolution
|
2014-02-26 16:19:48 +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
|
737466d15c
|
Fix all faulty {@true} doc statements.
|
2014-02-26 15:39:00 +01:00 |
|
Jürg Lehni
|
49801e4b8b
|
Improve performance of Path.Line() constructor.
Passing an array is much faster than using arguments directly.
|
2014-02-26 14:55:43 +01:00 |
|
Jürg Lehni
|
bf50bd649a
|
Fix issue in Item#rasterize() when resolution is not 72 DPI.
Closes #412.
|
2014-02-26 11:54:14 +01:00 |
|
Jürg Lehni
|
2c16bd9eb1
|
Convert to standard paper.js loop format.
|
2014-02-26 01:24:00 +01:00 |
|
patrickheeney
|
aa2102ecb9
|
Fix event handlers for paperjs/paper.js#409
|
2014-02-25 13:02:53 -07:00 |
|
Jürg Lehni
|
4c048dbc94
|
Rename fatline option to more explicit fatlineClipping.
|
2014-02-24 21:54:47 +01:00 |
|
Jürg Lehni
|
2fb1522c76
|
Minor code cleanup.
|
2014-02-24 21:33:35 +01:00 |
|
Jürg Lehni
|
f4baf690f8
|
Fix issue introduced in 0ce89fa47c
|
2014-02-24 21:30:12 +01:00 |
|
Jürg Lehni
|
3e49e3a5f1
|
Find better names for constants that represent almost 0 and almost 1.
|
2014-02-24 20:30:20 +01:00 |
|
Jürg Lehni
|
14df7b5d5a
|
Shorten new edge case code in getWinding() a bit.
|
2014-02-24 20:29:44 +01:00 |
|
hkrish
|
cac86627be
|
Correct winding number calculation when horizontal curves are involved.
|
2014-02-24 19:11:32 +01:00 |
|
hkrish
|
9e799d09eb
|
Self-Intersections: Restore the logic issues while cleaning up
|
2014-02-23 16:44:07 +01:00 |
|
hkrish
|
49ddfafe4d
|
Handle stationary points in #getWinding method.
|
2014-02-22 18:56:19 +01:00 |
|
hkrish
|
b4d8315484
|
Reject monotone curves which doesn't contribute to the winding, early.
|
2014-02-22 18:54:26 +01:00 |
|
Jürg Lehni
|
cf4d72f141
|
Improve data-structure for monotonic curves.
|
2014-02-21 10:07:27 +01:00 |
|
Jürg Lehni
|
4973ea9845
|
Minor clean up in getWinding() code.
|
2014-02-21 00:40:24 +01:00 |
|
Jürg Lehni
|
b4bc16330a
|
Remove redundant comment.
|
2014-02-20 20:59:54 +01:00 |
|
Jürg Lehni
|
daa4c12b46
|
Revert bdcfb60a9a
Since it broke the last example of BooleanOperations.html
|
2014-02-20 20:58:39 +01:00 |
|
Jürg Lehni
|
5dd26f5b9f
|
Explain about self-intersection handling in getIntersections()
|
2014-02-20 20:49:36 +01:00 |
|
Jürg Lehni
|
84e1f208fb
|
Revert change in d730b75073
As highlighted by @hari in the comments.
|
2014-02-20 20:44:15 +01:00 |
|
Jürg Lehni
|
31498fa6b7
|
Capitalized all localized constants.
|
2014-02-20 20:43:25 +01:00 |
|
Jürg Lehni
|
c88dc8e2aa
|
Minor changes.
|
2014-02-20 20:26:40 +01:00 |
|
Jürg Lehni
|
5a3ca88224
|
Restructure boolean code to use one big private scope again.
|
2014-02-20 20:24:16 +01:00 |
|
Jürg Lehni
|
3d2b53789c
|
Move _getMonoCurves() definitions to PathItem.Boolean.js
|
2014-02-20 20:00:46 +01:00 |
|
Jürg Lehni
|
9c09be90f3
|
Fix white-space mix-up.
|
2014-02-20 19:52:09 +01:00 |
|
Jürg Lehni
|
64fa328f65
|
Move all winding related code to PathItem.Boolean and introduce __options.booleanOperations switch.
Fall back to __options.nativeContains if __options.booleanOperations is not included.
|
2014-02-20 19:50:37 +01:00 |
|
Jürg Lehni
|
81b3b756c9
|
Remove need for private scope in boolean operations code.
|
2014-02-20 19:35:11 +01:00 |
|
Jürg Lehni
|
2a4696b865
|
More clean-up in computeBoolean() code.
|
2014-02-20 19:10:46 +01:00 |
|
Jürg Lehni
|
ec621eef81
|
Cleanup computeBoolean() code.
|
2014-02-20 18:44:38 +01:00 |
|
Jürg Lehni
|
c6329e89bb
|
Implement Curve#isHorizontal()
|
2014-02-20 18:44:23 +01:00 |
|
Jürg Lehni
|
b48321e78d
|
Some more code and comments clean-up.
|
2014-02-20 18:00:56 +01:00 |
|
Jürg Lehni
|
bdcfb60a9a
|
Improve handling of tMin and tMax in self-intersection code in PathItem#getIntersections()
|
2014-02-20 17:55:39 +01:00 |
|
Jürg Lehni
|
f782abd0d7
|
Some more clean-up in PathItem#getIntersections()
|
2014-02-20 17:49:19 +01:00 |
|
Jürg Lehni
|
5d2ff7e9ff
|
Merge PathItem#getIntersections() and PathItem. _filterIntersections()
|
2014-02-20 17:03:18 +01:00 |
|
Jürg Lehni
|
0ce89fa47c
|
Simplify self-intersecting code in PathItem#getIntersections() by passing on tMin, tMax, uMin & uMax to Curve#getIntersections().
|
2014-02-20 17:02:32 +01:00 |
|
Jürg Lehni
|
4ec3daf4d1
|
Merge PathItem#getIntersections() and #getSelfIntersections()
|
2014-02-20 16:26:47 +01:00 |
|
Jürg Lehni
|
e11b6138bd
|
Rename PathItem. _conditionIntersections() to _filterIntersections() and clean up code.
|
2014-02-20 15:38:31 +01:00 |
|
Jürg Lehni
|
f1765d1cbf
|
Implement CurveLocation#equals()
|
2014-02-20 15:37:49 +01:00 |
|
Jürg Lehni
|
d9efb888bc
|
Clean up Point#equals() code.
|
2014-02-20 15:37:38 +01:00 |
|
Jürg Lehni
|
5e7b15c64e
|
Remove need for sorted list of intersection curves, use variables instead.
|
2014-02-20 15:17:39 +01:00 |
|
Jürg Lehni
|
b960cbc07b
|
Further simplifications in PathItem._tracePaths()
|
2014-02-20 15:17:08 +01:00 |
|
Jürg Lehni
|
abb2b0dec9
|
Simplify and merge conditions for path removal in _tracePaths()
|
2014-02-20 14:16:04 +01:00 |
|
Jürg Lehni
|
50433400f0
|
More clean-up and some variable renaming.
|
2014-02-20 14:13:43 +01:00 |
|
Jürg Lehni
|
de6650a6ca
|
More simplifications in PathItem._getWinding()
|
2014-02-20 13:46:10 +01:00 |
|
Jürg Lehni
|
a2941472b5
|
More PathItem._tracePaths() streamlining.
Work in progress.
|
2014-02-20 10:16:00 +01:00 |
|
Jürg Lehni
|
2a58828e81
|
Fix issue with curve tangents in rare edge-cases.
We should fix Curve.evaluate() for these instead.
|
2014-02-20 03:22:38 +01:00 |
|
Jürg Lehni
|
b89fc84789
|
Start simplifying PathItem#_tracePaths() code by using improved Curve#evaluate() and relying on Path#reduce().
|
2014-02-20 02:52:20 +01:00 |
|
Jürg Lehni
|
f790ede7a8
|
Use Path#reduce() to make sure there are no curves with zero length in boolean code.
|
2014-02-20 02:51:35 +01:00 |
|
Jürg Lehni
|
e54691214a
|
Only preserve angle in Point#normalize() if direction doesn't change.
|
2014-02-20 02:51:02 +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
|
4453f68cfa
|
Revert handling of linear segment reseting, as it broke some rare boolean tests.
|
2014-02-20 02:13:55 +01:00 |
|
Jürg Lehni
|
d730b75073
|
Simplify and clean-up PathItem._splitPath() code.
|
2014-02-20 01:56:49 +01:00 |
|
Jürg Lehni
|
4e5644f264
|
Simplify intersection sort function.
|
2014-02-20 00:32:15 +01:00 |
|
Jürg Lehni
|
56bf87ce84
|
Rename _getMonotoneCurves() to _getMonoCurves()
Shorter is better...
|
2014-02-20 00:24:09 +01:00 |
|
Jürg Lehni
|
36394c4c56
|
Simplify and clean-up PathItem._getWinding() code.
|
2014-02-20 00:19:44 +01:00 |
|
Jürg Lehni
|
6af639946b
|
Simplify and streamline Path._getMonotoneCurves() code.
|
2014-02-19 23:55:56 +01:00 |
|
Jürg Lehni
|
e6b7e9b2eb
|
Remove unused Curve#_getWinding() and commented out CompoundPath#_getWinding() code.
|
2014-02-19 23:51:21 +01:00 |
|
Jürg Lehni
|
cc0f088a11
|
Improve evaluation of tangents and normals at t == 0 and 1.
|
2014-02-19 23:49:34 +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
|
8726a3f082
|
Reformat documentation comments and change wording to follow existing documentation convention.
|
2014-02-19 23:17:59 +01:00 |
|
Jürg Lehni
|
19d84a8a8d
|
Rename Path._getWindingNumber to _getWinding (to reflect the naming of the existing Path#_getWinding).
|
2014-02-19 22:18:51 +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
|
9de4189233
|
Minor simplification.
|
2014-02-19 14:28:35 +01:00 |
|
Jürg Lehni
|
74a153dd88
|
Some code clean-up.
More to come.
|
2014-02-17 20:59:38 +01:00 |
|
Jürg Lehni
|
73627346c0
|
Remove unnecessary paper namespace prefixes inside the library.
|
2014-02-17 20:36:41 +01:00 |
|
hkrish
|
92c13ae48b
|
Resolve selfIntersections if both operands to a boolean op is the same path
|
2014-02-16 19:02:07 +01:00 |
|
hkrish
|
e88ae54a22
|
_tracePaths: support self-intersections
|
2014-02-16 18:47:11 +01:00 |
|
hkrish
|
a62a54d7c1
|
Simplify the horizontal curve case in _getWinding method
|
2014-02-16 18:46:31 +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
|
16ecbbafad
|
Remove debug notes and helpers
|
2014-02-15 23:19:27 +01:00 |
|
hkrish
|
83eaf70ee4
|
Fix regression: getLength has been split to getLength and getPartLength in master branch
|
2014-02-15 00:04:05 +01:00 |
|
hkrish
|
87ded4dcff
|
Merge master
|
2014-02-15 00:02:02 +01:00 |
|
hkrish
|
a798b553a2
|
Remove old tracePaths method
|
2014-02-14 22:52:32 +01:00 |
|
hkrish
|
cc2e1921f9
|
Remove checks from boolean path operations
|
2014-02-14 22:51:34 +01:00 |
|
hkrish
|
ea29e65e6b
|
_tracePaths: Switch contours only if necessary
|
2014-02-14 22:50:55 +01:00 |
|
Jürg Lehni
|
2010fefcbe
|
Include importSVG() fix for Opera browser.
|
2014-02-12 09:47:43 +01:00 |
|
Jürg Lehni
|
568bb06853
|
Add comments about missing #importSVG() documentation.
|
2014-02-12 09:39:34 +01:00 |
|
hkrish
|
26ef85930d
|
_tracePaths: Calculate correct entry&exit tangents.
|
2014-02-11 19:18:54 +01:00 |
|
hkrish
|
099f2d411e
|
_tracePaths: Optimize contour selection a bit.
|
2014-02-10 22:13:03 +01:00 |
|
hkrish
|
2121b564d0
|
_tracePaths: Avoid traversing to visited segments
|
2014-02-10 22:12:32 +01:00 |
|
hkrish
|
dfd1c97a4f
|
Bug fixes in the tracePath method to work with self-Intersection resolution
|
2014-02-10 22:12:13 +01:00 |
|
hkrish
|
f8f31349d9
|
Modified tracePath method for supporting self-intersection resolution and offset curves
|
2014-02-10 22:11:43 +01:00 |
|
hkrish
|
ccb9f518b8
|
Fix monotoneCurve calculation for open paths
|
2014-02-10 22:11:29 +01:00 |
|
hkrish
|
de0cfb7e3d
|
Refactor code common to getIntersections and getSelfIntersections.
Conflicts:
src/path/PathItem.js
|
2014-02-10 22:10:55 +01:00 |
|
hkrish
|
74c4df9b8c
|
Fix winding contribution case for horizontal curves
|
2014-01-28 18:04:09 +01:00 |
|
hkrish
|
acaf637f26
|
Keep exclude as a compound boolean operator for now.
|
2014-01-27 21:32:25 +01:00 |
|
hkrish
|
85736d4e84
|
Remove debug helpers
|
2014-01-26 05:44:55 +01:00 |
|
hkrish
|
aea9a5cd6c
|
Minor Fixes
|
2014-01-26 05:39:51 +01:00 |
|
hkrish
|
758cf67f6e
|
Move sorting and expansion of intersections to the getIntersections method
|
2014-01-26 05:39:00 +01:00 |
|
hkrish
|
c5ddbf19da
|
Remove duplicate intersections in #getIntersections
|
2014-01-26 05:38:09 +01:00 |
|
hkrish
|
cf9aec9233
|
Remove addLocation helper. We have to remove duplicates once we have all the intersections.
|
2014-01-25 23:50:29 +01:00 |
|
hkrish
|
24cbf3b079
|
Correct winding contribution calculation for horizontal curves
|
2014-01-16 20:02:26 +01:00 |
|
Matěj Grabovský
|
890eda9197
|
Fix typo in comment
|
2014-01-15 18:04:51 +01:00 |
|
Jürg Lehni
|
5a131930fb
|
Add _dontNotify parameter to Matrix#reset() and use it in Item#applyMatrix()
|
2014-01-06 00:18:40 +01:00 |
|
Jürg Lehni
|
4a95f6e4a6
|
Some more optimizations for JS minifier and V8.
|
2014-01-05 21:07:11 +01:00 |
|