Commit graph

7481 commits

Author SHA1 Message Date
Jürg Lehni
d02b5cd56a Yet another optimisation, by using the Base.each() sidecar (bind object) to fill Item fields, and inject it straight away upon returning from it. 2011-02-18 07:58:59 +00:00
Jürg Lehni
31b595fa9e Rename itemProps to itemFields, for more consistency. 2011-02-17 23:47:04 +00:00
Jürg Lehni
2c06ec965c Simplify PathStyle further, by removing the _get/_setChildrenStyle methods and moving their functionality into the closure injection code. 2011-02-17 23:37:21 +00:00
Jürg Lehni
4e05faaa11 Use the same simplifications in PathStyle as in CompoundPath, and rely on Base.each as well to provide the scope for closure injection. 2011-02-17 23:34:45 +00:00
Jürg Lehni
b14c9ae21b For the closure injection to work properly we need an iterator function that provides a scope to the referenced key value. Rely on Base.each() for this, which even in a scaled down Bootstrap will be available and not harmful, as it won't rely on modified native prototypes. 2011-02-17 23:34:03 +00:00
Jürg Lehni
bc33ae8084 Add missing #closePath() to both Path and CompoundPath. 2011-02-17 23:01:18 +00:00
Jürg Lehni
4c2e1ee5c9 Optimise and simplfy CompoundPath code, by moving scope into extend() call, and only compiling one fields object inside it that is return at the end. 2011-02-17 22:58:56 +00:00
Jürg Lehni
e6dc189310 Simplify injection separation by using multiple arguments to extend(). 2011-02-17 22:46:28 +00:00
Jürg Lehni
5850ef3cfc Seperate Path definition into two parts, one that requires scoped private functions and values, and one that does not, to keep related things closer together and save indentation space. 2011-02-17 20:08:37 +00:00
Jürg Lehni
19121c33b2 Simplify injection of Path constructors. 2011-02-17 20:04:02 +00:00
Jonathan Puckey
637e85b31b Group: fix clipping. 2011-02-17 16:50:06 +01:00
Jonathan Puckey
2a1e00d127 Group: Implement clipping support. 2011-02-17 16:37:29 +01:00
Jonathan Puckey
2635326b24 Add CompoundPath tests. 2011-02-17 16:00:20 +01:00
Jonathan Puckey
deb1699f13 Tidy up code. 2011-02-17 16:00:03 +01:00
Jonathan Puckey
ab098ddca3 Add Path.Constructors.js to examples and tests. 2011-02-17 15:56:07 +01:00
Jonathan Puckey
36de01a6ae Move Path Constructors into seperate file. 2011-02-17 15:55:26 +01:00
Jonathan Puckey
1953c17f41 CompoundPath: move getCurrentPath into the outer scope and implement smooth and simplify. 2011-02-17 14:33:25 +01:00
Jonathan Puckey
0c1f29ce29 Implement CompoundPath and move most of PathItem into Path. 2011-02-17 13:36:40 +01:00
Jonathan Puckey
66b9b28394 Add BouncingCircles.html example of Group#getBounds(). 2011-02-17 00:35:10 +01:00
Jonathan Puckey
c0884473b5 Add a test for Group#getBounds(). 2011-02-17 00:34:16 +01:00
Jonathan Puckey
7e404703c8 Add Group#getBounds(). 2011-02-17 00:34:01 +01:00
Jonathan Puckey
52b69817a0 Clean up animatedStar.html example. 2011-02-16 22:44:05 +01:00
Jonathan Puckey
3ae20c8a4b Item: undo mistaken changes to transform comments. 2011-02-16 22:35:53 +01:00
Jonathan Puckey
7e5cb1cc81 Examples: clean up scripts list and add PathStyle.js. 2011-02-16 22:35:17 +01:00
Jonathan Puckey
13b8ddccc8 PathStyle: small cleanup. 2011-02-16 22:15:19 +01:00
Jonathan Puckey
d7dca48e00 Add tests for Layer & PathStyle. 2011-02-16 22:11:26 +01:00
Jonathan Puckey
4000853c2f Implement PathStyle and Document#currentStyle. 2011-02-16 22:09:51 +01:00
Jonathan Puckey
9adb668d2a Group: add missing beans property. 2011-02-16 22:06:24 +01:00
Jonathan Puckey
3e2b4adc27 Layer: implement moveAbove / moveBelow / nextSibling / previousSibling 2011-02-16 18:55:12 +01:00
Jürg Lehni
a7dc48951d Improve previous getter / setter check in Bootstrap. 2011-02-16 00:40:10 +00:00
Jürg Lehni
8a0a0712cd Add Layer#index to override Item#index. 2011-02-16 00:18:58 +00:00
Jürg Lehni
00ee00d6ac Update Bootstrap to not fail when overriding existing beans or getter / setters. 2011-02-16 00:18:08 +00:00
Jürg Lehni
b0b9594f1e Add support for single-parameter calls to scale() and shear(), both in Matrix and Item (supporting optional center parameter too). 2011-02-15 23:23:40 +00:00
Jürg Lehni
99bde74a10 Improve Matrix constructor to read from arrays too. 2011-02-15 23:15:28 +00:00
Jürg Lehni
9d1458e6ae Rely on new Array.isArray() now for array checks. 2011-02-15 23:15:13 +00:00
Jürg Lehni
b8816a07f5 Reformat to fit 80 chars boundary. 2011-02-15 23:10:48 +00:00
Jürg Lehni
d82eb4534c Update Bootstrap.js to provide Array.isArray() if missing. 2011-02-15 23:10:31 +00:00
Jürg Lehni
9a9005a604 Correct comments about transform flags. 2011-02-15 22:57:12 +00:00
Jürg Lehni
3d64b017c5 Remove comment about having Point.read() return consumed arguments indices, as after analysing the situation it seem too complex to imeplement easly: Point.read internally relies on Point#initialize for all the heavy lifting, and this would have to report back how many indices were consumed somehow... 2011-02-15 22:56:53 +00:00
Jürg Lehni
f0d4374dc4 Improve translate() calls by directly calling Point objects and thus not relying on Point.read() internally. 2011-02-15 22:53:05 +00:00
Jürg Lehni
27f291ec80 Clean up comments. 2011-02-15 22:51:02 +00:00
Jürg Lehni
14bfb4c78e Make Matrix#toString() behave the same as in Scriptographer. 2011-02-15 22:35:25 +00:00
Jürg Lehni
c6b5b11b1e Use dragstart event instead of mousedown, to go with drag and dragend. 2011-02-15 22:32:05 +00:00
Jonathan Puckey
2b626be502 Item: use internal _clipMask variable, so we don't collide with getters/setters. 2011-02-15 12:05:39 +01:00
Jonathan Puckey
f92da1297b RoundedRectangles Example: use onMouseDrag for now. 2011-02-15 00:08:11 +01:00
Jonathan Puckey
4e0bf98035 Tools Examples: no need to set the document anymore. 2011-02-15 00:07:02 +01:00
Jonathan Puckey
24e93bcaf5 Tool#setDocument: remove mousemove functionality for now, since it is interfering with tool.fixedDistance.
Remove events when a tool has been attached to another document before.
When not passed a document in the constructor, use the global Paper.document.
Only redraw the document when the corresponding mousehandler exists.
2011-02-15 00:01:56 +01:00
Jonathan Puckey
3c22aedfbb ToolEvent: fix small mistake. 2011-02-14 23:41:47 +01:00
Jonathan Puckey
30fef4d147 Group: use internal _clipped variable, so we don't collide with getters/setters. 2011-02-14 22:51:31 +01:00
Jonathan Puckey
4395caf41f Tool: add support for Tool#onMouseMove(event) and add RoundedRectangles example 2011-02-14 22:43:14 +01:00