Jürg Lehni
9c9f43d2c9
Implement failing test for #968
2016-02-14 12:44:03 +01:00
Jürg Lehni
4a947317fb
Implement #hitTestAll() on Item and Project
...
Along with unit tests and documentation.
Closes #536
2016-02-14 12:39:35 +01:00
Jürg Lehni
3ee46ffc5c
Matrix: Switch to a better implementation of #decompose()
...
This now also correctly handles skewing in SVG export.
2016-02-14 10:59:57 +01:00
Jürg Lehni
c3fff9fa83
Switch from new Base() to Base.set({}) where possible.
2016-02-13 23:10:09 +01:00
Jürg Lehni
009761d13c
Boolean: Only compare segments when determining if paths are identitcal.
2016-02-13 22:58:42 +01:00
Jürg Lehni
3348fb736f
Boolean: Implement proper handling of fully overlapping (identical) paths and sub-paths.
...
Closes #923 , closes #958
2016-02-13 22:41:09 +01:00
Jürg Lehni
84a75e375a
Remove unnecessary edge-case handling in CurveLocation#isCrossing()
...
Closes #951 , closes #959
2016-02-12 20:52:19 +01:00
Jürg Lehni
e2bc83af5d
Add test for #960 and improve fix a bit.
...
Closes #960
2016-02-12 20:19:40 +01:00
Jürg Lehni
80c8aae5bc
Implement unit tests for Item#getItems() with overlapping / inside properties.
...
Relates to #961
2016-02-12 20:09:41 +01:00
Jürg Lehni
6d5d1ce077
Introduce Base.filter(), to copy and filter object properties.
2016-02-12 19:58:32 +01:00
Jürg Lehni
55c5f42716
Part 1 of large refactoring of bounds handling.
2016-02-12 17:59:37 +01:00
Jürg Lehni
cb79232e12
Travis CI: Use Arial in all tests.
2016-02-11 12:58:06 +01:00
Jürg Lehni
c0b39c4b8f
Tests: Implement additional tests for SvgImport.
2016-02-11 12:51:48 +01:00
Jürg Lehni
df57c4adb9
SVGImport: Improve consistency of style handling.
2016-02-11 11:06:09 +01:00
Jürg Lehni
8542eb62b4
Gulp: Add test:browser task, to solve CORS issues on Chrome.
2016-02-11 10:05:21 +01:00
Jürg Lehni
9e8fcee8cd
Change implementation of PathItem#flatten(flatness)
...
- flatness parameter specifies maximum allowed error instead of maximum allowed distance between point
- Parts that are already flat are not further flattened
- Corners are preserved
Closes #618
2016-02-10 14:58:40 +01:00
Jürg Lehni
ed4347714b
Remove duplicate unit tests.
2016-02-10 13:26:40 +01:00
Jürg Lehni
0ae232e4ab
Implement support for clip-masks in hit-testing.
...
Closes #671
2016-02-09 17:02:03 +01:00
Jürg Lehni
0371f66bda
Do not snap curve points to t = 0 / 1 with epsilon
...
Closes #936 . Also:
- Reduce CLIPPING_EPSILON to 1e-9 to fix errors that were masked by the snapping
- Implement unit tests for edge cases in #936
2016-02-06 15:12:35 +01:00
Jürg Lehni
a59a5354fb
Clean-up unit test for #943 and add edge case from #944
...
See https://github.com/paperjs/paper.js/pull/944#issuecomment-180370569
2016-02-05 21:18:16 +01:00
Jürg Lehni
5a46620768
Merge branch 'winding-fix' into develop
...
; Conflicts:
; src/path/PathItem.Boolean.js
2016-02-05 20:25:25 +01:00
iconexperience
e03c8cd198
Replace the "straight curves with zero-winding" test with a more comprehensive one containing more special cases. Also, this test requires that all points on a curve of a path must be counted as inside the path.
2016-02-05 12:45:33 +01:00
Jürg Lehni
336460b51f
Define unit test for #internalBounds regression.
2016-02-03 17:38:30 +01:00
Jürg Lehni
922a502ee2
Add #interpolate() method to Segment, Path and CompoundPath
...
Closes #624
2016-02-02 22:11:06 +01:00
Jürg Lehni
5e53939006
Do not include text-styles in items that don't relate to text.
...
Closes #934
2016-02-02 21:43:44 +01:00
Jürg Lehni
a02d7248c0
Move Path_Bounds tests to Item_Bounds.
...
And add a test for shape.strokeBounds without strokeScaling.
2016-02-02 13:55:36 +01:00
Jürg Lehni
21dce1a655
Implement tests for #697
...
One currently failing due to caching issues.
2016-02-02 13:28:06 +01:00
Jürg Lehni
340a1e2a5f
Rename curve-time in API from 'parameter' to 'time'
...
And create separate versions of methods that receive curve-time arguments instead of offsets.
Curve#getNormalAt(time, true) -> #getNormalAtTime(true)
Curve#divide() -> #divideAt(offset) / #divideAtTime(time)
Curve#split() -> #splitAt(offset) / #splitAtTime(time)
Curve#getParameterAt(offset) -> #getTimeAt(offset)
Curve#getParameterOf(point) -> getTimeOf(point)
Curve#getPointAt(time, true) -> #getPointAtTime(time)
Curve#getTangentAt(time, true) -> #getTangenttTime(time)
Curve#getNormalAt(time, true) -> #getNormalAtTime(time)
Curve#getCurvatureAt(time, true) -> #getCurvatureAtTime(time)
CurveLocation#parameter -> #time
Path#split(offset/location) -> #splitAt(offset/location)
Closes #563
2016-02-02 11:59:53 +01:00
Jürg Lehni
45595b2b1d
Fix unit test error on Node.js
2016-02-01 20:20:38 +01:00
Jürg Lehni
a12e99e387
Implement unit tests for SVG Importing, based on visual comparison.
...
For now, one test for #932
2016-02-01 20:15:37 +01:00
Jürg Lehni
af5984747f
SVG: Rename 'SVG' prefix to 'Svg'
...
- To make it clear it's not browser-provided functionality
- To reflect how DomElement / DomEvent are already named, for the same reason
2016-02-01 12:50:22 +01:00
Jürg Lehni
d68239a541
SVG: Introduce SVGNode object to handle SVG Elements.
2016-02-01 12:31:18 +01:00
Jürg Lehni
bc2729683c
Core: Renamed Symbol and PlacedSymbol classes and properties.
...
- Symbol -> SymbolDefinition
- PlacedSymbol -> SymbolItem
- Symbol#definition -> SymbolDefinition#item
- PlacedSymbol#symbol -> SymbolItem#definition
- Deprecate Project#symbols
Closes #770
2016-01-31 16:52:51 +01:00
Jürg Lehni
567f286774
Tests: Switch to our own gulp-qunits module.
...
Since it handles PhantomJS as well as Node.js execution, and formats errors identically and quickly.
2016-01-31 12:43:38 +01:00
Jürg Lehni
e0429f44df
Tests: Improve QUnit test logging and various cleanup on helpers.
2016-01-31 12:43:38 +01:00
Jürg Lehni
c22911f43b
Travis CI: Try installing msttcorefonts to solve the font-size issue in tests.
2016-01-31 12:43:32 +01:00
Jürg Lehni
1c1ff8c808
Travis CI: Try to fix failing test on Travis by specifying font.
2016-01-31 12:43:26 +01:00
Jürg Lehni
639bf07a47
Tests: Clean up Emitter tests.
2016-01-31 12:43:20 +01:00
Jürg Lehni
4c84c3dad5
Tests: Start getting QUnit tests to work on Node.js
...
Work in progress…
2016-01-31 12:43:20 +01:00
Jürg Lehni
0b991cefdd
Only mark an image as loaded if it actually has src set and is complete.
2016-01-27 10:45:39 +01:00
Jürg Lehni
4dd0099094
Fix some linting errors.
2016-01-26 20:33:42 +01:00
Jürg Lehni
fb9bdb4b39
Fetch all dev-dependencies NPM instead of Bower.
2016-01-23 19:01:38 +01:00
Jürg Lehni
ab68c5b272
Implement unit tests for #899 .
2016-01-12 12:02:27 +01:00
Jürg Lehni
9a148700b7
Implement unit test for edge case from #799 .
2016-01-09 12:16:50 +01:00
Jürg Lehni
c064cb6c43
Implement additional unit tests for dealing with sibling items with the same name.
2016-01-08 16:41:33 +01:00
Jürg Lehni
9eb3e8777e
Define unit tests for curve unlinking.
2016-01-08 15:17:40 +01:00
Jürg Lehni
61f5f9bcfa
Implement unit test for #757
...
Currently failing.
2016-01-08 12:28:43 +01:00
Jürg Lehni
3c66c013d1
Implement correct behavior for intersection, subtraction and intersection of fully overlapping paths.
2016-01-08 01:25:35 +01:00
Jürg Lehni
9c1aa47162
Implement unit test for 2nd edge case in #890
2016-01-07 23:19:47 +01:00
Jürg Lehni
1078e1f8a9
Implement winding fix suggested by @iconexperience.
...
Along with a unit test for the issue.
Closes #890
2016-01-07 10:02:43 +01:00