Jürg Lehni
|
7233c82084
|
Fix wrong call of _clearBoundsCache() on child.
Closes #426.
|
2014-03-20 17:20:26 +01:00 |
|
Jürg Lehni
|
aeeba4d58d
|
Implement ChangeFlag.INSERTION notification to know when an item was inserted in a new parent inside the DOM.
|
2014-03-18 15:28:29 +01:00 |
|
Jürg Lehni
|
946e0d5b2c
|
Fix spelling mistakes.
|
2014-03-18 15:25:25 +01:00 |
|
Jürg Lehni
|
e998083156
|
Rename Shape#shape to Shape#type.
|
2014-03-18 12:47:54 +01:00 |
|
Jürg Lehni
|
09d90a21bc
|
Support legacy #type filtering again in #getItems(), and offer an alternative through instanceof checks with #class and #constructor property.
|
2014-03-18 12:39:55 +01:00 |
|
Jürg Lehni
|
62f7b0d73e
|
Simplify and merge Item#getItems() code with Project#getItems()
|
2014-03-18 11:47:50 +01:00 |
|
Jürg Lehni
|
833d71f7ea
|
Remove Item#type and replace it with Item#className, the non-hyphenated version of #type.
|
2014-03-18 11:42:38 +01:00 |
|
Jürg Lehni
|
f115072e8c
|
Rename HIERARCHY change-flag to more precise CHILDREN.
|
2014-03-17 18:59:10 +01:00 |
|
Jürg Lehni
|
0aa73d90c5
|
Change the way context dependent font sizes are handled by delegating handling to view.
Closes #425
|
2014-03-17 16:41:57 +01:00 |
|
Jürg Lehni
|
438de7013a
|
Correctly handle groups as clipping masks.
Closes #370.
|
2014-03-17 14:51:47 +01:00 |
|
Jürg Lehni
|
0fe52a7d39
|
Implement an optimization in _changed() notifications where not all curves need to updated if only segments change that already have told their curves about the change.
|
2014-03-17 14:35:33 +01:00 |
|
Jürg Lehni
|
d594b4264d
|
Define settings.applyMatrix and inherit at Item creation time.
|
2014-03-04 09:30:04 +01:00 |
|
Jürg Lehni
|
7dbf6ceaff
|
Move Project#options to PaperScope#settings and define reasonable defaults.
|
2014-03-04 09:29:28 +01:00 |
|
Jürg Lehni
|
36e3cbddf2
|
Remove inheritance of Item#applyMatrix setting again.
Implementation cannot be solved well, since hierarchy is not known at creation time of item.
|
2014-03-02 21:00:08 +01:00 |
|
Jürg Lehni
|
80a725d08a
|
Rename Item#transformContent to the more correct Item#applyMatrix
|
2014-03-02 16:04:17 +01:00 |
|
Jürg Lehni
|
fb1420eee0
|
Internalize Item#applyMatrix() code in #transform() and add short-cut method to it in Matrix#apply()
|
2014-03-02 15:50:45 +01:00 |
|
Jürg Lehni
|
6fdb9f60bd
|
Merge branch 'refs/heads/master' into apply-matrix
|
2014-03-02 01:27:50 +01:00 |
|
Jürg Lehni
|
7bf9cc88e4
|
Merge pull request #387 from mgrabovsky/master
Fix typo in comment
|
2014-03-02 01:05:21 +01:00 |
|
Jürg Lehni
|
4ba17127aa
|
Make sure that #transformContent can only be set to true on items that actually support it.
|
2014-03-01 23:24:33 +01:00 |
|
Jürg Lehni
|
1a836a168f
|
Merge branch 'refs/heads/master' into apply-matrix
Conflicts:
src/item/Item.js
|
2014-03-01 22:55:54 +01:00 |
|
Jürg Lehni
|
a8578326ea
|
Inherit #transformContent setting from parent, if not explicitely defined.
|
2014-03-01 22:52:00 +01:00 |
|
Jürg Lehni
|
dad7821ee9
|
Include Item#transformContent in serialization and cloning.
|
2014-03-01 22:51:01 +01:00 |
|
Jürg Lehni
|
7cf4591a1e
|
Define Item#style before calling #addChild() in #initialize(), to avoid issues with layers.
|
2014-03-01 22:49:46 +01:00 |
|
Jürg Lehni
|
a3114e5c28
|
Do not preserve matrix transformations in empty groups when applied to inexisting content.
|
2014-03-01 22:48:44 +01:00 |
|
Jürg Lehni
|
c1ccdf6cb7
|
Take into account the view's resolution in Item#rasterize()
|
2014-02-26 16:20:19 +01:00 |
|
Jürg Lehni
|
ec0877962b
|
Expose the view's pixel-ratio and resolution through View#pixelRatio and View#resolution
|
2014-02-26 16:19:48 +01:00 |
|
Jürg Lehni
|
ccfd51a65a
|
Improve performance of Path constructors and handling of { insert: false } Item creation.
|
2014-02-26 16:15:51 +01:00 |
|
Jürg Lehni
|
737466d15c
|
Fix all faulty {@true} doc statements.
|
2014-02-26 15:39:00 +01:00 |
|
Jürg Lehni
|
bf50bd649a
|
Fix issue in Item#rasterize() when resolution is not 72 DPI.
Closes #412.
|
2014-02-26 11:54:14 +01:00 |
|
Jürg Lehni
|
86e4d2a6b9
|
Implement Curve#remove() and Path#reduce().
Also have Item#reduce() recursively call #reduce() on reduced children.
|
2014-02-20 02:50:39 +01:00 |
|
Jürg Lehni
|
74a153dd88
|
Some code clean-up.
More to come.
|
2014-02-17 20:59:38 +01:00 |
|
Jürg Lehni
|
568bb06853
|
Add comments about missing #importSVG() documentation.
|
2014-02-12 09:39:34 +01:00 |
|
Matěj Grabovský
|
890eda9197
|
Fix typo in comment
|
2014-01-15 18:04:51 +01:00 |
|
Jürg Lehni
|
5a131930fb
|
Add _dontNotify parameter to Matrix#reset() and use it in Item#applyMatrix()
|
2014-01-06 00:18:40 +01:00 |
|
Jürg Lehni
|
6ad2105110
|
Replace delete in favor of setting to undefined to prevent V8 deoptimization.
|
2014-01-05 19:16:48 +01:00 |
|
Jürg Lehni
|
706fe2c77d
|
Rearrange Base.read argument sequence.
options are used more often than length.
|
2014-01-05 18:31:24 +01:00 |
|
Jürg Lehni
|
b66c41e1c9
|
Remove need for arguments[1] in Item#transform()
|
2014-01-05 18:05:47 +01:00 |
|
Jürg Lehni
|
8d08d3c014
|
Remove the need for arguments[0] in bounds getters.
|
2014-01-05 18:01:38 +01:00 |
|
Jürg Lehni
|
e3f3a9c9d2
|
Merge branch 'refs/heads/master' into v8-optimizations
|
2014-01-05 17:42:59 +01:00 |
|
Jürg Lehni
|
1ee5b2c126
|
Fix references to Bootstrap.js in comments.
|
2014-01-05 17:41:38 +01:00 |
|
Jürg Lehni
|
6cb25fafe3
|
Use changes in latest Straps.js to remove as many hidden parameters as possible.
Hidden parameters through arguments[] are bad news for JS optimizer engines.
|
2014-01-05 17:40:54 +01:00 |
|
Jürg Lehni
|
ea63d4c288
|
Merge branch 'refs/heads/master' into v8-optimizations
Conflicts:
src/core/Base.js
src/style/Color.js
|
2014-01-05 05:01:13 +01:00 |
|
Jürg Lehni
|
e22fa3a664
|
Update copyright notice.
|
2014-01-04 01:47:16 +01:00 |
|
Jürg Lehni
|
ad34bbf7aa
|
Bail out of Item#transform() immediately if there is nothing to do.
|
2014-01-02 21:47:00 +01:00 |
|
Jürg Lehni
|
c197f531a4
|
Implement options.asString for Item#exportJSON()
|
2013-12-30 23:34:19 +01:00 |
|
Jürg Lehni
|
81651a7379
|
Prevent V8 "assignment to parameter in arguments object" deoptimizations.
Some getter-like functions still need fixing, but this might require a fix in Straps.js first.
|
2013-12-17 23:28:55 +01:00 |
|
Jürg Lehni
|
3dbad9c477
|
Replace delete in favor of setting to undefined to prevent V8 deoptimization.
|
2013-12-17 23:27:48 +01:00 |
|
Jürg Lehni
|
e2b06b8e54
|
Filter out insert property in Item#set()
|
2013-12-16 22:03:33 +01:00 |
|
Jürg Lehni
|
a51f8d4ee8
|
Rename Item#anchor -> Item#pivot
|
2013-12-13 20:50:58 +01:00 |
|
Jürg Lehni
|
25d8b1f0d2
|
Clean up code and comments in various places.
|
2013-12-11 17:10:09 +01:00 |
|
Jürg Lehni
|
3ff4a6d801
|
Use Point.read() for center parameter in Item#rotate
|
2013-12-11 17:09:03 +01:00 |
|
Jürg Lehni
|
da427e969b
|
Make hit-tests work again with projects that don't have a view.
Fixes broken tests.
|
2013-12-11 17:08:36 +01:00 |
|
Jürg Lehni
|
97f7204eab
|
Write documentation for Item#anchor.
|
2013-12-11 16:23:30 +01:00 |
|
Jürg Lehni
|
42788a5bf7
|
Keep support for Item#registration for now as well, since there are some scripts on the mailing list that use it.
|
2013-12-11 15:08:56 +01:00 |
|
Jürg Lehni
|
78a2685324
|
Rename Item#registration to Item#anchor
|
2013-12-11 14:59:51 +01:00 |
|
Jürg Lehni
|
e2b48ebf33
|
Allow layers to select children again, since it breaks examples otherwise.
|
2013-12-10 23:55:41 +01:00 |
|
Jürg Lehni
|
9501fd1924
|
Make hit-test tolerance dependent of view#matrix
|
2013-12-10 22:53:03 +01:00 |
|
Jürg Lehni
|
9177bac125
|
Use same stroke tolerance approach for hit-testing joins and caps as well.
|
2013-12-10 14:23:05 +01:00 |
|
Jürg Lehni
|
7c28c7e9e3
|
Do not factor in view matrix into Item#globalMatrix.
Instead concatenate it when drawing selections.
|
2013-12-10 13:18:21 +01:00 |
|
Jürg Lehni
|
48c8946f9e
|
Implement correct hit-testing tolerance using transformed 2D stroke padding rather than unscaled numerical tolerance.
But we still need to factor in the View zoom as well...
|
2013-12-10 12:52:42 +01:00 |
|
Jürg Lehni
|
3d868ae400
|
Fix issue with cached internal bounds and #transformContent == true.
|
2013-12-10 12:51:49 +01:00 |
|
Jürg Lehni
|
48b7b740ad
|
Allow the creation of internally used items with no ids.
|
2013-12-10 11:07:14 +01:00 |
|
Jürg Lehni
|
642111a7a2
|
Fix error in #getGlobalMatrix()
|
2013-12-09 19:33:50 +01:00 |
|
Jürg Lehni
|
b7943239eb
|
Implement cached getInternalRoughBounds as well.
|
2013-12-09 19:33:34 +01:00 |
|
Jürg Lehni
|
7278ee4374
|
Make JSON serialization work for Shapes.
|
2013-12-09 17:27:41 +01:00 |
|
Jürg Lehni
|
94d5a09b7b
|
Do not inherit selection behavior from Group in Layer.
|
2013-12-09 15:10:09 +01:00 |
|
Jürg Lehni
|
e238d23194
|
Implement caching of internal, untransformed bounds.
|
2013-12-09 10:53:19 +01:00 |
|
Jürg Lehni
|
81fe98d1bb
|
Make cachedBounds mechanism work for Symbols.
|
2013-12-09 09:05:29 +01:00 |
|
Jürg Lehni
|
f8f60ec603
|
Fix slow-down in bounds caching.
|
2013-12-09 08:58:37 +01:00 |
|
Jürg Lehni
|
2cd3de8188
|
Improve versioning of _globalMatrix
|
2013-12-09 07:51:28 +01:00 |
|
Jürg Lehni
|
064d632d65
|
More matrix related clean-ups.
|
2013-12-08 22:12:36 +01:00 |
|
Jürg Lehni
|
238f577e6f
|
Clean up _getCachedBounds() code.
|
2013-12-08 22:06:32 +01:00 |
|
Jürg Lehni
|
516b9d040f
|
Apply matrices before calculating boolean path operations.
|
2013-12-08 21:39:56 +01:00 |
|
Jürg Lehni
|
24ce35cc6e
|
Make sure items removed from DOM remove all their events and reinstall them again when reinserted.
Closes #254.
|
2013-12-08 20:40:30 +01:00 |
|
Jürg Lehni
|
97fcd6ff38
|
Implement Item#getGlobalMatrix(), #globalToLocal() and #localToGlobal()
Closes #270.
|
2013-12-08 20:04:10 +01:00 |
|
Jürg Lehni
|
6e5d8939d5
|
Rename View#draw() -> View#update() and remove checkRedraw argument.
We always check for changes, since change propagation should work reliably.
|
2013-12-08 19:15:58 +01:00 |
|
Jürg Lehni
|
c75d48cf98
|
Fix comments.
|
2013-12-08 18:45:11 +01:00 |
|
Jürg Lehni
|
afe00add32
|
Implement option.type filtering in #hitTest() functions.
|
2013-12-08 16:32:42 +01:00 |
|
Jürg Lehni
|
61f2f5c978
|
Put constructors into separate ctor variables when handling dontLink parameters before creating objects.
This hopefully solves the mysterious issue #360 on Chrome.
|
2013-12-07 20:03:23 +01:00 |
|
Jürg Lehni
|
acc0e80d78
|
Implement registration point for all items.
Allowing any item to use another point than the center as its anchor point for item.position.
|
2013-12-07 19:46:12 +01:00 |
|
Jürg Lehni
|
2401b38b03
|
Fix issue with group.position not updating when content changes.
|
2013-12-07 19:17:59 +01:00 |
|
Jürg Lehni
|
758c9b6146
|
Improve caching of decomposed transformation values.
|
2013-12-07 12:47:16 +01:00 |
|
Jürg Lehni
|
9ca92165ee
|
Expose rotation and scaling transformations through Item#rotation and Item#scaling properties, by moving the setters from Matrix to Item.
|
2013-12-07 12:16:11 +01:00 |
|
Jürg Lehni
|
3d94ff6968
|
Only decompose matrix if there are bounds to be reused.
|
2013-12-07 05:50:08 +01:00 |
|
Jürg Lehni
|
1ba77f9d40
|
Implement Item#skew() and clean up Item transformation functions documentation.
|
2013-12-07 05:21:27 +01:00 |
|
Jürg Lehni
|
2d307f0e7c
|
Only preserve bounds if there is no shearing in the transformation.
Closes #358.
|
2013-12-07 05:19:49 +01:00 |
|
Jürg Lehni
|
7e9989c6b9
|
Improve comment about globalMatrix.isInvertible() check.
|
2013-12-06 13:41:57 +01:00 |
|
Jürg Lehni
|
92590b160c
|
Implement Canvas Path caching again using Context#currentPath.
|
2013-12-06 12:49:46 +01:00 |
|
Jürg Lehni
|
550749d057
|
Avoid issues with _matrix being undefined when items are created and added in a certain sequence.
Closes #279.
|
2013-12-03 23:14:34 +01:00 |
|
Jürg Lehni
|
fc02c58ddb
|
Implement asynchronously loading Rasters from disk and remote locations for Node.js
Closes #328.
|
2013-12-03 23:07:54 +01:00 |
|
Jürg Lehni
|
dcad9d44ed
|
Copy over parent style in Item#reduce().
Only really needed for CompoundPath...
|
2013-11-30 14:02:54 +01:00 |
|
Jürg Lehni
|
93d10983ee
|
Update to latest Prepro.js and switch from global options object to __options, to avoid name clashes.
|
2013-11-29 20:26:38 +01:00 |
|
Jürg Lehni
|
1149399690
|
Add missing DOCS comments.
|
2013-11-29 18:50:04 +01:00 |
|
Jürg Lehni
|
7e65426158
|
Implement Item#data cloning.
Closes #340.
|
2013-11-28 22:27:14 +01:00 |
|
Jürg Lehni
|
593e0d8d7f
|
Remove Base.merge() and use a new Straps.js feature instead.
A more clever Base() constructor that allows merging.
|
2013-11-28 22:20:00 +01:00 |
|
Jürg Lehni
|
c0e8285c07
|
Fix setting #radius on Shape.Circle.
|
2013-11-28 18:03:41 +01:00 |
|
Jürg Lehni
|
18db7c0d56
|
Fix issue with items with frame events never being removed from _frameItems list.
|
2013-11-27 12:38:56 +01:00 |
|
Jürg Lehni
|
97d94e8401
|
Allow Path#transformContent to be set to false too.
|
2013-11-26 23:12:55 +01:00 |
|
Jürg Lehni
|
b96f9ff57b
|
Rearrange method sequence in Item.
|
2013-11-26 19:27:09 +01:00 |
|
Jürg Lehni
|
56f25e8742
|
Implement change propagation in matrices.
|
2013-11-26 19:03:58 +01:00 |
|
Jürg Lehni
|
da9e1f8de7
|
Define Project#isEmpty()
|
2013-11-24 22:53:41 +01:00 |
|
Jürg Lehni
|
af4410953f
|
Various clean-ups regarding the handling of activeLayer, JSON deserialization, DOM insertion and and layer reusing.
JSON deserialization does no longer insert items into DOM twice now, and should therefore be faster.
|
2013-11-24 16:25:13 +01:00 |
|
Jürg Lehni
|
5439f6ba45
|
We need to take pixel ratio into account when directly blitting blend-modes onto canvas.
|
2013-11-06 13:11:54 +01:00 |
|
Jürg Lehni
|
d6be004ee6
|
Setting a matrix on an item with #transformContent = true should immediately apply it.
|
2013-11-04 11:43:17 +01:00 |
|
Jürg Lehni
|
b8ab0f36f9
|
Remove unused local variable and comment.
|
2013-11-02 20:37:23 +01:00 |
|
Jürg Lehni
|
132f54d362
|
Define Item#clear() as an alias for Item#removeChildren(), or Path#removeSegments() for paths.
|
2013-11-01 17:52:27 +01:00 |
|
Jürg Lehni
|
c76dae5b06
|
Implement a new strategy for importing JSON, where it is imported into the item itself, not its children list, if the class match.
|
2013-11-01 11:26:11 +01:00 |
|
Jürg Lehni
|
2a9fe48cc9
|
Add options.matchShapes support to #exportSVG and improve documentation of various import / export functions.
|
2013-10-30 16:18:59 +01:00 |
|
Jürg Lehni
|
5d7c7a2409
|
Improve documentation of #hitTest()
|
2013-10-30 16:18:15 +01:00 |
|
Jürg Lehni
|
2a88042315
|
Handle importing of SVG gradients for shapes, and drawing of canvas gradients correctly.
Closes #312.
|
2013-10-30 01:25:13 +01:00 |
|
Jürg Lehni
|
eecf68b7c3
|
Clear ctx.shadowColor after ctx.fill() to avoid application to both fill and stroke.
Closes #314.
|
2013-10-30 00:00:04 +01:00 |
|
Jürg Lehni
|
1871e2f7c4
|
Improve comments.
|
2013-10-29 21:18:09 +01:00 |
|
Jürg Lehni
|
fd96447ac1
|
Share ellipse reading code between Shape.Ellipse and Path.Ellipse.
|
2013-10-29 21:15:28 +01:00 |
|
Jürg Lehni
|
aca9968164
|
Simplify Shape#_contains() code.
|
2013-10-29 21:09:11 +01:00 |
|
Jürg Lehni
|
4333334014
|
Simplify Shape#hitTest() code.
|
2013-10-29 21:06:58 +01:00 |
|
Jürg Lehni
|
6fba727600
|
Add DOCS comments.
|
2013-10-29 21:00:24 +01:00 |
|
Jürg Lehni
|
f8d960d834
|
option.tolerance should always be defined in _hitTest()
|
2013-10-29 21:00:17 +01:00 |
|
Jürg Lehni
|
ae4ddaeae5
|
Implement correct hit-tests for rounded rectangle Shape items.
|
2013-10-29 20:58:30 +01:00 |
|
Jürg Lehni
|
c43752dc3e
|
Use #hasFill() and #hasStroke() more broadly and avoid drawing strokes when strokeWidth is set to 0.
|
2013-10-29 20:05:39 +01:00 |
|
Jürg Lehni
|
94623f6d3f
|
Keep radius and size in sync in Path.Rectangle.
|
2013-10-29 19:42:33 +01:00 |
|
Jürg Lehni
|
b86b66d43d
|
Improve documentation.
|
2013-10-29 19:25:10 +01:00 |
|
Jürg Lehni
|
7f8d9d9e90
|
Support options.tolerance in Shape#hitTest()
|
2013-10-29 19:17:42 +01:00 |
|
Jürg Lehni
|
9d60662a28
|
Check for the occurrence of 'radius' rather than 'center' when deciding to read a center / radius pair for ellipses.
|
2013-10-29 18:53:55 +01:00 |
|
Jürg Lehni
|
c3aed5277d
|
Use center and radius in all ellipse code, rather than bounding rect.
Simplifies things.
|
2013-10-29 18:10:30 +01:00 |
|
Jürg Lehni
|
04286bc1e0
|
Fix issue with param.trackTransforms
We can only pop() if we push()
|
2013-10-29 17:56:43 +01:00 |
|
Jürg Lehni
|
b2188be567
|
Make sure _globalMatrix is not set to false values in Item#rasterize().
|
2013-10-29 17:37:45 +01:00 |
|
Jürg Lehni
|
d649b1bb21
|
Define insert argument for Path#toShape() and Shape#toPath()
|
2013-10-29 16:45:50 +01:00 |
|
Jürg Lehni
|
5a462f42b7
|
Improve some comments / docs.
|
2013-10-29 09:42:59 +01:00 |
|
Jürg Lehni
|
c579433b3d
|
Fix bug in Raster.onLoad()
It was executing in wrong scope on websites with multiple scopes.
|
2013-10-29 09:42:58 +01:00 |
|
Jürg Lehni
|
160fe25cd1
|
Improve documentation of #importSVG() methods.
|
2013-10-29 09:42:58 +01:00 |
|
Jürg Lehni
|
b4651a18c6
|
Implement #getItem() on Project and Item, similar to #getItems() but returning only the first match.
|
2013-10-19 13:02:53 +02:00 |
|
Jürg Lehni
|
1a645a1adb
|
Implement function callbacks for item matching.
|
2013-10-19 12:38:36 +02:00 |
|
Jürg Lehni
|
4fb6a5d949
|
Implement #getItems(match) on Project and Item as a simple and efficient query interface.
|
2013-10-19 12:27:13 +02:00 |
|
Jürg Lehni
|
0b7e128426
|
Only rely on _drawCount for drawing related things, and caching where it allows.
Project#selectedItems was out of sync until the next draw loop.
|
2013-10-18 21:52:22 +02:00 |
|
Jürg Lehni
|
1fc9f882ca
|
Fix a minor bug in CompoundPath#contains(), improve comments and clean up code.
|
2013-10-18 19:49:05 +02:00 |
|
Jürg Lehni
|
5d0fd8f970
|
Implement Style#windingRule and use it in Path#contains().
|
2013-10-18 14:54:13 +02:00 |
|
Jürg Lehni
|
73d2c34088
|
Implement item-level #equals() method and clean up other equals methods.
|
2013-10-17 13:08:54 +02:00 |
|
Jürg Lehni
|
9976033655
|
Implement serialization of selection.
|
2013-10-17 12:04:11 +02:00 |
|
Jürg Lehni
|
c2a34d9f1f
|
Implement an easier approach in serialization to handle the default value of leading.
|
2013-10-17 11:53:34 +02:00 |
|
Jürg Lehni
|
1eb6b49e8a
|
Allow serialization values to mark themselves as _default.
Solves unnecessarily serialized leading values.
|
2013-10-17 11:47:46 +02:00 |
|
Jürg Lehni
|
9956a6ff51
|
Implement Shape#toPath(), analogue to Path#toShape().
This way is much simpler though.
|
2013-10-16 23:44:50 +02:00 |
|
Jürg Lehni
|
c4c7a37993
|
Implement Path#toShape(), Segment#isColinear(), Segment#isOrthogonal() and Segment#isArc().
|
2013-10-16 23:10:03 +02:00 |
|
Jürg Lehni
|
be5a73a61d
|
SVG: Implement support for Shape.
|
2013-10-16 16:47:00 +02:00 |
|
Jürg Lehni
|
8ab6c61b0d
|
Rename Shape#type to Shape#shape, to avoid clash with Item#type.
|
2013-10-16 16:46:22 +02:00 |
|
Jürg Lehni
|
b581c84d8b
|
Move CompoundPath#reduce() to Item#reduce().
|
2013-10-16 16:10:28 +02:00 |
|
Jürg Lehni
|
9eb1c104da
|
Implement Shape#clone()
|
2013-10-16 15:04:50 +02:00 |
|
Jürg Lehni
|
b35296ef3e
|
Improve Shape.Ellipse to support center & radius parameters, and update documentation.
|
2013-10-16 15:04:37 +02:00 |
|
Jürg Lehni
|
c945bf7908
|
Docs: Various smaller clean ups.
|
2013-10-16 14:20:13 +02:00 |
|
Jürg Lehni
|
2263afea59
|
Start implementing rounded rectangles in Shape.Rectangle.
|
2013-10-14 19:57:28 +02:00 |
|
Jürg Lehni
|
a3d0e0d462
|
Clean up throw statements.
Never throw plain strings.
|
2013-10-14 16:05:50 +02:00 |
|