Commit graph

785 commits

Author SHA1 Message Date
Jürg Lehni
10bdafa826 Simplify preserving of native classes in tests 2019-06-09 13:42:20 +02:00
sapics
c30767ed2e Fix SvgExport when item.matrix is not invertible 2019-06-07 22:44:44 +02:00
Samuel Asensi
de824e1846 Fix exported SVG missing viewBox attribute (#1576)
SVG viewBox attribute was not added when bounds rectangle point was 0,0.
2019-06-07 22:30:01 +02:00
sasensi
314390d789 Improve new Raster(size[, position]) constructor
Closes #1621
2019-06-07 22:25:44 +02:00
Samuel Asensi
598d9a3356 Add SVG switch support (#1597)
SVG <switch> is simply parsed as a group because conditional attributes
cannot be evaluated in paper.js context.
Relates to #1389
2019-06-07 15:06:46 +02:00
Jürg Lehni
da137fa8e4 Use comparePixels() instead of compareCanvas() 2019-06-05 18:16:56 +02:00
Jürg Lehni
2cb55a839d Update dependencies 2019-06-05 18:13:22 +02:00
Jürg Lehni
88c4275fa3 Keep code on 80 chars per line 2019-06-05 17:36:56 +02:00
Jürg Lehni
022a4c9c81 Fix temporary test name 2019-06-05 17:35:42 +02:00
sapics
be4199b6eb Update copyright year to 2019 2018-12-27 16:13:01 +09:00
sapics
5904a288e7 Fix css color parse 2018-12-14 11:44:24 +01:00
sapics
cfc5a912da Replace url to avoid redirection
Replace http://jonathanpuckey.com to https://puckey.studio
2018-11-14 11:24:32 +01:00
Samuel Asensi
2968faad51 Fix empty image drawing (#1605)
Empty raster (for example coming from path with empty bound
rasterization, ...) drawing threw error.
This change prevent raster drawing in that case.
Closes #1320
2018-11-14 11:21:40 +01:00
sasensi
655a4dabd0 Add tolerance parameter to test method compareCanvas() 2018-11-06 12:07:01 +01:00
sasensi
337538b21a Remove reference to CanvasProvider in test methods 2018-11-06 11:26:12 +01:00
sasensi
2e75467fb4 Fix group selected bounds and position color
Group selected color was applied differently to its bounds and position
depending on whether it had children or not when selected color was set.
This resulted in an unpredictable behaviour from a user point of view.
To change that:
- When `item.setSelectedColor()` is called, value is now always stored
in `item._style._values`, independently from the fact that item has
children or not.
- An helper method `compareCanvas()` is added to the test suite to allow
comparing selection rendering of a known working case to a failing one.
Two provided callbacks are executed in a dedicated `<canvas>`/`Project`
context and both results are compared with `resemble.js`.
2018-11-06 11:26:12 +01:00
sasensi
e9135589b1 Fix mousedrag error with in front items
When dragging item A behind item B, mousedrag event was emitted on
item B instead of mousemove.
Bug introduced in fbd5eeb
Closes #1465
2018-10-20 15:59:18 +02:00
sasensi
6a3b8fc384 Minor code refactoring to try to make online build pass 2018-10-17 18:08:54 +02:00
sasensi
07d2edac74 Fix mouse interactions tests error
Mouse interactions tests only passed in `gulp load` context.
This make sure that native event classes are used in built context.
This also remove the reference to `CanvasProvider` which is not
available in built context.
Fixes bug introduced in #1570
2018-10-17 18:08:54 +02:00
Jürg Lehni
d325fce909 Travis CI: Fix error during tests 2018-10-17 17:38:42 +02:00
sasensi
3fd73f92f2 Minor code refactoring 2018-10-17 14:40:05 +02:00
sasensi
1bd67b2d9b Add mouse interaction tests
- Tests common mouse interactions scenarios to prevent regressions
when making changes. These tests are not run in node context.
- Prevent name collision between Javascript native classes and Paper.js
classes (Event and MouseEvent) by patching load.js.
- Uses a polyfill for MouseEvent which is missing in PhantomJS.
- Adds View._clearState() method and use it in tests to make sure that
each new test is started with a fresh state.
2018-10-17 14:40:05 +02:00
sapics
e3ed85e395 Fix error in single segment closed path flatten 2018-10-15 11:01:51 +02:00
Takahiro Nishino
6f2d75442c Improve color parsing for 4 characters hex code (#1565) 2018-10-14 21:44:22 +02:00
Samuel Asensi
8bef865892 Fix children global matrices are not cleared (#1552)
Between a parent transformation and next view update, children global
matrix was invalid, leading to wrong global coordinates calculation.
Closes #1448
2018-10-13 16:28:20 +02:00
Samuel Asensi
60f9d868a6 Fix Path#arcTo() do not pass by through point (#1543)
Closes #1477
2018-10-13 15:33:21 +02:00
Samuel Asensi
5cd1ca13c5 Fix item global matrix error (#1562)
Bug happen when item is drawn after an empty symbol that should be drawn
in a separate canvas context (partial opacity or special blend mode).
As bounds are empty, symbol drawing process is interrupted but its
global matrix is not removed from the stack.
Closes #1561
2018-10-13 14:41:38 +02:00
Jürg Lehni
4c035ada36 Minor fixes in comments and tests. 2018-10-10 23:03:57 +02:00
Jürg Lehni
fd1a517e84 Improve hex Color parser
Addresses changes in #1469
2018-10-06 21:57:30 +02:00
PeterLazar
a8f78859cb Add hexadecimal with alpha color parsing
Closes #1468
2018-10-05 20:14:20 +02:00
Samuel Asensi
c235d6a917 Implement Curve#getTimesWithTangent()
and Path#getOffsetsWithTangent()
2018-10-05 09:44:42 +02:00
Jürg Lehni
47af603173 Support alpha channel in named CSS colors
Closes #1539
2018-10-04 17:26:48 +02:00
Jürg Lehni
28dec90a88 Wrap up Raster#smoothing feature 2018-10-03 19:01:02 +02:00
Jürg Lehni
144370169e
Merge pull request #1529 from sasensi/Fix_#1521_adding_raster.smoothing_property
Fix #1521 adding Raster.smoothing property
2018-10-03 18:38:01 +02:00
Jürg Lehni
6a278c040a Minor clean-ups for the past few PRs 2018-10-03 18:21:26 +02:00
Jürg Lehni
959ccc83c2
Merge pull request #1531 from sasensi/Fix_#1503_Item#position_caching_issue
Fix #1503 Item#position caching issue
2018-10-03 17:33:24 +02:00
Jürg Lehni
27b92a6007 Improve handling of push() with lots of items
Improves fix for #1493, should pass CI again
2018-10-03 16:45:38 +02:00
Jürg Lehni
da3a36230f Color: Improve CSS string parser and docs 2018-10-03 15:56:15 +02:00
Jürg Lehni
a148e61129
Merge pull request #1534 from sasensi/Fix_#1493_Path#add_crashes_whith_1000000_segments
Fix #1493 Path#add crashes whith 1000000 segments
2018-10-03 10:18:15 +02:00
sasensi
f673542640 Refactor code to fit style rules 2018-10-02 19:28:35 +02:00
sasensi
fc5bb4b10e Fix #1493 Path#add crashes whith 1000000 segments 2018-10-02 14:09:34 +02:00
sasensi
704d37be2f Fix #1503 Item#position caching issue 2018-10-01 19:25:04 +02:00
sasensi
07ae09a76a Fix #1521 adding raster.smoothing property 2018-09-30 18:46:02 +02:00
Jürg Lehni
ef2c56b164
Merge pull request #1515 from sasensi/Fix_#1506_#1513_by_checking_winding_quality_in_boolean_subtraction
Fix #1506 #1513 by checking winding quality in boolean subtraction
2018-09-29 14:51:18 +02:00
sapics
1331554862 Fix:test replace gif to png because jsdom causes error 2018-09-29 08:55:41 +09:00
sasensi
9a8aae00bd Fix #1506 #1513 by checking winding quality in boolean subtraction 2018-09-26 14:05:29 +02:00
Jonathan Park
74bb49d8c0 fix issue with svg import of raster images
When importing rasters after load if the image has a matrix with any translation/skew value
the image will calculate the wrong matrix after loading.

In order to correct this we append the translation rather than prepend so
that it happens in the correct order relative to the transformation.
2018-03-02 00:19:43 +00:00
Jürg Lehni
10f464edfc Boolean: Check that overlaps are on the right path
Closes #1321
2017-10-04 17:52:09 +02:00
Jürg Lehni
188c006197 Update to straps.js v3.0.1 and make all functions and accessors enumerable. 2017-04-22 18:50:53 +02:00
Jürg Lehni
e46c8ec340 Overhaul the caching of bounds and matrix decomposition.
Improves reliability of Item#rotation and #scaling and fixes situations caused by wrongly cached #position and #bounds values.
2017-04-22 12:55:42 +02:00