Commit graph

967 commits

Author SHA1 Message Date
Jürg Lehni
623bed4c4a Also clone the applyMatrix property. 2012-12-25 17:08:17 +01:00
Jürg Lehni
8f093f6dd7 Remove all PORT comments, since we won't port back features to Scriptographer. 2012-12-25 16:07:48 +01:00
Jürg Lehni
b54bdadaff Rename Item#transformContent to #applyMatrix. 2012-12-24 17:39:24 +01:00
Jürg Lehni
1e283fe113 Implement Raster#source and clean up #initialize() 2012-12-24 01:12:41 +01:00
Jürg Lehni
d6fceb928f Implement Item#transformContent property, which controls wether Item#transform() directly applies transformations to contents, or simply stores them in Item#matrix. 2012-12-24 00:39:42 +01:00
Jürg Lehni
e21ea457a7 Remove Item#apply() and clean up #applyMatrix() and simplify handling. 2012-12-24 00:29:09 +01:00
Peter
1bb7c9f1aa Use Item.draw in rasterize 2012-12-23 17:52:43 +01:00
Jürg Lehni
734cc1cc61 Undo commit 4445376c0204cb5a2e408c64b77a5b6fa09305ba since it clashes with magnification. 2012-12-21 16:41:57 +01:00
Jürg Lehni
c63e2c8f79 Clean up bounds scope indentation. 2012-12-18 14:19:13 +01:00
Jürg Lehni
9a8dddd7df Move Item#isEmpty() out of bounds scope and define documentation for it. 2012-12-18 14:18:53 +01:00
Jürg Lehni
b535d9f843 Implement new Bootstrap feature that allows hiding of getter parameters to make sure beans are produced, and use it across the library. 2012-12-15 19:51:31 +01:00
Jürg Lehni
0d2ed108e2 Refactor getBounds code so that functionality can be exposed as static methods on Path. 2012-12-15 08:19:10 -08:00
Jürg Lehni
cf5853c8cc Improve handling of item based onFrame handlers, by moving functionality to View and removing handlers properly when the view is destroyed. 2012-12-03 09:53:47 -08:00
Jürg Lehni
5b56bd7fbf Fix item-based onFrame handlers so they can be removed again properly. 2012-12-03 08:49:49 -08:00
Jürg Lehni
a3a7545cb0 Only resize image rasters if the new size is different from the old. 2012-12-02 21:13:03 -08:00
Jürg Lehni
523f5c1789 Avoid multiple triggering of Raster.onLoad() on cached rasters. 2012-12-02 21:05:40 -08:00
Jürg Lehni
d16155f4fe Fix CompoundPath#clone() so that it does not alter the #clockwise state on its children. 2012-12-01 11:31:03 -08:00
Jürg Lehni
f90ceb06b3 Simplify code that checks for the need of opacity buffering a bit. 2012-12-01 11:06:23 -08:00
Jürg Lehni
398ee1a338 Redraw view once Raster has finished loading. 2012-11-27 14:12:34 -08:00
Jürg Lehni
906faf7956 Improve handling of nested matrices in hit-testing.
Closes #134.
2012-11-23 12:41:00 -08:00
Jonathan Puckey
157a59d315 Merge branch 'master' of https://github.com/paperjs/paper.js 2012-11-23 21:21:20 +01:00
Jonathan Puckey
4c409b37fb Merge pull request #135 from 0/layer-insert-below
Fix insertBelow for Layer items
2012-11-23 12:05:11 -08:00
Jonathan Puckey
151f7026e1 Fix mistake in previous commit. 2012-11-23 20:55:46 +01:00
Jonathan Puckey
43b3ac6beb Optimize PlacedSymbol#_hitTest a bit.
Use faster Point#_transformPoint function to transform point.
2012-11-23 20:48:34 +01:00
Jonathan Puckey
e835ccf786 Remove accidentally committed logging statement. 2012-11-23 20:43:28 +01:00
Jonathan Puckey
90e475b5f9 Support hit-testing of placed-symbols and add test. Closes #131. 2012-11-23 20:29:36 +01:00
Jürg Lehni
373474d088 Implement loading Rasters from external sources and notify using a 'load' callback. 2012-11-21 10:39:26 -08:00
Dmitri Iouchtchenko
ae7e6ee6b3 Fix insertBelow for Layer objects 2012-11-19 23:41:04 -05:00
Jürg Lehni
e9a9066d7f Use group creation without explicit array declaration, as that's been supported all along. 2012-11-06 20:37:50 -08:00
Jürg Lehni
c70948c762 Return the inserted item in #addChild() & co, instead of true / false. 2012-11-06 12:44:02 -08:00
Jonathan Puckey
bda7c71fcb Fix problem when calling new Group([]). 2012-11-06 18:07:51 +01:00
Jürg Lehni
35568c15f2 Implement transparent constant-substitution in prepro.js to shave of some extra bytes of final distribution file. 2012-11-05 18:11:44 -08:00
Jürg Lehni
61531949b0 Rework horizontal / vertical lineto command code a bit. 2012-11-05 08:54:10 -08:00
Jürg Lehni
19d145f281 Introduce Item#type, returning a simple item type string identifier. 2012-11-03 23:43:18 -07:00
Jürg Lehni
63640cad03 Fix issue with hit-testing of translated rasters and other items.
Use the untransformed point in the initial bounds check. Closes #45, #86.
2012-10-20 16:54:39 -04:00
Jürg Lehni
30374ae3b4 Implement proper index independent argument list reading of basic types.
Implemented for Point, Size, Rectangle and Color.
2012-10-18 14:24:15 -07:00
Jürg Lehni
e17e94b50b Implement Item#isEmpty() for the various types.
And use it to tell #getBounds() when to ignore items.
2012-10-10 20:11:11 -07:00
Jonathan Puckey
e3518c29b1 Fix issue where adding the children of one group to another using Item#insertChildren / Item#addChildren does not work.
This fixes #119. To avoid duplication I chose to call
Item#insertChildren from Item#addChildren.
2012-10-06 13:08:07 +02:00
Jürg Lehni
59a55f7574 Merge branch 'master' of github.com:paperjs/paper.js 2012-09-30 14:08:44 -07:00
Jürg Lehni
99ac617ded Inject HitResults fields as enumerable, so the default #toString works, and avoid listing getColor. 2012-09-30 14:07:27 -07:00
Oliver Beattie
457e96ac2b Remove unused delta variable from Item.fitBounds 2012-03-17 17:09:59 +00:00
Jonathan Puckey
08c02a66f1 Fix Item#insertAbove(item) & Item#insertBelow(item). Closes #81 2012-03-13 15:58:52 +01:00
Jonathan Puckey
2fff5b4f79 Group: fix clipping. Fixes #66 2012-03-02 11:54:11 +01:00
Jonathan Puckey
a343724094 Item#setName: Check for Item#_parent to avoid errors in removed items and top level groups. Fixes #76 2012-03-01 16:43:05 +01:00
Jürg Lehni
1e0f779ea5 Make the hit test point transformation sticky.
So it propagates through the DOM levels.
2011-12-28 09:13:42 +01:00
Jürg Lehni
50e1509ab9 Simplify some code in #getAverageColor(). 2011-12-27 20:39:46 +01:00
Jürg Lehni
24c0d0f87e Fix bug in Raster#getAverageColor(). 2011-12-27 19:55:55 +01:00
Jürg Lehni
5093648bd1 Shorten code a bit. 2011-12-27 19:53:37 +01:00
Jürg Lehni
b832787f7f Fix issues with multiple instances of symbols appearing in the wrong positions.
This was caused by cached bounds rectangles being modified elsewhere.
2011-12-27 19:53:28 +01:00
Jürg Lehni
2249f09223 Minor code clean up.
No need to set reference again, since we're directly modifying it.
2011-12-26 11:16:16 +01:00
Jürg Lehni
dbd3eff84b Don't forget to set #_bounds again if recycling.
This fixes the other observed slowdown since the bounds caching code overhaul.
2011-12-26 11:15:47 +01:00
Jürg Lehni
873cd79517 Fix a bug in code that keeps #_position cache up to date.
Only happened in items that assign another type to 'bounds' through _boundsType, e.g. PlacedSymbol, leading to substantial slow downs.
2011-12-26 11:08:09 +01:00
Jürg Lehni
d2869cfd55 Cached bounds are no longer LinkedRectangles. 2011-12-26 11:06:04 +01:00
Jürg Lehni
c552925426 Fix issue with Item#removeChildren(from, to) removing too many items. 2011-12-26 02:39:54 +01:00
Jürg Lehni
1e690a68e0 Add TODO about HitResult points requiring transformations. 2011-12-25 12:39:10 +01:00
Jürg Lehni
951a3aea99 Inverse-transform the passed point on each DOM level in #hitTest(). 2011-12-25 00:19:44 +01:00
Jürg Lehni
c30ff47930 Remove matrix argument from all hit-testing related methods.
We better inverse-transform the point and save the code!
2011-12-25 00:19:01 +01:00
Jürg Lehni
1eadc87b58 No need to calculate matrix before handling cached values. 2011-12-24 12:30:43 +01:00
Jürg Lehni
733d879bb6 Add / improve comments about DOCS. 2011-12-23 22:47:10 +01:00
Jürg Lehni
97b66582f8 Rename Item#applyMatrix() to shorter #apply(). 2011-12-23 22:41:05 +01:00
Jürg Lehni
61dca0b4d0 Introduce standard way of passing matrices/points to Item constructors. 2011-12-20 23:33:53 +01:00
Jürg Lehni
f2d7b85616 Introduce Matrix#setIdentity(). 2011-12-20 23:14:30 +01:00
Jürg Lehni
a8392fbf68 Implement local caching for the calculation of concatenated global matrices in the drawing of selected items in Project#draw(). 2011-12-20 23:09:49 +01:00
Jürg Lehni
8888ca912a The internal Item#_position is no longer a LinkedPoint.
Make sure it stays that way when it's kept up-to-date in Item#transform().
2011-12-20 22:35:06 +01:00
Jürg Lehni
0592038b9f Remove debugging code that lead to slow-down regressions. 2011-12-20 22:34:08 +01:00
Jürg Lehni
93ede28f3b Implement new selection drawing mechanism.
Using the new Item#globalMatrix.
2011-12-20 11:42:00 +01:00
Jürg Lehni
89a1d2fe73 Define Item#globalMatrix.
For now uncached.
2011-12-20 11:39:36 +01:00
Jürg Lehni
4a46c8ac98 Fix recently introduced error with stroke/fillColor handling
Since CanvasContext#stroke/fillStyle cannot be set to null, we have to keep checking Style#fill/strokeColor even after calling #_setStyles().
2011-12-19 23:07:14 +01:00
Jürg Lehni
cc26fdc5d1 Optimise handling and setting of fill and stroke styles.
Handle setting of fillColor and strokeColor in Item#_setStyles() instead of the various #draw() methods, directly access internal styles instead of using accessor calls and fix PointText#draw().
2011-12-19 22:40:14 +01:00
Jürg Lehni
ea0eaf04ea Make TextItem#style a reference to #characterStyle.
Internally, CharacterStyle extends PathStyle and is now stored in TextItem#_style.
2011-12-19 22:26:09 +01:00
Jürg Lehni
19429d9b6d Automate generation of style accessors through Style class.
Shaving off some byes by adding more magic.
2011-12-19 22:14:10 +01:00
Jürg Lehni
f5c1125709 Move Path#_setStyles() to Item, so it can be used in PointText too. 2011-12-19 21:25:39 +01:00
Jürg Lehni
e89b2e5be1 Remove recursive argument from Item#applyMatrix().
Always apply transforms recursively.
2011-12-19 21:20:10 +01:00
Jürg Lehni
4514c63ed4 Merge remote-tracking branch 'origin/master' 2011-12-18 21:30:22 +01:00
Jürg Lehni
e52d2a08b8 Use correct flags in _changed() call. 2011-12-18 16:56:18 +01:00
Jürg Lehni
554047ae38 Expose Item#_getCachedBounds and use it in PlacedSymbol for proper handling of nested matrices. 2011-12-18 16:55:56 +01:00
Jürg Lehni
d2b1c77686 No need to call #getDefinition() internally.
Use private value directly.
2011-12-18 16:55:24 +01:00
Jürg Lehni
9e5eb17264 Improve Item#transform() and implement #applyMatrix() to support nested matrices. Work in progress. 2011-12-18 16:54:21 +01:00
Jonathan Puckey
7fdb01cf77 More work on Item event handling documentation. 2011-12-07 12:45:04 +01:00
Jonathan Puckey
1414500f45 First version of documentation of Item event handlers and MouseEvent. 2011-12-01 11:57:10 +01:00
Jürg Lehni
6e5e54cfe6 Change sequence of position / bounds related properties. 2011-11-30 18:36:44 +01:00
Jürg Lehni
f895d3e6fb Fix recently introduced error in Item#setSelected(). 2011-11-30 18:28:11 +01:00
Jürg Lehni
a26bc87686 Implement support for Item#matrix in Item#draw(). 2011-11-30 18:19:23 +01:00
Jürg Lehni
a57070e4a3 Fix bounds caching issues on Group. 2011-11-30 18:18:51 +01:00
Jürg Lehni
a3ec184873 Add dontLink argument to Item#getPosition()
And use it to optimise up #setPosition().
2011-11-30 18:18:24 +01:00
Jürg Lehni
bb1d436281 Move creation of LinkedRectangle for 'bounds' to bounds accessor. 2011-11-30 17:20:29 +01:00
Jürg Lehni
3ece08bea1 Fix handling of recursion in Item#setSelected() / #setFullySelected(). 2011-11-30 17:16:52 +01:00
Jürg Lehni
cf4c2b4919 Move #matrix accessor from PlacedItem to Item. 2011-11-29 17:19:31 +01:00
Jürg Lehni
5ff3a07b31 Add comment about 1px rectangle in Raster#getAverageColor(). 2011-11-29 17:19:15 +01:00
Jürg Lehni
b5e46971f0 Replace new Size(x, y) calls with internal Size.create(x, y). 2011-11-29 17:11:15 +01:00
Jürg Lehni
26210fb95b Implement transforming of cached bounds again, if possible. 2011-11-28 23:20:47 +01:00
Jürg Lehni
cadc2e78ca We can directly access Item#_id.
No need to call Item#getId() internally.
2011-11-28 23:14:02 +01:00
Jürg Lehni
cb8c94ef7e Recursively call _clearBoundsCache
If the cache for an item's children is not valid anymore, that needs to propagate up the DOM tree.
2011-11-28 23:13:31 +01:00
Jürg Lehni
d3c83be3bb Correct execution sequence in getBounds so that the parent's _boundsCache is kept up to date even when the child is returning a cached result. 2011-11-28 22:59:25 +01:00
Jürg Lehni
e82deff4b9 Fix the drawing of PlacedSymbol bounds when selected. 2011-11-27 14:55:49 +00:00
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
Jürg Lehni
5ce49e6f8f Merge remote-tracking branch 'origin/master' 2011-06-20 14:26:05 +01:00
Jürg Lehni
2c68e7e58f Use faster Function#call() when arguments are clear. 2011-06-20 14:25:27 +01:00
Jonathan Puckey
e23282fe05 Documentation: convert Array return types to Type[]. 2011-06-20 15:19:08 +02:00
Jürg Lehni
55724b0e29 Move defaults handling fully to Style base class. 2011-06-20 14:10:37 +01:00
Jürg Lehni
f064886c67 Introduce Style as a base class for all Style classes, and move the definition of create() there. 2011-06-20 13:56:49 +01:00
Jürg Lehni
3a232b305e Implement _changed() mechanism in Color, by having Colors know which items they are defining styles for, through an internal _owners list. 2011-06-20 00:00:02 +01:00
Jürg Lehni
af0e5a07b7 Add getter/setter for TextItem#content and use Change.CONTENT to notify of changes. 2011-06-19 23:28:41 +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
7a90f9260e Have subclasses of Item call the base version of _changed(). 2011-06-19 22:40:49 +01:00
Jürg Lehni
a50f6a23ac Add comment. 2011-06-19 22:36:41 +01:00
Jürg Lehni
2b63aefc09 Add ChangeFlag.CLIPPING and use it for proper clip mask caching in Group. 2011-06-19 22:36:04 +01:00
Jürg Lehni
0df909dd71 Rename ChangeFlags -> ChangeFlag. 2011-06-19 22:21:14 +01:00
Jürg Lehni
f0bc3f115b Have all visual changes include ChangeFlags.APPEARANCE. 2011-06-19 22:20:28 +01:00
Jürg Lehni
bfe229ae14 Use #addChildren() instead of #setChildren() in Group constructor. 2011-06-19 22:05:31 +01:00
Jürg Lehni
2594a41b7d Remove the mention of optional parameters in documentation, as they are marked optional already. 2011-06-19 21:52:52 +01:00
Jürg Lehni
1e436b2980 Use typed array in documentation. 2011-06-19 21:50:10 +01:00
Jürg Lehni
cb61e8d452 Implement rest of ChangeFlags.HIERARCHY notifications. 2011-06-19 21:49:26 +01:00
Jürg Lehni
fe7c618deb Define Item#addChildren() / #insertChildren() and adjust documentation a bit. 2011-06-19 21:48:36 +01:00
Jürg Lehni
bf627d9d9c Remove all beans: true settings. 2011-06-19 18:54:41 +01:00
Jürg Lehni
7d2f10f22b Rename private move() -> insert(), to reflect recent name changes. 2011-06-19 18:50:23 +01:00
Jürg Lehni
bbcec27031 Move support for _bounds caching to Item and start using it in PlacedSymbol. 2011-06-19 18:07:53 +01:00
Jürg Lehni
7ca9bcf38a Further shorten #_getBounds() code. 2011-06-19 17:47:20 +01:00
Jürg Lehni
82ef06212b Shorten #_getBounds() code. 2011-06-19 17:46:39 +01:00
Jürg Lehni
f474bd9085 No need to redefine deprecated #moveAbove()/Below(), since they're redirecting to #insertAbove()/Below(). 2011-06-19 17:33:28 +01:00
Jürg Lehni
812d3fb366 Rename #_removeFromParent() -> #_remove(). 2011-06-19 17:32:43 +01:00
Jürg Lehni
4eb6d78f1f Have #_removeFromParent() handle deselection and change notification. 2011-06-19 17:30:47 +01:00
Jürg Lehni
9d2f8c5035 Only call _changed() if selection actually changes. 2011-06-19 16:47:24 +01:00
Jürg Lehni
2fe274741a Assume that _index is always correct and do not check for Base.splice() result in remove functions. 2011-06-19 16:08:51 +01:00
Jonathan Puckey
d13e9bbaa1 Replace accidental beans access in Item#setBounds with corresponding getters. 2011-06-19 03:28:27 +02:00
Jonathan Puckey
7285d6fc85 Implement Item#fitBounds(rectangle, fill), which transforms the item so that its bounding rectangle fits within the specified rectangle, without changing its aspect ratio. 2011-06-19 03:26:51 +02:00
Jonathan Puckey
c5f3e98abb Item: remove trailing comma. 2011-06-19 01:40:34 +02:00
Jonathan Puckey
eecebdb831 Item: fix problem with #children docs. 2011-06-18 17:40:50 +02:00
Jonathan Puckey
f26a9a2327 Item: document #dashArray & #dashOffset. 2011-06-17 21:04:32 +02:00
Jonathan Puckey
6f41aaf217 PathStyle: document #dashOffset & #dashArray. 2011-06-17 20:55:12 +02:00
Jürg Lehni
ca16e43c1f Implement getters / setters for #locked, #visible, #blendMode and #opacity, and call _changed() from setters. 2011-06-17 18:53:34 +01:00
Jürg Lehni
3226147e00 Use a version of Bootstrap that always produces beans and remove all beans: true instructions. 2011-06-17 18:42:29 +01:00
Jürg Lehni
7bd571de17 Remove obsolete comment. 2011-06-17 18:09:15 +01:00
Jürg Lehni
b4f052a64b Improve Item documentation. 2011-06-17 18:04:00 +01:00
Jürg Lehni
5d13d3a40d Add from/to parameters to Item#removeChildren() and improve documentation. 2011-06-17 17:55:30 +01:00
Jürg Lehni
ee0446fa4f Implement #insertAbove/Below using the new #insertChild, allowing the removal of one injection scope, and rearrange function sequence for documentation. 2011-06-17 17:35:26 +01:00
Jürg Lehni
85c5e2a7eb Item#insertChild(): Only remove from parent if we're actually inserting the item in the new location. 2011-06-17 16:56:04 +01:00
Jürg Lehni
6f4a9d5c7b Merge branch 'master' of github.com:scriptographer/paper.js
Conflicts:
	test/tests/Item.js
2011-06-17 16:36:58 +01:00
Jürg Lehni
f0664f50e6 Start implementing ChangeFlags.ATTRIBUTE and ChangeFlags.APPEARANCE. 2011-06-17 16:34:01 +01:00
Jürg Lehni
38de43c612 Fix issue with #setName() introduced in recent commit. 2011-06-17 16:32:47 +01:00
Jonathan Puckey
ea9c9353e3 Merge branch 'master' of https://github.com/scriptographer/paper.js 2011-06-17 16:59:42 +02:00
Jonathan Puckey
e6ac8af3aa Improve Item#children documentation. 2011-06-17 16:59:24 +02:00
Jonathan Puckey
6fc08c6417 Item: implement #addChild(item), #insertChild(index, item), #insertAbove(item) and #insertBelow(item) Deprecate: #moveAbove, #moveBelow, #appendTop, #appendBottom. 2011-06-17 16:58:41 +02:00
Jürg Lehni
503a031bdf Allow CompoundPath to have named children. 2011-06-17 14:11:37 +01:00
Jürg Lehni
87df7eb1f9 Change handling of clipping by always drawing clip-masks first, no matter where they are in the sequence. 2011-06-17 14:05:37 +01:00
Jürg Lehni
f4d15200ee Remove Group#_clipped and solely use Item#_clipMask to handle clipping internally. 2011-06-17 13:56:02 +01:00
Jürg Lehni
30087d046a Fix a bug where after renaming items, old name references where still laying around. 2011-06-17 13:29:47 +01:00
Jürg Lehni
cb463b74f5 Fix @extends tags in documentation: Only the immediately following class is required. 2011-06-16 21:43:31 +01:00
Jürg Lehni
38003b6818 Clean up documentation: Always use @function / @name when there is more than one version of a method. 2011-06-16 19:26:50 +01:00
Jürg Lehni
ffa79f4fd1 Clean up white spaces in comments. 2011-06-14 22:59:45 +01:00
Jürg Lehni
a32b687bfd Bigger refactoring of handling of segment selection: Have Path#_selectedSegmentState be the summed up value of all Segment's states, and compare it to segments.length * SelectionState.POINT in #fullySelected. 2011-06-14 15:37:25 +01:00
Jürg Lehni
e670c262c3 Simplify code. 2011-06-14 15:36:01 +01:00
Jürg Lehni
c4b3d1c82a Define default value for Item#_selected and copy it over when item is cloned. 2011-06-14 15:35:39 +01:00
Jürg Lehni
2679d6eb9e Clean up Item#selected code. 2011-06-14 13:31:03 +01:00
Jonathan Puckey
41feaebb4e Fix Group clipping and ignore Item#clipMask in the documentation for now. 2011-06-14 12:15:46 +02:00
Jonathan Puckey
10de921a83 Docs: Use classexample tags in Point, Size and Rectangle. 2011-06-13 17:12:23 +02:00
Jonathan Puckey
94fa73bf2f Documentation: improve wording in Item#clone() example. 2011-06-10 13:34:58 +02:00
Jonathan Puckey
344034cb62 Documentation: clean up Item#blendMode types. 2011-06-10 13:34:20 +02:00
Jürg Lehni
0567d0a5f9 Documentation: Fix typo. 2011-06-08 18:47:34 +01:00
Jürg Lehni
5fa43efb79 Merge remote-tracking branch 'origin/master' 2011-06-04 16:08:52 +01:00
Jürg Lehni
e5290c3f47 More work on Path#draw(). 2011-06-04 15:28:06 +01:00
Jonathan Puckey
a96b272f7a Documentation edits. 2011-06-04 15:50:29 +02:00
Jonathan Puckey
7abdce4f9c Implement Symbol#place(position) 2011-06-03 22:25:37 +02:00
Jonathan Puckey
96ac41e5c5 Item & PathStyle: implement paperscript examples. 2011-06-03 18:45:01 +02:00
Jonathan Puckey
e273a048cd Group docs: change the height of the constructor example. 2011-06-03 18:44:22 +02:00
Jonathan Puckey
730572b118 Improve Item examples. 2011-06-03 15:34:10 +02:00
Jonathan Puckey
e9260562f2 Improve Group example code. 2011-06-03 14:25:25 +02:00
Jürg Lehni
3ef55b2b4e No need for variable chaining here. 2011-06-03 10:59:20 +01:00
Jürg Lehni
4e5e3c9bfd Instead of cloning each value that is set on PathStyle, just clone values in #initialize() / #setStyle(). 2011-06-03 08:27:49 +01:00
Jürg Lehni
02b6db1c7e Do not cache the value returned by Item#position directly, but the bounds' center that is used to create it. 2011-06-03 00:04:02 +01:00
Jonathan Puckey
5c88bdfac9 PlacedSymbol docs: use splitpane for constructor example. 2011-06-02 20:56:08 +02:00
Jonathan Puckey
5cede5f6ed Update Item#blendMode documentation. 2011-06-02 15:00:16 +02:00
Jonathan Puckey
018ac46e87 Small improvement to Item#strokeCap docs. 2011-06-02 14:17:47 +02:00
Jonathan Puckey
4d0db25e51 Item & PathStyle: improve documentation. 2011-06-02 13:58:56 +02:00
Jonathan Puckey
0e6811f022 Item: document and add examples to the different removeOn functions. 2011-06-02 13:32:00 +02:00
Jonathan Puckey
371428b9ee Item docs: improve #scale examples. 2011-06-02 12:59:30 +02:00
Jürg Lehni
09e3010ed5 Merge remote-tracking branch 'origin/master' 2011-06-01 20:32:54 +01:00
Jürg Lehni
7de0859a85 Clean up comments. 2011-06-01 20:21:41 +01:00
Jonathan Puckey
884446f606 Merge remote branch 'origin/master' 2011-06-01 19:49:57 +02:00
Jürg Lehni
29967153c3 Clean up TODO comments... 2011-06-01 10:49:43 +01:00
Jonathan Puckey
932527ee5c Improve Item's path style documentation. 2011-05-31 16:48:48 +02:00
Jonathan Puckey
2b8f1b71ec Documentation: use inline code tags for boolean and number values, 2011-05-31 14:28:42 +02:00
Jonathan Puckey
2e2b7cad24 PlacedSymbol docs: make constructor argument optional. 2011-05-30 20:09:46 +02:00
Jonathan Puckey
6892608ecd Documentation: rename 'Sample Code:' to 'Example:' 2011-05-30 19:55:40 +02:00
Jonathan Puckey
17fcb923ff Documentation: rearrange @example tags, improve examples, rename boolean -> Boolean and misc smaller edits. 2011-05-30 19:42:17 +02:00
Jürg Lehni
1e9f2dc057 Fix typos. 2011-05-30 15:17:44 +01:00
Jürg Lehni
15da2fe257 Implement Item#isAbove / #isBelow and define tests for it. 2011-05-29 19:54:43 +01:00
Jürg Lehni
ba42295942 Change variable name in #isEditable() to reflect what's being checked more correctly. 2011-05-29 19:22:59 +01:00
Jürg Lehni
9d00541987 Clean up PORT comments. 2011-05-29 19:20:10 +01:00
Jonathan Puckey
b3eca3895d Documentation: remove dashArray / dashOffset from Item & PathStyle, since they are not implemented yet. 2011-05-29 14:51:07 +02:00
Jonathan Puckey
418aee0792 Document options of strokeCap / strokeJoin for Item and PathStyle. 2011-05-29 14:49:51 +02:00
Jürg Lehni
3c2977287a Simplify Item#isAncestor() by formulating it as the reverse of Item#isDescendant(). 2011-05-28 21:09:03 +01:00
Jürg Lehni
6aac2b3e67 Fix Item#isChild(item). 2011-05-28 21:06:30 +01:00
Jonathan Puckey
cd76c8c0e1 Documentation: remove ^n from method names, since this isn't necessary anymore. 2011-05-28 02:18:10 +02:00
Jonathan Puckey
1520cad144 Documentation: capitalize basic types in @ tags. 2011-05-27 21:21:49 +02:00
Jonathan Puckey
8e84c79aa6 Documentation: capitalize 'string' and 'number' types. 2011-05-27 20:15:15 +02:00
Jonathan Puckey
82bc6fc796 Documentation: change return type of PathStyle#dashOffset & Item#dashOffset to number. 2011-05-27 20:08:06 +02:00
Jonathan Puckey
b3617cdab6 Documentation: add PathStyle properties to Item. 2011-05-27 20:05:51 +02:00
Jonathan Puckey
4015b022ad Docs: use @true tag in boolean return descriptions and add Key.isDown param options. 2011-05-27 18:43:27 +02:00
Jonathan Puckey
ca3230c1ad Documentation: reorder functions, add group titles and todos. 2011-05-27 13:28:13 +02:00
Jürg Lehni
397d3676ed Merge remote-tracking branch 'origin/master' 2011-05-26 21:00:05 +01:00
Jonathan Puckey
6b611add37 More documentation edits and function reordering. 2011-05-26 20:09:25 +02:00
Jürg Lehni
ddf3670952 Fix / remove some comments. 2011-05-26 12:04:47 +01:00
Jürg Lehni
baf519a841 Remove unsupported style properties for now. 2011-05-26 12:04:30 +01:00
Jonathan Puckey
93b06f3acb Add PlacedSymbol documentation. 2011-05-23 19:48:48 +02:00
Jonathan Puckey
08f6f94fb6 Clean up whitespace in Item documentation. 2011-05-23 17:10:12 +02:00
Jonathan Puckey
dc66049312 Documentation: small adjustment to Item#clone 2011-05-23 17:07:35 +02:00
Jonathan Puckey
d0ecd6a4ad Layer: small edit to constructor docs. 2011-05-23 17:02:22 +02:00
Jonathan Puckey
59af5343b5 Add Layer documentation. 2011-05-23 17:00:37 +02:00
Jonathan Puckey
872fbe1574 Document some more Raster functions. 2011-05-23 16:19:37 +02:00
Jonathan Puckey
04e34128ae Fix Raster#visible default value. 2011-05-23 16:18:59 +02:00
Jonathan Puckey
53d7a1e914 Add Raster documentation. 2011-05-23 16:09:04 +02:00
Jonathan Puckey
3d1317cece Item docs: change order of removeOn documentation. 2011-05-23 13:47:21 +02:00
Jonathan Puckey
c4f53cf297 Group documentation. 2011-05-23 13:37:13 +02:00
Jonathan Puckey
211635f206 Cleanup last commit. 2011-05-23 04:20:11 +02:00
Jonathan Puckey
987ac5b8f7 Adjust PathStyle constructor documentation. 2011-05-23 03:47:39 +02:00
Jonathan Puckey
c3246a969c PathStyle documentation: rename Document to Project. 2011-05-23 03:43:49 +02:00
Jonathan Puckey
548a2983fb Add PathStyle documentation. 2011-05-23 03:41:20 +02:00
Jonathan Puckey
8522a4485e Add documentation for Item. 2011-05-22 23:39:54 +02:00
Jonathan Puckey
572b62590e Fix Raster#clone. 2011-05-21 18:02:09 +02:00
Jürg Lehni
816424a9c5 Merge remote-tracking branch 'origin/master'
Conflicts:
	test/lib/helpers.js
2011-05-21 14:41:08 +01:00
Jürg Lehni
b3281806a3 No need to check if _style is defined now since even Layer (ineriting from Group) now has a style. 2011-05-21 14:29:00 +01:00
Jürg Lehni
a51957bf64 Change PathStyle to clone values in setters if they provide a clone function. This requires also using equals() wherevere they are checked to be the same or different. 2011-05-21 14:28:08 +01:00
Jonathan Puckey
73a2f0f256 Implement Raster#clone. 2011-05-21 12:50:02 +02:00
Jürg Lehni
b461368b18 Found a clean way for Layer#initialize() to call this.base() too, without implicitely calling paper.project.activeLayer.appendTop. 2011-05-21 01:05:22 +01:00
Jonathan Puckey
fc3833f150 Fix PlacedSymbol#clone(). 2011-05-20 19:41:53 +02:00
Jonathan Puckey
013fe56ea4 Item#_clone: check if the item has a _pathStyle property before copying it. 2011-05-20 19:35:26 +02:00
Jürg Lehni
be63d2cf07 Remove empty line. 2011-05-20 14:04:35 +01:00
Jürg Lehni
5713bc07f2 Define PlacedSymbol#clone(), needs testing. 2011-05-20 08:55:35 +01:00
Jürg Lehni
87d340e525 Introduce private Item#_clone(copy), so subclasses can override the way the copy is actually produced, e.g. providing parameters to the constructor. 2011-05-20 08:50:09 +01:00
Jürg Lehni
1c479f315e Add some comments to Item#clone(). 2011-05-19 22:09:51 +01:00
Jürg Lehni
276eb3301e Define scafold #clone() function for the classes that still required a proper definition. 2011-05-19 21:56:49 +01:00
Jürg Lehni
7401e42316 Implement #clone() for Item, Group and Path. Needs testing. 2011-05-19 21:56:23 +01:00
Jürg Lehni
b52abbfbc1 Replace removed 'hidden' property with 'visible'. 2011-05-19 21:55:51 +01:00
Jürg Lehni
57b194e047 Add explaining comments to Raster#getAverageColor() code. 2011-05-19 18:51:13 +01:00
Jürg Lehni
e8d4a16ab2 Shorten Raster#getAverageColor(). 2011-05-19 18:47:49 +01:00
Jürg Lehni
b103af4216 Merge remote-tracking branch 'origin/master' 2011-05-19 18:35:45 +01:00
Jürg Lehni
09612c4623 Remove the versions of #clone() that follow the scheme provided by Base#clone() now. 2011-05-19 18:35:38 +01:00
Jonathan Puckey
f965e53a06 Optimize Path#getAverageColor 2011-05-19 15:43:23 +02:00
Jonathan Puckey
241d98a1cf Merge remote branch 'origin/master' 2011-05-18 16:01:36 +02:00
Jonathan Puckey
8810563a8f Improve Raster#getAverageColor. 2011-05-18 16:00:55 +02:00
Jürg Lehni
26269d394a Rename project/ProjectView -> ui/View. 2011-05-17 13:29:07 +01:00
Jürg Lehni
e5f8ee0464 Write comment about calling base() from Layer#initialize(). 2011-05-17 13:14:23 +01:00
Jürg Lehni
515dbbb151 Fix error in Item#removeChildren(). 2011-05-17 13:09:10 +01:00
Jürg Lehni
889b1687f9 Use #setChildren() in Group constructor and allow passing of children both as arguments and inside an array. 2011-05-16 20:16:27 +01:00
Jürg Lehni
baf35ea18c Rename parameter. 2011-05-16 20:15:16 +01:00
Jürg Lehni
8a449b0e76 Remove deprecated Item#appendChild(). 2011-05-16 20:14:49 +01:00
Jürg Lehni
f12ed7234a Shorten code. 2011-05-16 19:44:46 +01:00
Jürg Lehni
97c4435d87 Fix typo. 2011-05-16 19:35:42 +01:00
Jürg Lehni
d535a1f6fc Clean up method sequence in Item. 2011-05-16 19:35:09 +01:00
Jürg Lehni
75b0fa3596 Add Item#removeChildren() and #setChildren(). 2011-05-16 19:34:57 +01:00
Jürg Lehni
c4203fe174 Change the way associated PathStyles are created and updated. 2011-05-16 19:21:36 +01:00
Jürg Lehni
05c0eb0e51 Simplify PathStyle#initialize(). 2011-05-16 19:20:32 +01:00
Jürg Lehni
da670b4171 Improve comments. 2011-05-16 18:29:53 +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
f545805786 Move Rectangle#transformCornerCoordinates() to Matrix#_transformCorners(). 2011-05-16 12:29:52 +01:00
Jürg Lehni
fc547793fa Remove redundant Rectangle#transformBounds() and merge its code with less optimised Matrix#transformBounds(). 2011-05-16 12:25:18 +01:00
Jürg Lehni
fc776f03eb Add Rectangle#transformCornerCoordinates() and use it in Item.drawSelectedBounds(). 2011-05-16 11:25:39 +01:00
Jürg Lehni
f0b29e0e4d Make Item#position a LinkedPoint and change the way it's transformed in #transform(). 2011-05-16 11:19:19 +01:00
Jürg Lehni
3a15360efc Rename ChangeFlags.PATH to GEOMETRY. 2011-05-16 00:01:06 +01:00
Jürg Lehni
0dc2241a9c No need to set _index to null since Base.splice() handles that for us. 2011-05-15 21:42:31 +01:00
Jürg Lehni
ef0347a6bc Fix accidental internal bean access to #segments. 2011-05-15 19:58:29 +01:00
Jürg Lehni
d12608c708 Minor clean ups. 2011-05-15 18:53:09 +01:00
Jonathan Puckey
a9fbc41e15 Clean up Item#name code. 2011-05-15 19:27:32 +02:00
Jonathan Puckey
d998cd30f3 Add support for accessing items by name through their parent's children list. 2011-05-15 19:12:27 +02:00
Jürg Lehni
252a3635dc Replace {@true} tags in documentation ({@true ([^}]*)} -> true $1, false otherwise.) 2011-05-15 15:06:10 +01:00
Jürg Lehni
ee8b66e19a Remove methods / fields that are hidden on Scriptographer through @jshide. 2011-05-15 15:03:33 +01:00
Jürg Lehni
2c078d8b17 Remove all code blocks and group titles from documentation since we're relying on Scriptographer code and documentation generation (through javadoc) for docs. 2011-05-15 15:01:59 +01:00
Jonathan Puckey
3f8f539aeb Fix bugs in Raster#getAverageColor. 2011-05-15 14:13:47 +02:00
Jürg Lehni
3cb78db5f5 Fix typo. 2011-05-15 11:32:09 +01:00
Jürg Lehni
1dd0ee2533 Simplify Item#getId() 2011-05-14 22:38:27 +01:00
Jürg Lehni
5593eb94d0 Simplify Item#_removeFromParent(). 2011-05-14 18:11:31 +01:00
Jürg Lehni
4e059af684 Reassign Item#_index in #reverseChildren(). 2011-05-14 18:07:45 +01:00
Jürg Lehni
0bab694a01 Rename Item#children to private Item#_children and add #getChildren getter. 2011-05-14 18:07:10 +01:00
Jürg Lehni
df51b25fec Add comment about plain properties that need to send _changed() notifications. 2011-05-14 17:57:23 +01:00
Jürg Lehni
de34f8c157 Clear Item#_index when removing item and simplify #getIndex(). 2011-05-14 17:56:56 +01:00
Jürg Lehni
25c2d68f37 Switch to Item#_parent / #getParent() as property is read-only. 2011-05-14 17:56:14 +01:00
Jürg Lehni
a775e66632 Do not use #splice() for the initial push to the documents / children list. 2011-05-14 12:42:52 +03:00
Jonathan Puckey
34077dc901 Item#_getBounds: don't include bounds of hidden items. 2011-05-08 17:17:54 +01:00
Jürg Lehni
af8fd22ae2 Remove hyphen from event types, to go with the naming of the browser world more. 2011-05-08 15:35:10 +01:00
Jürg Lehni
20409f3084 Use Base.splice() for Layers too. 2011-05-07 17:27:19 +01:00
Jürg Lehni
566f52201c Fix typo. 2011-05-07 17:11:12 +01:00
Jürg Lehni
d254d9542d Add ChangeFlags.HIERARCHY, for future change notifications when children get rearranged. 2011-05-07 16:52:54 +01:00
Jürg Lehni
8c7b253bc2 Add Base.splice() to handle lists of items with _index referneces and use it for paper.documents and Item#children. 2011-05-07 16:11:05 +01:00
Jürg Lehni
79f55aa908 Fix recently introduce error in append(). 2011-05-07 15:41:07 +01:00
Jürg Lehni
999fb129cc Some code clean ups. 2011-05-07 15:40:02 +01:00
Jürg Lehni
9ef542ff9a Add comment to #_canged(). 2011-05-07 14:57:20 +01:00
Jürg Lehni
3ff2880ca8 Make Item#setDocument() and #removeFromParent() private. 2011-05-07 14:50:48 +01:00
Jürg Lehni
2f6fbcba74 Check result from removeFromParent(). 2011-05-07 14:34:57 +01:00
Jürg Lehni
4e6e855461 Change '// TODO: Port' comments to '// PORT:'. 2011-05-07 14:18:27 +01:00
Jürg Lehni
dabc2b97ed Implement change-notification in a proper way, using ChangeFlags that tell it what exactly has changed, and clearing caches accordingly. 2011-05-07 13:39:17 +01:00
Jürg Lehni
53cc1cd908 Apply #position optimisation through caching to all items, not just PlacedSymbol. 2011-05-07 13:13:19 +01:00
Jürg Lehni
1413094be2 Shorten PlacedSymbol#initialize(). 2011-05-07 13:12:46 +01:00
Jürg Lehni
15b7cfec0b Shorten Item#translate(). 2011-05-07 13:09:04 +01:00
Jürg Lehni
72976f4191 Use internal _position in PlacedItem and transform it along when a matrix is applied. 2011-05-07 11:36:16 +01:00
Jürg Lehni
34785534e0 Use getPosition() rather than getBounds().getCenter(). 2011-05-07 11:25:46 +01:00
Jürg Lehni
3a5aa466de Add comments about things to change. 2011-05-07 10:07:21 +01:00
Jürg Lehni
6083faaf80 Use getter instead of beans property. 2011-05-07 09:56:27 +01:00
Jürg Lehni
5e4369d800 No need to call setter, we can set internal property directly here. 2011-05-07 09:55:56 +01:00
Jürg Lehni
c36db3a55c Introduce private faster Matrix#_transform* methods that lack arguments checks, and use them internally. 2011-05-06 13:28:35 +01:00
Jürg Lehni
478002ea1c Add comment about return undefined rather than null for unclear styles, and fix test. 2011-05-05 13:11:40 +01:00
Jürg Lehni
32ed418bdf Remove unused parameter. 2011-05-05 11:20:37 +01:00
Jürg Lehni
a59fab0409 Only change style and notify item of change if it differs from current one. 2011-05-05 11:16:26 +01:00
Jürg Lehni
14549a383b Improve Item#_getBounds(). 2011-05-05 00:16:28 +01:00
Jürg Lehni
7334e824f5 Further optimise PathStyle code. 2011-05-05 00:08:55 +01:00
Jürg Lehni
23a29ced98 Optimise and comment PathStyle code. 2011-05-05 00:05:36 +01:00
Jürg Lehni
cc0f4a3f7e Add PathStyle#clone(). 2011-05-05 00:01:17 +01:00
Jürg Lehni
ab9cce137c Separate PathStyle constructor into internal PathStyle.create(item, style) and public PathStyle(style). 2011-05-05 00:00:41 +01:00
Jürg Lehni
bdbbca487f Remove rounding in drawSelectedBounds(). 2011-05-04 17:44:08 +01:00
Jürg Lehni
49645f8a0d Do not use short-forms and syntax magic in core API. 2011-05-03 09:34:07 +01:00
Jürg Lehni
52a73e86ce Clean up code (for() -> for ()). 2011-05-03 08:54:13 +01:00
Jonathan Puckey
41120cf4d9 Various small code cleanups. 2011-05-02 12:23:42 +02:00
Jürg Lehni
cd58351864 Add comment about porting chainable calls back to Sg. 2011-04-30 22:30:54 +01:00
Jürg Lehni
4d999d57e2 Replace all type converting string compares with ===, !==. 2011-04-28 13:23:17 +01:00
Jonathan Puckey
ad8dfe91c7 Implement Raster#getStrokeBounds(). 2011-04-28 12:56:08 +02:00
Jonathan Puckey
e1f5d4952d Minor cleanups and fixes in Item. 2011-04-28 12:50:53 +02:00
Jonathan Puckey
861812f3ad Fix bug in previous commit. 2011-04-28 12:39:55 +02:00
Jonathan Puckey
1666a36210 Have Item#_getBounds return a normal rectangle when called with includeStroke flag, since Item#getStrokeBounds is read only. 2011-04-28 12:38:57 +02:00
Jonathan Puckey
eed054af17 Item: implement getStrokeBounds, move getBounds functionality into _getBounds with an includeStroke flag. Also simplify the _getBounds code. 2011-04-28 12:33:03 +02:00
Jürg Lehni
d71450c0b1 Make sure selected argument is always a boolean. 2011-04-28 10:05:43 +01:00
Jürg Lehni
a9ea10ca7f Move version of #getBounds() that handles children to Item, to eliminate duplicated code. 2011-04-28 10:04:36 +01:00
Jürg Lehni
6b6f27cb6e Add TODOs about not returning -1 for undefined. 2011-04-27 17:53:59 +01:00
Jonathan Puckey
0700c51a85 Simplifications in Item#isDescendant & Item#isAncestor. 2011-04-27 16:16:05 +02:00
Jonathan Puckey
55fc2bc99c Some minor changes to Item. 2011-04-27 16:10:23 +02:00
Jürg Lehni
bdfe35d93a Consistently name local context variables 'ctx', to save line size and acknowledge the fact that Canvas contexts have a funny API design. 2011-04-26 15:39:16 +01:00
Jonathan Puckey
be8ee90f75 Document: use a hash for Document#_selectedItems to speed up adding to and removing from it. 2011-04-21 20:43:42 +02:00
Jonathan Puckey
cf541901dd Rename getSelected methods to isSelected. 2011-04-21 19:51:49 +02:00
Jonathan Puckey
73b97dbfba Implement segment point selection. 2011-04-21 18:06:06 +02:00
Jonathan Puckey
732caec7bf Speed up drawing of selected items. 2011-04-21 15:48:21 +02:00
Jonathan Puckey
517793c48a Implement Item#get/setDocument and Document#selectedItems. 2011-04-21 15:47:00 +02:00
Jonathan Puckey
1d92aea8e2 Fix Item#setSelected. 2011-04-20 16:00:08 +02:00
Jonathan Puckey
3fcfe3adbb Implement drawing of selection of PlacedSymbol & Raster items. 2011-04-18 18:46:39 +02:00
Jonathan Puckey
be9f312110 Implement a first version of drawing path selection. 2011-04-17 18:46:35 +02:00
Jonathan Puckey
8a113a1c84 Item: clean up white space. 2011-04-12 14:37:52 +02:00
Jonathan Puckey
d02885cba7 Implement Item#isParent and add tests for it. 2011-04-11 19:42:03 +02:00
Jürg Lehni
b5fdecf3d1 Rename ObservedRectangle to LinkedRectangle, ObservedPoint to LinkedPoint, and add more comments about what it is they are doing. 2011-03-22 17:27:46 +00:00
Jürg Lehni
7ae504e51f Add support for Item#removeOnMove(). 2011-03-20 00:11:02 +00:00
Jürg Lehni
1267f41559 Add beginning of ObservedRectangle support and test it in animatedStar example. 2011-03-16 23:32:46 +01:00
Jürg Lehni
d5fa3d7ae6 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/item/Raster.js
2011-03-13 18:34:05 +01:00
Jürg Lehni
9d4af0ce9e Clean up recently caused Base.read() mess by introducing _readNull property,m setting it to true on Color and reverting to previous behavior for Point, Size and Rectangle, where dimensions of 0 are read by default if nothing is provided. 2011-03-13 18:31:00 +01:00
Jürg Lehni
1cd6daada1 Use _item instead of item as internal reference to PathStyle's item. 2011-03-13 18:29:59 +01:00
Jonathan Puckey
d7399926a0 Allow for Raster#setPixel(x, y, color). 2011-03-11 14:23:30 +01:00
Jonathan Puckey
b643fdfc1f Implement Item#removeOn and Item#getId. 2011-03-09 19:35:03 +01:00
Jürg Lehni
c7cefcba3a Merge remote-tracking branch 'origin/master' 2011-03-09 18:17:50 +00:00
Jürg Lehni
427e969d3d Add data access to Raster, untested. 2011-03-09 18:17:12 +00:00
Jonathan Puckey
dae2d6acb1 Remove todo in PlacedSymbol. 2011-03-09 17:09:23 +01:00
Jonathan Puckey
526711ffd4 Fix and improve performance of Raster#getPixel. 2011-03-09 13:38:58 +01:00
Jürg Lehni
72469dc65f Clean up PlacedSymbol constructor, make sure it declares parameters. 2011-03-08 17:21:05 +00:00
Jürg Lehni
456e9f2815 Use variable definition chaining in Raster. 2011-03-08 12:55:34 +00:00
Jürg Lehni
6a67052090 Update copyright / licensing comments. 2011-03-08 01:41:50 +00:00
Jürg Lehni
e1a7aff2f0 Add copyright notice and license file. 2011-03-07 00:50:44 +00:00