Commit graph

384 commits

Author SHA1 Message Date
Jürg Lehni
3be1e481e9 Preserve line-breaks when replacing mathematical operators, to not mess with debugging. 2014-10-15 15:30:56 +02:00
Jürg Lehni
3b2a82047e Clean up event related comments, to reflect recent renaming. 2014-10-08 18:33:17 +02:00
Jürg Lehni
f29f3c8b11 Some code clean-up. 2014-10-08 16:36:22 +02:00
Jürg Lehni
c7c49d4091 Time to go with the flow and use the on()/off()/emit() pattern for events. 2014-10-08 14:57:56 +02:00
Jürg Lehni
3dc5c94e25 Rename Callback mix-in to Emitter. 2014-10-08 14:13:08 +02:00
Jürg Lehni
e541b10e89 Move user-agent code to PaperScope and expose through PaperScope#browser. 2014-09-29 13:07:02 +02:00
Jürg Lehni
99b06b061c Correctly match variables to be exposed at the beginning of PaperScripts. 2014-08-25 14:21:13 +02:00
Jürg Lehni
8574c1ebf6 Return the created scope from PaperScript.load() 2014-08-25 13:21:58 +02:00
Jürg Lehni
bcc8761f8c Improve PaperScript#load() documentation. 2014-08-25 12:42:44 +02:00
Jürg Lehni
72f16eb1c3 Handle data-paper-ignore like any other Paper attribute, allowing the ignore="true" short-form as well. 2014-08-25 12:34:08 +02:00
Jürg Lehni
93dfd2a15a Remove debugger statement. 2014-08-25 12:24:30 +02:00
Jürg Lehni
c03e9961d2 Allow PaperScript.load(script) to only load specific scripts, and define / improve documentation. 2014-08-25 12:21:27 +02:00
Jürg Lehni
992366246d Ignore hash when comparing PaperScript URLs. 2014-08-25 12:20:58 +02:00
Jürg Lehni
4b19f99183 Improve user agent matching code in PaperScript.
Fixes #511.
2014-08-20 18:54:00 +02:00
Jürg Lehni
6b4f728a72 Bring back support for paper.setup('id') again, and document it properly.
Closes #510.
2014-08-20 16:53:31 +02:00
Jürg Lehni
9da6325f49 Fix wrong __options comments. 2014-08-16 19:27:25 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
Jürg Lehni
5aa4a8300e Move 'data-paper-scope' attribute handling out of PaperScope into browser related code in PaperScript.
Closes #508
2014-08-16 18:24:45 +02:00
Jürg Lehni
288b8553e7 Support PaperScript code with only one line and no breaks. 2014-08-16 18:22:43 +02:00
Jürg Lehni
06366fb0ed Support prefixed UpdateExpressions and fix a bug in suffixed UpdateExpression when assigning to plain variables.
Related #492
2014-07-26 12:40:00 +02:00
Jürg Lehni
54f0197eba Correctly handle UpdateExpressions (a++, a--) that are directly following AssignmentExpressions.
Closes #492
2014-07-26 12:29:05 +02:00
Jürg Lehni
6e6df750f0 Use names less likely to be used in code for Operator Overloading handlers. 2014-07-26 12:28:00 +02:00
Jürg Lehni
0198f4c45f Reuse PaperScope objects when associating multiple scripts with the same canvas.
Closes #504.
2014-07-26 12:03:34 +02:00
Jürg Lehni
dc375d4c76 Correctly match the use of the unary operator $_ in PaperScript.
Closes #502
2014-07-23 12:17:55 +02:00
Jürg Lehni
9d7ec13724 Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it. 2014-05-14 15:14:03 +02:00
Jürg Lehni
74d14ecf0c Fix PaperScript support on Node.js
Closes #470.
2014-05-05 20:10:29 +02:00
Jürg Lehni
87e72744ea Fix PaperScript.parse() for use with load.js 2014-04-30 17:08:43 +02:00
Jürg Lehni
735150d165 Minor adjustments in new source map code.
Handle empty code properly.
2014-04-30 17:04:58 +02:00
Jürg Lehni
2d702d0247 Directly expose Acorn parser through PaperScript.parse(), and replace options.inline with options.source. 2014-04-30 16:40:11 +02:00
Jürg Lehni
c36712758b Expose Acorn through PaperScript object. 2014-04-30 16:27:43 +02:00
Jürg Lehni
43f319e762 Remove support for Esprima as Acorn.js does everything we need. 2014-04-30 16:26:04 +02:00
Jürg Lehni
e96ec6a2f1 Remove breakpoint support again in PaperScript as this code is better placed in sketch. 2014-04-30 16:25:38 +02:00
Jürg Lehni
5e6d0377f4 Support adding breakpoints to PaperScript. 2014-04-30 13:37:07 +02:00
Jürg Lehni
9e45d7f5eb Automatically detect PaperScript code inlined on page. 2014-04-30 12:32:08 +02:00
Jürg Lehni
af9b3cd5c6 Simplify source-map support since all browser appear to require the shifting of inlined code. 2014-04-30 11:47:15 +02:00
Jürg Lehni
43bc9f14da Add more comments and clean up code a bit. 2014-04-30 11:39:05 +02:00
Jürg Lehni
d91aac52b4 Check in initial support for source-maps in PaperScript.
Probably needs more testing and work.
2014-04-30 11:34:02 +02:00
Jürg Lehni
8317aacc1b Split Item#hitTest() into separate private function that does need to do arguments reading, for improved performance also when iterating over children. 2014-04-29 20:06:48 +02:00
Jürg Lehni
c5b317600a Support comparing colors with string values in Color#equals(). 2014-04-27 11:16:22 +02:00
Jürg Lehni
6af797bbad Optimize handling of property object in Item constructor.
Only check for values if it is a plain object, and avoid inserting into DOM twice if parent is specified.
2014-04-13 18:12:19 +02:00
Jürg Lehni
dafdd0ae28 Avoid double-insertion of root layer when importing JSON directly into it. 2014-04-13 16:44:00 +02:00
Jürg Lehni
d12607dd44 Use a Base object for PaperScope#settings and update straps.js to version that offers Base#set(). 2014-04-11 13:32:06 +02:00
Jürg Lehni
64aaabbc2e Export PaperScope reference into PaperScript as well, so the global paperalways points to the current scope. 2014-04-07 11:53:32 +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
4d52867b4a Fix spelling mistakes and white-spaces. 2014-04-02 20:52:13 +02:00
Jürg Lehni
0aa73d90c5 Change the way context dependent font sizes are handled by delegating handling to view.
Closes #425
2014-03-17 16:41:57 +01:00
Jürg Lehni
3c257dcae0 Merge branch 'refs/heads/master' into apply-matrix 2014-03-13 00:54:05 +01:00
Jürg Lehni
56335ae5f5 Implement SVG-style #arcTo() version.
This should fix the arc related part of issue #413.
2014-03-12 23:00:47 +01:00
Jürg Lehni
d594b4264d Define settings.applyMatrix and inherit at Item creation time. 2014-03-04 09:30:04 +01:00
Jürg Lehni
7dbf6ceaff Move Project#options to PaperScope#settings and define reasonable defaults. 2014-03-04 09:29:28 +01:00
Jürg Lehni
dad17ba28e Minor clean-up in the way Base.exports are handled. 2014-03-03 22:53:00 +01:00
Jürg Lehni
2c16bd9eb1 Convert to standard paper.js loop format. 2014-02-26 01:24:00 +01:00
patrickheeney
aa2102ecb9 Fix event handlers for paperjs/paper.js#409 2014-02-25 13:02:53 -07:00
Jürg Lehni
4a95f6e4a6 Some more optimizations for JS minifier and V8. 2014-01-05 21:07:11 +01:00
Jürg Lehni
51eff78919 Minor PaperScript clean-ups. 2014-01-05 20:53:18 +01:00
Jürg Lehni
7291956155 Prevent unnecessary beans from being created. 2014-01-05 20:42:28 +01:00
Jürg Lehni
dd37704f2c Use the same filtering for UpdateExpression and AssignmentExpression. 2014-01-05 20:23:11 +01:00
Jürg Lehni
cd7604952c Filter out loop statements in operator overloading code, to optimize loop execution speed. 2014-01-05 20:15:57 +01:00
Jürg Lehni
132f6df6c8 Prevent overriding of global variables with undefined values during development. 2014-01-05 18:57:36 +01:00
Jürg Lehni
73f857170d Remove unused arguments._read value and rename _index to __index. 2014-01-05 18:34:08 +01:00
Jürg Lehni
706fe2c77d Rearrange Base.read argument sequence.
options are used more often than length.
2014-01-05 18:31:24 +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
22e62a0527 Only expose globals if they are in use in the PaperScript code. 2014-01-04 22:22:19 +01:00
Jürg Lehni
227d511fc0 Only include the global handlers in the return statement that actually seem to be defined. 2014-01-04 22:10:16 +01:00
Jürg Lehni
4302682c1c Implement a better way of handling exceptions in PaperScript on Firefox and Chrome.
Use dynamically inserted script tag rather than compiled function since Firefox reports correct line numbers there.
2014-01-04 21:57:29 +01:00
Jürg Lehni
42bed58624 Fix scoping issues in PaperScript code. 2014-01-04 19:01:17 +01:00
Jürg Lehni
0dddd897ab Remove internal clamping of color values to facilitate proper mathematical calculations with colors.
Clamp only when producing CSS values. Closes #271.
2014-01-04 18:16:52 +01:00
Jürg Lehni
e22fa3a664 Update copyright notice. 2014-01-04 01:47:16 +01:00
Jürg Lehni
4594b66fd6 Fix comments. 2014-01-03 19:45:00 +01:00
Jürg Lehni
de939ab939 Clean up code and comments. 2014-01-03 18:31:07 +01:00
Jürg Lehni
57f1763abe Merge branch 'refs/heads/paperscript-refactoring'
Conflicts:
	src/core/PaperScope.js
2014-01-03 12:34:07 +01:00
Jürg Lehni
c197f531a4 Implement options.asString for Item#exportJSON() 2013-12-30 23:34:19 +01:00
Jürg Lehni
f97056e4b7 Change the way PaperScripts are executed in Node.js
Requiring a PaperScript returns an initialize method which receives the Canvas argument.
2013-12-29 16:36:23 +01:00
Jürg Lehni
35890383d8 Merge branch 'refs/heads/paperscript-refactoring' into v8-optimizations 2013-12-29 15:54:54 +01:00
Jürg Lehni
8395541298 Clean up docs and fix spelling mistakes. 2013-12-29 15:44:26 +01:00
Jürg Lehni
976b24b34c Execute PaperScript using new Function() rather than eval() and with() {}
This results in some impressive speeding improvements, as modern JS engines are finally able to optimize the resulting code.
2013-12-29 15:32:23 +01:00
Jürg Lehni
5f466bbc7e Move documentation for PaperScope#tools to the right place. 2013-12-28 22:48:50 +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
a59a42376a Clean up coding style a bit. 2013-12-16 21:40:40 +01:00
Jürg Lehni
25d8b1f0d2 Clean up code and comments in various places. 2013-12-11 17:10:09 +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
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
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
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
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
88a4c64172 No need for generics in Base. 2013-12-02 14:42:27 +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
5f7dbfb1ab Fix issue with JSON import. 2013-11-29 12:18:55 +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
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
ca3993fe8e Solve variable scoping issue differently by using Base.each() to provide a local closure scope. 2013-11-26 23:46:53 +01:00
Jürg Lehni
c18a5e6ffb Remove Node.js specific bug-fix by msand again, since code won't be executed on Node anymore. 2013-11-26 23:41:24 +01:00
Jürg Lehni
f224bb3e86 Merge github.com:msand/paper.js into msand-master 2013-11-26 23:38:40 +01:00
Jürg Lehni
adac126e6c Rename Ast -> AST 2013-11-25 19:34:39 +01:00