Jürg Lehni
98edddc5ac
Include _pivot in cloning.
...
Closes #747
2015-08-17 14:47:56 +02:00
Jürg Lehni
4ee68e5782
Various changes to #isCollinear(), #isOrthogonal(), #isArc()
...
- Rename #isArc() - > #isOrthogonalArc()
- Implement versions for Curve
- Write proper documentation
2015-08-17 14:33:48 +02:00
Jürg Lehni
f8314f927e
Various changes on #isLinear(), #hasHandles() & co
...
Relates to #652
- Implement #hasHandles() on Path, Segment and Curve
- Remove Path#isPolygon()
- Define #isLinear() consistently across Path, Segment and Curve.
- Introduce new Segment#isStraight()
2015-08-17 14:31:23 +02:00
Jürg Lehni
97ca1f6ff8
Fix negation in previous commit.
2015-08-17 14:19:31 +02:00
Jürg Lehni
65f085cc98
Have option.matchShapes control conversion to SVG polygon elements as well.
...
Closes #753
2015-08-17 14:18:22 +02:00
Oleg Elifantiev
70766c47d5
Fixed typo in word 'async'
2015-08-05 11:46:54 +03:00
Jürg Lehni
10fb616665
Fixed leaked globals.
...
Detected using QUnit's "Check for Globals" feature!
2015-07-27 12:36:45 +02:00
Jürg Lehni
ffb3ea8d15
Fix wrong URL in documentation.
2015-07-27 12:15:01 +02:00
Jürg Lehni
59b7da0ed5
Fall back to pixelRatio 1 when none is defined.
...
Required in Item#rasterize() for non-native blend modes. This broke phantomjs tests.
2015-07-27 09:56:37 +02:00
Jürg Lehni
cce42bc6f2
Filter out project
key in object literal constructor.
...
It was causing issues when running test suites in phantomjs.
2015-07-26 14:01:00 +02:00
sapics
d99b2be49a
add param to raster.todataurl
2015-07-14 10:17:20 +09:00
sapics
da2caa999e
item.setMatrix useful
2015-07-11 18:31:03 +09:00
sapics
d7a4dd2780
rect -> rectangle
2015-07-03 10:00:57 +09:00
Jürg Lehni
b0255d9fc2
Bump version to v0.9.23
2015-06-23 17:03:39 +02:00
Jürg Lehni
4e2fba660d
Merge pull request #717 from sapics/code-minifier
...
code minifier
2015-06-23 11:54:36 +02:00
Jürg Lehni
708e8d7834
Include documentation about importSVG() onLoad callbacks.
...
See #715 .
2015-06-23 09:40:11 +02:00
sapics
e15b23f8af
code minifier
2015-06-23 13:09:48 +09:00
Jürg Lehni
19bcd19b49
Implement path versioning for segment changes.
...
And use it to keep CurveLocation objects up to date. Closes #682
2015-06-16 19:36:22 +02:00
Jürg Lehni
c1485e7068
Use < instead of <= when comparing against TOLERANCE
2015-06-16 19:33:21 +02:00
Jürg Lehni
26cdbb6805
Fix typo: #isColinear() -> #isCollinear()
...
Keeping misspelled version around for a while.
2015-06-16 18:39:52 +02:00
Jürg Lehni
5812a70e08
Use EPSILON instead of TOLERANCE in Point#isColinear() and #isOrthogonal() (reverted from commit 5f0e545ba7
)
2015-06-16 18:25:50 +02:00
Jürg Lehni
dbac9c06de
Bring back private UIDs for Color.
...
SVG Export for multiple gradients was broken.
2015-06-16 18:12:40 +02:00
Jürg Lehni
4fde7ab37d
Add applyMatrix option to importSVG()
2015-06-16 17:52:34 +02:00
Jürg Lehni
b541088c6f
A whole lot of documentation clean-up.
2015-06-16 17:50:37 +02:00
Jürg Lehni
ecfa09e676
Handle SVG attributes in correct sequence.
...
Closes #694 .
2015-06-16 15:54:29 +02:00
Jürg Lehni
7a6ee5d5f4
Do not implicitly close paths in SVG compound paths.
...
Closes #705
2015-06-16 14:49:54 +02:00
Jürg Lehni
2cf6cd7a14
Correctly clone all attributes in Shape#toPath() and Path#toShape()
...
Also write documentation for both methods.
Closes #622 .
2015-06-16 14:30:40 +02:00
Jürg Lehni
ba12eec7f5
Some documentation clean-up.
...
- Prefer @return over @returns
- Place @see at the end, before @example
2015-06-16 14:08:34 +02:00
Jürg Lehni
ce41447793
Prevent invalid invinite solutions in Numerical.solveQuadratic()
...
Closes #708
2015-06-16 12:30:25 +02:00
Jürg Lehni
e3f04478d9
Clean up Curve.getParameterOf() code.
2015-06-16 12:29:27 +02:00
Jürg Lehni
575436bafe
Improve handling of SVG defs located in odd places.
...
Relates to #702
2015-06-16 12:21:19 +02:00
Jürg Lehni
917139bb3f
Merge pull request #702 from jardakotesovec/Import-svg-defs-first
...
SVG Import defs first
2015-06-16 11:49:58 +02:00
Jürg Lehni
b26c6221f1
Fix PaperScript increment operator in rare special case.
...
Closes #691 .
2015-06-15 23:43:03 +02:00
Jürg Lehni
572a51d2a7
Protect Emitter#emit() against handler list changes.
...
Closes #706 .
2015-06-15 20:03:13 +02:00
Jürg Lehni
c7281ee619
Properly handle bounds caching when items are empty first.
...
Closes #676 .
2015-06-15 19:04:15 +02:00
Jarda Kotesovec
b6e48ad8d8
SVG Import defs first
2015-06-12 15:20:18 +02:00
Jürg Lehni
6ec34fbb60
Replace Lenna with Marilyn.
2015-05-31 10:50:04 +02:00
Jürg Lehni
6b428f5a37
Assume that Emiter#_evenTypes is not always defined.
...
Resolves https://github.com/paperjs/paper.js/pull/674#discussion_r30042363
2015-05-13 20:21:22 +02:00
Jürg Lehni
75c6db6986
Merge pull request #674 from rumman23/670-custom-events
...
custom events
2015-05-13 18:14:08 +02:00
Jürg Lehni
dd20df42da
Allow the clearing of Color#highlight by setting to null.
...
Closes #688
2015-05-11 23:24:13 +02:00
Jürg Lehni
111d5c8f66
Merge pull request #681 from hackalyze/load-scripts-synchronously
...
Fix paperscript source from being executed out-of-order
2015-05-11 19:57:47 +02:00
Jan
ade1a1fda3
Change clone() function to fix issue #687
...
As described in issue #687 , clone() ignored the 'radial' property. Added the property to the constructor in the clone() function to get the expected behaviour.
2015-05-11 19:43:15 +02:00
Jürg Lehni
27bb8a356f
Implement unique ids, and fix issue with Base.deserialize()
...
Gradient and Symbol were overriding each other in the dictionary, and dictionary entries could not contain references to other dictionary entries.
Closes #690
2015-05-11 19:39:39 +02:00
Jürg Lehni
783d1622b9
Remove faulty character.
2015-05-11 19:15:52 +02:00
Chris Pawlukowsky
2ede4f0a6b
It was possible for loadAll to execute paperscript source in a different order from the order the script tags appear in the HTML. This is due to the script source being retrieved asynchronously in loadScript in the call to Http.request. This fix retrieves paperscript source synchronously unless the HTML5 async attribute is included on the script element.
2015-04-18 10:23:44 -04:00
Jürg Lehni
8174405924
Include force parameter in View#update()
...
Closes #675 .
2015-04-12 15:23:24 +02:00
Jürg Lehni
8e7829db5e
Remove obsolete comment about hitTest options merge
2015-04-12 15:07:26 +02:00
rumman
8b24a33b17
unregistered events enabled in emitter
2015-04-07 22:33:48 +02:00
Jürg Lehni
7749641e66
Handle out-of-bounds offsets/parameters correctly.
...
Closes #660
2015-04-04 17:05:39 +02:00
Jürg Lehni
563a26f112
Clean up PathFitter fix a bit.
2015-04-04 15:54:34 +02:00
Jürg Lehni
66fbb9ee2a
Merge branch 'fix-simplify-bug' of https://github.com/calamitas/paper.js into fix-simplify-bug
2015-04-04 15:35:37 +02:00
Jürg Lehni
143e71d8f9
Bump version to v0.9.22
2015-02-28 19:22:45 +01:00
Jürg Lehni
993a9df178
Simplify fix for #626 a bit.
...
Closes #626 .
2015-02-28 19:20:48 +01:00
Jürg Lehni
8a625e0acd
Merge pull request #627 from iam-TJ/issue_626
...
Issue 626: Don't try to iterate a null array
2015-02-28 19:18:50 +01:00
Jürg Lehni
5625563ed7
Merge pull request #643 from alexburner/patch-1
...
Fixing PlacedSymbol overflow
2015-02-28 19:08:05 +01:00
Jürg Lehni
48bc34b21f
Filter out deserialized dictionary in Base.deserialize()
...
Closes #637
2015-02-28 19:03:03 +01:00
Jürg Lehni
2002c4a3af
Merge pull request #639 from iconexperience/master
...
Fix for #638 SVG export creates 'data-paper-data="null"' attribute if item._data is null
2015-02-28 18:33:53 +01:00
Jürg Lehni
3b47d7ee89
Only draw Raster items when they're fully loaded.
...
Closes #645 .
2015-02-28 18:30:23 +01:00
Jürg Lehni
23ec75f5d2
Read CanvasView size correctly from arguments array.
2015-02-27 18:00:36 +01:00
Russell Vea
c0c8079913
Update to use jsdom v4 (document.defaultView vs. document.parentWindow).
2015-02-26 16:56:26 -10:00
Jürg Lehni
15813107c0
Remove unused variables.
2015-02-26 13:44:09 +01:00
Jürg Lehni
7c2492ac2a
Docs: Improve Item#applyMatrix.
2015-02-26 13:38:29 +01:00
Alex Burner
9e95b8788a
Fixing PlacedSymbol overflow
...
Initial value for `overflow` of svg elements is `visible`, but for elements that establish new viewports the value is overridden to `hidden`. A hidden overflow causes clipping of thick strokes, and may have additional consequences (I'm here because I was having trouble with my strokes).
As detailed in this issue: https://github.com/paperjs/paper.js/issues/642
2015-02-24 22:15:04 -08:00
Jonathan Puckey
3b70fcd603
Fix mistake in PaperScript reference - thanks to paperjs/paperjs.github.io/pull/5
2015-02-24 18:35:28 +01:00
Peter Vanbroekhoven
d5c25dbc52
Change PathFitter to constrain newly found control points.
...
See https://github.com/paperjs/paper.js/issues/414 .
2015-02-22 20:05:06 +01:00
Jan
1d8c662c98
Update SVGExport.js
...
Check for `'null'` before setting custom paper data attribute, because `JSON.stringify()` returns `"null"` (as a String object) if the argument is null.
2015-02-13 12:10:47 +01:00
Jan
c5ced798e8
Update SVGExport.js
2015-02-13 11:59:05 +01:00
TJ
d3af8483a8
Don't try to iterate a null array
...
Signed-off-by: TJ <hacker@iam.tj>
2015-01-26 21:21:46 +00:00
Jonathan Puckey
809c41b1cf
Merge pull request #591 from ponychicken/detectAtomShell
...
Browser detection: Add Atom shell
2015-01-21 14:57:15 +01:00
Jürg Lehni
55e2f6610a
Rename nRoots to count.
2015-01-10 22:06:11 +01:00
Jürg Lehni
22be259167
Deal with edge cases in Curve.solveCubic() where small cubics are very close to lines.
...
Also reduce Numerical.EPSILON again, as required by some rare edge cases.
Relates to #541 .
2015-01-10 22:05:42 +01:00
Jürg Lehni
665d154c95
Simplify control-flow in Numerical.solveCubic() a bit.
2015-01-10 17:57:37 +01:00
Jürg Lehni
814512f562
No need to check solutions for bounds again.
2015-01-05 22:01:56 +01:00
Jürg Lehni
efaae89dfc
No need to add 0.
2015-01-05 21:47:15 +01:00
BrownBear2
4d36a2d6f4
fixed svg path parsing for arcs with more than one definition
2015-01-05 21:32:21 +01:00
Jürg Lehni
1c758a415a
Switch to new and improved Line.getSignedDistance() in fat-line clipping code as well.
2015-01-05 16:20:33 +01:00
Jürg Lehni
920469426e
Remove the harmony version of Number.isFinite() in favor of the generally available global isFinite() for now.
2015-01-05 16:17:11 +01:00
Jan
60ddc68e56
Improve Line.getSignedDistance()
...
Improved code is shorter, faster, and should product results with higher precision.
2015-01-05 15:16:45 +01:00
Jürg Lehni
1803cd216a
Handle empty paths in Path#join()
...
Closes #516
2015-01-05 00:42:00 +01:00
Jürg Lehni
6562f861ab
More code clean-up.
2015-01-05 00:13:30 +01:00
Jürg Lehni
9977b6ab68
Some code clean-up.
2015-01-05 00:09:34 +01:00
Jürg Lehni
72bd150a34
Fix the rest of the failing tests that 6c6ad76c94
had caused.
...
Also closes #610 .
2015-01-04 23:59:25 +01:00
Jürg Lehni
5f3df1f5a1
Fix some failing tests with PathItem#contains(), introduced by commit 6c6ad76c94
2015-01-04 23:28:39 +01:00
Jürg Lehni
5d875f2d83
Clean up code formatting.
2015-01-04 22:37:27 +01:00
Jürg Lehni
8928eaffd0
Merge branch 'refs/heads/master' into boolean-operations
2015-01-04 22:00:55 +01:00
Jürg Lehni
7e80e19e32
Insert results of boolean operations above the first path.
2015-01-04 21:59:31 +01:00
Jürg Lehni
d522e4aec2
Merge remote-tracking branch 'origin/master' into boolean-operations
...
Conflicts:
src/path/PathItem.Boolean.js
2015-01-04 21:29:50 +01:00
Jürg Lehni
9f0a774fd0
Fix newly introduced error in clean-up.
2015-01-04 18:07:02 +01:00
Jürg Lehni
1239eb55ec
Minor clean up in Curve.filterIntersections().
2015-01-04 17:47:41 +01:00
Jürg Lehni
77193e1465
Clean-up new splitPath() code.
2015-01-04 17:37:15 +01:00
hkrish
718af4527f
Boolean: handle linear segments correctly.
...
Earlier implementation was unfinished and did not reset some handles to
linear, this caused the winding to be miscalculated.
Conflicts:
src/path/PathItem.Boolean.js
2015-01-04 17:30:19 +01:00
Jürg Lehni
afc14b9634
Reduce Numerical.TOLERANCE to 1e-6, and use the same value across the boolean code.
...
Yields very good results now, across all tests.
2015-01-04 15:54:50 +01:00
Jürg Lehni
3564dafa93
Do not keep iterating if the curve was reduced to a point.
2015-01-04 13:23:59 +01:00
Jürg Lehni
d33d65fcc2
Revert change in recursion threshold as the new code reaches the desired precision earlier.
2015-01-04 13:21:12 +01:00
Jürg Lehni
cca6606f72
Reduce the amount of path reversing required.
...
We don't need paths at clockwise / counter-clockwise orientation. We simply need them oriented the same way, or the opposite way.
2015-01-04 01:51:27 +01:00
Jürg Lehni
390ef324f2
Find a better implementation for exclude() boolean operations, requiring only one pass instead of two.
2015-01-04 01:50:24 +01:00
Jürg Lehni
f0f98daf69
Apply @hkrish's fix in 3781aedb22
to Line.getSignedDistance as well.
...
Relates to #554
2015-01-04 00:53:56 +01:00
hkrish
3781aedb22
Small but critical fix on getSignedDistance method
...
when the line is perfectly vertical, return the difference between x values depending on the side. The earlier "l1y" is a silly mistake.
2015-01-03 23:41:47 +01:00
Jürg Lehni
5c184e381b
Merge remote-tracking branch 'origin/master' into boolean-operations
...
Conflicts:
src/path/PathItem.Boolean.js
2015-01-03 21:09:31 +01:00
Jürg Lehni
4371e92191
Reduce EPSILON to 1e-13.
...
Reducing further to 1e-14 starts producing new issues in boolean operations code.
2015-01-03 21:03:13 +01:00
Jürg Lehni
b6a4815d03
Remove Curve#isHorizontal() as its implementation and precision is specific to boolean operations.
2015-01-03 21:02:12 +01:00
Jürg Lehni
46d7717812
Use standard values for tMin / tMax when calling getTangentAt() tracePaths()
2015-01-03 20:59:20 +01:00
Jürg Lehni
6bb6002d1a
No need to double tolerances here.
2015-01-03 20:35:51 +01:00
Jürg Lehni
68c53534d6
Use the same precision in PathItem#getIntersections() when handling curve time parameters as in the rest of the library.
...
TOLERANCE instead of EPSILON.
2015-01-03 20:25:57 +01:00
Jürg Lehni
3e67f72393
Some code clean-up.
2015-01-03 20:25:12 +01:00
Jürg Lehni
51ec3325e3
Remove the need to store winding samples in array and sort.
...
Calculating the average winding value instead yields the same results.
2015-01-03 11:25:10 +01:00
Jürg Lehni
26f209c835
Implement better strategy for handling edge cases in winding samples.
2015-01-03 11:24:27 +01:00
Jürg Lehni
a854c55914
Split off code from Path.Clockwise() into Curve.getEdgeSum()
2015-01-03 01:46:22 +01:00
Jürg Lehni
80e1a54171
Dirty temporary fix for new median winding code that struggles with circles.
2015-01-03 01:17:48 +01:00
Jürg Lehni
5da0ae5c3c
Better handle of edge values in Path#split().
...
Closes #515 & #538
2015-01-03 01:07:51 +01:00
Jürg Lehni
98686ef888
Fix endless recursion in CompoundPath#reduce()
2015-01-03 00:51:06 +01:00
Jürg Lehni
5e654ca64e
Reducing an empty CompoundPath should replace it with an empty Path.
2015-01-03 00:46:45 +01:00
Jürg Lehni
e195db2567
Handle empty paths in Path#reorient()
...
Closes #548
2015-01-03 00:46:24 +01:00
Jürg Lehni
001561decb
Remove the dependency of Math.random() from boolean operation code.
...
Closes #473
2015-01-03 00:32:06 +01:00
Jürg Lehni
bb2fece225
Restructure code that determines median winding contribution.
2015-01-03 00:26:13 +01:00
Jürg Lehni
5f0e545ba7
Use EPSILON instead of TOLERANCE in Point#isColinear() and #isOrthogonal()
2015-01-02 23:48:34 +01:00
Jürg Lehni
538eac6dc7
Use smaller tolerances in winding code, to address edge cases.
...
Closes #559
2015-01-02 23:47:26 +01:00
Jürg Lehni
6359738618
Do not offset bounds in cubic solver by MACHINE_EPSILON, as this is how comparisons are performed with values offset by tolerances elsewhere in the library.
...
Doing it differently here produced various errors in fat-line clipping and boolean code.
2015-01-02 23:14:19 +01:00
Jürg Lehni
70e34ef705
Merge remote-tracking branch 'origin/master' into boolean-operations
...
Conflicts:
src/path/Curve.js
src/util/Numerical.js
2015-01-02 22:41:38 +01:00
Jürg Lehni
f0fdb804ec
Reduce value of EPSILON to the lowest amount that does not cause issues in boolean-test.
2015-01-02 22:37:36 +01:00
Jürg Lehni
477527f8ec
Implement more intuitive version of clipConvexHull(), outlined in #570 by @iconexperience
...
Code further shortened using a sub-routine.
2015-01-02 22:36:04 +01:00
Jürg Lehni
232739fae9
Add comments to fat-line clipping code linking to issues #568 and #571 .
2015-01-02 22:34:09 +01:00
Jürg Lehni
a2208f218c
Merge branch 'refs/heads/master' into boolean-operations
...
Conflicts:
src/util/Numerical.js
2015-01-02 21:46:28 +01:00
Jürg Lehni
cdfd21ddd3
Switch to using new cubic solver by @hkrish
2015-01-02 21:44:29 +01:00
Jürg Lehni
51739e6e27
Merge remote-tracking branch 'origin/master' into solve-cubic
...
Conflicts:
src/path/PathItem.Boolean.js
2015-01-02 21:26:04 +01:00
Jürg Lehni
8ad067ec6c
Use tolerance when comparing curve locations by parameter.
2015-01-02 21:20:28 +01:00
Jürg Lehni
4ed9ef54f2
Fix bug in Curve.filterIntersections() and clean up code a bit.
2015-01-02 21:19:18 +01:00
Jürg Lehni
b2261fd512
Introduce Curve.filterIntersections() and use it both in PathItems#getIntersections() and Curve#getIntersections()
2015-01-02 21:00:05 +01:00
Jürg Lehni
3302a7dff5
Increase recursion threshold to 4 when checking for fatline convergence.
2015-01-02 20:49:09 +01:00
Jürg Lehni
fbd026ea0d
Bring back code removed by @hkrish in commit 5fb75593c2
...
Relates to issue #570 , still required to figure out why it is still needed.
2015-01-02 20:02:45 +01:00
Jürg Lehni
74844d8a2b
Use hullEpsilon in all comparisons of curve time values in fat-line clipping code.
...
Addresses first half of issue #568
2015-01-02 17:33:04 +01:00
Jürg Lehni
41c0584f35
Merge remote-tracking branch 'origin/master' into solve-cubic
2015-01-02 16:37:50 +01:00
Jürg Lehni
e3e3d13fa5
Add comment regarding issue #565
2015-01-02 16:33:15 +01:00
Jürg Lehni
b75def3f3a
Implement optimal values in fat line clipping code for maximum recursion and curve time difference, as determined by @iconexperience.
...
Closes #565
2015-01-02 16:29:12 +01:00
Jürg Lehni
91865be8a3
Merge remote-tracking branch 'origin/master' into solve-cubic
...
Conflicts:
src/basic/Line.js
src/path/Curve.js
src/path/PathItem.Boolean.js
src/util/Numerical.js
2015-01-02 16:21:18 +01:00
Jürg Lehni
45c86a3035
Switch to suggested new implementation of Line.getSignedDistance() by @iconexperience
...
Closes #554
2015-01-02 16:17:19 +01:00
Jürg Lehni
878be7962e
Merge branch 'refs/heads/master' into solve-cubic
...
Conflicts:
src/path/Curve.js
src/path/PathItem.Boolean.js
src/util/Numerical.js
2015-01-02 15:33:23 +01:00
Jürg Lehni
95a8539045
Fix size issue on non-resizable HiDPI canvases.
...
Reverting back to original behavior in #586 .
2015-01-02 14:38:06 +01:00
Jürg Lehni
3c31c0e482
Have SVGImport respect the current PaperScope's applyMatrix setting.
2015-01-02 14:19:17 +01:00
Jürg Lehni
a07dc98046
Clean up and simplify code from pull request #580 and fix CSS in examples accordingly.
2014-12-30 00:16:51 +01:00
Jürg Lehni
dfda6cf7b5
Merge branch 'true-resize-canvas' of https://github.com/georeith/paper.js into georeith-true-resize-canvas
2014-12-29 23:56:57 +01:00
Jürg Lehni
66c67fbe94
Improve insertion handling for Item and Layer so insertAbove() / insertBelow() works for Layers too.
...
Closes #603
2014-12-29 23:16:13 +01:00
Jürg Lehni
83dd2034c3
Fix issue where cloned TextItems get always inserted into the scene graph.
...
Closes #606
2014-12-28 19:43:38 +01:00
Jürg Lehni
16105067bf
Correctly handle Item#insertChild(null)
2014-12-28 18:29:20 +01:00
Jürg Lehni
a307bc4d14
Implement recursively
parameter in Matrix#apply(), so matrices can be backed in recursively in children too.
2014-12-28 18:29:04 +01:00
Jürg Lehni
80e64ad0a9
Implement setters for Raster#width and #height, and properly handle these values being set in constructors, along with #size.
...
Closes #557 .
2014-12-28 18:27:32 +01:00
Jürg Lehni
1de750bc77
Check for Path#closed in Path#equals()
2014-12-28 18:10:14 +01:00
Jürg Lehni
7bc6da5401
Do not create entries in Style#_values for default values.
2014-12-28 18:03:41 +01:00
Jürg Lehni
fb890b2c8a
Implement Symbol#equals()
2014-12-28 18:03:19 +01:00
Jürg Lehni
9adbc3774a
Implement unit test comparators for many more types, and start refactoring compareItems() helper.
2014-12-28 16:41:23 +01:00
Jürg Lehni
28538d8a43
Clean up code from #597 a bit.
2014-12-26 06:42:46 +01:00
Jürg Lehni
71e2af9d70
Merge pull request #597 from byte-foundry/simplify_closed
...
fix #572 Handle closed path in PathFitter
2014-12-26 06:30:56 +01:00
Jürg Lehni
b816337e18
Remove legay.js since we're about to hit 2015.
...
Closes #592
2014-12-26 06:21:56 +01:00
Jürg Lehni
4d6f5c259c
Remove non-breaking space.
...
Closes #602 .
2014-12-17 20:07:14 -08:00
louisremi
a9bf0b097e
Handle closed path in PathFitter
2014-12-15 14:56:25 +01:00
Graeme
4837df715f
Use keys loop in serialize
2014-12-13 12:05:42 -05:00
Graeme
65df4d079e
Refactor and optimize base equals
2014-12-13 11:59:37 -05:00
Graeme
c6208db025
Refactor Base._set
2014-12-13 11:47:03 -05:00
Leo Koppelkamm
f1348931bb
Browser detection: Add Atom shell
...
As it a an unsual mix of both node and browser environment at the same time
2014-12-12 20:53:12 +01:00
George Reith
6f1c3145bf
Fixes #580 where resizable views were only taking into account their offset from the top left of the viewport.
2014-12-04 13:01:02 +00:00
Jürg Lehni
f193acf31b
Fix transformation sequence to correctly handle combined rotate and scale commands.
...
Closes #583
2014-12-02 22:31:20 -08:00
Jürg Lehni
318209e9e9
Replace compareNumbers() with equals() and improve numerical tolerance handling in test helpers.
2014-11-30 11:27:14 -08:00
Jürg Lehni
c48f4d772e
Expose #className on all classes that define #_class
...
Closes #576
2014-11-30 11:13:51 -08:00
Jürg Lehni
ed31476dea
Bump version to v0.9.21
2014-11-22 19:23:35 -08:00
Jürg Lehni
7f6bb63683
Correctly handle white-space before first matrix value when handling transform SVG attribute.
...
Closes #531 .
2014-11-22 09:01:01 -08:00
Jürg Lehni
912f7ad629
Allow injection of additional undefined fields through object literal constructors and #set().
2014-11-18 15:24:40 -08:00
Jürg Lehni
d5471c480f
Always return emitter from #on()
2014-11-18 15:05:14 -08:00
Jürg Lehni
19a9976939
Return emitter in #on(), #off(), #once(), so calls can be chained.
2014-11-18 14:56:55 -08:00
Jürg Lehni
0fb7e49248
Return a LinkedPoint from Item#scaling.
...
Closes #544 ,
2014-11-09 07:46:45 -08:00
Jürg Lehni
892c1a28bd
Some code clean-up.
2014-11-08 17:26:43 -08:00
Jürg Lehni
4ab6446e16
Handle horizontal lines properly in Line.getSignedDistance()
...
Closes #546 .
2014-11-08 17:26:13 -08:00
Jürg Lehni
ebdc63fbfa
Use correct formula in Curve#getTangentAt() for end-points when there is no handle.
...
Closes #553 .
2014-11-08 17:16:22 -08:00
Jürg Lehni
bfd3a91df0
Simplify Emitter.inject() a bit, as we only need to handle _events in the first injection scope.
2014-10-21 23:52:53 +02:00
Jürg Lehni
a39eea64e9
Improve docs sequence a bit.
2014-10-20 23:55:24 +02:00
Jürg Lehni
6e9ff38c15
Fix spelling mistakes in docs.
2014-10-20 23:45:33 +02:00
Jürg Lehni
e7707cd354
Implement match.inside and match.overlapping in #getItems(match).
...
Closes #275
2014-10-20 23:35:47 +02:00
Jürg Lehni
99ef521af4
Switch from inline @option tags to real doc tags.
2014-10-20 23:33:28 +02:00
Jürg Lehni
c25548031b
Clean up documentation for Project#getItems() / Item#getItems().
2014-10-20 22:44:15 +02:00
Jürg Lehni
82b988327d
Update docs to use the newly introduced {@option} tag to docuemnt option-style objects.
2014-10-20 22:41:45 +02:00
Jürg Lehni
782bde238c
Find a more general implementation for Item#intersects(item).
2014-10-20 18:00:07 +02:00
Jürg Lehni
5ddbc5b07f
Implement Item#intersects(item)
2014-10-20 17:00:18 +02:00
Jürg Lehni
b3c7be67fc
Support optional hidden matrix argument in #getIntersections()
...
...in order to provide an alternative matrix for the passed path to check against.
2014-10-20 16:53:49 +02:00
Jürg Lehni
4eb06f0849
Implement Item#isInside(rect).
2014-10-20 16:51:28 +02:00
Jürg Lehni
ad50e9f604
Change the way the optional matrix argument is handled in bounds getters.
...
Before it was treated as the paren't matrix and the child's was concatenated to it, but it's more logical and useful to just use it as the full replacement matrix instead.
2014-10-20 16:50:33 +02:00
Jürg Lehni
62e5f3b3ac
Improve / streamline Matrix documentation a bit.
2014-10-20 16:47:41 +02:00
Jürg Lehni
616e848376
Implement handling of empty
and editable
in #getItems(), and simplify code a bit.
2014-10-18 14:32:21 +02:00
Jürg Lehni
e7fd751765
Fix docs issues with Item#matches()
2014-10-18 13:40:36 +02:00
Jürg Lehni
3be1e481e9
Preserve line-breaks when replacing mathematical operators, to not mess with debugging.
2014-10-15 15:30:56 +02:00
Jürg Lehni
be82af9b47
Implement Item#matches(name, compare), along with Item#matches(match).
2014-10-15 15:09:44 +02:00
Jürg Lehni
77f6e68846
Remove documentation for deprecated #attach() methods.
2014-10-15 13:01:59 +02:00
Jürg Lehni
0894e625b0
Fix documentation issues with Path#get*At()
...
Closes #537 .
2014-10-15 13:00:50 +02:00
Jürg Lehni
e5714584ff
Fix return type of #getCurvatureAt() methods.
...
Closes #535 properly this time.
2014-10-15 12:02:21 +02:00
Jürg Lehni
b71e2c69d6
Fix documentation of Curve#getCurvatureAt(), as well as Path#getCurvatureAt() & co.
...
Closes #535
2014-10-14 13:52:57 +02:00
Jürg Lehni
862867ecd2
Bump Acorn version.
2014-10-09 00:17:16 +02:00
Jürg Lehni
3b2a82047e
Clean up event related comments, to reflect recent renaming.
2014-10-08 18:33:17 +02:00
Jürg Lehni
68585276a0
Rename ui folder to event.
2014-10-08 18:32:55 +02:00
Jürg Lehni
f4a36b7cd4
Remove all Palette and Component related code, as it is separated into its own project.
...
https://github.com/lehni/palette.js
2014-10-08 17:43:03 +02:00
Jürg Lehni
f29f3c8b11
Some code clean-up.
2014-10-08 16:36:22 +02:00
Jürg Lehni
8983953ccc
Do not export internal Http module.
2014-10-08 15:58:11 +02:00
Jürg Lehni
3c8331a94e
No longer export DomElement and DomEvent.
...
These are undocumented and meant to be private. They may change a lot still.
2014-10-08 15:55:12 +02:00
Jürg Lehni
a457228846
Fix formatting issues.
2014-10-08 15:52:41 +02:00
Jürg Lehni
c7c49d4091
Time to go with the flow and use the on()/off()/emit() pattern for events.
2014-10-08 14:57:56 +02:00
Jürg Lehni
3dc5c94e25
Rename Callback mix-in to Emitter.
2014-10-08 14:13:08 +02:00
Jürg Lehni
d2c2b0a7fd
Implement ruler component, and only use palettejs-input id for actual inputs that can have labels.
2014-10-08 00:24:27 +02:00
Jürg Lehni
2217bc2c29
Only expose observed component value in values object if it was already defined there initially.
...
It seems like too much magic to expose values defined on components there too.
2014-10-08 00:23:52 +02:00
Jürg Lehni
d4c509b4d4
Allow finding of palettes by their ids.
2014-10-07 23:42:40 +02:00
Jürg Lehni
369fcfc7cf
Add disabled class to components that have enabled = false.
2014-10-07 23:42:03 +02:00
Jürg Lehni
a92b8eb591
Correctly name boolean getters.
2014-10-07 23:41:26 +02:00
Jürg Lehni
c405c78d41
Implement #element getters to get the native DOM element on Palette and Component.
2014-10-05 12:35:33 +02:00
Jürg Lehni
90d088e708
Switch to object literal constructor for Palette and support props.parent, to set a palette's parent in the DOM.
2014-10-05 12:33:40 +02:00
Jürg Lehni
689e150bb7
Use <span> for text components so they can have a suffix as well.
2014-10-05 12:18:18 +02:00
Jürg Lehni
ca730cd76e
Rename _input to _element since it can be other things than <input>, and simplify <button> handling.
2014-10-05 11:17:53 +02:00
Jürg Lehni
8344ea9639
Switch from <input type="button"> to <button> for button components, and allow #text as an alias to #value for better semantics.
2014-10-05 11:14:02 +02:00
Jürg Lehni
6e4c2ebc64
Use an injection loop to produce all methods that simply forward from Palette to root Component.
2014-10-05 00:23:16 +02:00
Jürg Lehni
5456f1a595
Clean up DOM code a bit.
2014-10-05 00:19:47 +02:00
Jürg Lehni
9fec267dd4
Implement table captions through Palette#title / Component#title.
2014-10-05 00:11:29 +02:00
Jürg Lehni
b9af3af6f4
Bring back change event to Palette.
2014-10-04 19:51:10 +02:00
Jürg Lehni
6b9a40d987
Improve documentation of components code.
2014-10-04 19:46:44 +02:00
Jürg Lehni
5f7fd42bcb
Add comment about layout components.
2014-10-04 19:39:17 +02:00
Jürg Lehni
ddc7675c13
Improve Component layout class name handling.
2014-10-04 19:35:26 +02:00
Jürg Lehni
22d79948a0
Rename horizontal
to columns
2014-10-04 19:02:56 +02:00
Jürg Lehni
73529f0170
Merge Pane functionality into Component.
...
Work in progress.
2014-10-04 18:58:11 +02:00
Jürg Lehni
e46a1d24da
Move View classes to their own folder.
...
That's not really UI.
2014-10-04 16:51:58 +02:00
Jürg Lehni
5b71dabba2
Rename 'pane' Component to 'column'.
2014-10-02 20:02:04 +02:00
Jürg Lehni
aa73083d4f
Make sure nested components are available through the components hierarchy.
2014-10-02 19:41:39 +02:00
Jürg Lehni
4ef4a293ea
Expose child components.
2014-10-02 19:20:03 +02:00
Jürg Lehni
fe019f926e
Fix Component#setSuffix()
2014-10-02 18:59:26 +02:00
Jürg Lehni
88bc14f597
Clean up Pane code a bit.
2014-10-02 18:45:51 +02:00
Jürg Lehni
8907662524
Use this._set() instead of Base.set(), since it filters for existing properties.
2014-10-02 18:35:03 +02:00
Jürg Lehni
fd6741ce5a
Implement Component type 'pane' and merge more functionality with 'row'.
2014-10-02 18:16:38 +02:00
Jürg Lehni
99d46b4478
Restructure Component constructor to facilitate upcoming 'pane' Component type.
2014-10-02 17:09:40 +02:00
Jürg Lehni
85fbc94f41
Move Palette related functionality form Pane to Palette constructor.
2014-10-02 17:09:08 +02:00
Jürg Lehni
e1fba03b34
Make Component#enabled work for row type.
2014-10-02 17:02:26 +02:00
Jürg Lehni
f4c4522c18
Remove references to this
in DomElement os we can call method references directly, and always check el for null.
2014-10-02 17:00:40 +02:00
Jürg Lehni
7194d4bcf0
Fix palette labels and improve CSS id / class structure.
2014-10-02 16:30:27 +02:00
Jürg Lehni
54de02149b
Implement 'row' type component, for multiple components per row in palettes.
2014-10-02 16:05:56 +02:00
Jürg Lehni
09a4defb73
Separate Palette into Pane and Palette to prepare for nested UIs.
2014-10-02 09:45:19 +02:00
Jürg Lehni
47c225a782
Fix typo.
...
As reported by https://github.com/paperjs/paperjs.org/pull/7
2014-10-02 01:03:39 +02:00
Jürg Lehni
139adc72de
Implement object literal constructor for Palette.
2014-09-30 08:20:44 +02:00
Jürg Lehni
d6481bcb5b
Implement Component#enabled and Palette#enabled
2014-09-30 08:20:18 +02:00
Jürg Lehni
021ba59c54
Implement Component#visible.
2014-09-30 08:16:26 +02:00
Jürg Lehni
c7970e367d
Always set Component#value at the end of all other values.
...
Closes #365 .
2014-09-29 17:15:33 +02:00
Jürg Lehni
24a80dca27
Remove debug logging.
2014-09-29 16:12:50 +02:00
Jürg Lehni
3cb84842ff
Remove forced colon in label, so we can add it optionally through CSS instead.
2014-09-29 15:46:29 +02:00
Jürg Lehni
214ac10d57
Add support for Component#suffix, to define a linked label that should appear after the input element.
2014-09-29 15:46:04 +02:00
Jürg Lehni
c2cb3e3342
Improve Palette and Component code.
...
- Only create label elements when they are set for the first time.
- Give created elements clear class and id names.
2014-09-29 15:41:14 +02:00
Jürg Lehni
e541b10e89
Move user-agent code to PaperScope and expose through PaperScope#browser.
2014-09-29 13:07:02 +02:00
Jürg Lehni
6a11532322
Clean up and simplify code a bit further.
2014-09-28 11:49:46 +02:00
Jürg Lehni
7462fe0b70
Fix Curve.getParameterAt() for negative values of offset, and implement unit test.
...
Closes #524 .
2014-09-28 11:44:38 +02:00
Jürg Lehni
df190b6a47
Rearrange Project code for better doc sequence.
2014-09-27 22:53:37 +02:00
Jürg Lehni
2c9e15b070
Clean up comments.
2014-09-27 22:53:00 +02:00
Jürg Lehni
c87ce4de4c
Implement Item#replaceWith(item)
...
Closes #454
2014-09-27 22:52:37 +02:00
Jürg Lehni
91539e6bc5
Commit changes forgotten in 6450430b68
2014-09-27 22:51:22 +02:00
Jürg Lehni
6450430b68
Implement new strategy regarding Project#activeLayer:
...
- By default, no layer is created for any project.
- Project#activeLayer is a getter for the hidden #_activeLayer property. When it is called and no layer exists, one is created on the fly.
- Creating any other items creates a layer if none exists (was already the case).
2014-09-27 22:31:49 +02:00
Jürg Lehni
2dce6c4efa
Some code clean-up in Segment#_changed()
2014-09-27 22:09:25 +02:00
Jürg Lehni
cc8b23894c
Some clean up related to hidden _uncached parameter.
2014-09-27 22:03:54 +02:00
Jürg Lehni
b8530935a7
Streamline CurveLocation#getTangent/Normal/Curvature getter definitions to align with definitions in Curve, Path and PathIterator.
2014-09-27 22:03:20 +02:00
Jürg Lehni
8b4f59962e
Allow better code compression by removing repeated variable access on this.
2014-09-27 22:00:46 +02:00
Jürg Lehni
dd99db8d2d
Allow 'false' as well as 'off' for hidpi attribute, since that's what's in use for other attributes as well.
2014-09-26 18:03:37 +02:00
Jürg Lehni
762113230a
Implement Item#parentToLocal() and #localToParent()
...
As outlined in #530
2014-09-25 17:53:08 +02:00
Jürg Lehni
3389687c42
Do not check typeof module.exports === 'object', since it will be the Base constructor function after straps.js is included.
...
Closes #461
2014-09-25 16:46:34 +02:00
Jürg Lehni
5046a6a64c
Fix naming of PathIterator#get*At functions.
2014-09-24 12:32:07 +02:00
Jürg Lehni
4adab91a18
Remove unused argument.
2014-09-23 17:51:29 +02:00
Jürg Lehni
48e9447c47
Avoid error when SVG path data does not contain any 'm' commands.
...
Fixes #529
2014-09-22 17:44:15 +02:00
Jürg Lehni
ee27fe820f
Check for valid parameter range in Curve#getLocationAt() and delegate to it in #getLocationOf()
2014-09-20 11:09:09 +02:00
Jürg Lehni
c94fb3038f
Use valid parameter range [0,1] in calls to Curve.solveCubic().
2014-09-20 11:08:20 +02:00
Jürg Lehni
c2465b60fa
Transform the correct amount of points in Curve.getValues() when a matrix is provided.
2014-09-20 11:06:25 +02:00
Jürg Lehni
e5995527e8
Support Point argument reading for Style#shadowOffset.
2014-09-19 18:43:00 +02:00
Jürg Lehni
52dd24097f
Define PathIterator#getPoint(), #getTangent(), #getNormal() and #getCurvature().
2014-09-11 16:06:00 +02:00
Jürg Lehni
67d30f0042
Actually use maxRecursion and tolerance arguments in PathIterator, and increase precision in #flatten() a bit.
2014-09-11 15:20:04 +02:00
Jürg Lehni
73765e6654
Produce Path#getPointAt(), #getTangentAt(), #getNormalAt() & #getCurvature() in a loop, just like for Curve.
2014-09-10 11:21:06 +02:00
Jürg Lehni
50c5c6736c
Rename PathFlattener to PathIterator and include the class in exports.
2014-09-10 02:20:00 +02:00
Jürg Lehni
1db4fb4064
Refactor PathFlattener code and add maxRecursion and tolerance arguments to constructor.
2014-09-09 18:32:41 +02:00
Jürg Lehni
7d69ef1864
Fix documentation of bean properties that are not read-only.
...
@bean can only be used when the property is read-only or both getters and setters are present in the scope.
2014-08-26 10:01:30 +02:00
Jürg Lehni
73751040b7
Bump version to v0.9.20
2014-08-25 14:48:05 +02:00
Jürg Lehni
99b06b061c
Correctly match variables to be exposed at the beginning of PaperScripts.
2014-08-25 14:21:13 +02:00
Jürg Lehni
8574c1ebf6
Return the created scope from PaperScript.load()
2014-08-25 13:21:58 +02:00
Jürg Lehni
a564480522
Forgotten in previous commit.
2014-08-25 12:53:13 +02:00
Jürg Lehni
797a393c9a
Remove various double white-spaces.
2014-08-25 12:49:14 +02:00
Jürg Lehni
bcc8761f8c
Improve PaperScript#load() documentation.
2014-08-25 12:42:44 +02:00
Jürg Lehni
72f16eb1c3
Handle data-paper-ignore like any other Paper attribute, allowing the ignore="true" short-form as well.
2014-08-25 12:34:08 +02:00
Jürg Lehni
93dfd2a15a
Remove debugger statement.
2014-08-25 12:24:30 +02:00
Jürg Lehni
c03e9961d2
Allow PaperScript.load(script) to only load specific scripts, and define / improve documentation.
2014-08-25 12:21:27 +02:00
Jürg Lehni
992366246d
Ignore hash when comparing PaperScript URLs.
2014-08-25 12:20:58 +02:00
Jürg Lehni
4b19f99183
Improve user agent matching code in PaperScript.
...
Fixes #511 .
2014-08-20 18:54:00 +02:00
Jürg Lehni
6b4f728a72
Bring back support for paper.setup('id') again, and document it properly.
...
Closes #510 .
2014-08-20 16:53:31 +02:00
Jürg Lehni
db1ccd1d1e
Restructure includes.
2014-08-20 16:44:36 +02:00
Jürg Lehni
6faf61e6ef
Fix incompatibility with jsdom 1.0.0-pre.1
...
Closes #513
2014-08-20 15:06:13 +02:00
Jürg Lehni
9da6325f49
Fix wrong __options comments.
2014-08-16 19:27:25 +02:00
Jürg Lehni
48cb05a181
Replace tabs with 4 white-spaces.
2014-08-16 19:24:54 +02:00
Jürg Lehni
687199e95d
Fix some whitespaces.
2014-08-16 19:18:36 +02:00
Jürg Lehni
a2b7f9fc11
Remove __options.stats and load Stats library automatically only when in dev mode on the browser.
2014-08-16 19:11:16 +02:00
Jürg Lehni
21c9f97450
Update version handling and comments in options.js
2014-08-16 18:49:35 +02:00
Jürg Lehni
bcd3fe2493
Bump version to v0.9.19
2014-08-16 18:31:53 +02:00
Jürg Lehni
5aa4a8300e
Move 'data-paper-scope' attribute handling out of PaperScope into browser related code in PaperScript.
...
Closes #508
2014-08-16 18:24:45 +02:00
Jürg Lehni
288b8553e7
Support PaperScript code with only one line and no breaks.
2014-08-16 18:22:43 +02:00
Jürg Lehni
15d79bbefb
Introduce isRoot argument in SVGExport code as well, to make sure that top-most node holds all the style information.
...
Relates to #509
2014-08-16 17:32:24 +02:00
Jürg Lehni
4e9fc558ac
Prevent double-application of styles when importing #document SVG nodes.
...
Closes #509 .
2014-08-16 17:31:42 +02:00
Jürg Lehni
53b00b40e1
Move isRoot parameter last in SVGImport code.
2014-08-16 17:27:14 +02:00
Jürg Lehni
ce4e6053ec
Try un-prefixed name before various prefixes, to prevent console warnings.
2014-08-15 18:00:32 +02:00
Jürg Lehni
3ac9a4f369
Use local parent short-cut variable.
2014-08-15 15:38:28 +02:00
Jürg Lehni
4d4a39c752
Implement Curve#getOffsetOf(point) / Path#getOffsetOf(point)
...
Closes #463 .
2014-07-31 19:01:37 +02:00
Jürg Lehni
da22161d28
Correctly clear Curve length cache when segments change.
...
Closes #497
2014-07-31 17:00:52 +02:00
Jürg Lehni
c90a7c9f38
Only use the unmerged setting for #strokeScaling, as otherwise it'll be used on layers and groups already.
...
Closes #500
2014-07-29 23:39:51 +02:00
Jürg Lehni
06366fb0ed
Support prefixed UpdateExpressions and fix a bug in suffixed UpdateExpression when assigning to plain variables.
...
Related #492
2014-07-26 12:40:00 +02:00
Jürg Lehni
54f0197eba
Correctly handle UpdateExpressions (a++, a--) that are directly following AssignmentExpressions.
...
Closes #492
2014-07-26 12:29:05 +02:00
Jürg Lehni
6e6df750f0
Use names less likely to be used in code for Operator Overloading handlers.
2014-07-26 12:28:00 +02:00
Jürg Lehni
12254f5fe8
Fix two documentation errors in Raster.
...
Closes #495
2014-07-26 12:07:36 +02:00
Jürg Lehni
d96368a941
No need to convert strings to elements in View.create anymore, since PaperScript handles this already.
2014-07-26 12:07:14 +02:00
Jürg Lehni
0198f4c45f
Reuse PaperScope objects when associating multiple scripts with the same canvas.
...
Closes #504 .
2014-07-26 12:03:34 +02:00
Jürg Lehni
e0ec2bf2c3
Throw more meaningful error when CanvasView cannot be created from inexistent element.
2014-07-26 11:41:21 +02:00
Jürg Lehni
56704b9206
Fix a bug in Item#_removeNamed() for items without parents.
...
Closes #490 .
2014-07-25 21:08:14 +02:00
Jürg Lehni
04a0c995bc
Keep Math.acos() argument between -1 and 1.
...
Closes #482 .
2014-07-25 21:01:58 +02:00
Jürg Lehni
4fab100e71
Improve CommonJS support a bit.
2014-07-25 20:10:20 +02:00
Jürg Lehni
652dbe1e86
Use loop to produce CurveLocation getters, and add CurveLocation#curvature.
2014-07-25 20:05:44 +02:00
Jürg Lehni
d3d9e4bada
Improve some injection blocks.
2014-07-25 20:05:26 +02:00
Jürg Lehni
3c14a5ad05
Merge pull request #462 from jbielick/master
...
add commonJS export in browser environment export
2014-07-25 20:04:08 +02:00
Jürg Lehni
dc375d4c76
Correctly match the use of the unary operator $_ in PaperScript.
...
Closes #502
2014-07-23 12:17:55 +02:00
Jürg Lehni
3093a8ec43
Introduce matrix.chain(mx) as a shortcut to Matrix.clone().concatenate(mx)
...
Simplifies quite a few lines of code.
2014-07-08 15:43:17 +02:00
Jürg Lehni
66360bf58a
Fix minor documentation bug.
2014-07-08 15:43:17 +02:00
hkrish
ccbf4579fd
Don't remove the only intersection.
...
The previous code wrongly compared an intersection with itself while checking for duplicates.
2014-06-21 10:31:07 +02:00
hkrish
6c6ad76c94
Handle overlapping intercepts in getIntersection,
...
In a more robust way. Restricting ranges in parameter is not a nice way
to handle endpoint intersections.
2014-05-17 13:43:46 +02:00
Jürg Lehni
5384a63238
Improve Item. _clearBoundsCache() fix.
2014-05-15 21:33:30 +02:00
Jürg Lehni
a7f57315a6
Fix Item._clearBoundsCache() recursion, correctly this time.
2014-05-15 21:30:06 +02:00
Jürg Lehni
a1c1fc8ed8
Fix an issue in _clearBoundsCache where circular recursion could happen in certain circumstances.
2014-05-15 21:24:09 +02:00
Jürg Lehni
f39b7603de
Remove pixelRatio handling from CanvasProvider and move it to Item#draw()
2014-05-15 17:14:37 +02:00
Jürg Lehni
af5e1609dd
Fix an issue where CompoundPath wouldn't draw correctly if children had styles that forced non-direct compositing.
2014-05-15 17:09:58 +02:00
Jürg Lehni
98f2e08775
Fix SVG export when view is zoomed.
2014-05-15 16:26:19 +02:00
Jürg Lehni
c0a911d3c7
Rename Raster#ppi to#resolution, and deprecate #ppi.
2014-05-15 15:36:24 +02:00
Jürg Lehni
9d7ec13724
Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it.
2014-05-14 15:14:03 +02:00
Jürg Lehni
f38d3ee674
Handle view size and transformation correctly when exporting SVG.
...
Closes #277 .
2014-05-14 13:29:20 +02:00
hkrish
e5e2a8d7d4
Revert "Correct boolean condition in getWinding."
...
This reverts commit fcc2e93daf
.
2014-05-13 20:41:48 +02:00
hkrish
fcc2e93daf
Correct boolean condition in getWinding.
...
Also clarify the condition using braces
2014-05-13 20:14:53 +02:00
Jürg Lehni
aac98f2b25
Some code clean-up.
2014-05-13 13:54:31 +02:00
Jürg Lehni
a4f922cf26
Fix newly introduced error in SVG export.
2014-05-13 13:52:20 +02:00
Jürg Lehni
6896535663
Bring back accidentally removed ctx.beginPath();
2014-05-13 13:51:09 +02:00
Jürg Lehni
846c806034
Implement non-scaling strokes through Style#strokeScaling.
...
Closes #418 .
2014-05-13 13:38:51 +02:00
Jürg Lehni
68db4f9b59
Forgotten in previous commit.
2014-05-13 13:23:37 +02:00
Jürg Lehni
4464950301
Correctly take Item#matrix into account in #getPathData().
2014-05-13 13:21:59 +02:00
Jürg Lehni
94bc6427c2
Export SVG transforms for path items correctly.
...
Needed when Item#applyMatrix = false
2014-05-13 12:53:58 +02:00
Jürg Lehni
f56efd6471
Fix exceptions in ProxyContext when drawing bitmaps.
2014-05-13 12:33:39 +02:00
Jürg Lehni
e1ed7f3294
Prevent drawing selected compound path children twice.
2014-05-12 18:57:09 +02:00
Jürg Lehni
ea8518c3a5
Use the correct change notification when reversing paths.
2014-05-12 16:44:48 +02:00
Jürg Lehni
8560a71312
Remove srcOffset and dstOffset parameters from Matrix#_transformCoordinates().
2014-05-08 13:54:05 +01:00
Jürg Lehni
c64f177583
Simplify linearHandles code changes a bit.
2014-05-08 10:48:22 +01:00
Jürg Lehni
6aaeb81869
Simplify Item#_isUpdate() code a bit.
2014-05-07 17:27:53 +01:00
Jürg Lehni
bb6e1e686f
Improve some comments.
2014-05-07 17:22:25 +01:00
Jürg Lehni
2412942d04
Fix SVG export for Item#visible, and import display
attributes correctly.
...
Closes #471 .
2014-05-07 16:59:57 +01:00
Jürg Lehni
56389a3929
Make sure _updateVersion also works for items and children of items with opacity == 0.
...
Closes #469 .
2014-05-07 16:57:39 +01:00
Jürg Lehni
41c0d8f759
Implement onImport / onExport callbacks for SVG Import / export.
...
... and illustrate its functionality by importing Inkscape's transform-center attributes to pivots and exporting them again.
2014-05-05 20:48:30 +02:00
Jürg Lehni
312e670b22
Update Item#_updateVersion in Item#draw() before bailing out when items are invisible.
...
Closes #469 .
2014-05-05 20:13:36 +02:00
Jürg Lehni
74d14ecf0c
Fix PaperScript support on Node.js
...
Closes #470 .
2014-05-05 20:10:29 +02:00
hkrish
4cc2deb3f8
Remove the debug code in curve#solveCubic
...
The cubic and quadratic solver has been tested with > 2 million
equations as of now. We need more rigorous tests however.
2014-05-05 18:48:30 +02:00
hkrish
1c9d1de380
Boolean: handle linear segments correctly.
...
Earlier implementation was unfinished and did not reset some handles to
linear, this caused the winding to be miscalculated.
2014-05-05 18:46:39 +02:00
hkrish
10c5b389c7
Pre-condition the coefficients in quadratic solver
...
We need well conditioned quadratics to guarantee numerical accuracy.
2014-05-05 18:44:15 +02:00
hkrish
6662209e15
Update the Machine Epsilon parameter.
...
Used in numerical routines.
2014-05-05 18:40:56 +02:00
Jürg Lehni
87e72744ea
Fix PaperScript.parse() for use with load.js
2014-04-30 17:08:43 +02:00
Jürg Lehni
735150d165
Minor adjustments in new source map code.
...
Handle empty code properly.
2014-04-30 17:04:58 +02:00
Jürg Lehni
2d702d0247
Directly expose Acorn parser through PaperScript.parse(), and replace options.inline with options.source.
2014-04-30 16:40:11 +02:00
Jürg Lehni
c36712758b
Expose Acorn through PaperScript object.
2014-04-30 16:27:43 +02:00
Jürg Lehni
43f319e762
Remove support for Esprima as Acorn.js does everything we need.
2014-04-30 16:26:04 +02:00
Jürg Lehni
e96ec6a2f1
Remove breakpoint support again in PaperScript as this code is better placed in sketch.
2014-04-30 16:25:38 +02:00
Jürg Lehni
5e6d0377f4
Support adding breakpoints to PaperScript.
2014-04-30 13:37:07 +02:00
Jürg Lehni
9e45d7f5eb
Automatically detect PaperScript code inlined on page.
2014-04-30 12:32:08 +02:00
Jürg Lehni
af9b3cd5c6
Simplify source-map support since all browser appear to require the shifting of inlined code.
2014-04-30 11:47:15 +02:00
Jürg Lehni
43bc9f14da
Add more comments and clean up code a bit.
2014-04-30 11:39:05 +02:00
Jürg Lehni
d91aac52b4
Check in initial support for source-maps in PaperScript.
...
Probably needs more testing and work.
2014-04-30 11:34:02 +02:00
Jürg Lehni
8317aacc1b
Split Item#hitTest() into separate private function that does need to do arguments reading, for improved performance also when iterating over children.
2014-04-29 20:06:48 +02:00
Jürg Lehni
fce31599a5
Use _dontMerge for #getSelectedColor() on both item and layer, and have style getters on item pass on _dontMerge to the style object.
2014-04-29 19:40:46 +02:00
Jürg Lehni
bd07305435
Move selection drawing code to separate function and fix slowdowns in determining of selection color.
...
Closes #466 & #464 .
2014-04-29 18:52:33 +02:00
Jürg Lehni
0168e41be0
Add old cubic solver code for comparison, and use console.log() in Curve.solveCubic() to log values with different results.
2014-04-29 00:11:13 +02:00
Jonathan Puckey
04e90ec3f4
Improve PathItem#getIntersections(path, sorted) docs.
2014-04-28 18:58:19 +02:00
Jonathan Puckey
1d905f5c58
Path: add docs for Style Tests group and move Path#isInserted() to Hierarchy Tests group.
2014-04-28 18:41:40 +02:00
Jonathan Puckey
8c32dda435
Make View#projectToView(point) and View#viewToProject(point) show up in the docs.
2014-04-28 18:29:16 +02:00
Jonathan Puckey
ba98c91509
Fix SVGElement parameter type in docs.
2014-04-28 18:23:14 +02:00
Jonathan Puckey
efb5bf5cf5
Improve Project#isEmpty() docs.
2014-04-28 18:20:22 +02:00
Jonathan Puckey
ff5630ac07
Project#clear() docs.
2014-04-28 18:19:56 +02:00
Jonathan Puckey
2b712959f2
Path: Improve docs of the 'Positions on Paths and Curves' group.
2014-04-28 18:12:44 +02:00
Jürg Lehni
ab8ef47d68
Switch to new cubic solver code by @hkrish.
2014-04-28 16:44:46 +02:00
Jürg Lehni
a9618b50f8
Small fix in Segment#linear.
2014-04-28 16:43:11 +02:00
Jürg Lehni
ad4f74a872
Fix bugs when dynamically loading paper.js source code in Node.
2014-04-28 16:42:06 +02:00
Jürg Lehni
e851090c81
Fix bug in item object literal constructor when providing parent as property after other values that depend on hierarchy being defined already.
2014-04-28 15:12:55 +02:00
Jürg Lehni
364c31b0f6
Remove TODOs for already implemented functions.
2014-04-28 14:25:15 +02:00
Jürg Lehni
42945825e8
Fix all argument assignment TODOs.
2014-04-28 14:22:50 +02:00
Jonathan Puckey
af84a52af8
Move around Item#isInserted() code so it shows up in the Tests group section in the docs.
2014-04-27 23:59:01 +02:00
Jonathan Puckey
12d7756892
Add more matching docs.
2014-04-27 23:40:43 +02:00
Jonathan Puckey
f0db48a77f
More work on Project#getItems(match) docs.
2014-04-27 23:08:42 +02:00
Josh
572f3e06ff
add commonJS export in browser environment export
2014-04-27 12:53:14 -04:00
Jürg Lehni
320caa56d1
Add support for line dash to ProxyContext.
2014-04-27 17:36:31 +02:00
Jürg Lehni
c5b317600a
Support comparing colors with string values in Color#equals().
2014-04-27 11:16:22 +02:00
Jonathan Puckey
46ef242e46
Documentation for Project#getItems(match)
2014-04-25 17:00:48 +02:00
Jürg Lehni
19630d6229
Fix spelling mistakes.
2014-04-24 19:34:49 +02:00
Jürg Lehni
28e759a28a
fix spelling mistakes.
2014-04-21 10:30:38 +02:00
Jürg Lehni
28871534c2
Always use tolerance 0 in mouse event hit-tests.
...
Mouse events should imitate native events, so they can also be partly replaced by them on some backends (e.g. SVG).
2014-04-21 10:30:38 +02:00
Jürg Lehni
9ccba17fbe
Clean up white-space, comments and jshint errors.
2014-04-14 18:29:26 +02:00
Jürg Lehni
d0d4b29856
Fix bugs in bounds caching algorithm.
2014-04-13 18:31:01 +02:00
Jürg Lehni
6af797bbad
Optimize handling of property object in Item constructor.
...
Only check for values if it is a plain object, and avoid inserting into DOM twice if parent is specified.
2014-04-13 18:12:19 +02:00
Jürg Lehni
ee729622e0
Correctly handle Raster#setImage(null)
2014-04-13 18:11:34 +02:00
Jürg Lehni
ea81df6572
Fix spelling mistakes.
2014-04-13 17:03:44 +02:00
Jürg Lehni
db2bdf84af
Allow the JS optimizer to better do its thing by creating local references to repeatedly used class variables.
2014-04-13 16:44:49 +02:00