Jürg Lehni
3c9d2eea1d
Boolean: Implement options.trace, and add unit tests for options.trace = false
...
Relates to #1221
2017-03-22 15:03:11 +01:00
Jürg Lehni
ffa7e16f48
Use == false
instead of === false
for all options that default to true.
...
These expression are true:
- false == false
- false == 0
While these are false:
- false == null
- false == undefined
2017-03-22 14:42:11 +01:00
Jürg Lehni
dd56f86679
Boolean: Pass on options in PathItem#subtract(path, options)
...
Relates to #1221
2017-03-22 14:24:40 +01:00
Jürg Lehni
7e8e04351f
Boolean: small optimization in computeStrokeBoolean()
2017-03-22 14:24:11 +01:00
Jürg Lehni
89d0536783
Scene Graphs: Do not allow inserting same item as child multiple times.
2017-03-21 11:55:42 +01:00
Jürg Lehni
29de03dc30
Node.js: Add code to handle separate shim modules.
...
Planend are the modules paper-jsdom and paper-jsdom-canvas, as shim modules that require and handle the dependencies as peer dependencies.
Relates to #1252
2017-03-20 12:38:52 +01:00
Jürg Lehni
48e9ef62a6
Boolean: Bring back on-path winding handling.
...
Relates to #1281
2017-03-20 01:02:12 +01:00
Jürg Lehni
49fca5510e
Improve handling of Rectangle dimension properties.
...
Better deal with left / top / right / bottom / center values, and implement more unit tests for their behavior.
Closes #1147
2017-03-19 22:51:34 +01:00
Jürg Lehni
5c3e3ec34c
Mouse Events: Improve mousedrag handling.
...
Relates to #1247 , closes #1286
2017-03-19 16:15:34 +01:00
Jürg Lehni
7a2ccc6d44
More work on supporting hybrid contexts.
...
Relates to #1252
2017-03-19 16:03:29 +01:00
Jürg Lehni
89a953dde0
Docs: Add documentation for options.bound and options.matrix in #exportSVG()
...
Closes #1254
2017-03-19 14:50:59 +01:00
Jürg Lehni
e354bccf69
Include note about compiling for Electron.
...
And some smaller forgotten changes.
Closes #1276
2017-03-19 14:38:24 +01:00
Jürg Lehni
26993b2c36
Various minor improvements to getWinding()
2017-03-19 14:18:55 +01:00
Jürg Lehni
374107c439
Minor cleanup for previous commit.
2017-03-18 16:46:55 +01:00
Jürg Lehni
fdd42076f9
Intersections: Bring back special handling of curve end-points.
...
Revert commit 89e31dd393
, and add further improvements:
- Implement unit tests for #1284
- Remove Rectangle#touches(rect) in favor of #intersects(rect, epsilon)
Closes #1284
2017-03-18 16:42:55 +01:00
Jürg Lehni
0ec06e7353
PaperScript: Give global.acorn the preference over the bundled one.
...
So people can load their own preferred version in sketch.paperjs.org
Relates to #1183
2017-03-11 20:53:35 +01:00
Jürg Lehni
29e7aba587
Prevent cleaning pre-existing styles when setting item.style to an object.
...
Until v0.10.2, doing so would merge in the new styles. We should keep this behavior for reasons of compatibility.
Closes #1277
2017-03-11 16:26:18 +01:00
Jürg Lehni
9a2f138f1d
PaperScript: Fix positive unary operator.
2017-03-11 00:27:03 +01:00
Jürg Lehni
6ee59cd46e
Prevent leakage of bundled Acorn into window.acorn
...
And fix Acorn loading under load.js
2017-03-10 23:56:06 +01:00
Jürg Lehni
62a0c9c36b
Revert accidental condition sequence change.
...
`typeof module` needs to come before 2nd condition.
2017-03-10 23:21:21 +01:00
Jürg Lehni
69fb23d2ed
Docs: Fix parameter sequence in Matrix constructor.
...
Closes #1273
2017-03-10 15:52:19 +01:00
Jürg Lehni
5dafc67278
Support newer, external versions of Acorn.js for PaperScript parsing, opening the doors to ES 2015.
...
Closes #1183 , closes #1275
2017-03-10 15:41:35 +01:00
Jürg Lehni
f2e9fab264
Split Item#copyTo() into #addTo() and #copyTo()
2017-03-10 11:43:55 +01:00
Jürg Lehni
5291043a5f
Fix how gradient matrices are handled when Item#applyMatrix = false
...
Closes #1238
2017-03-09 14:31:41 +01:00
Jürg Lehni
920cbaca99
Remove unused palettes array.
2017-03-09 12:50:43 +01:00
Jürg Lehni
083a09604d
Hit-Tests: Fix issue with non-invertible matrices.
...
Closes #1271
2017-03-09 12:42:11 +01:00
Jürg Lehni
e145b1d4c2
Mouse Events: Only handle dragItem if the hitItem responds to mousedrag events.
...
Closes #1247
2017-03-08 23:42:03 +01:00
Jürg Lehni
f9d06d8ae4
Hit Tests: Implement options.position.
...
Closes #1249
2017-03-08 23:01:12 +01:00
Jürg Lehni
db4deb244f
Fix calculation of internal bounds with children and applyMatrix = false
...
Closes #1250
2017-03-08 17:14:42 +01:00
Jürg Lehni
65da4fe3ed
Clear parent's bounds cache when item's visibility changes.
...
Closes #1248
2017-03-08 16:21:34 +01:00
Jürg Lehni
26bf4f4749
Change getWinding() to include recommendation by @iconexperience
...
See https://github.com/paperjs/paper.js/issues/1261#issuecomment-283325168
Closes #1261
2017-03-08 15:55:51 +01:00
Jürg Lehni
677c073c84
Use GEOMETRIC_EPSILON instead of EPSILON in Path#arcTo()
2017-03-08 14:13:19 +01:00
Jürg Lehni
7a3e903b4d
Add Line#getSignedDistance()
2017-03-08 14:12:49 +01:00
Jürg Lehni
155d5b879c
Improve Path._addSquareCap() for use in path offsetting code.
2017-03-08 13:41:23 +01:00
Jürg Lehni
b587e0b5b8
Release version 0.10.3
2017-03-08 10:44:43 +01:00
Jürg Lehni
22bda0972d
Intersections: Remove now unnecessary code.
...
Thanks to Curve#classify(), self-intersections are always in sequence.
2017-03-07 20:13:32 +01:00
Jürg Lehni
89e31dd393
Intersections: No more need for the special handling of curve end-points.
2017-03-07 20:11:04 +01:00
Jürg Lehni
ecc1edb6ea
Revert d204175d39
...
Revert fat-line clipping optimization that checked for straight curves, as unfortunately it wasn't reliable in many edge cases.
Relates to #1263
2017-03-07 20:01:05 +01:00
Jürg Lehni
8461d8d9f4
Curve Intersection: Improve algorithm to work with correct version of isStraight()
...
Relates to #1269
2017-03-07 17:41:16 +01:00
Jürg Lehni
bad4d02766
Fix Curve#isStraight() to correctly consider handles.
...
Also include code that prevents Curve.getIntersections() from failing now. Work in progress. Relates to #1269
2017-03-07 14:13:39 +01:00
Jürg Lehni
1fad295600
Facilitate minification.
2017-03-07 12:34:59 +01:00
Jürg Lehni
d6c1ce2458
Make sure calls are always counted in addCurveIntersections()
...
recursions only need to be increased if we're not aborting.
See https://github.com/paperjs/paper.js/issues/1239#issuecomment-284265520
2017-03-06 11:32:18 +01:00
Jürg Lehni
b680ec05b9
Fix calls counting in addCurveIntersections() when dealing with straight curves.
...
See https://github.com/paperjs/paper.js/issues/1239#issuecomment-284340550
2017-03-06 10:13:14 +01:00
Jürg Lehni
b85fc988de
Minor comment cleanup.
2017-03-01 12:37:08 +01:00
iconexperience
9f5f3192b7
Set curve time to 1 for curves completely right or left of point for better performance. Note that we cannot set the time to 0, because this would invoke special handling for crossing at the curve's start point.
2017-03-01 09:39:44 +01:00
iconexperience
86d05624c0
Fix addWinding() for special cases
2017-03-01 09:04:46 +01:00
Jürg Lehni
32db1eb005
Boolean: Some code and comment cleanup.
2017-02-26 01:11:33 +01:00
Jürg Lehni
4d3ca746ab
Reduce windingEpsilon to 1e-9.
...
this address the issue outlined in https://github.com/paperjs/paper.js/issues/1261#issuecomment-282520748
2017-02-26 00:45:22 +01:00
Jürg Lehni
7b73ec238d
Remove onPath winding hack again.
...
See #1073
2017-02-26 00:22:49 +01:00
Jürg Lehni
86478b6873
Boolean: Improve handling of branching at crossings.
2017-02-25 18:55:11 +01:00