Commit graph

383 commits

Author SHA1 Message Date
Jürg Lehni
da5a837da2 Merge remote-tracking branch 'origin/master' 2011-11-12 16:56:35 +01:00
Jürg Lehni
719ae2315c Remove global views list, link View to Project and allow projects to only have one view. 2011-11-12 16:56:23 +01:00
Jonathan Puckey
d631288dc7 Fire resize event directly after evaluation, so we don't need to call onResize ourselves from PaperScript. 2011-11-12 16:31:22 +01:00
Jürg Lehni
78d1ce1540 Make new events work properly for key handlers. 2011-11-11 20:12:29 +01:00
Jürg Lehni
e238dea3ac More work to make new events mechanisms work for Tool too. 2011-11-11 19:49:31 +01:00
Jürg Lehni
5fd7753c60 Remove dev comments. 2011-11-11 18:39:12 +01:00
Jürg Lehni
256e48b511 Define Callback code for callback based event handling (#atach() / #detach() #fire()) and start implementing it in View. 2011-11-11 18:29:28 +01:00
Jürg Lehni
fe97b94340 Define PaperScopeItem as a private base class for all classes that have lists and references in the PaperScope (Project, View, Tool), so they can share functionality (#initialize(), #activate(), #remove()), and add support for multiple tools. Closes #27 2011-08-02 10:08:08 +01:00
Jürg Lehni
2d5788540d Hide internal properties even if they are enumerable in Base#toString() 2011-08-02 08:32:55 +01:00
Jürg Lehni
14881b8b19 Let View handle the retrieving of the canvas object. 2011-08-01 16:23:56 +01:00
Jürg Lehni
022de4d781 Some documentation fixes for v0.2 2011-08-01 14:25:46 +01:00
Jürg Lehni
ea629fefda Remove debug log. 2011-08-01 12:03:23 +01:00
Jürg Lehni
14895f412c Fix PaperScope#install() so classes actually get injected. 2011-08-01 12:02:50 +01:00
Jürg Lehni
8cdc5ea2aa Change PaperScope#install() to be clever about project, view and tool references and link them through a getter to their current state in PaperScope. 2011-08-01 11:21:22 +01:00
Jürg Lehni
3fc21cd4b6 Always call View#draw() since it won't redraw internally if nothing has changed. 2011-08-01 11:02:00 +01:00
Jürg Lehni
6b6d5909c1 Revert back to PaperScope#setup() and keep #initialize0 simple. 2011-08-01 11:01:27 +01:00
Jürg Lehni
5b963b13e1 Export classes through PaperScope in dev mode too. 2011-08-01 08:53:07 +01:00
Jürg Lehni
c6cf4f9cf0 Only create an empty Project for a PaperScope if a canvas was provided for it. 2011-08-01 08:52:51 +01:00
Jürg Lehni
e1d90c921c Do not parse PaperScript code in exigent mode. Relaxes requirements of semicolons, etc. 2011-07-31 12:14:37 +01:00
Jürg Lehni
1519a1d220 Improve documentation for PaperScope. 2011-07-27 22:58:45 +01:00
Jürg Lehni
297aef643d Simplify the way PaperScope objects are created and linked to Canvas elements, in order to facilitate usage through plain JavaScript. 2011-07-27 22:39:58 +01:00
Jürg Lehni
c6525ec4fa Fix link to global paper variable. 2011-07-27 22:02:42 +01:00
Jürg Lehni
f98c8f29fc Implement Prepro.js for the browser too, in order to be able to load the library from paper.js source files and preprocess on the fly on the browser side. 2011-07-26 12:27:36 +01:00
Jürg Lehni
8eaeb7fb5e Remove filepp.pl as preprocessor and switch to our own Prepro.js, a simple preprocesssor for JavaScript that speaks JavaScript, written in JavaScript, allowing preprocessing to either happen at build time or compile time. 2011-07-26 10:09:31 +01:00
Jürg Lehni
43cc8e45b2 Clean up and separate PaperScript documetation from JavaScript related classes. Work in progress. 2011-07-25 00:25:23 +01:00
Jürg Lehni
688c1671ed Remove all parameters from Tool constructor, to simplify use outside PaperScript. 2011-07-19 23:53:13 +01:00
Jürg Lehni
9f1f4d334e Introduce PaperScope#setup(canvas), as a simple way to setup a standard project when not using PaperScript. 2011-07-19 23:52:32 +01:00
Jürg Lehni
470360301c Improve documentation for PaperScope#install() 2011-07-19 23:51:50 +01:00
Jürg Lehni
86b1d82636 Add VERSION and DATE to headers and support for it in build scripts. 2011-07-13 13:27:14 +01:00
Jürg Lehni
62453a4212 Increase version number. 2011-07-11 12:24:05 +02:00
Jürg Lehni
51df37b8ec Fix recently broken support for text-paperscript mime type. 2011-07-09 17:11:57 +02:00
Jürg Lehni
9abdcb571e Add support for both text/paperscript and text/x-paperscript mime types. 2011-07-09 16:58:53 +02:00
Jürg Lehni
6694d08d0f Fix PaperScript code generation to wrap on new-lines, so missing colons will not cause errors. 2011-07-09 09:20:13 +02:00
Jürg Lehni
cc00f40532 Have Base.hyphenate() convert the result to lowercase. 2011-07-08 23:09:51 +02:00
Jürg Lehni
dfbe3135ad Remove HitResult inheritance from CurveLocation, but have a #location property pointing to it. 2011-07-08 22:25:42 +02:00
Jürg Lehni
2851d8e403 Define Base#toString() as a mean to render Base objects as object literals, and use it for Key.modifier and onFrame() event objects, through Base.merge() conversion. 2011-07-07 14:10:02 +02:00
Jürg Lehni
d1185c5f8b Implement support for properly validating 'data-paper-NAME' attribute names, along with the current 'NAME'. 2011-07-06 21:19:38 +02:00
Jürg Lehni
79c0ad8cc5 Update copyright notices. 2011-07-01 12:17:45 +02:00
Richard D. Worth
ac39873693 Whitespace. Removed all trailing whitespace from .js files 2011-06-30 06:01:51 -04:00
Jonathan Puckey
5982196c66 PaperScript: add todo for supporting scripts with type: 'text/x-paperscript'. 2011-06-30 10:58:09 +02:00
Jürg Lehni
28921e9a76 Update PaperScript to work with new parse-js and beautify code so that line numbers in error messages remain correct. 2011-06-28 10:52:50 +02:00
Jürg Lehni
fa29686202 Define Base.hyphenate, to hyphenate camelized strings. 2011-06-26 00:47:40 +02:00
Jürg Lehni
7cd749e63d Change all documentation to new convention of defining @class outside injection scope, fix some comments and a few errors with examples. 2011-06-22 23:56:05 +01:00
Jürg Lehni
1d9bad5d01 Define view.updateFocus(), to loop through all scopes and their views and set the focus on the first active one, and call it whenever the browser is scrolled. 2011-06-21 21:49:36 +01:00
Jürg Lehni
54964907dd Change Base.merge so that it produces a new hash and merges all passed hashes into it in sequence. 2011-06-20 20:24:33 +01:00
Jürg Lehni
9b9810faf3 Define Base.merge() and use it to merge _defaults in CharacterStyle. 2011-06-20 15:28:50 +01:00
Jürg Lehni
55724b0e29 Move defaults handling fully to Style base class. 2011-06-20 14:10:37 +01:00
Jürg Lehni
b9ebd12d22 Improve documentation of added Base methods. 2011-06-20 13:56:08 +01:00
Jürg Lehni
596cc8f83b Implement #_needsRedraw() mechanism in PaperScope and Project, to notify Views of redraws required by changes in appearance. 2011-06-19 23:03:18 +01:00
Jürg Lehni
f3f49a34c6 Fix documentation so PaperScope#version shows up too in global scope. 2011-06-15 11:09:35 +01:00
Jürg Lehni
08bbff790d Improve PaperScope documentation. 2011-06-14 23:05:12 +01:00
Jürg Lehni
d90e0ec07e Define paper.version. 2011-06-14 23:04:59 +01:00
Jürg Lehni
2ec34512d1 Ignore all documentation that caused warnings about leakage. 2011-06-14 23:02:34 +01:00
Jürg Lehni
ffa79f4fd1 Clean up white spaces in comments. 2011-06-14 22:59:45 +01:00
Jürg Lehni
7c57324b3a Switch to Bootstrap.js version that is produced by compiling it with CORE_ONLY flag, and adapt Base.js so Base still gets exported. 2011-06-03 21:20:36 +01:00
Jürg Lehni
ad335374cd Copyrights are included correctly in the paper.js file. 2011-05-31 22:22:07 +01:00
Jonathan Puckey
434268fbd1 Document the properties of PaperScope to be global. 2011-05-31 15:18:37 +02:00
Jürg Lehni
84b1d865c1 Remove unused variable. 2011-05-20 14:08:04 +01:00
Jürg Lehni
b37ba3d858 Add a generic clone() method to all classes through Base which creates a new item using the constructor and passing 'this'. 2011-05-19 18:34:22 +01:00
Jürg Lehni
26269d394a Rename project/ProjectView -> ui/View. 2011-05-17 13:29:07 +01:00
Jürg Lehni
7b4dd222ac Completely decouple ProjectView from Project. 2011-05-17 13:25:46 +01:00
Jürg Lehni
7d1d6fa9da Define Base.initialize() as a general purpose way to initialize a newly created object with values from a provided object and default values from another, in case they are not provided. 2011-05-17 13:12:19 +01:00
Jürg Lehni
cfe968d30e Rename Document -> Project, DocumentView -> ProjectView, paper.document -> paper.project and paper.documents -> paper.projects, to avoid name clashing with window.document. 2011-05-16 13:33:15 +01:00
Jürg Lehni
9f34042bae Fix comment. 2011-05-16 11:19:47 +01:00
Jürg Lehni
71bf4fdbca Two forms of scoping are required when evaluating PaperScripts: with(){} and a function scope, so local vars are not trying to override properties on the scope through with(){} (e.g. var view = ...). 2011-05-16 11:00:33 +01:00
Jürg Lehni
2773ef693a Add PaperScope#view and #layer as shortcuts to #document.activeView / activeLayer. 2011-05-16 10:59:45 +01:00
Jürg Lehni
98a59a3011 Rename PaperScript#run() to #evaluate() and add it to PaperScope too. 2011-05-16 01:22:06 +01:00
Jürg Lehni
c403dccea3 Expose capability to run PaperScripts from script tags. 2011-05-16 00:57:13 +01:00
Jürg Lehni
30e3359d1d Split PaperScope#remove() into #clear() and #remove(), so scopes can be reused. 2011-05-16 00:56:47 +01:00
Jürg Lehni
593813660a Associate PaperScope objects with the script tag that produced them through an assigned unique id. 2011-05-16 00:29:29 +01:00
Jürg Lehni
690a79722f Add alternative code for setting handler on tool that does not rely on eval(), commented out for now. 2011-05-15 23:56:41 +01:00
Jürg Lehni
535e5fc5fc Add support for onResize handler. 2011-05-15 23:46:34 +01:00
Jürg Lehni
c1dc823706 Move onFrame handler to DocumentView. 2011-05-15 23:37:40 +01:00
Jürg Lehni
f69b0a404a Remove unused #document from Tool. 2011-05-15 22:45:15 +01:00
Jürg Lehni
9c97e44207 Have Base.splice() delete the indices of removed items. 2011-05-15 21:37:01 +01:00
Jürg Lehni
36c9286ca9 Add #count to onFrame() event. 2011-05-15 18:08:41 +01:00
Jürg Lehni
06f16d0c2a Define a unique id for each PaperScript. 2011-05-15 11:32:42 +01:00
Jürg Lehni
064f3e05d3 Simplify paper scope switching code for now, as key handling code depends on paper object to always point to a valid one. This is a workaround, rethinking of how key handling should be distributed across multiple instances within one page is required. 2011-05-14 20:08:14 +01:00
Jürg Lehni
f6f307822a Fix comment. 2011-05-14 17:23:00 +01:00
Jürg Lehni
01fdeb270b Move PaperScript.js to core. 2011-05-14 17:22:49 +01:00
Jürg Lehni
8375a97d55 Scope setting / restoring can be simplified since it should never be nested. 2011-05-14 15:59:19 +01:00
Jürg Lehni
518803f492 Add support for switching PaperScope contexts in PaperScript code exeuction and callback handling. This should add proper support for multiple PaperScript instances in one site. 2011-05-14 14:15:31 +03:00
Jürg Lehni
a1efd85ecb Improve PaperScope definition so it also works when using load.js, and seperate paper.js code into core/Base.js and core/PaperScope.js. 2011-05-14 13:38:45 +03:00