Jürg Lehni
|
466857659c
|
Unroll loop in Path#_setStyles().
|
2011-12-19 21:23:28 +01:00 |
|
Jürg Lehni
|
12dbb11ec3
|
Optimise and simplify ellipse code.
|
2011-12-19 13:51:26 +01:00 |
|
Jürg Lehni
|
3ccb4a6ebe
|
Fix strokeBounds calculation when a rotation matrix is in use.
The bounding box of the rotated pen ellipse was calculated wrongly.
|
2011-12-19 13:47:30 +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 |
|
Jürg Lehni
|
3ece08bea1
|
Fix handling of recursion in Item#setSelected() / #setFullySelected().
|
2011-11-30 17:16:52 +01:00 |
|
Jürg Lehni
|
b51cf064b0
|
Make baseItem to last optional parameter of _getBounds.
|
2011-11-26 11:55:19 +01:00 |
|
Jürg Lehni
|
f799c85e76
|
Switch to using 'this' in private getBounds methods to point to path item rather than 'that'.
|
2011-11-26 11:48:08 +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
|
569c415b2f
|
Start implementing bounds caching the new way.
Work in progress still.
|
2011-11-24 15:37:44 +01:00 |
|
Jürg Lehni
|
c989d3ee3f
|
Restructure code a bit for easier reading.
|
2011-11-24 15:18:57 +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
|
b96cd4e1c8
|
Add comments about possible optimization of accessing of style properties.
|
2011-11-24 14:53:38 +01:00 |
|
Jürg Lehni
|
3f5e68aa76
|
Document the private getPendPadding() function.
|
2011-11-24 10:21:12 +01:00 |
|
Jürg Lehni
|
29aaf38320
|
Improve comments.
|
2011-11-24 10:17:31 +01:00 |
|
Jürg Lehni
|
cd1810e6a3
|
Fix arguments check in Path#getHandleBounds().
|
2011-11-23 18:13:05 +01:00 |
|
Jürg Lehni
|
b9f6c99dcd
|
Add comments and clean up code.
|
2011-11-17 19:28:05 +01:00 |
|
Jürg Lehni
|
c8e1a9c959
|
Merge remote-tracking branch 'origin/master'
|
2011-11-12 23:57:39 +01:00 |
|
Jürg Lehni
|
4ba752d42a
|
Add note and TODO about Path#contains() only working correctly for no-zero winding rule, which is not used by Canvas...
|
2011-11-12 19:49:12 +01:00 |
|
Jürg Lehni
|
ddf7c6534b
|
Fix Path#hitTest() to only consider strokeWidth if a strokeColor is provided too.
|
2011-11-12 19:48:39 +01:00 |
|
Jonathan Puckey
|
52385451f6
|
Resolve a few documentation todos.
|
2011-11-12 18:30:21 +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
|
571ca31dbf
|
Move ctx.restore() to same level as ctx.save(). Closes #51.
|
2011-09-18 10:56:04 +02:00 |
|
Jürg Lehni
|
7e0307dd6a
|
Correct comments.
|
2011-08-16 13:36:58 +02:00 |
|
Jürg Lehni
|
a8c08b3301
|
Docs: Document Path#getNearestLocation() and #getNearestPoint().
|
2011-08-01 11:48:27 +01:00 |
|
Jonathan Puckey
|
53a602fb56
|
Path#_hitTest: check that a stroke hit test was requested.
|
2011-07-15 14:50:42 +02:00 |
|
Jonathan Puckey
|
91ab38ffd1
|
Path#getHandleBounds: remove optimization as it leads to problems when hit testing handles.
|
2011-07-15 12:58:34 +02:00 |
|
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 |
|