Jürg Lehni
|
254aee47f8
|
Implement Path#getLocation(point)
|
2011-07-09 17:12:27 +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
|
833d4968ce
|
Change root solvers to not produce new arrays each time but fill a passed one that can be reused. Yields io impressive performance improvements.
|
2011-07-09 10:50:47 +02:00 |
|
Jürg Lehni
|
23f38c6e5b
|
Fix Path#flatten(), where we don't want to add last segment again for closed paths.
|
2011-07-09 09:51:06 +02:00 |
|
Jürg Lehni
|
74b23c1882
|
Use #roughBounds rather than #bounds in #contains() check.
|
2011-07-09 09:27:54 +02:00 |
|
Jürg Lehni
|
0a7f5a12a5
|
Fix bug in 'stroke' hit-results.
|
2011-07-08 23:32:29 +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
|
dfbe3135ad
|
Remove HitResult inheritance from CurveLocation, but have a #location property pointing to it.
|
2011-07-08 22:25:42 +02:00 |
|
Jonathan Puckey
|
36be78c671
|
Fix small problem in Item#_hitTest.
|
2011-07-08 18:41:29 +02:00 |
|
Jürg Lehni
|
23c4499d15
|
Add comments about how to potentially improve getBounds() accuracy.
|
2011-07-07 23:00:40 +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
|
64ae48af0b
|
Remove solved TODO.
|
2011-07-07 16:10:06 +02:00 |
|
Jürg Lehni
|
e573fe5dcd
|
Do not pass prevSlope to Curve#getCrossings(), rely on #getPrevious() instead.
|
2011-07-07 16:08:10 +02:00 |
|
Jürg Lehni
|
4a53503130
|
Add support for optional matrix in Path#contains(), Path#getNearestLocation(), Curve#getValues(), Curve#getCrossings(), Curve#getNearestLocation()
|
2011-07-07 16:07:29 +02:00 |
|
Jürg Lehni
|
b13c7622c8
|
Rename Curve#getParameter(length) -> Curve#getParameterAt(offset)
|
2011-07-06 23:13:38 +02:00 |
|
Jürg Lehni
|
d6b666024b
|
Define #getNearestLocation() / #getNearestPoint() for Path.
|
2011-07-06 22:25:20 +02:00 |
|
Jürg Lehni
|
8b6d9746ce
|
Rename Curve#getCrossingsFor() -> #getCrossings()
|
2011-07-06 22:07:34 +02:00 |
|
Jürg Lehni
|
5c3a6f72b6
|
Fix comments.
|
2011-07-06 15:31:16 +02:00 |
|
Jürg Lehni
|
4110a56521
|
Improve comments.
|
2011-07-05 01:20:25 +02:00 |
|
Jürg Lehni
|
6cc7417201
|
Handle edge case in crossing number algorithm where the beam in right x-direction is touching a tip where the curves change y-direction but do not interesect with the shape, by checking for slope changes.
|
2011-07-05 01:15:45 +02:00 |
|
Jürg Lehni
|
c5269ecbab
|
Implement Path#contains(point) efficiently using the crossing number algorithm and our cubic polynomial solver.
|
2011-07-04 23:32:15 +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
|
e88043a1f4
|
Implement Path#roughBounds, based on an improved Path#getHandleBounds() that supports additional hidden join and stroke padding parameters.
|
2011-07-02 18:27:43 +02:00 |
|
Jürg Lehni
|
0644d9d8b5
|
Move TODOs up to where they make sense.
|
2011-07-01 17:40:29 +02:00 |
|
Jürg Lehni
|
51d6ff945e
|
Improve Path#getHandleBounds() and fix bean access for #handleOut.
|
2011-07-01 17:39:39 +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
|
84bce71b1c
|
Remove unnecessary Segment#getHandleIn/OutIfSet.
|
2011-07-01 12:30:10 +02:00 |
|
Jürg Lehni
|
79c0ad8cc5
|
Update copyright notices.
|
2011-07-01 12:17:45 +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
|
0eb033e6bf
|
Only try to simplfy path if there are more than two segments in it.
|
2011-06-27 22:35:02 +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 |
|
Jürg Lehni
|
2f2b3ed7e0
|
Fix selection behavior when segment lists are cleared, in which case we expect the path to remain selected.
|
2011-06-20 19:08:34 +01:00 |
|
Jonathan Puckey
|
a2a8939d5d
|
Path# rename #pointsToCurves to #simplify and #curvesToPoints to #flatten.
|
2011-06-20 19:17:07 +02: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
|
995c5b4081
|
Fix error in miter calculation in Path#getStrokeBounds(), recently introduced by a fix in Curve#getNormal().
|
2011-06-20 15:56:08 +01:00 |
|
Jürg Lehni
|
c1fcd6f3bb
|
Documentation: Convert more Array return types to Type[].
|
2011-06-20 14:27:54 +01:00 |
|
Jonathan Puckey
|
e23282fe05
|
Documentation: convert Array return types to Type[].
|
2011-06-20 15:19:08 +02: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
|
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
|
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
|
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
|
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
|
5bc4f69856
|
Improve documentation for Path#removeSegments().
|
2011-06-17 17:54:37 +01:00 |
|
Jürg Lehni
|
7dcdb5ca2f
|
Improve documentation for Path#removeSegments().
|
2011-06-17 17:46:42 +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
|
1615b50b68
|
Fix thrown Error messages.
|
2011-06-17 11:26:35 +01:00 |
|
Jürg Lehni
|
6e16ab81f4
|
Fix a bug in Path#arcTo() where sometimes the arc was drawn on the wrong side when the extent was 180 degrees, thus the center point was lying on the line (from, to).
|
2011-06-16 23:50:14 +01:00 |
|
Jürg Lehni
|
169b58e550
|
Fix argument reading for PathItem#arcTo(to, clockwise).
|
2011-06-16 23:48:46 +01:00 |
|
Jürg Lehni
|
c2d425c916
|
Improve Error message thrown when no arc can be drawn.
|
2011-06-16 22:50:59 +01:00 |
|
Jürg Lehni
|
2c83eeb7de
|
Improve handling of Path#arcTo() when the arguments demand an infinitely big circle, by either drawing a line or bailing out.
|
2011-06-16 22:38:43 +01:00 |
|
Jürg Lehni
|
aa825302e4
|
Clean up documentation for PathItem, Path & CompoundPath, by moving shared documentation to PathItem, for methods that are supposed to be abstract in PathItem and shared between the two classes.
|
2011-06-16 22:07:00 +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
|
ffa79f4fd1
|
Clean up white spaces in comments.
|
2011-06-14 22:59:45 +01:00 |
|
Jürg Lehni
|
a7d22b2165
|
Add comment about porting back Path#arcTo().
|
2011-06-14 21:32:14 +01:00 |
|
Jürg Lehni
|
8213dce4a9
|
Have newly added segments selected if path was fully selected before.
|
2011-06-14 15:40:03 +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
|
ad78474ae4
|
Remove obsolete TODO.
|
2011-06-14 12:46:15 +01:00 |
|
Jürg Lehni
|
50bc64779f
|
Handle special case of infinitely big circle in Path#arcTo(), by cheating using an approximation of a really big circle.
|
2011-06-14 12:45:37 +01:00 |
|
Jürg Lehni
|
2be18b8013
|
Completely rewrite Path#arcTo() using Point class and vector geometry methods.
|
2011-06-14 12:19:14 +01:00 |
|
Jürg Lehni
|
8d0bb3d2ae
|
Path#arcTo(): Fix wrong constant names.
|
2011-06-14 09:32:53 +01:00 |
|
Jürg Lehni
|
b4a210e113
|
Path#arcTo(): Fix the case where through point lies on a line between from and to point.
|
2011-06-14 09:12:18 +01:00 |
|
Jürg Lehni
|
f0c22bc1dc
|
Shorten pre-calculations in Path#arcTo().
|
2011-06-14 09:00:55 +01:00 |
|
Jürg Lehni
|
f6b2672f08
|
Simplify Path#arcTo() arguments check.
|
2011-06-14 09:00:25 +01:00 |
|
Jürg Lehni
|
a3d1875971
|
More clean ups.
|
2011-06-13 19:09:10 +01:00 |
|
Jürg Lehni
|
de739b42a8
|
Clean up white spaces.
|
2011-06-13 19:05:17 +01:00 |
|
Jürg Lehni
|
064f17eaec
|
Fix default value for end in Path#removeSegments(), so the last segment gets removed too.
|
2011-06-13 19:00:39 +01:00 |
|
Jürg Lehni
|
4a23e35eee
|
Merge remote-tracking branch 'origin/master'
|
2011-06-12 18:42:24 +01:00 |
|
Jürg Lehni
|
c341ec220a
|
Fix white space.
|
2011-06-12 18:40:30 +01:00 |
|
Jonathan Puckey
|
20fc389020
|
Documentation: add see tag to Path#closePath().
|
2011-06-10 13:33:14 +02:00 |
|
Jonathan Puckey
|
87c1b564d2
|
Document Path#lineBy(vector).
|
2011-06-10 13:32:37 +02:00 |
|
Jonathan Puckey
|
ac703f1baa
|
Path: add example of pointToCurves().
|
2011-06-10 00:07:25 +02:00 |
|
Jonathan Puckey
|
b385b859f9
|
Merge remote branch 'origin/master'
|
2011-06-05 22:46:22 +02:00 |
|
Jonathan Puckey
|
9d4afcfe9c
|
Add another Path#add example.
|
2011-06-05 22:44:01 +02:00 |
|
Jonathan Puckey
|
5513687daa
|
Add Path#smooth examples.
|
2011-06-05 22:43:36 +02:00 |
|
Jürg Lehni
|
12e770c032
|
Merge remote-tracking branch 'origin/master'
|
2011-06-05 21:32:10 +01:00 |
|
Jürg Lehni
|
7d2742cd94
|
Rename PathFitter#process() -> #fit().
|
2011-06-05 21:26:01 +01:00 |
|
Jonathan Puckey
|
fe901fa96b
|
Add to and improve Path documentation.
|
2011-06-05 22:02:30 +02:00 |
|
Jürg Lehni
|
28c680ac94
|
Implement PathFitter and Path#pointsToCurves().
|
2011-06-05 19:27:18 +01:00 |
|
Jonathan Puckey
|
e4eb463204
|
Path: document arcTo and curveTo.
|
2011-06-05 18:40:33 +02:00 |
|
Jonathan Puckey
|
14e2a61d25
|
Add examples to Path#arcTo docs.
|
2011-06-05 17:22:35 +02:00 |
|
Jonathan Puckey
|
ab09a44dc6
|
Add examples to Path#join documentation.
|
2011-06-05 16:12:31 +02:00 |
|
Jonathan Puckey
|
c10aa01de0
|
Fix a bug in Path#join.
|
2011-06-05 15:56:37 +02:00 |
|
Jonathan Puckey
|
5770ebc9ff
|
Merge remote branch 'origin/master'
|
2011-06-05 15:04:43 +02:00 |
|
Jonathan Puckey
|
deec7512cc
|
Path: fix return type in #getLocationAt documentation.
|
2011-06-05 15:04:34 +02:00 |
|
Jonathan Puckey
|
34b510bf1c
|
Path: add examples to #getPointAt, #getNormalAt and #getTangentAt.
|
2011-06-05 15:00:43 +02:00 |
|
Jonathan Puckey
|
bb956c890f
|
Add documentation stub for Path#arcTo(through, to)
|
2011-06-05 14:52:01 +02:00 |
|
Jonathan Puckey
|
4e0a857ee7
|
Fix a problem in Path#arcTo where it wasn't defaulting to a clockwise arc.
|
2011-06-05 14:51:37 +02:00 |
|
Jürg Lehni
|
e76c4e0de1
|
Implement Path#curvesToPoints() using the new PathFlattener class.
|
2011-06-05 13:21:00 +01:00 |
|
Jürg Lehni
|
47085e44ca
|
Fix drawing of closed paths that was broken in recent commit.
|
2011-06-05 11:20:28 +01:00 |
|
Jürg Lehni
|
90be683113
|
Clean up and add more comments.
|
2011-06-04 19:25:50 +01:00 |
|
Jürg Lehni
|
fafb6d1d76
|
Convert CurveFlattener to PathFlattener, which can handle drawing of parts accross curve boundaries.
|
2011-06-04 18:25:41 +01:00 |
|
Jürg Lehni
|
e097ff1303
|
Include copyright notice and clean up.
|
2011-06-04 16:12:55 +01:00 |
|
Jürg Lehni
|
5fa43efb79
|
Merge remote-tracking branch 'origin/master'
|
2011-06-04 16:08:52 +01:00 |
|
Jürg Lehni
|
6c74ace1ed
|
Implement dashed stroke support. Work in progress.
|
2011-06-04 16:08:40 +01:00 |
|
Jürg Lehni
|
e5290c3f47
|
More work on Path#draw().
|
2011-06-04 15:28:06 +01:00 |
|
Jürg Lehni
|
91886211b5
|
Simplify Path#draw() by defining a private drawSegment() that's used to close paths too.
|
2011-06-04 15:16:21 +01:00 |
|
Jonathan Puckey
|
a96b272f7a
|
Documentation edits.
|
2011-06-04 15:50:29 +02:00 |
|
Jonathan Puckey
|
5e05f38df0
|
Path docs: add return tag for #getLocationAt.
|
2011-06-03 23:06:05 +02:00 |
|
Jonathan Puckey
|
d77e9cfb4f
|
Path docs: add Positions on Paths and Curves group title and temporary Path Smoothing group title.
|
2011-06-03 23:05:22 +02:00 |
|
Jonathan Puckey
|
083099a919
|
Add Path#closed example.
|
2011-06-03 23:04:18 +02:00 |
|
Jonathan Puckey
|
7d1297fcf4
|
Path#draw: Fix drawing of selected path handles.
|
2011-06-03 11:33:34 +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
|
9d00541987
|
Clean up PORT comments.
|
2011-05-29 19:20:10 +01:00 |
|
Jonathan Puckey
|
0b9c034e0d
|
Path: document #addSegments and #insertSegments
|
2011-05-29 16:06:23 +02:00 |
|
Jonathan Puckey
|
78ab493709
|
Documentation: add todo to Path#add
|
2011-05-29 16:05:47 +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
|
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 |
|
Jonathan Puckey
|
65fa7fb01d
|
Path documentation: use Type[] for 'typed' arrays.
|
2011-05-26 16:50:13 +02:00 |
|
Jürg Lehni
|
8130ee458f
|
Rename #_countSelectedSegment() to #_updateSelection().
|
2011-05-26 11:52:28 +01:00 |
|
Jürg Lehni
|
3e7806ae50
|
Move #_countSelectedSegment().
|
2011-05-26 11:38:26 +01:00 |
|
Jürg Lehni
|
e31081f2fc
|
Use Path#_countSelectedSegment() in #removeSegments() as well.
|
2011-05-26 11:38:08 +01:00 |
|
Jürg Lehni
|
5b6bc1263c
|
Allow selection state of Segments to be changed before they are added to a Path (Part two of fixing selection cloning).
|
2011-05-26 10:59:22 +01:00 |
|
Jonathan Puckey
|
2a4f5b93f0
|
Path documentation: whitespace.
|
2011-05-23 13:37:40 +02:00 |
|
Jonathan Puckey
|
5cea863ccb
|
Add documentation to Path.
|
2011-05-23 00:26:08 +02:00 |
|
Jonathan Puckey
|
469f72d36f
|
Remove todo.
|
2011-05-21 21:39:27 +02:00 |
|
Jürg Lehni
|
b15eecc34d
|
Use new internal Item#_clone() to improve Path#clone() and PointText#clone().
|
2011-05-20 08:54:44 +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
|
2dcb09a662
|
Define Path#clone().
|
2011-05-19 21:34:19 +01:00 |
|
Jürg Lehni
|
ac213e94b4
|
Fix bug introduced in recent change to #getStrokeBounds(): We need to pass matrix as optional argument to #getBounds().
|
2011-05-18 21:32:00 +01:00 |
|
Jonathan Puckey
|
0a385d56a7
|
Replace accidental beans access with direct access of internal property.
|
2011-05-18 20:22:57 +02:00 |
|
Jonathan Puckey
|
b4807b9b7c
|
Fix Path#getStrokeBounds: use Path#getBounds when no strokeColor or strokeWidth are set.
|
2011-05-18 20:08:10 +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
|
34110fa82d
|
Move #_setStyle() closer to the related styles hash.
|
2011-05-16 19:19:18 +01:00 |
|
Jürg Lehni
|
c8c47bf641
|
get styles directly from _style object rather than passing through getters on Item.
|
2011-05-16 18:57:47 +01:00 |
|
Jonathan Puckey
|
4ad47ed3aa
|
Fix accidental internal bean access to #fillColor and #strokeColor in Path#_transform.
|
2011-05-16 15:11:13 +02: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
|
a601cfdd6d
|
Clear the indices and path references of the removed segments.
|
2011-05-16 01:37:31 +01:00 |
|
Jürg Lehni
|
3a15360efc
|
Rename ChangeFlags.PATH to GEOMETRY.
|
2011-05-16 00:01:06 +01:00 |
|
Jürg Lehni
|
54161f81f1
|
Add expected parameters to function signature.
|
2011-05-15 19:57:48 +01:00 |
|
Jürg Lehni
|
c9d0f982c2
|
Don't set _clockwise in Path#isClockwise(), as it should only be set once the use explicitely does so.
|
2011-05-15 19:02:50 +01:00 |
|
Jürg Lehni
|
40c988b313
|
Add Path#is/setClockwise(), as a way to check and define a path's orientation.
|
2011-05-15 17:59:06 +01:00 |
|
Jürg Lehni
|
057b71ff4c
|
Don't overuse variable chaining - use only were readibility does not suffer.
|
2011-05-15 14:29:00 +01:00 |
|
Jürg Lehni
|
51dbd85db5
|
Add experimental orientation detection for Paths.
|
2011-05-15 11:33:09 +01:00 |
|
Jonathan Puckey
|
bbccb25184
|
Transform gradient when path is transformed.
|
2011-05-08 14:05:47 +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
|
81c1b2dcce
|
Clean up Path#_add() a bit.
|
2011-05-07 15:38:36 +01:00 |
|
Jürg Lehni
|
59e2783979
|
Use tripple equal operators for string compares now.
|
2011-05-07 14:32:27 +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
|
6af787e475
|
Move access to Numerical.TOLERANCE out of the injection scope into getBounds(), so util files can be included at the end of the library again.
|
2011-05-07 11:23:46 +01:00 |
|
Jürg Lehni
|
0fc7216f1c
|
Fix typos introduced in recent commit.
|
2011-05-06 13:40:43 +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
|
aed1bb0878
|
Use Numerical.TOLERANCE instead of hardcoded one.
|
2011-05-06 12:06:05 +01:00 |
|
Jürg Lehni
|
66602c9cec
|
Remove comment about necessity to reverse coordinate system.
|
2011-05-06 01:27:47 +01:00 |
|
Jürg Lehni
|
0b082289a6
|
Simplify Path#arcTo() a lot (get rid of necessity to reverse coordinate system in y-direction, etc).
|
2011-05-06 01:26:23 +01:00 |
|
Jürg Lehni
|
18ef19649c
|
Remove comment about unnecessary change.
|
2011-05-06 00:45:46 +01:00 |
|
Jürg Lehni
|
680ae49ec8
|
Clean up code a bit and add comment about possible further optimsiations.
|
2011-05-06 00:44:54 +01:00 |
|
Jürg Lehni
|
a3065a59d1
|
Simplify Path#arcTo().
|
2011-05-06 00:42:10 +01:00 |
|
Jürg Lehni
|
a4b37a6278
|
Simplify addJoin().
|
2011-05-06 00:39:44 +01:00 |
|
Jürg Lehni
|
a3da96e8be
|
Remove notify parameter again from _add().
|
2011-05-06 00:18:56 +01:00 |
|
Jürg Lehni
|
20cf32d599
|
Resolve question about wether last segment should be included in join or not.
|
2011-05-06 00:14:09 +01:00 |
|
Jürg Lehni
|
93fe0216d2
|
Add Path#addSegment(s) and #insertSegment(s) and define #add() and #insert() as a switch between these versions based on the amount and nature of parameters.
|
2011-05-05 12:35:14 +01:00 |
|
Jürg Lehni
|
7894a48ace
|
Add parameter to Path#_add() that controls wether path is notified of change.
|
2011-05-05 11:40:46 +01:00 |
|
Jürg Lehni
|
ee6d593620
|
Cache strokeBounds and bounds only if no transformation matrix is passed.
|
2011-05-05 11:21:09 +01:00 |
|
Jürg Lehni
|
1279e820aa
|
Use arc() instead of rect() to draw handles.
|
2011-05-05 11:01:20 +01:00 |
|
Jürg Lehni
|
a5099fd51d
|
Add support for insertion of multiple segments at once to Path#_add(), #add() and #insert(), and change code that relies on these methods.
|
2011-05-04 18:42:40 +01:00 |
|
Jürg Lehni
|
728bf0441c
|
Clean up Path#moveTo() and #lineTo() commands.
|
2011-05-03 09:12:07 +01:00 |
|
Jürg Lehni
|
52a73e86ce
|
Clean up code (for() -> for ()).
|
2011-05-03 08:54:13 +01:00 |
|
Jürg Lehni
|
3af24e6178
|
Replace hidden getter call with direct access of internal property.
|
2011-05-03 08:47:52 +01:00 |
|
Jürg Lehni
|
a0e211c691
|
Big refactoring of how curves are kept in sync with segments (direct references rather than indices), along with various tests.
|
2011-05-03 00:25:23 +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
|
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
|
6bbfd55240
|
Clean up Path#setSegments and begin moving of logic to keep Path#curves in sync away from Path#getCurves() to Path#setClosed(). Requires more work, e.g. Path#_add().
|
2011-04-30 23:44:37 +01:00 |
|
Jürg Lehni
|
6cca355e20
|
Add Curve.create() as faster internal constructor.
|
2011-04-30 23:29:10 +01:00 |
|
Jürg Lehni
|
053fb2d955
|
Move Path#get/setSegments back to top and remove test-code for array object extension.
|
2011-04-30 23:24:39 +01:00 |
|
Jürg Lehni
|
781b315808
|
Add getter/setter for Path#closed.
|
2011-04-30 23:22:29 +01:00 |
|
Jürg Lehni
|
bf3bd13540
|
Simplify Path#cubicCurveTo().
|
2011-04-30 23:17:19 +01:00 |
|
Jürg Lehni
|
d098c6e8b2
|
Fix index issue in #removeSegments().
|
2011-04-28 19:03:05 +01:00 |
|
Jürg Lehni
|
121ec5a93f
|
Allow #removeSegments() to be called without arguments, in which case all segments are removed.
|
2011-04-28 19:02:34 +01:00 |
|
Jürg Lehni
|
ea510c2403
|
Separate Path#remove(), #remove(index) & #remove(from, to) into #removeSegment(index) and #removeSegments(from, to).
|
2011-04-28 15:42:16 +01:00 |
|
Jürg Lehni
|
4d999d57e2
|
Replace all type converting string compares with ===, !==.
|
2011-04-28 13:23:17 +01:00 |
|
Jürg Lehni
|
115ef45464
|
Remove unnecessary .0 since numbers are all the same in JavaScript.
|
2011-04-28 13:13:33 +01:00 |
|
Jürg Lehni
|
0d697403b5
|
Clean up Path#curveTo() code.
|
2011-04-28 13:12:21 +01:00 |
|
Jürg Lehni
|
f69153844b
|
Make #setContextStyles() a 'protected' function.
|
2011-04-28 13:04:12 +01:00 |
|
Jürg Lehni
|
6a483fa8be
|
Rename CurveLocation related functions to *At(offset), and add optional isParameter argument that defines whether offset is a length or a description of curve index / curve parameter.
|
2011-04-27 21:40:52 +01:00 |
|
Jürg Lehni
|
ea6cf24aae
|
Rename length parameter to more appropriate offset, to reflect recent name changes.
|
2011-04-27 21:23:57 +01:00 |
|
Jürg Lehni
|
016f4c15aa
|
Rename CurveLocation#getLength() and #getCurveLength() to #getOffset() and #getCurveOffset(), and seperate Path#getLength([location]) into #getLength() and #_getOffset().
|
2011-04-27 20:08:57 +01:00 |
|
Jürg Lehni
|
b0a1f4b1a9
|
Add missing Path#getPoint(length).
|
2011-04-27 19:28:39 +01:00 |
|
Jürg Lehni
|
c836012d3d
|
Add CurveLocation#getTangent() and #getNormal() and use them in Path's versions.
|
2011-04-27 19:26:03 +01:00 |
|
Jürg Lehni
|
ebc9bc88c4
|
Use 0 instead of null for empty bit flag fields.
|
2011-04-27 19:11:22 +01:00 |
|
Jonathan Puckey
|
81a15379e5
|
Have Path#reverse also reverse the segment handles.
|
2011-04-27 15:49:06 +02:00 |
|
Jürg Lehni
|
cd2347aa9b
|
Remove comment about pending port that has been backported to Scriptographer.
|
2011-04-27 11:24:13 +01:00 |
|
Jürg Lehni
|
1c9cd9ace4
|
Clean up code in #setContextStyles().
|
2011-04-27 09:53:53 +01:00 |
|
Jürg Lehni
|
b7a4277143
|
Add comment about _x / _y properties and clean up code a bit.
|
2011-04-26 17:57:12 +01:00 |
|
Jürg Lehni
|
ead1600afe
|
Clean-up CurveLocation code and switch from returning -1 to null for #getIndex().
|
2011-04-26 17:49:54 +01:00 |
|
Jürg Lehni
|
c4ede92e81
|
Fix error in Path#getLastCurve().
|
2011-04-26 17:48:36 +01:00 |
|
Jürg Lehni
|
ac5dca4fc0
|
Update various comments about TODOs.
|
2011-04-26 17:04:15 +01: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 |
|
Jürg Lehni
|
9d2459d799
|
Rename '// Todo' to '// TODO', which is the convention.
|
2011-04-26 12:39:48 +01:00 |
|
Jonathan Puckey
|
5e6630a1f3
|
Speed up drawHandle function.
|
2011-04-23 15:56:27 +02:00 |
|
Jonathan Puckey
|
538f360a6b
|
Fix Document#getSelectedItems & Path#setSegments.
|
2011-04-22 12:30:38 +02:00 |
|
Jonathan Puckey
|
4d89d6c235
|
Path#setSegments: reset _selectedSegmentCount when setting a new segment list.
|
2011-04-22 11:39:12 +02:00 |
|
Jonathan Puckey
|
af0543dac8
|
Some cleanups in Path.
|
2011-04-21 21:01:31 +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
|
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
|
7867a46c35
|
Path#setSelected: do XOR correctly.
|
2011-04-21 18:45:36 +02:00 |
|
Jonathan Puckey
|
cf2faa14e3
|
Path#join: use internal variables.
|
2011-04-21 18:43:22 +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
|
b2cd8cdec2
|
Path: use the internal SegmentPoint#_x and #_y properties where possible.
|
2011-04-21 15:25:25 +02:00 |
|
Jonathan Puckey
|
be9f312110
|
Implement a first version of drawing path selection.
|
2011-04-17 18:46:35 +02:00 |
|
Jonathan Puckey
|
74cee4abef
|
Implement Path#remove() and add tests for it.
|
2011-04-13 16:16:32 +02:00 |
|
Jonathan Puckey
|
0d4517c77f
|
Path: add todos for missing functions.
|
2011-04-12 14:36:02 +02:00 |
|
Jonathan Puckey
|
60dca8c2e8
|
Path#cubicCurveTo: convert arguments to points first.
|
2011-04-12 14:35:42 +02:00 |
|
Jonathan Puckey
|
91d8dd1187
|
Path: add todos for missing functions.
|
2011-04-12 14:28:18 +02:00 |
|
Jonathan Puckey
|
2a9bbd3dee
|
Fix Path#closePath & CompoundPath#closePath.
|
2011-04-11 23:33:08 +02:00 |
|
Jonathan Puckey
|
499c421021
|
Implement Path#join(path) and add tests for it.
|
2011-04-11 23:30:08 +02:00 |
|
Jonathan Puckey
|
b46c6d0a29
|
Curve: implement getLocation(length), getLength(location), getTangent(length), getNormal(length)
|
2011-04-11 19:32:19 +02:00 |
|
Jürg Lehni
|
e83195bb8f
|
Add #first/lastCurve getters.
|
2011-03-25 19:58:02 +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
|
2c9d168224
|
Clean up and improve Path drawing commands.
|
2011-03-19 23:09:17 +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
|
c284b0837e
|
Fix tiny error in Path#smooth()
|
2011-03-14 16:18:12 +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
|
484b2b0c94
|
Test code for Path#segments change observation.
|
2011-03-08 17:20:03 +00:00 |
|
Jürg Lehni
|
3927836441
|
Declare functions that work both as getters for beans and also as callalble functions with optional parameters differently, since they do not inject beans anymore if they declare parameters.
|
2011-03-08 17:19:02 +00:00 |
|
Jürg Lehni
|
74167ff28d
|
Add test code for segments list that detects change.
|
2011-03-08 13:19:08 +00:00 |
|
Jürg Lehni
|
fc0d3efd29
|
Simplify Path constructor further.
|
2011-03-08 13:03:57 +00:00 |
|
Jürg Lehni
|
e35fb1efb6
|
Move populating of segments list to Path#setSegments() and rely on it in constructor.
|
2011-03-08 13:03:11 +00:00 |
|
Jürg Lehni
|
848befe103
|
No need to create a new segments array in setSegments, just set length of existing one instead.
|
2011-03-08 13:00:32 +00:00 |
|
Jürg Lehni
|
6a67052090
|
Update copyright / licensing comments.
|
2011-03-08 01:41:50 +00:00 |
|
Jürg Lehni
|
7956b50886
|
Use === for undefined comparisons.
|
2011-03-07 11:52:04 +00:00 |
|
Jürg Lehni
|
f7f5a70b1c
|
Fix recently newly introduced bug in getStrokeBounds().
|
2011-03-07 01:30:45 +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
|
c4ad95b0ac
|
More variable chaining...
|
2011-03-06 22:06:24 +00:00 |
|
Jürg Lehni
|
4c13ca6961
|
Fix syntax errors (that magically work on Safari).
|
2011-03-06 22:06:06 +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
|
6def2b9d3a
|
Clean-up Path#arcTo() code.
|
2011-03-06 21:13:55 +00:00 |
|
Jürg Lehni
|
4070f98374
|
Clean up calculateBounds().
|
2011-03-06 18:33:52 +00:00 |
|
Jürg Lehni
|
836da3ce47
|
Make getCurrentSegment() a real private.
|
2011-03-06 15:21:12 +00:00 |
|
Jürg Lehni
|
dfb11610e7
|
Define getCurrentSegment() as private and make sure it's not used as a bean.
|
2011-03-06 15:17:06 +00:00 |
|
Jürg Lehni
|
e533b4edbb
|
Move PostScript commands to the end of Path definition in its own injection block.
|
2011-03-06 15:15:13 +00:00 |
|
Jürg Lehni
|
501e42fb9d
|
Add Path#getLength().
|
2011-03-06 14:58:10 +00:00 |
|
Jürg Lehni
|
8b32aa9f09
|
Reactivate commented out code in addBevelJoin(), since it is required in some situations.
|
2011-03-06 14:51:46 +00:00 |
|
Jürg Lehni
|
f6a8de8cc6
|
Finish work on miter caps for Path#getStrokeBounds.
|
2011-03-06 14:45:32 +00:00 |
|
Jürg Lehni
|
5507482d8f
|
Add support for bevel joins to Path#getStrokeBounds, miter still pending.
|
2011-03-06 13:26:36 +00:00 |
|
Jürg Lehni
|
de9a406dc0
|
Add support for all strokeCaps in getStrokeBounds, joins are still pending.
|
2011-03-06 13:11:25 +00:00 |
|
Jürg Lehni
|
00d58a3e61
|
Move Path#getCurveLength() to Curve#getLength() and update tests accordingly.
|
2011-03-06 12:29:17 +00:00 |
|
Jürg Lehni
|
909b2a22ba
|
Begin implementing Path#curves list.
|
2011-03-06 12:24:15 +00:00 |
|
Jürg Lehni
|
fd0d409d9e
|
More work on Path#getStrokeBounds(), unfinished.
|
2011-03-06 11:42:33 +00:00 |
|