Commit graph

188 commits

Author SHA1 Message Date
Jürg Lehni
2fea40f86f Introduce new Item#copyAttributes() & #copyContent(), and revamp #clone() handling. 2015-12-30 21:55:17 +01:00
Jürg Lehni
386632b0be Implement new version of #reorient() and merge with #resolveCrossings()
As proposed by @iconexperience in #854
2015-12-30 21:55:17 +01:00
Jürg Lehni
a5f05c90f5 Rename #windingRule to #fillRule.
...keeping deprecated aliases on Style and Item around for now.

Closes #858
2015-12-30 21:55:17 +01:00
sapics
9c1c00c11e Minor minification 2015-12-30 21:52:34 +01:00
Jürg Lehni
fcd4fe824c Pass Item.NO_INSERT to internally created paths and do not rely on insertAbove() to always return a result.
If `this` itself is not in the DOM, insertAbove() will fail.
2015-10-24 17:45:22 +02:00
Jürg Lehni
fbb0f3f37d Remove left-over debugging code. 2015-09-13 21:50:35 +02:00
Jürg Lehni
b231e9b2a8 Accept CompoundPath items as children of CompoundPath items.
Just add their children and remove the parent.

Closes #541
2015-09-13 16:06:24 +02:00
Jürg Lehni
3da921a0b0 Improve CompoundPath#reduce() to properly reduce suppaths.
Relates to #779
2015-09-12 11:43:41 +02:00
Jürg Lehni
b52d343527 Use same notation for all injection scopes. 2015-09-06 16:48:23 +02:00
Jürg Lehni
cf813faa75 Remove all mention of points and square points as units.
And some other doc clean-ups.
2015-09-06 16:37:10 +02:00
Jürg Lehni
69a2fcff46 Pass on correct matrix in CompoundPath#getPathData(). 2015-08-26 04:28:30 +02:00
Jürg Lehni
b541088c6f A whole lot of documentation clean-up. 2015-06-16 17:50:37 +02: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
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +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
846c806034 Implement non-scaling strokes through Style#strokeScaling.
Closes #418.
2014-05-13 13:38:51 +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
e1ed7f3294 Prevent drawing selected compound path children twice. 2014-05-12 18:57:09 +02:00
Jürg Lehni
397c81e060 Switch from options.type to options.class in Item#hitTest(), to reflect recent change in Item#getItems(). 2014-04-13 16:43:20 +02:00
Jürg Lehni
eea4e533a4 Support type: Class filters in hit-testing code too. 2014-04-10 22:27:03 +02:00
Jürg Lehni
f953331edb Implement correct selection drawing for CompoundPath.
Closes #402.
2014-04-07 11:22:25 +02:00
Jürg Lehni
f002c633a7 Remove trailing white spaces and ensure newlines at the end. 2014-04-06 13:48:03 +02:00
Jürg Lehni
59da291d54 Remove tabs in examples in favor of 4 spaces.
To remove all these annoying JSHint complaints.
2014-04-02 21:03:35 +02:00
Jürg Lehni
fa9786b344 Switch to new simpler convention for control of beans creation in straps.js 2014-04-02 20:53:18 +02:00
Jürg Lehni
4108e9487b Add optional joining behavior to PathItem#closePath() again and use it in #setPathData(). 2014-03-31 19:33:38 +02:00
Jürg Lehni
833d71f7ea Remove Item#type and replace it with Item#className, the non-hyphenated version of #type. 2014-03-18 11:42:38 +01:00
Jürg Lehni
438de7013a Correctly handle groups as clipping masks.
Closes #370.
2014-03-17 14:51:47 +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
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
3d2b53789c Move _getMonoCurves() definitions to PathItem.Boolean.js 2014-02-20 20:00:46 +01:00
Jürg Lehni
56bf87ce84 Rename _getMonotoneCurves() to _getMonoCurves()
Shorter is better...
2014-02-20 00:24:09 +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
1a0eead28c Various code and comment clean-ups in new bool-op code. 2014-02-19 23:18:14 +01:00
hkrish
87ded4dcff Merge master 2014-02-15 00:02:02 +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
hkrish
0134596f66 _getMonotoneCurves method which returns and caches curves that are monotonic in Y direction 2013-12-25 20:38:48 +01:00
hkrish
70070c14d2 Avoid creating proxy array objects 2013-12-24 19:00:33 +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
afe00add32 Implement option.type filtering in #hitTest() functions. 2013-12-08 16:32:42 +01:00
Jürg Lehni
a50adb1020 Implement constructors for Path and CompoundPath that can handle SVG-style path-data. 2013-12-06 18:09:44 +01:00
Jürg Lehni
92590b160c Implement Canvas Path caching again using Context#currentPath. 2013-12-06 12:49:46 +01:00
Jürg Lehni
593e0d8d7f Remove Base.merge() and use a new Straps.js feature instead.
A more clever Base() constructor that allows merging.
2013-11-28 22:20:00 +01:00
Jürg Lehni
1049214126 Remove ctx.currentPath caching again, since it has the current affine transformation factored in and is thus useless to us. 2013-11-06 12:53:10 +01:00
Jürg Lehni
5630b7e415 Implement caching of drawn Canvas Path objects for better performance.
Already supported on recent Chrome and Safari.
2013-11-04 11:46:20 +01:00
Jürg Lehni
0ded3ae0ba Implement PathItem#cubicCurveBy() and #quadraticCurveBy()
Closes #284.
2013-10-30 01:43:55 +01:00
Jürg Lehni
eecf68b7c3 Clear ctx.shadowColor after ctx.fill() to avoid application to both fill and stroke.
Closes #314.
2013-10-30 00:00:04 +01:00
Jürg Lehni
c43752dc3e Use #hasFill() and #hasStroke() more broadly and avoid drawing strokes when strokeWidth is set to 0. 2013-10-29 20:05:39 +01:00