Jürg Lehni
|
ac18786109
|
Implement bounds caching for all items, even groups and layers, using a smart structure keeping track of which items affect the cache, and automatically clearing it on changes without having to walk the DOM tree.
|
2011-11-27 13:48:15 +00:00 |
|
Jürg Lehni
|
b51cf064b0
|
Make baseItem to last optional parameter of _getBounds.
|
2011-11-26 11:55:19 +01:00 |
|
Jürg Lehni
|
a0ad81b576
|
Pass on the baseItem of a getBounds call, required to implement proper caching later.
|
2011-11-26 11:24:48 +01:00 |
|
Jürg Lehni
|
8729e9919f
|
Use getBounds.call(item) to use this instead of item, since we're accessing it a lot.
|
2011-11-26 10:42:38 +01:00 |
|
Jürg Lehni
|
1fd9242fd8
|
Define private getBounds() function that handles matrix concatenation, bounds caching and calling of _getBounds, leading to further simplifications in PlacedItem.
|
2011-11-26 10:39:51 +01:00 |
|
Jürg Lehni
|
2605fadcfd
|
Move bounds related code to a proper inejction scope, so we can declare private functions for caching.
|
2011-11-26 10:18:47 +01:00 |
|
Jürg Lehni
|
de4b5a0d87
|
Start implementing Item#matrix, work in progress.
|
2011-11-26 10:15:01 +01:00 |
|
Jürg Lehni
|
92066a6ecb
|
Implement Item#_boundsType as a structure to control bounds handling and caching.
|
2011-11-24 16:03:05 +01:00 |
|
Jürg Lehni
|
a6b90dea35
|
Clean up Item documentation.
|
2011-11-24 16:02:34 +01:00 |
|
Jürg Lehni
|
44b6fe9f0d
|
Fix documentation about bounds beans.
|
2011-11-24 15:46:06 +01:00 |
|
Jürg Lehni
|
310fbb260b
|
Remove _boundsCache and replace it with easier _simpleBounds flag.
|
2011-11-24 15:44:26 +01:00 |
|
Jürg Lehni
|
067e0a954b
|
Add comment about LinkedRectangle for 'bounds'.
|
2011-11-24 15:39:04 +01:00 |
|
Jürg Lehni
|
909b9040d5
|
Since we only use _createBounds in one place now we can inline it.
|
2011-11-24 15:38:08 +01:00 |
|
Jürg Lehni
|
569c415b2f
|
Start implementing bounds caching the new way.
Work in progress still.
|
2011-11-24 15:37:44 +01:00 |
|
Jürg Lehni
|
ea87be166e
|
Part one of big refactoring of bouding box handling. Functional, but caching is broken right now.
|
2011-11-24 15:13:21 +01:00 |
|
Jürg Lehni
|
d9777111dc
|
No need for an injection scope as we can also just use Base.each() in combination with a side-car.
|
2011-11-24 14:54:04 +01:00 |
|
Jürg Lehni
|
1d6cfeeb9b
|
Add dest and dontNotifty arguments to Matrix#_transformBounds() and use them where appropriate.
|
2011-11-24 11:29:35 +01:00 |
|
Jürg Lehni
|
8a53288b1e
|
Add comment about upcoming changes relating to bounds.
|
2011-11-23 18:13:21 +01:00 |
|
Jürg Lehni
|
eb70c4de5d
|
Directly pass matrix argument to _getBounds() instead of whole arguments array.
|
2011-11-20 18:51:34 +01:00 |
|
Jürg Lehni
|
b9f6c99dcd
|
Add comments and clean up code.
|
2011-11-17 19:28:05 +01:00 |
|
Jürg Lehni
|
57bd659023
|
Move Item base mouse handling code to CanvasView.
|
2011-11-16 13:12:41 +01:00 |
|
Jürg Lehni
|
c8e1a9c959
|
Merge remote-tracking branch 'origin/master'
|
2011-11-12 23:57:39 +01:00 |
|
Jürg Lehni
|
e4586cfeeb
|
Commit beginning of item based mouse events. So far only onMousedown / 'mousedown' is supported.
|
2011-11-12 23:57:25 +01:00 |
|
Jonathan Puckey
|
52385451f6
|
Resolve a few documentation todos.
|
2011-11-12 18:30:21 +01:00 |
|
Jürg Lehni
|
52ad906c97
|
Add support for onFrame handlers on Item.
|
2011-11-12 17:44:05 +01:00 |
|
Jürg Lehni
|
ea689faa43
|
Fix white space.
|
2011-11-12 15:50:53 +01:00 |
|
Jürg Lehni
|
07839cf683
|
Add comment about name being set again in addChild().
|
2011-11-12 15:50:35 +01:00 |
|
Jürg Lehni
|
24f07dccec
|
Clean up some JSDoc comments.
|
2011-11-12 13:27:29 +01:00 |
|
Jürg Lehni
|
b1332331b0
|
Simplify injection scope for removeOn* methods.
|
2011-11-12 13:22:45 +01:00 |
|
Jürg Lehni
|
3dfb4d3ae5
|
Make Item#removeOn() calls work with new event callback mechanism.
|
2011-11-11 20:41:09 +01:00 |
|
Jonathan Puckey
|
a96a92caba
|
Add support for hit testing Raster items and getting the color of the pixel that was hit.
|
2011-11-11 15:00:53 +01:00 |
|
Jürg Lehni
|
af9df0e1b8
|
Provide point of hit handles and segments too in HitResult.
|
2011-11-11 14:47:03 +01:00 |
|
Jürg Lehni
|
1124236b8a
|
Use inject() instead of a each() loop to add values to HitResult, so getters can be defined too (required for raster hit testing).
|
2011-11-11 13:11:10 +01:00 |
|
Jürg Lehni
|
42d0e722db
|
Rename RGBColor -> RgbColor, to avoid clash with native constructor, and follow same naming convention for HsbColor and HslColor, but keep references to old names for PaperScript scopes for now.
|
2011-11-10 19:16:34 +01:00 |
|
Jonathan Puckey
|
eb34e058c0
|
Fix bug in Item#hitTest and Project#hitTest documentation. Closes #57
|
2011-11-10 15:14:49 +01:00 |
|
Jürg Lehni
|
6052e94a2a
|
Add basic code for fine-grained change tracking, as required by on-the fly SVG DOM manipulation.
|
2011-09-22 10:32:17 +02:00 |
|
Jürg Lehni
|
936fd43c37
|
Implement Item#layer.
|
2011-09-18 10:38:16 +02:00 |
|
Jürg Lehni
|
ae116cd043
|
Improve comments about change notifications.
|
2011-08-23 16:36:57 +02:00 |
|
Jürg Lehni
|
79f351e5ee
|
No need to check for _project as it will always bet set.
|
2011-08-23 16:35:19 +02:00 |
|
Jonathan Puckey
|
0ee1e80c68
|
Node.js: add Raster support.
|
2011-08-21 16:38:06 +02:00 |
|
Jonathan Puckey
|
e82a838085
|
Fix problem in Item#rasterize(resolution) where rasterizing the active layer caused the resulting Raster to be positioned wrongly.
|
2011-08-08 18:43:45 +02:00 |
|
Jürg Lehni
|
022de4d781
|
Some documentation fixes for v0.2
|
2011-08-01 14:25:46 +01:00 |
|
Jürg Lehni
|
31cc571e8a
|
Docs: Hide matrix parameter in Item#hitTest() and add "options." in front of each options property.
|
2011-08-01 11:47:42 +01:00 |
|
Jürg Lehni
|
884ea96a29
|
Docs: Link HitResult back to #hitTest() functions.
|
2011-08-01 11:47:08 +01:00 |
|
Jonathan Puckey
|
e0650cae73
|
Document HitResult, Item#hitTest(point, options) and Project#hitTest(point, options).
|
2011-07-31 22:58:51 +02: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 |
|
Jonathan Puckey
|
8e816f6bfc
|
HitResult#getOptions: only have fill / stroke / segments options set to true if no options object was provided.
|
2011-07-15 14:52:38 +02:00 |
|
Jonathan Puckey
|
611d9e3af3
|
Item#hitTest: ignore top level layers when hit testing for bounds or center.
|
2011-07-15 13:00:40 +02:00 |
|
Jürg Lehni
|
077a83ca7c
|
Fix documentation error.
|
2011-07-11 12:15:34 +02:00 |
|
Jürg Lehni
|
55f815cb72
|
Remove obsolete TODOs.
|
2011-07-09 17:12:13 +02:00 |
|
Jürg Lehni
|
615a1281e3
|
Remove obsolete TODO.
|
2011-07-09 17:03:10 +02:00 |
|
Jürg Lehni
|
5bac5189a4
|
Implement Item#fullySelected.
|
2011-07-09 17:02:58 +02:00 |
|
Jürg Lehni
|
ebd3bfc092
|
Introduce faster versions of Rectangle#contains() that do not perform checks.
|
2011-07-09 11:07:12 +02:00 |
|
Jürg Lehni
|
8e6adbc284
|
Fix documentation.
|
2011-07-09 09:28:49 +02:00 |
|
Jürg Lehni
|
f958b41d90
|
Don't filter for a type by default.
|
2011-07-09 09:28:36 +02:00 |
|
Jürg Lehni
|
b5d3cf2ad0
|
Add comment about missing documentation.
|
2011-07-08 23:32:50 +02:00 |
|
Jürg Lehni
|
2dfe4dfa19
|
Remove invalid comments.
|
2011-07-08 23:32:38 +02:00 |
|
Jürg Lehni
|
b1a2a626ad
|
Separate type from name for 'bounds' hit-results.
|
2011-07-08 23:29:55 +02:00 |
|
Jürg Lehni
|
62ba983432
|
Implement hit-test options: center and bounds.
|
2011-07-08 23:26:50 +02:00 |
|
Jürg Lehni
|
c033a5a7bc
|
Implement hit-test options: segments, handles and ends.
|
2011-07-08 23:26:21 +02:00 |
|
Jürg Lehni
|
9db96ae898
|
Perform point conversion along with HitResult.getOptions().
|
2011-07-08 23:25:27 +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
|
a580b23f2a
|
Reverse direction of child-looping in hit-tests, so items that get drawn last are tested first.
|
2011-07-08 21:15:16 +02:00 |
|
Jürg Lehni
|
1b3d4773a3
|
Optimise hit-testing by checking point to lie within #roughBounds + tolerance first.
|
2011-07-08 21:01:34 +02:00 |
|
Jürg Lehni
|
69a7d0bfd4
|
Implement a first version of Item#hitTest(), so far working only for Path items. Work in progress.
|
2011-07-07 22:14:58 +02:00 |
|
Jürg Lehni
|
de87c1f97a
|
Define a bit of code that names all our class constructors based on the property name under which they were stored, and use that in Item#toString().
|
2011-07-07 22:14:09 +02:00 |
|
Jürg Lehni
|
3bd6122e82
|
Begin adding support for guides.
|
2011-07-07 21:02:52 +02:00 |
|
Jürg Lehni
|
ced45c4e8f
|
Add HSLColor to documentation.
|
2011-07-07 20:51:23 +02:00 |
|
Jürg Lehni
|
110cffc14c
|
Improve comments for bounds functions.
|
2011-07-04 23:28:28 +02:00 |
|
Jürg Lehni
|
9499125b22
|
Link Item <-> Symbol#definition <-> PlacedItem and make sure changed events get sent across the whole chain.
|
2011-07-04 21:27:42 +02:00 |
|
Jürg Lehni
|
1ed6d46ce3
|
Define Item ids immediately, not on first request.
|
2011-07-04 20:19:37 +02:00 |
|
Jürg Lehni
|
bfa774f717
|
Move private bounds methods above the actual beans definitions.
|
2011-07-04 19:53:29 +02:00 |
|
Jürg Lehni
|
45a3e7f873
|
Big refactoring of the way bounds are handled and cached, properly supporting Groups inside Symbols, and also adding #roughBounds, to be used by upcoming hit testing code.
|
2011-07-04 19:45:53 +02:00 |
|
Jürg Lehni
|
10b0062ce2
|
Minor fixes and clean ups.
|
2011-07-04 11:54:52 +02:00 |
|
Jürg Lehni
|
7e26a7af1e
|
Rename all x-axis / y-axis parameters in #scale and #shear to hor / ver, and fix a bug in Matrix#shear, where an undeclared variable was used (sx instead of shx).
|
2011-07-01 18:00:16 +02:00 |
|
Jürg Lehni
|
aa9be1d9c5
|
Rename #controlBounds -> #handleBounds, to reflect terminology used elsewhere.
|
2011-07-01 17:23:10 +02:00 |
|
Jürg Lehni
|
9fa51a0457
|
Implement Item#controlBounds and Path#controlBounds, and test it in StrokeBounds example. This is a first step towards fast hit-testing.
|
2011-07-01 12:51:18 +02:00 |
|
Jürg Lehni
|
79c0ad8cc5
|
Update copyright notices.
|
2011-07-01 12:17:45 +02:00 |
|
Jürg Lehni
|
d95480bc22
|
Remove trailing white spaces.
|
2011-07-01 12:01:32 +02:00 |
|
Jürg Lehni
|
609f23c64d
|
Make PlacedItem#matrix private and add getter / setter for it.
|
2011-07-01 11:32:09 +02:00 |
|
Jürg Lehni
|
1cd7165ea2
|
Define PlacedItem as base class for Raster and PlacedSymbol.
|
2011-07-01 11:26:51 +02:00 |
|
Richard D. Worth
|
ac39873693
|
Whitespace. Removed all trailing whitespace from .js files
|
2011-06-30 06:01:51 -04:00 |
|
Jürg Lehni
|
4c6e152748
|
Move Item#setBounds() close to #getBounds() and document #_getBounds().
|
2011-06-30 08:53:57 +02:00 |
|
Jürg Lehni
|
cca562efc0
|
Prepare Item#_getBounds() for #controlBounds.
|
2011-06-30 08:51:53 +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 |
|
Jonathan Puckey
|
a17dc4171a
|
Fix bug where cloned items that were selected weren't appearing in the Project#selectedItems array.
|
2011-06-21 01:52:44 +02:00 |
|
Jürg Lehni
|
3aff54517e
|
Add support for ChangeFlag notifications to Raster.
|
2011-06-20 20:13:24 +01:00 |
|
Jürg Lehni
|
ea9eacf578
|
Fix value of ChangeFlag.CLIPPING
|
2011-06-20 20:07:04 +01:00 |
|
Jürg Lehni
|
4c20b1ef3d
|
Support rotations by multiples of 90 degrees too, as they can be applied correctly to rectangles.
|
2011-06-20 19:52:22 +01:00 |
|
Jürg Lehni
|
5e524a478e
|
We need to process _bounds and _position outside of _transform() handling, since items without _transform() can still have cached values, e.g. Group.
|
2011-06-20 19:33:34 +01:00 |
|
Jürg Lehni
|
22736dc72d
|
Clean up code.
|
2011-06-20 19:32:42 +01:00 |
|
Jürg Lehni
|
bc567f4d29
|
Improve shear() parameter naming.
|
2011-06-20 19:20:51 +01:00 |
|
Jürg Lehni
|
5e39e60d51
|
Fix typo.
|
2011-06-20 18:34:51 +01:00 |
|
Jürg Lehni
|
5b85d78faa
|
Use Matrix#getRotation() to decide if we can transform cached _bounds and _position for perforamce improvements.
|
2011-06-20 18:25:49 +01:00 |
|
Jürg Lehni
|
37f5a64dce
|
Improve _bounds handling by introducing Item#_createBounds() that always uses LinkedRectangle class.
|
2011-06-20 17:34:43 +01:00 |
|
Jürg Lehni
|
8b66c4fa83
|
Remove flags parameter in Item#transform() for now.
|
2011-06-20 17:03:43 +01:00 |
|
Jürg Lehni
|
4e3aa3e5c5
|
Move all Style classes into their own folder.
|
2011-06-20 16:38:01 +01:00 |
|
Jürg Lehni
|
456bf7f2a9
|
Move more getter / setter injection functionality from PathStyle to Style, to be shared among all Style classes.
|
2011-06-20 15:21:42 +01:00 |
|
Jürg Lehni
|
a7e57ada88
|
Big refactoring of the way Style objects are linked to their owning classes, implemented in a way that works across all sub classes.
|
2011-06-20 14:58:48 +01:00 |
|
Jürg Lehni
|
a45340d20f
|
Revert previous change since arguments.length is wrong when parameters are undefined when using Function#call.
|
2011-06-20 14:37:09 +01:00 |
|