Jürg Lehni
|
dc3bd30ee3
|
Rename some variables and clean up code a bit more.
|
2013-10-29 16:19:39 +01:00 |
|
Jürg Lehni
|
de01ef1c21
|
Clean up code from previous merge.
|
2013-10-29 16:09:35 +01:00 |
|
Jürg Lehni
|
ef972949c8
|
Merge branch 'refs/heads/intersect-fix'
Conflicts:
src/path/Curve.js
|
2013-10-29 16:06:02 +01:00 |
|
hkrish
|
ac04029f6e
|
Curve-line intersection fix
|
2013-10-29 15:52:46 +01:00 |
|
Jürg Lehni
|
63e4bd5db2
|
Do not use the point of the rotated curve to evaluate the parameter of the line.
Use the non-rotated curve instead.
|
2013-10-29 15:46:20 +01:00 |
|
Jürg Lehni
|
f20e8240cd
|
Use new range feature of solveCubic()
|
2013-10-29 15:44:42 +01:00 |
|
hkrish
|
bec1a91812
|
Calculate correct parameter for Curve-Line intersections
|
2013-10-29 00:10:20 +01:00 |
|
Jürg Lehni
|
b4850b572a
|
Improve variable naming.
|
2013-10-20 01:57:11 +02:00 |
|
Jürg Lehni
|
cc201655af
|
Fix comment.
|
2013-10-20 01:54:53 +02:00 |
|
Jürg Lehni
|
e6ef5e7e17
|
Fix hit-test for compound paths again.
|
2013-10-20 01:54:20 +02:00 |
|
Jürg Lehni
|
ddeacb1763
|
More code clean up.
|
2013-10-20 01:41:31 +02:00 |
|
Jürg Lehni
|
caa50236dd
|
Simplify winding algorithm by reusing orientation check.
|
2013-10-20 01:24:07 +02:00 |
|
Jürg Lehni
|
7c4518e4d0
|
Clean up some variable names.
|
2013-10-20 00:59:12 +02:00 |
|
Jürg Lehni
|
5db6db3b76
|
Improve selection serialization to JSON and fix issue in deserialization.
|
2013-10-18 21:12:25 +02:00 |
|
Jürg Lehni
|
782f5c8f7e
|
Fix issue with reading selected segment points from JSON when there are no handles.
The segment short form was misunderstood by the constructor.
|
2013-10-18 20:58:06 +02:00 |
|
Jürg Lehni
|
f7c21144a1
|
Improve handling of strokes in Path#hitTest().
Have it match stroke locations when option.stroke is set even when the path has no stroke.
|
2013-10-18 20:27:47 +02:00 |
|
Jürg Lehni
|
b91c8f93f8
|
Remove Curve. _getEdgeSum() again, and inline code in Path.isClockwise()
|
2013-10-18 19:51:54 +02:00 |
|
Jürg Lehni
|
1fc9f882ca
|
Fix a minor bug in CompoundPath#contains(), improve comments and clean up code.
|
2013-10-18 19:49:05 +02:00 |
|
Jürg Lehni
|
304ecbc3be
|
Define compoundChildren hitTest option to get matching children instead of parent.
|
2013-10-18 15:40:41 +02:00 |
|
Jürg Lehni
|
f8106ae18f
|
Improve code handling special winding cases.
|
2013-10-18 15:20:32 +02:00 |
|
Jürg Lehni
|
75a209c002
|
Handle more special cases in winding algorithm.
|
2013-10-18 15:15:54 +02:00 |
|
Jürg Lehni
|
5d0fd8f970
|
Implement Style#windingRule and use it in Path#contains().
|
2013-10-18 14:54:13 +02:00 |
|
Jürg Lehni
|
4f27be8f12
|
Include new, improved point in path algorithm based on winding number.
It's also possible to switch to using the canvas's native isPointInPath() through options.nativeContains
|
2013-10-18 14:22:59 +02:00 |
|
Jürg Lehni
|
a07538b205
|
Use same tolerance in Curve.isLinear() as in Curve#isLinear().
|
2013-10-17 20:19:34 +02:00 |
|
Jürg Lehni
|
085fa3e1c6
|
Set named arguments at the end, since some depend on geometry to be defined (e.g. #clockwise).
|
2013-10-17 14:03:05 +02:00 |
|
Jürg Lehni
|
73d2c34088
|
Implement item-level #equals() method and clean up other equals methods.
|
2013-10-17 13:08:54 +02:00 |
|
Jürg Lehni
|
9976033655
|
Implement serialization of selection.
|
2013-10-17 12:04:11 +02:00 |
|
Jürg Lehni
|
3958d35f28
|
Change behavior of Path#fullySelected.
Setting it on empty paths does the same as Path#selected.
|
2013-10-17 12:03:46 +02:00 |
|
Jürg Lehni
|
51cf1cfec6
|
Clean up Path#toShape().
|
2013-10-16 23:35:50 +02:00 |
|
Jürg Lehni
|
c4c7a37993
|
Implement Path#toShape(), Segment#isColinear(), Segment#isOrthogonal() and Segment#isArc().
|
2013-10-16 23:10:03 +02:00 |
|
Jürg Lehni
|
b581c84d8b
|
Move CompoundPath#reduce() to Item#reduce().
|
2013-10-16 16:10:28 +02:00 |
|
Jürg Lehni
|
b325aebc77
|
Docs: More smaller fixes.
|
2013-10-16 15:03:29 +02:00 |
|
Jürg Lehni
|
543609c0c6
|
Have Path.Ellipse constructor support negative radius values correctly.
|
2013-10-16 14:25:14 +02:00 |
|
Jürg Lehni
|
c945bf7908
|
Docs: Various smaller clean ups.
|
2013-10-16 14:20:13 +02:00 |
|
Jürg Lehni
|
3af179e2cf
|
Docs: Improve Path constructors.
|
2013-10-16 14:19:25 +02:00 |
|
Jürg Lehni
|
41d6650666
|
Add support for named center & radius arguments to Path.Ellipse.
|
2013-10-16 13:32:40 +02:00 |
|
Jürg Lehni
|
4b636dd31c
|
Clean up Path constructors code.
|
2013-10-16 13:26:08 +02:00 |
|
Jürg Lehni
|
8fdcbce5ac
|
Improve argument reading in Segment.
|
2013-10-16 13:15:08 +02:00 |
|
Jürg Lehni
|
a3d0e0d462
|
Clean up throw statements.
Never throw plain strings.
|
2013-10-14 16:05:50 +02:00 |
|
Jürg Lehni
|
24e46bee60
|
Merge branch 'refs/heads/boolean-fix'
|
2013-10-08 20:50:47 +02:00 |
|
Jürg Lehni
|
0860cdd941
|
Clean up code a bit.
|
2013-10-08 20:49:24 +02:00 |
|
Jürg Lehni
|
9103c19e6f
|
Fix issues with #dashOffset when emulating native dashes.
Closes #303.
|
2013-10-08 10:50:59 +02:00 |
|
Jürg Lehni
|
1ee6bb7e79
|
Use isZero() when checking for straight curves in Curve.getLength()
|
2013-09-23 08:13:32 -07:00 |
|
Jürg Lehni
|
509ac48951
|
Fix indentation levels.
|
2013-09-22 18:18:22 -07:00 |
|
Jürg Lehni
|
cae4520665
|
Simplify addCurveLineIntersections() code.
|
2013-09-22 18:18:03 -07:00 |
|
hkrish
|
8434b4bebe
|
Fix: Syntax error!
|
2013-09-22 17:49:10 +02:00 |
|
hkrish
|
f9b4321a56
|
Boolean -fix: Interpolate to find the parameter of intersection in linear curve segments
|
2013-09-21 17:26:14 +02:00 |
|
hkrish
|
0a22211393
|
Conform to paperjs coding style.
|
2013-09-21 15:26:14 +02:00 |
|
hkrish
|
4f54ac1f4c
|
Boolean -fix: Correctly perform boolean operations regardless of the input paths' winding direction
|
2013-09-17 19:50:13 +02:00 |
|
hkrish
|
669fb1638a
|
Boolean -fix: Preserve the order of intersections found (Curve-Line) according to the PathItem they belong to.
|
2013-09-13 02:44:51 +02:00 |
|
hkrish
|
abe0e5e059
|
Boolean -fix: CurveLocation now keeps track of the correct segment at intersections
|
2013-09-13 00:08:43 +02:00 |
|
Jürg Lehni
|
19c7788617
|
Fix documentation irregularities.
|
2013-08-23 19:45:28 -07:00 |
|
Jürg Lehni
|
6b19f25f4b
|
Fix typos in comments.
|
2013-08-08 15:21:35 -07:00 |
|
Jürg Lehni
|
aa4d990c90
|
Move and unify handling of Item#_set(props) to new Item#_initialize(), and add support for props.insert = false.
|
2013-07-21 15:45:22 -07:00 |
|
Jürg Lehni
|
93c90d0cd8
|
Do not insert boolean operation clones into DOM.
|
2013-07-19 18:46:28 -07:00 |
|
Jürg Lehni
|
b7aea1e527
|
Use insert: false option in creation of all clones.
Still needs implementing in Item constructor.
|
2013-07-19 18:42:13 -07:00 |
|
Jürg Lehni
|
20a17f2939
|
Implement insert parameter in Item#clone() to control DOM insertion.
Defaults to true. Also insert in the right place now, above the original.
|
2013-07-19 18:27:00 -07:00 |
|
Jürg Lehni
|
ef4eee1064
|
Pass true for isParameter in Curve#divide() calls.
Closes #252.
|
2013-07-04 19:39:55 -07:00 |
|
Jürg Lehni
|
e8765d18d5
|
Make argument reading more flexible by introducing options object for readNull and clone, and passing it on to the constructor through this.__options for additional values.
|
2013-06-28 07:37:03 -07:00 |
|
Jürg Lehni
|
8f254202e8
|
Use new @operator tag to mark math operator methods.
|
2013-06-28 05:59:07 -07:00 |
|
Jürg Lehni
|
6833e9d8e0
|
Fix {@default 0.5} values in documentation.
|
2013-06-27 18:15:10 -07:00 |
|
Jürg Lehni
|
e63edba0b5
|
Clean up various documentations a bit.
|
2013-06-27 18:03:03 -07:00 |
|
Jürg Lehni
|
7ade053dea
|
Move Path.Circle constructor above Path.Rectangle.
|
2013-06-27 17:54:00 -07:00 |
|
Jürg Lehni
|
f9925a71ea
|
Improve documentation for Path#split(), Curve#divide() and Curve#split().
Closes #189.
|
2013-06-27 17:18:57 -07:00 |
|
Jürg Lehni
|
9f5b543ab5
|
Fix getCurveAt() signature.
|
2013-06-27 17:13:00 -07:00 |
|
Jürg Lehni
|
38db18c2e1
|
Remove isParameter from Curve.evaluate()
|
2013-06-27 17:12:35 -07:00 |
|
Jürg Lehni
|
c123468d7a
|
Clean up Path#join() code.
|
2013-06-27 16:06:24 -07:00 |
|
Jürg Lehni
|
2b236a3da8
|
In Path#join, add first segment of second path again at the end after joining, if it was closed.
Closes #249.
|
2013-06-27 15:43:26 -07:00 |
|
Jürg Lehni
|
6d38401f0c
|
Use faster direct Curve constructor instead of Base.create().
|
2013-06-25 09:58:18 -07:00 |
|
Jürg Lehni
|
52c889428b
|
Remove Curve.create() in favor of direct constructor.
|
2013-06-25 09:54:13 -07:00 |
|
Jürg Lehni
|
7e24de7c74
|
Replace SegmentPoint.create() in favor of normal constructor.
|
2013-06-25 09:48:51 -07:00 |
|
Jürg Lehni
|
1866e4ff15
|
Remove need for all special arguments in minification, and restructure code to avoid warnings.
|
2013-06-24 10:15:54 -07:00 |
|
Jürg Lehni
|
7975232ee7
|
Remove workaround for obscure WebKit bug.
It wasn't fully working either. Solution:
https://bugs.webkit.org/show_bug.cgi?id=109961
|
2013-06-24 09:37:25 -07:00 |
|
Jürg Lehni
|
a4535edbb9
|
Bring back _class names, since code minification breaks reliance on constructor.name.
Closes #248.
|
2013-06-23 20:18:32 -07:00 |
|
Jürg Lehni
|
dff39dff78
|
Use local bounds for hit-testing.
Fixes issue #247.
|
2013-06-23 19:49:36 -07:00 |
|
Jürg Lehni
|
719b9d5e24
|
Move logic that determines if item can be directly composited into separate per-item #_canComposite() method.
|
2013-06-19 08:22:08 -07:00 |
|
Jürg Lehni
|
258c404b98
|
Move curvature calculations into Curve.evaluate(), and define unit tests for it.
|
2013-06-18 19:00:05 -07:00 |
|
Jürg Lehni
|
619a8f88f8
|
Clean up code a bit in Curve#getCurvatureAt().
|
2013-06-18 18:29:44 -07:00 |
|
Jürg Lehni
|
f758fb306b
|
Rename #_applyMatrix to #_transformContent.
And swap names with private function...
|
2013-06-18 15:50:11 -07:00 |
|
Jürg Lehni
|
75acdf1025
|
Add support for direct drawing of native blendModes for items that allow it.
Bypassing compositing into separate canvases completely.
|
2013-06-18 14:18:57 -07:00 |
|
Jürg Lehni
|
8cf09c08d9
|
Merge branch 'master' of github.com:paperjs/paper.js
|
2013-06-18 08:02:22 -07:00 |
|
Jürg Lehni
|
ab2bfe2d40
|
Rename nativeDash to dash.
|
2013-06-17 15:52:16 -07:00 |
|
hkrish
|
d4d2075040
|
Fix: Use absolute coordinates from #Curve.getValues() directly while calculating the curvature
|
2013-06-17 22:27:20 +05:30 |
|
Jürg Lehni
|
8a726f22b2
|
Clean up comments.
|
2013-06-17 08:57:30 -07:00 |
|
Jürg Lehni
|
b072df0486
|
Put isEnd value directly into conditional.
|
2013-06-17 08:56:42 -07:00 |
|
Jürg Lehni
|
18ad8a235d
|
Clean up code to follow Paper.js coding conventions.
|
2013-06-17 08:26:51 -07:00 |
|
Jürg Lehni
|
be6bbb802d
|
Move calculations of values to where they are needed.
|
2013-06-17 08:22:28 -07:00 |
|
Jürg Lehni
|
5ff990a84a
|
Fix global variable leakage, and join sequential variable definitions.
|
2013-06-17 08:10:57 -07:00 |
|
hkrish
|
2693516844
|
Implement correct method for calculating curvature on a Path
|
2013-06-17 15:16:11 +05:30 |
|
Jürg Lehni
|
f8367bb0dd
|
More clean-ups.
|
2013-06-15 05:24:34 -07:00 |
|
Jürg Lehni
|
79785afa2a
|
Minor clean-ups and optimizations of stroke hit-test code.
|
2013-06-15 05:21:17 -07:00 |
|
Jürg Lehni
|
8c09d19f7c
|
Fix wrong calculation of rough bounds for square caps.
And add some comments to stroke hit-testing code.
|
2013-06-15 05:15:48 -07:00 |
|
Jürg Lehni
|
26971672b2
|
Only check segments for miters that are within the limit.
|
2013-06-15 05:08:12 -07:00 |
|
Jürg Lehni
|
be1098e006
|
Further improve stroke hit-testing.
Properly detect all miter joins.
|
2013-06-15 05:06:09 -07:00 |
|
Jürg Lehni
|
d318057897
|
Implement Segment#getLocation()
|
2013-06-15 05:05:10 -07:00 |
|
Jürg Lehni
|
1cab9aad90
|
Improve stroke hit-testing.
|
2013-06-15 03:12:57 -07:00 |
|
Jürg Lehni
|
eb32bad57e
|
Fix imprecision in #getNearestLocation()
|
2013-06-15 03:12:29 -07:00 |
|
Jürg Lehni
|
38f832a888
|
Remove console.log()
|
2013-06-15 02:25:44 -07:00 |
|
Jürg Lehni
|
8b9fb3741d
|
Implement proper stroke hit-testing for all variations of joins and caps.
|
2013-06-15 02:24:59 -07:00 |
|
Jürg Lehni
|
e4ba0d80b6
|
Simple code improvement in #isClockwise().
|
2013-06-14 23:18:29 -07:00 |
|