Jonathan Puckey
|
38b9b327ae
|
Add Path.Constructor examples.
|
2013-03-10 19:09:09 +01:00 |
|
Jonathan Puckey
|
177f799bde
|
Rename Path.Star parameter from numPoints to points.
|
2013-03-10 18:09:05 +01:00 |
|
Jonathan Puckey
|
097a9c958f
|
Rename Path.RegularPolygon parameter from numSides to sides.
|
2013-03-10 18:02:16 +01:00 |
|
Jürg Lehni
|
97e85d66db
|
Fix issue with object literal properties being accidentally misread as path segments.
Closes #177.
|
2013-03-05 00:28:21 -08:00 |
|
Jonathan Puckey
|
2666e60f28
|
Fix Path#getTangentAt example.
|
2013-03-04 12:37:55 +01:00 |
|
Jonathan Puckey
|
2d103dd792
|
Improve and fix example documentation.
|
2013-03-04 12:09:58 +01:00 |
|
Jürg Lehni
|
849d3efc2e
|
Have PathItem#setPathData() clear the previous content.
|
2013-03-03 16:56:48 -08:00 |
|
Jürg Lehni
|
8a69fcd1e5
|
Actually use precision setting in Path#getPathData().
|
2013-03-03 16:51:31 -08:00 |
|
Jürg Lehni
|
7b7168feb1
|
Fix reading of rectangle in Path.Constructor.
And all tests are green again.
|
2013-03-03 15:29:15 -08:00 |
|
Jonathan Puckey
|
7643085378
|
Path example documentation.
|
2013-03-03 20:48:03 +01:00 |
|
Jonathan Puckey
|
fa861f2047
|
Improve example documentation.
|
2013-03-03 20:10:25 +01:00 |
|
Jonathan Puckey
|
801eb0f2a8
|
Add example to Segment#selected docs.
|
2013-03-03 20:09:41 +01:00 |
|
Jonathan Puckey
|
3cdb11fe36
|
GradientStop & PathItem example documentation.
|
2013-03-03 19:47:32 +01:00 |
|
Jonathan Puckey
|
09e4bd0bb4
|
Improve Path.Constructors example documentation.
|
2013-03-03 18:34:39 +01:00 |
|
Jürg Lehni
|
1bfafee0ca
|
Use a default precision of three digits for exporting path data.
|
2013-03-02 08:14:17 -08:00 |
|
Jürg Lehni
|
67b1a602c4
|
Fix hit-testing of open filled Paths when they are part of a CompoundPath.
|
2013-03-01 21:47:13 -08:00 |
|
Jürg Lehni
|
936b1bccbb
|
Get curves uncached in CurveLocation#split() and #divide().
|
2013-03-01 20:26:03 -08:00 |
|
Jürg Lehni
|
03521796ef
|
Setting Path#selected to false should deselect all handles too.
|
2013-03-01 20:25:09 -08:00 |
|
Jürg Lehni
|
dfe1a7efab
|
Define setter for Segment#linear.
|
2013-03-01 20:24:46 -08:00 |
|
Jürg Lehni
|
2230c2888d
|
Fix issue with Curve#divide() where the wrong curve reference is returned.
|
2013-03-01 20:19:44 -08:00 |
|
Jürg Lehni
|
532176ac62
|
Fix drawing of selected handles.
|
2013-03-01 18:32:55 -08:00 |
|
Jürg Lehni
|
c543704115
|
Define Project#options as a way to configure things.
For now, only options.handleSize is in use.
|
2013-03-01 18:28:22 -08:00 |
|
Jürg Lehni
|
f0593c1fb9
|
Fix error with #getPathData() and empty paths.
|
2013-03-01 17:46:55 -08:00 |
|
Jürg Lehni
|
3f5d0a6925
|
Merge constructor._name with _type and use CamelCase for Item types.
|
2013-03-01 17:13:22 -08:00 |
|
Jürg Lehni
|
7553712e35
|
Simplify code for readRectangle() in Path.Constructors.
|
2013-03-01 14:39:26 -08:00 |
|
Jürg Lehni
|
3f85dcdb77
|
Use #_set() in Rectangle#initialize() to simplify code and increase flexibility.
|
2013-03-01 14:37:27 -08:00 |
|
Jürg Lehni
|
8d2c2f5fda
|
Fix an issue with PathFitter where path with only one segment would throw an error.
Closes #175.
|
2013-03-01 14:28:32 -08:00 |
|
Jürg Lehni
|
7405858f32
|
Simplify code for reading of named arguments, removing the need for filtering arguments by using 'in' checks instead for the presence of properties / setters.
|
2013-03-01 14:06:04 -08:00 |
|
Jürg Lehni
|
06e33ba412
|
Improve flexibility of reading rectangles in Path.Constructor.
We can now define the rectangle by any property that it has setters for.
|
2013-03-01 13:52:11 -08:00 |
|
Jürg Lehni
|
12d4d563d9
|
Further shorten path data code.
|
2013-03-01 01:18:42 -08:00 |
|
Jürg Lehni
|
13a567bcaa
|
Fix handling of multiple h / v commands in path data.
|
2013-03-01 01:18:27 -08:00 |
|
Jürg Lehni
|
b649240696
|
Use correct defaults for #pathData serialization.
|
2013-02-28 19:55:18 -08:00 |
|
Jürg Lehni
|
cef30f9dd1
|
Switch to #pathData for JSON serialization of Path and CompoundPath.
|
2013-02-28 19:41:13 -08:00 |
|
Jürg Lehni
|
5fbc6e939d
|
Fix small SVG path-data parser issue.
|
2013-02-28 19:33:08 -08:00 |
|
Jürg Lehni
|
82cefa9846
|
Fix typo.
|
2013-02-28 19:29:44 -08:00 |
|
Jürg Lehni
|
0f140e391d
|
Minor clean ups.
|
2013-02-28 19:21:46 -08:00 |
|
Jürg Lehni
|
78b3621cf6
|
Implement PathItem#pathData getter and setter for SVG style path data.
And use it fro SvgImport too.
|
2013-02-28 19:14:06 -08:00 |
|
Jürg Lehni
|
9d8cddbe42
|
Implement new private Format object that handles formatting of number, point, size and rectangle.
|
2013-02-28 19:14:05 -08:00 |
|
Jürg Lehni
|
79e836373d
|
Clean up hitTest code a little.
|
2013-02-25 15:41:31 -08:00 |
|
Jürg Lehni
|
cd9184a6f0
|
Fix CompoundPath hit-testing.
|
2013-02-24 19:01:29 -08:00 |
|
Jürg Lehni
|
6b7c6b6c4c
|
Implement Item#bounds.selected to control drawing of selected item bounds.
|
2013-02-24 15:41:31 -08:00 |
|
Jürg Lehni
|
0a81787c7e
|
Fix a bug in CompoundPath#hitTest().
Results from Path#hitTest() were not passed through.
|
2013-02-24 14:56:28 -08:00 |
|
Jürg Lehni
|
119e5acbf9
|
Move #_setProperties() and #set() from Item to Base, rename it to #_set and use it for Tool too.
|
2013-02-15 18:28:49 -08:00 |
|
Jürg Lehni
|
23b51915eb
|
Implement CompoundPath#firstSegment, #lastSegment, #firstCurve and #lastCurve.
|
2013-02-15 18:05:16 -08:00 |
|
Jürg Lehni
|
d3ccec2256
|
Use the code from Group#isEmpty() and CompoundPath#isEmpty() for Item#isEmpty(), since any item that does not have children overrides it.
|
2013-02-15 18:01:23 -08:00 |
|
Jürg Lehni
|
24d467e292
|
Implement support for native dash strokes, through both setLineDash() and mozDash.
|
2013-02-12 15:32:21 -08:00 |
|
Jürg Lehni
|
fdd15e675f
|
Add options argument to #toJson() methods, and use to implement optional fractional digit precision control.
|
2013-02-12 14:57:54 -08:00 |
|
Jürg Lehni
|
489a785171
|
Override Item.extend() to merge the subclass' _serializeFields with the parent class' _serializeFields.
And have style fields always serialized in non-compact form for Color.
|
2013-02-11 17:08:23 -08:00 |
|
Jürg Lehni
|
b10454a83c
|
Rename Matrix#createInverse() to #inverted() and #createShiftless() to #shiftless().
|
2013-02-09 12:18:40 -08:00 |
|
Jürg Lehni
|
bc5826d324
|
Clean up code.
|
2013-02-08 18:46:22 -08:00 |
|
Jürg Lehni
|
dc35fdbd02
|
Move named inner functions out of nested scopes, to prepare for 'use strict;' transition.
|
2013-02-08 18:23:33 -08:00 |
|
Jürg Lehni
|
1ee29d56ac
|
Improve comment about JavaScriptCore bug.
|
2013-02-08 16:35:33 -08:00 |
|
Jürg Lehni
|
b6d2d83af5
|
Fix the strangest JavaScriptCore bug that I've encountered in ages.
Closes #168. Read comment for more details.
|
2013-02-08 16:32:47 -08:00 |
|
Jürg Lehni
|
02ca95eb46
|
Avoid accidental global leakage.
|
2013-02-08 16:12:57 -08:00 |
|
Jürg Lehni
|
6c9c16ad3d
|
Update copyright information comments, and year.
|
2013-01-28 18:03:27 -08:00 |
|
Jürg Lehni
|
b0deda9445
|
Add missing documentation for various location related functions on Curve.
|
2013-01-28 16:47:45 -08:00 |
|
Jürg Lehni
|
c7d8aebb9e
|
Swap Curve's bounds scope with point evaluation scope, for proximity to bounds related methods in scope before.
|
2013-01-28 16:32:04 -08:00 |
|
Jürg Lehni
|
1a438b8b9b
|
Change Curve#[getPoint / getTangent / getNormal](t) to #[getPoint / getTangent / getNormal](offset, isParamter).
Keep deprecated versions around for now.
|
2013-01-28 16:30:28 -08:00 |
|
Jürg Lehni
|
e75ee18de1
|
Restructure code a bit.
|
2013-01-22 14:58:34 -08:00 |
|
Jürg Lehni
|
a5bfa9e5d3
|
Remove debug logging for Segment / Curve insertion, deletion and splitting.
|
2013-01-22 14:54:19 -08:00 |
|
Jürg Lehni
|
f09bc84a12
|
Implement correct handling of Curves / Segments synchronization, improve CurveLocation linking to Curves through their linked Segments, and preserve Curves in Path#split() calls.
|
2013-01-22 14:46:49 -08:00 |
|
Jürg Lehni
|
e4d98f7865
|
Add internal _cloning parameter to all insertion methods.
|
2013-01-20 16:14:30 -08:00 |
|
Jürg Lehni
|
677ea374c5
|
Only change #clockwise on closed Paths when inserting into CompoundPaths.
|
2013-01-20 15:48:06 -08:00 |
|
Jürg Lehni
|
c5ede2e955
|
Add support for _setProperties() to CompoundPath constructor.
|
2013-01-20 15:20:10 -08:00 |
|
Jürg Lehni
|
ba5aa86411
|
Include Roger Willcocks in the thanks regarding isSufficentlyFlat.
|
2013-01-20 14:28:02 -08:00 |
|
Jürg Lehni
|
4346563fe4
|
No need to merge Path#_serializeFields, simply keep in sync with Item#_serializeFields (excluding #children).
|
2013-01-20 14:01:43 -08:00 |
|
Jürg Lehni
|
b05a21d6c9
|
Fix bug in Curve#getLocationOf().
|
2013-01-20 14:01:42 -08:00 |
|
Jürg Lehni
|
49c8f8b6b5
|
A couple of improvements on Path#split().
|
2013-01-20 14:01:42 -08:00 |
|
Jürg Lehni
|
b04eb2b98f
|
Implement Path#split() and Curve#split().
|
2012-12-31 22:28:41 +01:00 |
|
Jürg Lehni
|
d2b799f4db
|
Fix various issues with Path#curves synchronization.
|
2012-12-31 22:21:50 +01:00 |
|
Jürg Lehni
|
f0038465cc
|
Fix clearing of removed segments.
|
2012-12-31 21:45:30 +01:00 |
|
Jürg Lehni
|
a10e44d601
|
Minor code clean-up.
|
2012-12-31 21:43:43 +01:00 |
|
Jürg Lehni
|
8cea919dbd
|
Calculate CurveLocation#parameter uncached when dealing with dividing or splitting, since these commands alter the underlying Path.
|
2012-12-31 21:42:55 +01:00 |
|
Jürg Lehni
|
5a2be6d545
|
No need for chainable functions on Item types.
|
2012-12-31 21:42:14 +01:00 |
|
Jürg Lehni
|
d509f86e1a
|
Fix issue where removing segments from open paths would correct curves wrongly.
|
2012-12-31 21:19:55 +01:00 |
|
Jürg Lehni
|
5da4e89672
|
Return 'this' in more places to facilitate chained calls inside the library.
|
2012-12-31 20:07:28 +01:00 |
|
Jürg Lehni
|
8ec8af4dc5
|
Define CurveLocation#divide().
|
2012-12-30 19:53:09 +01:00 |
|
Jürg Lehni
|
e066db4577
|
Implement Curve#divide().
|
2012-12-30 19:49:17 +01:00 |
|
Jürg Lehni
|
4185b63d99
|
Und recent renaming of #getNearest*() methods.
|
2012-12-30 19:43:35 +01:00 |
|
Jürg Lehni
|
4ab9a942b0
|
Clean up Path.Constructor code.
|
2012-12-30 18:33:46 +01:00 |
|
Jürg Lehni
|
a1fc86b19e
|
Add forgotten passing on of arguments._filtered.
|
2012-12-30 18:29:01 +01:00 |
|
Jürg Lehni
|
4e20a5794f
|
Remove debug logging.
|
2012-12-30 18:27:42 +01:00 |
|
Jürg Lehni
|
8bed8cb15d
|
Define mechanism for flexible reading of named arguments through Base.readNamed() and Base.hasNamed(), and use it to implement property object literal versions of Path.Constructor code.
|
2012-12-30 18:24:33 +01:00 |
|
Jürg Lehni
|
2abefee336
|
Merge Base.readValue() with Base.read() and rename Base.peekValue() to Base.peek().
When called directly on Base, read() reads values, otherwise the specific type of the subclass it is called on.
|
2012-12-30 16:07:20 +01:00 |
|
Jürg Lehni
|
1b539301ad
|
Find a better naming convention for the various getLocation* methods (*At for offsets / parameters, *Of for points), implement the missing methods on Curve and use them in Path.
|
2012-12-27 21:08:03 +01:00 |
|
Jürg Lehni
|
231369fa01
|
Shorten code a bit, using loops.
|
2012-12-27 20:46:12 +01:00 |
|
Jürg Lehni
|
cb8f3291d3
|
Clean up some comments.
|
2012-12-27 20:19:23 +01:00 |
|
Jürg Lehni
|
5b9d33f32e
|
Fix imprecision in intersection code by re-introducing tolerance parameter in Curve#isFlatEnough().
|
2012-12-27 20:13:45 +01:00 |
|
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
|
00898908d3
|
Write documentation for PathItem#getIntersections().
|
2012-12-27 19:26:40 +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
|
03b5d58e79
|
Merge branch 'refs/heads/master' into intersection
|
2012-12-27 18:43:43 +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
|
57a9f4fc91
|
Use constant substitution for Numerical constants as well.
|
2012-12-27 18:36:59 +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 |
|