Commit graph

117 commits

Author SHA1 Message Date
Jürg Lehni
2d218dbb19 Change and optimise the way SegmentPoints are created, so that selected state is actually copied over properly (Part one of fixing selection cloning). 2011-05-26 10:58:16 +01:00
Jonathan Puckey
06a6d5cc70 Add documentation to Segment. 2011-05-23 00:42:22 +02:00
Jonathan Puckey
7cdacc5536 Optimize Segment#initialize for minification. 2011-05-21 19:21:13 +02: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
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
3a15360efc Rename ChangeFlags.PATH to GEOMETRY. 2011-05-16 00:01:06 +01:00
Jürg Lehni
b44e796475 Make sure getters dont return undefined but null instead. 2011-05-07 16:10:38 +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
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
98ab342235 Shorten #_transformCoordinates() a bit. 2011-05-02 08:59:51 +01:00
Jürg Lehni
26b70309a8 Improve various #toString() functions. 2011-05-02 08:57:55 +01:00
Jürg Lehni
0a4150a5c9 Add beginning of value caching (_length, _bounds) and change tracking to invalidate cached values. 2011-05-02 00:17:21 +01:00
Jürg Lehni
2cdb15f2d6 Fix recently renamed functions in commented out code. 2011-05-01 23:29:15 +01:00
Jürg Lehni
b0282b9bd4 Change Segment to be aware of its index in the segment list and have the curves list update automatically on each change to segments. 2011-05-01 13:27:53 +01:00
Jürg Lehni
781b315808 Add getter/setter for Path#closed. 2011-04-30 23:22:29 +01:00
Jürg Lehni
6d84dc3351 Segment#isSelected() only checks for selection state of point. We need to check _selectionState instead to mirror behaviour in #_setSelected(). 2011-04-28 19:04:00 +01:00
Jürg Lehni
3501e14c51 Remove comment about pending port that has been backported to Scriptographer. 2011-04-27 21:13:32 +01:00
Jürg Lehni
c6d96784ba Further simplify and compress code. 2011-04-27 18:16:32 +01:00
Jürg Lehni
f71967f3d3 Further simplify and compress code. 2011-04-27 17:57:56 +01:00
Jürg Lehni
6b6f27cb6e Add TODOs about not returning -1 for undefined. 2011-04-27 17:53:59 +01:00
Jürg Lehni
4bfc56bb6d Simplify and compress code a bit. 2011-04-27 17:53:23 +01:00
Jürg Lehni
9671ac6dbc Remove comment about pending port that has been backported to Scriptographer. 2011-04-27 12:30:17 +01:00
Jürg Lehni
e6a0f48256 Further clean-up code, as we only need previous / next references inside one sub-condition. 2011-04-27 12:26:10 +01:00
Jürg Lehni
138ec7d93c No need to perform cyclic looping here now, since #getNext/Previous() does that for us. 2011-04-27 12:24:04 +01:00
Jürg Lehni
0e89466a11 Add cyclic looping to Segment#previous/next for closed paths. 2011-04-27 12:21:31 +01:00
Jürg Lehni
92369bf14f Seperate the private Segment#is/setSelected(point) methods from the newly added getter / setter. 2011-04-27 12:15:51 +01:00
Jürg Lehni
776edda51d Cleaned-up Segment#is/setSelected() code a bit. 2011-04-27 12:06:44 +01:00
Jürg Lehni
77ad25ffba Clean up port comments. 2011-04-26 17:47:30 +01:00
Jürg Lehni
9d2459d799 Rename '// Todo' to '// TODO', which is the convention. 2011-04-26 12:39:48 +01:00
Jonathan Puckey
1ea0a811b5 Use internal variables in CompoundPath#moveBy and Segment#isSelected. 2011-04-21 21:06:35 +02:00
Jonathan Puckey
dfb5cbc5eb Fix two bugs in the selected items code. 2011-04-21 20:52:28 +02: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
745f002cd3 Segment: add todo. 2011-04-21 20:00:11 +02:00
Jonathan Puckey
cf541901dd Rename getSelected methods to isSelected. 2011-04-21 19:51:49 +02:00
Jonathan Puckey
d831d66758 Implement SelectionState.js: bitwise flags for segment selection state. 2011-04-21 19:37:51 +02:00
Jonathan Puckey
73b97dbfba Implement segment point selection. 2011-04-21 18:06:06 +02:00
Jürg Lehni
985aa5aff8 Directly access internal _x and _y properties on internal SegmentPoints, to avoid callling getters. 2011-04-21 13:33:12 +01:00
Jürg Lehni
96f266b4d2 Add beginning of SegmentPoint class. 2011-04-21 13:21:56 +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
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
Jürg Lehni
0bfca81140 Clean-up getBounds() code and move to its own scope at the end of Path. 2011-03-07 00:36:44 +00:00
Jürg Lehni
87981efeb5 Massive refactoring of transform() / getBounds() code: getBounds() / getStrokeBounds() now supports an optional Matrix parameter which is used to on the fly transform all coordinates and stroke definitions before bounds are calculated. This even supports the correct determination of rotated ellipse bounds for round strokes in symbols. 2011-03-06 21:26:38 +00:00
Jürg Lehni
f803e1ad1d Remove obsolete comment. 2011-03-06 15:14:57 +00:00
Jürg Lehni
15f124bd9c Link segments to their curves through Segment#getCurve(). 2011-03-06 13:11:04 +00:00
Jürg Lehni
f98de38451 Correct Segment#toString() 2011-03-06 12:56:30 +00:00
Jürg Lehni
474d79db17 Clean up Segment constructor and make sure internal point objects are never replaced, always updated instead. 2011-03-06 12:24:03 +00:00
Jürg Lehni
56c10f9196 Fix Segment#getHandleIn/OutIfSet and a newly introduced drawing error in Path#draw. 2011-03-06 11:18:35 +00:00
Jürg Lehni
72a1ba8e70 Activate beans for Segment and clean up bean / getter / setter mess for point / handleIn / handleOut. 2011-03-06 10:57:14 +00:00
Jürg Lehni
815e35fda6 Fix Segment#toString(). 2011-03-04 23:55:49 +00:00
Jürg Lehni
aa4892c0d8 Apply same optimisations from DOM methods in Item / Layer to Segment too. 2011-03-04 21:34:31 +00:00
Jürg Lehni
92bf51a7cc Simplify the way the paper namespace is created and populated. 2011-03-04 13:34:31 +00:00
Jürg Lehni
c6d79f964c Generalise all read() functions in Base.read(), fix an issue in by making sure arguments passed to initialie are never larger than length, and have Color's initialize create an RGBColor, to still be able to use Color.read(). 2011-03-04 13:19:07 +00:00
Jürg Lehni
2b6dede883 Clean up white-spaces and line lengths. 2011-03-03 22:45:17 +00:00
Jürg Lehni
941c3c7346 Declare all classes as local variables, so they can be scoped. 2011-03-03 13:33:41 +00:00
Jürg Lehni
3a46ac3b54 Allow read() methods to receive an optional length parameter. 2011-03-03 13:15:55 +00:00
Jürg Lehni
9a2462d147 No need to explicitely call Point#toString() in Segment#toString(). 2011-03-03 13:03:57 +00:00
Jonathan Puckey
4d83631230 Segment: remove todo. 2011-02-24 17:14:59 +01:00
Jürg Lehni
ed752ed744 Pass ctor.dont to all constructor calls that are followed with explicit initialize() calls afterwards, to make sure it is only called once. 2011-02-20 01:45:53 +01:00
Jürg Lehni
a154819350 Switch to using indexOf() in Segment#index for now. 2011-02-14 10:35:40 +00:00
Jürg Lehni
eeb7d377e6 Add optional index argument to static read() functions, so points, rectangle, sizes and segments can be read from any index in the arguments array. 2011-02-13 18:15:55 +00:00
Jürg Lehni
08d4826441 Reformating code to follow Scriptotgrapher coding conventions. 2011-02-13 16:26:24 +00:00
Jürg Lehni
0ac19a8e82 Optimise read() functions to only convert if argument is not of desired type already. 2011-02-13 16:05:19 +00:00
Jürg Lehni
a579b8bd3d Make sure Segment#handleIn and #handleOut are always defined, even when not provided, and change compareSegments() to also reflect this change by relying on Segment.read for conversion of comparison values. 2011-02-13 15:09:24 +00:00
Jürg Lehni
4b2341b3c2 Add gettter/setters for Path#segments, and fix bug in Segment#previous. 2011-02-13 13:52:51 +00:00
Jonathan Puckey
c1d2cab5d9 Segment.js: fix toString and remove methods. Add test for segment.remove(). 2011-02-12 19:10:19 +01:00
Jonathan Puckey
c0e2101c32 Clean up src directory and move Bootstrap.js into lib. 2011-02-12 17:59:39 +01:00
Renamed from src/Segment.js (Browse further)