Commit graph

402 commits

Author SHA1 Message Date
Jürg Lehni
3c4978eb04 Rename Curve#getParameter(point) to Curve#getParameterOf(point), to better distinguish from Curve#getParameterAt(length). 2012-12-27 20:09:21 +01:00
Jürg Lehni
68ad4bb5ba Implement PathItem#getIntersections(path) and Curve#getIntersections(curve) using divide-and-conquer approach, and new Curve.getBounds(). 2012-12-27 19:23:03 +01:00
Jürg Lehni
75596e1d03 Move a part of Path.getBounds() code into Curve._addBounds(), and use it to also define Curve.getBounds(). 2012-12-27 18:38:55 +01:00
Jürg Lehni
050ca1dcb1 Further clean up Path.getBounds() code. 2012-12-27 17:43:21 +01:00
Jürg Lehni
3a1f2eec3f Restructure Path#getBounds() code so Curve bounds calculations can be moved to Curve. 2012-12-27 15:19:42 +01:00
Jürg Lehni
2673991620 Have Path#_serializeFields inherit from Item#_serializeFields. 2012-12-27 13:04:38 +01:00
Jürg Lehni
f45c04a359 Remove overridden Path#matrix getters and setters, since we now control behavior through #applyMatrix. 2012-12-27 13:04:07 +01:00
Jürg Lehni
4f83e0eee6 Commit first version of serialization / deserialization mechanism.
It appears to work fine already for Paths and Groups.
2012-12-27 12:45:55 +01:00
Jürg Lehni
ae4e5d4be5 Rename Item#setProperties() to hidden #_setProperties() and add public Item#set() to use same functionality from outside. 2012-12-27 00:52:09 +01:00
Jürg Lehni
3ac039bd66 Implement properties object literal initialization for all Item constructors. 2012-12-25 22:12:25 +01:00
Jürg Lehni
947afe85f0 Simplify Path#initialize() code. 2012-12-25 16:59:05 +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
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
Jürg Lehni
734cc1cc61 Undo commit 4445376c0204cb5a2e408c64b77a5b6fa09305ba since it clashes with magnification. 2012-12-21 16:41:57 +01:00
Jürg Lehni
e10ef4dba3 Fix comment. 2012-12-19 03:22:57 +01:00
Jürg Lehni
4de5f30f72 Improve documentation. 2012-12-18 14:19:22 +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
5a316c244b Directly expose bounds methods as statics rather than using a private scope. 2012-12-15 08:27:37 -08: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
021009abbc Shorten Path#getBounds() code by using Numerical.solveQuadratic(). 2012-12-15 07:58:20 -08:00
Jürg Lehni
9a7f72e163 Clean up getBounds code a bit, by using less local variables and more explicit variable names. 2012-12-14 21:40:25 -08:00
Jürg Lehni
2061cb0517 Fix Path#contains() for unclosed paths that have a fill color. 2012-12-14 21:39:47 -08:00
Jürg Lehni
9d8bf12028 Never return null from #getBounds. 2012-12-09 18:00:23 -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
ace1d0f441 No need to set _clockwise since #reverse() already does so. 2012-12-01 11:10:59 -08:00
Jürg Lehni
d0cc8b6c16 Fix issue with hit-testing filled paths that are not closed. 2012-11-28 22:13:31 -08:00
Jürg Lehni
4d51173881 Keep Path#curves in sync properly when removing the last segment of an open path.
Closes #138.
2012-11-23 13:58:13 -08:00
Jürg Lehni
61b6026361 Rename CompoundPath#flatten() to #reduce(), to avoid clash with Path#flatten(). 2012-11-23 01:16:21 -08:00
Ben Firshman
8ca26f650a Fixed leaky _handle2 2012-11-20 15:53:31 +00:00
Jürg Lehni
1cb6a7fc3c Clean up Path#smooth() code a bit. 2012-11-06 20:18:59 -08:00
Jürg Lehni
f110038104 Improve clipping mask drawing, and remove some unneeded ctx.save() / ctx.restore() calls. 2012-11-06 20:14:21 -08:00
Jürg Lehni
fd8fe9c08e Rename CompoundPath#simplify() to #flatten() to avoid clashes with Path#simplify(), and add Path#flatten(), returning itself. 2012-11-06 10:16:03 -08:00
Jürg Lehni
6e0f29bf4a Rename Path#closed getter to #isClosed() instead of #getClosed(). 2012-11-05 21:06:47 -08: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
1050e3314e Implement Segment#isLinear() and Path#isPolygon(). 2012-11-04 00:03:49 -07: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
07c0b6ce6a Improve Path#moveTo behavior()
Allowing it to be called multiple times before any other drawing commands.
2012-11-03 19:45:02 -07:00
Jürg Lehni
b22ff5ecca Revert a recent change in selection handling. 2012-11-02 16:27:59 -07:00
Jürg Lehni
f73717a7e7 Fix issues in Numerical.solveQuadratic(), solveCubic() and Path#contains().
Closes #71.
2012-10-22 18:21:33 -04:00
Jürg Lehni
317fcf5432 Only include strokeWidth in roughBounds if a strokeColor is actually set. 2012-10-20 16:01:53 -04:00
Jürg Lehni
f87eadecda Correct default value for clockwise in arcTo(). 2012-10-19 09:18:10 -04:00
Jürg Lehni
6441a682a8 Fix new error in quadraticCurveTo().
We don't seem to have test-cases for these yet.
2012-10-18 14:29:53 -07: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
Jürg Lehni
ef59ad2875 Improve selection handling and drawing for Path item.
In a way that makes more sense when building tools.
2012-10-10 19:33:42 -07:00
Jürg Lehni
6b08d96c45 Fix issue where out handle was compared to the wrong segment point when drawing.
This should fix #106 but needs to be verified before we can close the bug.
2012-10-05 19:08:31 -07:00
Jonathan Puckey
d20fb61c7c Cleanup code. 2012-04-25 20:47:53 +02:00
Oliver Beattie
3c7563a3bf When a path is transformed, the _length cache of its Curves should be invalidated 2012-03-17 17:09:54 +00:00