Commit graph

522 commits

Author SHA1 Message Date
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