Jürg Lehni
7278ee4374
Make JSON serialization work for Shapes.
2013-12-09 17:27:41 +01:00
Jürg Lehni
407a7fcde7
Support Size and Point arguments in Rectangle#expand()
2013-12-09 16:21:37 +01:00
Jürg Lehni
1e9fc61644
Fix issues with deserializing selection states.
2013-12-09 15:18:43 +01:00
Jürg Lehni
007b780763
Make font properties disappear in JSON.
2013-12-09 15:15:10 +01:00
Jürg Lehni
94d5a09b7b
Do not inherit selection behavior from Group in Layer.
2013-12-09 15:10:09 +01:00
Jürg Lehni
44e913201d
Switch back to instanceof checks.
...
As people are started to subclass Paper.js classes...
2013-12-09 15:04:44 +01:00
Jürg Lehni
e238d23194
Implement caching of internal, untransformed bounds.
2013-12-09 10:53:19 +01:00
Jürg Lehni
5197dd81c5
Fix #fontWeight examples and documentation.
2013-12-09 10:17:10 +01:00
Jürg Lehni
81fe98d1bb
Make cachedBounds mechanism work for Symbols.
2013-12-09 09:05:29 +01:00
Jürg Lehni
f8f60ec603
Fix slow-down in bounds caching.
2013-12-09 08:58:37 +01:00
Jürg Lehni
2cd3de8188
Improve versioning of _globalMatrix
2013-12-09 07:51:28 +01:00
Jürg Lehni
663836ae41
Correctly handle mousemove events when switching between canvases or leaving the document.
...
Closes #250 .
2013-12-08 23:57:46 +01:00
hkrish
b471b90229
Fatline clipping: Iterate to find intersections
2013-12-08 23:29:38 +01:00
hkrish
68b9adac95
Modify old clipFatline code to a much cleaner version
2013-12-08 23:15:18 +01:00
hkrish
45e35aad83
New CurveCurveINtersections code; doing the fatline clip inplace.
2013-12-08 23:14:13 +01:00
Jürg Lehni
17e4078e3b
Fix a newly introduced bug in drawSegments()
2013-12-08 22:16:27 +01:00
Jürg Lehni
064d632d65
More matrix related clean-ups.
2013-12-08 22:12:36 +01:00
Jürg Lehni
238f577e6f
Clean up _getCachedBounds() code.
2013-12-08 22:06:32 +01:00
Jürg Lehni
8cec512cc2
Take matrices into account in PathItem#getIntersections()
2013-12-08 22:00:40 +01:00
Jürg Lehni
516b9d040f
Apply matrices before calculating boolean path operations.
2013-12-08 21:39:56 +01:00
Jürg Lehni
3cd141170a
Implement Style#fontFamily and #fontWeight as a replacement for #font.
...
Closes #60 .
2013-12-08 21:12:51 +01:00
Jürg Lehni
24ce35cc6e
Make sure items removed from DOM remove all their events and reinstall them again when reinserted.
...
Closes #254 .
2013-12-08 20:40:30 +01:00
Jürg Lehni
97fcd6ff38
Implement Item#getGlobalMatrix(), #globalToLocal() and #localToGlobal()
...
Closes #270 .
2013-12-08 20:04:10 +01:00
Jürg Lehni
696b5f29b9
Implement View#pause() and View#play() to start and stop animation.
2013-12-08 19:35:20 +01:00
Jürg Lehni
6e5d8939d5
Rename View#draw() -> View#update() and remove checkRedraw argument.
...
We always check for changes, since change propagation should work reliably.
2013-12-08 19:15:58 +01:00
hkrish
6c5e18ae45
New clip convex-hull routine
2013-12-08 19:09:59 +01:00
Jürg Lehni
c75d48cf98
Fix comments.
2013-12-08 18:45:11 +01:00
Jürg Lehni
fc4e88c039
Change the way segments, points and handles are selected and deselected.
...
There is no interdependency anymore, except for selecting a segment selects the point and both handles, and selecting a curve selects both points and handles.
Closes #355
2013-12-08 18:06:31 +01:00
Jürg Lehni
afe00add32
Implement option.type filtering in #hitTest() functions.
2013-12-08 16:32:42 +01:00
Jürg Lehni
2884894d0f
Implement hit-testing tolerance for fill tests.
...
Closes #278 .
2013-12-08 12:15:10 +01:00
hkrish
834c8d17a9
Declutter getConvexHull code.
2013-12-08 00:18:47 +01:00
hkrish
baa189bb19
getConvexHull returns upper and lower part of the c-hull seperately
2013-12-08 00:11:13 +01:00
Jürg Lehni
61f2f5c978
Put constructors into separate ctor variables when handling dontLink parameters before creating objects.
...
This hopefully solves the mysterious issue #360 on Chrome.
2013-12-07 20:03:23 +01:00
Jürg Lehni
acc0e80d78
Implement registration point for all items.
...
Allowing any item to use another point than the center as its anchor point for item.position.
2013-12-07 19:46:12 +01:00
Jürg Lehni
7800e5f84e
Clean up strange constructor notation that causes linting issue.
2013-12-07 19:45:10 +01:00
Jürg Lehni
2401b38b03
Fix issue with group.position not updating when content changes.
2013-12-07 19:17:59 +01:00
Jürg Lehni
054356c78d
Fix drawing of closed path with only one segment.
2013-12-07 16:16:04 +01:00
Jürg Lehni
f166b08257
Simplify addCap() function.
2013-12-07 16:11:02 +01:00
Jürg Lehni
eb1f62b908
Improve strokeBounds fix for paths with only one segment.
2013-12-07 16:07:51 +01:00
msand
e431154e0e
Fix indent.
2013-12-07 16:09:50 +02:00
msand
73b1b9843a
Wrote failing test for strokeBounds on paths with a single segment and strokeColor. Implemented fix for failing test.
2013-12-07 15:59:45 +02:00
Jürg Lehni
758c9b6146
Improve caching of decomposed transformation values.
2013-12-07 12:47:16 +01:00
Jürg Lehni
9ca92165ee
Expose rotation and scaling transformations through Item#rotation and Item#scaling properties, by moving the setters from Matrix to Item.
2013-12-07 12:16:11 +01:00
Jürg Lehni
3ea5c2d728
Improve documentation of Matrix properties.
2013-12-07 12:14:20 +01:00
Jürg Lehni
3d94ff6968
Only decompose matrix if there are bounds to be reused.
2013-12-07 05:50:08 +01:00
Jürg Lehni
43e0ac5124
Add missing break statement.
2013-12-07 05:27:23 +01:00
Jürg Lehni
f62e4d43ba
Implement Matrix#skew() calls for SVG skewX / skewY correctly.
2013-12-07 05:26:12 +01:00
Jürg Lehni
e12ab846bd
Fix decomposed transformation sequence.
2013-12-07 05:23:39 +01:00
Jürg Lehni
4b5b62cfef
Use new Matrix#skew() in SVGImport.
2013-12-07 05:22:14 +01:00
Jürg Lehni
1ba77f9d40
Implement Item#skew() and clean up Item transformation functions documentation.
2013-12-07 05:21:27 +01:00
Jürg Lehni
cb3cc84dae
Implement Matrix#skew()
2013-12-07 05:20:55 +01:00
Jürg Lehni
268ecad00b
Clean up Matrix documentation.
2013-12-07 05:20:38 +01:00
Jürg Lehni
2d307f0e7c
Only preserve bounds if there is no shearing in the transformation.
...
Closes #358 .
2013-12-07 05:19:49 +01:00
Jürg Lehni
3263b91708
Start implementing mouse events on view.
...
Work in progress...
2013-12-06 22:26:48 +01:00
Jürg Lehni
0bf863d1fa
Remove ill-named Matrix properties and replace with standardized a, c, b, d, tx, ty.
2013-12-06 22:26:21 +01:00
Jürg Lehni
2cfa329fa6
Completely rework event handling on view and tools.
...
Fixes multiple issues on iOS:
- mousedown events were sometimes fired twice.,
- the presence of mousedown handlers broke scrolling.
Closes #266 .
2013-12-06 21:49:44 +01:00
Jürg Lehni
0797202b22
Fix and improve Color documentation.
2013-12-06 20:18:47 +01:00
Jürg Lehni
fb493959d0
Fix faulty Color documentation.
2013-12-06 19:50:51 +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
41fa3b24e7
Only allow the installation of one onEventType handler at a time.
...
For more, use #attach() / #detach()
2013-12-06 14:04:03 +01:00
Jürg Lehni
7e9989c6b9
Improve comment about globalMatrix.isInvertible() check.
2013-12-06 13:41:57 +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
1e57031811
Do not set insert: false for the root of the imported JSON.
2013-12-06 03:16:06 +01:00
Jürg Lehni
ee7fd8cdbe
Use double underscores to avoid clashes between math operators and 'private' methods.
...
Path already defines a #_add() method...
2013-12-05 21:11:12 +01:00
Jürg Lehni
6d5e4329c1
Remove legacy browser code since we're not supporting IE8 and below.
2013-12-04 21:04:46 +01:00
Jürg Lehni
550749d057
Avoid issues with _matrix being undefined when items are created and added in a certain sequence.
...
Closes #279 .
2013-12-03 23:14:34 +01:00
Jürg Lehni
fc02c58ddb
Implement asynchronously loading Rasters from disk and remote locations for Node.js
...
Closes #328 .
2013-12-03 23:07:54 +01:00
Jürg Lehni
c423fcda39
Only handle and fire mousemove events when the user's either dragging or moving the mouse within the view.
...
Fixes #352 .
2013-12-03 22:25:04 +01:00
Jürg Lehni
5f24bf8da5
Implement Rectangle#getArea() and use it in reorientPath()
2013-12-03 21:54:36 +01:00
Jürg Lehni
4926e2c8da
Fix Array#sort() call in reorientPath(path) for IE.
...
IE expects integer values in the compare function, not boolean. Closes #350 again.
2013-12-03 21:49:49 +01:00
Jürg Lehni
88a4c64172
No need for generics in Base.
2013-12-02 14:42:27 +01:00
Jürg Lehni
b5b75dfce4
Clean-up Numerical code.
2013-12-01 23:54:52 +01:00
Jürg Lehni
448d8d9b99
Clean-up bool-fix code.
2013-12-01 23:48:59 +01:00
Jürg Lehni
971268cd72
Merge remote-tracking branch 'origin/master' into bool-fix
2013-12-01 23:28:29 +01:00
Jürg Lehni
6b448ad320
Fix more edge cases in #contains().
...
This should fix issue #346 for good.
2013-12-01 23:13:11 +01:00
Jürg Lehni
09bc8805a2
Fix #353 properly this time.
2013-11-30 22:11:12 +01:00
hkrish
b625ec5b6d
Merge branch 'master' into bool-fix
...
* master: (127 commits)
Fix edge cases in Curve._getWinding()
Copy over parent style in Item#reduce().
Fire key-up events for all currently pressed keys.
Improve and streamline key-handling logic.
Use renamed __options object in build script too.
Correctly apply matrices to Raster items in #importSVG()
Support passing DOM element IDs in calls to #importSVG()
Update to latest Prepro.js and switch from global options object to __options, to avoid name clashes.
Make directly setting view.onFrame work again.
Update to latest Straps.js and remove unnecessary isArray argument in Base.each()
Add missing DOCS comments.
Fix issue where exceptions in onFrame handlers block future animations.
Fix issue with JSON import.
Add Node JSONtoPDF example.
Implement Item#data cloning.
Remove unnecessary Color#clone() since it's doing the same as Base#clone() now.
Remove Base.merge() and use a new Straps.js feature instead.
Improve build script to include dist file in paperjs.org website.
Bump version to v0.9.14
Fix setting #radius on Shape.Circle.
...
2013-11-30 14:50:18 +01:00
Jürg Lehni
dfc0886a8b
Fix edge cases in Curve._getWinding()
...
Use same rules for lines as for curves, exclude end points of lines. Closes #346 .
2013-11-30 14:21:47 +01:00
Jürg Lehni
dcad9d44ed
Copy over parent style in Item#reduce().
...
Only really needed for CompoundPath...
2013-11-30 14:02:54 +01:00
Jürg Lehni
fe1035da41
Fire key-up events for all currently pressed keys.
...
Closes #353 .
2013-11-29 23:44:27 +01:00
Jürg Lehni
3c22d37650
Improve and streamline key-handling logic.
...
Moving most logic into the private handleKey() function.
2013-11-29 23:43:40 +01:00
Jürg Lehni
3a10974612
Correctly apply matrices to Raster items in #importSVG()
...
Closes #337 .
2013-11-29 23:06:04 +01:00
Jürg Lehni
0440adb575
Support passing DOM element IDs in calls to #importSVG()
2013-11-29 23:04:05 +01:00
Jürg Lehni
93d10983ee
Update to latest Prepro.js and switch from global options object to __options, to avoid name clashes.
2013-11-29 20:26:38 +01:00
Jürg Lehni
aec19b9494
Make directly setting view.onFrame work again.
2013-11-29 20:03:52 +01:00
Jürg Lehni
79caf66a23
Update to latest Straps.js and remove unnecessary isArray argument in Base.each()
2013-11-29 19:53:48 +01:00
Jürg Lehni
1149399690
Add missing DOCS comments.
2013-11-29 18:50:04 +01:00
Jürg Lehni
0e5483c03f
Fix issue where exceptions in onFrame handlers block future animations.
2013-11-29 18:49:51 +01:00
Jürg Lehni
5f7dbfb1ab
Fix issue with JSON import.
2013-11-29 12:18:55 +01:00
Jürg Lehni
7e65426158
Implement Item#data cloning.
...
Closes #340 .
2013-11-28 22:27:14 +01:00
Jürg Lehni
91a5bb9f88
Remove unnecessary Color#clone() since it's doing the same as Base#clone() now.
2013-11-28 22:24:29 +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
c0e8285c07
Fix setting #radius on Shape.Circle.
2013-11-28 18:03:41 +01:00
Jürg Lehni
bfd65fe75d
Fix issue with keydown for space.
...
KeyEvent#character contained the wrong charCode (0)
2013-11-28 16:49:05 +01:00
Jürg Lehni
d9eaa3f631
Fix issue with starting and stopping item based animations.
2013-11-28 15:48:43 +01:00
Jürg Lehni
57227b9ff6
Fix newly introduce bug in Callback#fire()
2013-11-28 15:48:28 +01:00
Jürg Lehni
ed8de613c4
Improve error handling of PaperScripts on Firefox.
2013-11-27 19:07:02 +01:00
Jürg Lehni
ff538870e0
Fix error lineNumbers in PaperScript code for Firefox and Chrome.
2013-11-27 16:41:39 +01:00
Jürg Lehni
e87bf817de
Do not use Base.each() loops where it's not necessary.
2013-11-27 16:02:24 +01:00
Jürg Lehni
18db7c0d56
Fix issue with items with frame events never being removed from _frameItems list.
2013-11-27 12:38:56 +01:00