Commit graph

383 commits

Author SHA1 Message Date
Jürg Lehni
c5ec9ae0b9 Prevent calling constructor methods on existing items again when using importJSON().
Resetting _children to new array would mess up up the code that keeps track of insertion and updateVersions.

Closes #785
2016-01-14 19:12:00 +01:00
Jürg Lehni
b8a1fbcd67 Implement new convention when to call event.preventDefault() after mouse-events:
- If any of the handlers were called, except for mousemove events which need to call `event.preventDefault()` explicitly, or `return false;`.
- If this is a mousedown event, and the view or tools respond to mouseup.
2016-01-14 11:19:54 +01:00
Jürg Lehni
d5f2ff479d Further overhaul and streamline handling of view and tool mouse-events. 2016-01-14 02:08:33 +01:00
Jürg Lehni
0743f1b7b8 Various optimizations around Project#view. 2016-01-14 01:44:05 +01:00
Jürg Lehni
00a7588a3a Allow any mouse handler to return true in order to enforce browser default.
Relates to #686
2016-01-13 19:04:03 +01:00
Jürg Lehni
8639051081 More work and clean-up on JSHint compliance. 2016-01-09 12:05:42 +01:00
Jürg Lehni
f2ae7840cf A lot of work on documentation.
- @values lists
- Improve event documentation
- Compound path
- etc.
2016-01-08 20:45:54 +01:00
Jürg Lehni
64f997a3bc More work on JSHint compliance. 2016-01-08 20:32:52 +01:00
Jürg Lehni
b9c76f44e8 Convert "Note: " comments to "NOTE: " and do some cleanup. 2016-01-06 14:23:19 +01:00
Jürg Lehni
a7a07fb6d5 Update JSDoc and do some documentation spring-cleaning.
- Convert from {@code ...} to shorter `...`
- Reformat some documentation comment blocks
- Update copyright notices
2015-12-30 21:55:19 +01:00
Jürg Lehni
f2a44a5832 Remove Base#class again as it's causing issues in lookup tables. 2015-12-30 21:55:18 +01:00
Jürg Lehni
de532aac2f Implement control over recursive iteration in #getItems()
Closes #853.
2015-12-30 21:55:18 +01:00
Jürg Lehni
3314668a0c Streamline mouse event handling between View and Item.
Consolidating code and making View#onMouseDown/Up/Move/... events work.
2015-10-14 16:25:36 +02:00
Jürg Lehni
247e80f569 Update to latest prepro.js with proper support for strings and scientific numbers. 2015-10-11 15:50:25 +02:00
Jürg Lehni
cf4e5c2983 Fix typo. 2015-09-06 15:30:38 +02:00
Jürg Lehni
824b0c7e7e Remove legacy Color constructors. 2015-09-06 15:28:46 +02:00
Jürg Lehni
bae7fa435f Some minor clean-ups for #593. 2015-08-21 15:53:37 +02:00
Jürg Lehni
8f9e0f58fa Merge pull request #593 from megawac/helpers
Helpers
2015-08-21 15:53:06 +02:00
Jürg Lehni
5f50372b02 More optimizations and clean up in Base.equals() 2015-08-21 15:42:19 +02:00
Jürg Lehni
4f17aa376d Merge pull request #594 from megawac/equals
Refactor and optimize base equals
2015-08-21 15:36:51 +02:00
Jürg Lehni
27b7063fc4 To avoid possible duplicate browser requests for PaperScript files, support the data-src attribute as well as src.
Closes #749.
2015-08-21 15:11:01 +02:00
Jürg Lehni
eb3628063c Handle missing keyup events for keys pressed while Command key is down on Mac.
Closes #630.
2015-08-21 13:56:44 +02:00
Oleg Elifantiev
70766c47d5 Fixed typo in word 'async' 2015-08-05 11:46:54 +03:00
Jürg Lehni
b541088c6f A whole lot of documentation clean-up. 2015-06-16 17:50:37 +02:00
Jürg Lehni
b26c6221f1 Fix PaperScript increment operator in rare special case.
Closes #691.
2015-06-15 23:43:03 +02:00
Jürg Lehni
572a51d2a7 Protect Emitter#emit() against handler list changes.
Closes #706.
2015-06-15 20:03:13 +02:00
Jürg Lehni
6b428f5a37 Assume that Emiter#_evenTypes is not always defined.
Resolves https://github.com/paperjs/paper.js/pull/674#discussion_r30042363
2015-05-13 20:21:22 +02:00
Jürg Lehni
75c6db6986 Merge pull request #674 from rumman23/670-custom-events
custom events
2015-05-13 18:14:08 +02:00
Jürg Lehni
111d5c8f66 Merge pull request #681 from hackalyze/load-scripts-synchronously
Fix paperscript source from being executed out-of-order
2015-05-11 19:57:47 +02:00
Jürg Lehni
27bb8a356f Implement unique ids, and fix issue with Base.deserialize()
Gradient and Symbol were overriding each other in the dictionary, and dictionary entries could not contain references to other dictionary entries.

Closes #690
2015-05-11 19:39:39 +02:00
Chris Pawlukowsky
2ede4f0a6b It was possible for loadAll to execute paperscript source in a different order from the order the script tags appear in the HTML. This is due to the script source being retrieved asynchronously in loadScript in the call to Http.request. This fix retrieves paperscript source synchronously unless the HTML5 async attribute is included on the script element. 2015-04-18 10:23:44 -04:00
rumman
8b24a33b17 unregistered events enabled in emitter 2015-04-07 22:33:48 +02:00
Jürg Lehni
48bc34b21f Filter out deserialized dictionary in Base.deserialize()
Closes #637
2015-02-28 19:03:03 +01:00
Jonathan Puckey
3b70fcd603 Fix mistake in PaperScript reference - thanks to paperjs/paperjs.github.io/pull/5 2015-02-24 18:35:28 +01:00
Jonathan Puckey
809c41b1cf Merge pull request #591 from ponychicken/detectAtomShell
Browser detection: Add Atom shell
2015-01-21 14:57:15 +01:00
Jürg Lehni
b816337e18 Remove legay.js since we're about to hit 2015.
Closes #592
2014-12-26 06:21:56 +01:00
Jürg Lehni
4d6f5c259c Remove non-breaking space.
Closes #602.
2014-12-17 20:07:14 -08:00
Graeme
4837df715f Use keys loop in serialize 2014-12-13 12:05:42 -05:00
Graeme
65df4d079e Refactor and optimize base equals 2014-12-13 11:59:37 -05:00
Graeme
c6208db025 Refactor Base._set 2014-12-13 11:47:03 -05:00
Leo Koppelkamm
f1348931bb Browser detection: Add Atom shell
As it a an unsual mix of both node and browser environment at the same time
2014-12-12 20:53:12 +01:00
Jürg Lehni
c48f4d772e Expose #className on all classes that define #_class
Closes #576
2014-11-30 11:13:51 -08:00
Jürg Lehni
912f7ad629 Allow injection of additional undefined fields through object literal constructors and #set(). 2014-11-18 15:24:40 -08:00
Jürg Lehni
d5471c480f Always return emitter from #on() 2014-11-18 15:05:14 -08:00
Jürg Lehni
19a9976939 Return emitter in #on(), #off(), #once(), so calls can be chained. 2014-11-18 14:56:55 -08:00
Jürg Lehni
bfd3a91df0 Simplify Emitter.inject() a bit, as we only need to handle _events in the first injection scope. 2014-10-21 23:52:53 +02:00
Jürg Lehni
a39eea64e9 Improve docs sequence a bit. 2014-10-20 23:55:24 +02:00
Jürg Lehni
99ef521af4 Switch from inline @option tags to real doc tags. 2014-10-20 23:33:28 +02:00
Jürg Lehni
82b988327d Update docs to use the newly introduced {@option} tag to docuemnt option-style objects. 2014-10-20 22:41:45 +02:00
Jürg Lehni
3be1e481e9 Preserve line-breaks when replacing mathematical operators, to not mess with debugging. 2014-10-15 15:30:56 +02:00