Jürg Lehni
a0066b61c3
Rearrange method sequence in basic types.
2013-03-19 17:51:50 -07:00
Jürg Lehni
3f634f6420
Use same precision in Path#getPathData() as everywhere else.
2013-03-19 16:23:36 -07:00
Jürg Lehni
e854254986
Insert linear segments when dividing linear curves.
2013-03-19 16:17:12 -07:00
Jonathan Puckey
e3760afecd
Fix handling of param.clip in CompoundPath#draw.
2013-03-17 22:27:20 +01:00
Jonathan Puckey
e5c32b9520
Actually fix handling of param.clip in Path#draw.
2013-03-17 21:59:07 +01:00
Jonathan Puckey
4c4258d2e1
Fix Raster#getAverageColor by having Path#draw clip the context, when param.clip is true.
2013-03-17 21:41:46 +01:00
Jonathan Puckey
58247ea232
Fix bug in Raster#getSubImage and add test.
2013-03-17 18:57:16 +01:00
Jonathan Puckey
0d3f746c10
Have Raster constructor set Raster#_size to [0, 0] if it was not set.
2013-03-17 17:04:56 +01:00
Jonathan Puckey
5777c7a772
Fix problem where calling new Raster().setSize(size) threw an error.
2013-03-17 16:55:57 +01:00
Jonathan Puckey
f4c1f6a3c1
Remove todo.
2013-03-17 16:40:59 +01:00
Jonathan Puckey
9f466bbc97
Fix mistake in Raster#setPixel.
2013-03-17 16:39:23 +01:00
Jonathan Puckey
1cfe34089a
Remove double space in docs.
2013-03-17 15:01:30 +01:00
Jonathan Puckey
4b87860b30
Add documentation of Path#getLocationOf
2013-03-16 18:39:53 +01:00
Jonathan Puckey
6f490d8b34
Add documentation for Path#split.
2013-03-16 17:59:31 +01:00
Jonathan Puckey
2b7f526c62
Fix hit-testing documentation: change options.guide to options.guides.
2013-03-16 14:16:02 +01:00
Jonathan Puckey
b76f69b517
Improve Layer documentation.
2013-03-16 14:03:13 +01:00
Jonathan Puckey
7ee7a26ef4
Improve item documentation.
2013-03-16 14:02:59 +01:00
Jonathan Puckey
b23a4ede56
Improve Group documentation.
2013-03-16 13:44:58 +01:00
Jonathan Puckey
1393825bc2
Add object literal constructor docs to Rectangle.
2013-03-16 13:15:21 +01:00
Jonathan Puckey
c6bcd7d97a
Improve Size documentation.
2013-03-16 13:04:33 +01:00
Jürg Lehni
780e842d74
Use === instead of ==.
2013-03-10 20:15:45 -07:00
Jonathan Puckey
28d21bf5b1
Improve Raster documentation.
2013-03-10 23:19:59 +01:00
Jonathan Puckey
d8b0da9103
Fix small bug in Raster constructor.
2013-03-10 22:15:28 +01:00
Jonathan Puckey
2d9b0b2e8e
Improve Path documentation.
2013-03-10 19:48:46 +01:00
Jonathan Puckey
4292b90bd4
Improve Segment documentation.
2013-03-10 19:48:28 +01:00
Jonathan Puckey
38b9b327ae
Add Path.Constructor examples.
2013-03-10 19:09:09 +01:00
Jonathan Puckey
71b63b0e9d
Fix documentation.
2013-03-10 19:06:37 +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
Jonathan Puckey
fd3fc7f2d7
Implement Item#setParent, making Item#parent writeable. Closes #186 .
2013-03-10 15:35:33 +01:00
Jonathan Puckey
25d34be59b
Implement Item#data. Closes #188 .
2013-03-10 14:59:53 +01:00
Jürg Lehni
b8ca30a4cd
Add support for GradientColor object literal constructor.
...
And introduce getter / setter for #gradient.
2013-03-05 20:41:36 -08:00
Jürg Lehni
1d1e6425fa
Remove all left-overs of call chaining, except for where it's in use.
2013-03-05 20:39:07 -08:00
Jürg Lehni
0e72dbd2e0
Rename Color#getCanvasStyle() to #toCanvasStyle().
2013-03-05 19:58:41 -08:00
Jürg Lehni
52af99de6b
Fix issue with click events on items.
...
Closes #179 .
2013-03-05 15:44:22 -08:00
Jürg Lehni
8185cc07e7
Clean up mouse-handling code and add support for Project#options.hitTolerance.
2013-03-05 15:44:03 -08:00
Jürg Lehni
80600d2a2b
Fix issue with removeOnMove() calls sometimes removing items too early.
...
Closes #181 .
2013-03-05 15:22:44 -08:00
Jürg Lehni
7ca22cd260
Clean up mouse handling code.
2013-03-05 14:57:41 -08:00
Jürg Lehni
31c06b4a61
Switch to short form of _type for GradientColor, similar to all other colors.
2013-03-05 11:00:50 -08: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
Jonathan Puckey
97451320b9
Fix Item#type documentation.
2013-03-04 10:54:08 +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
Jürg Lehni
7294c5499c
Simplify Base.readNamed() methods.
2013-03-03 15:28:55 -08:00
Jürg Lehni
7782116e06
Fix issues with Rectangle constructor.
...
Reading from { from: , to: } now works as expected.
2013-03-03 15:24:30 -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
378d54b126
Add missing parameter to Symbol constructor docs.
2013-03-03 20:09:14 +01:00
Jonathan Puckey
3cdb11fe36
GradientStop & PathItem example documentation.
2013-03-03 19:47:32 +01:00
Jonathan Puckey
cd94ecd7ca
Gradient & GradientColor documentation.
2013-03-03 19:07:09 +01:00
Jonathan Puckey
d4c0386e5b
Tool example documentation.
2013-03-03 18:56:11 +01:00
Jonathan Puckey
419d9f21af
View example documentation.
2013-03-03 18:46:34 +01:00
Jonathan Puckey
09e4bd0bb4
Improve Path.Constructors example documentation.
2013-03-03 18:34:39 +01:00
Jonathan Puckey
ef75bee1e5
Item documentation.
2013-03-03 18:05:41 +01:00
Jonathan Puckey
91dfc9b1ea
Rectangle constructor docs: rename arguments from 'point1, point2' to 'from, to'.
2013-03-03 14:18:11 +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
ae14cedc7f
Remove SVG constants, as we don't use them anymore.
2013-03-02 08:11:47 -08:00
Jürg Lehni
0599aabdb9
Handle reinsertion of items into the same children list.
...
Fixes failing test.
2013-03-01 23:06:29 -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
a63e8ac54c
Avoid empty d attributes in SVG nodes, since they throw errors.
2013-03-01 21:29:45 -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
4be5d5086f
Introduce project.option.hitTolerance, to control precision of internal hit-tests.
2013-03-01 20:25:46 -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
5140e8f003
Minor changes on documentation.
2013-03-01 20:24:26 -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
5afa1b1688
Allow direct passing of color arguments to gradient constructors as well as arrays.
2013-03-01 17:44:16 -08:00
Jürg Lehni
58fad6ed72
Switch from Gradient#type to separate LinearGradient / RadialGradient classes.
...
But remain backward compatible through direct calls to Gradient constructor.
2013-03-01 17:39:36 -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
293294a55a
Have #_getCachedBounds() return clones of cached items again.
...
Fixes issue with Tadpoles example.
2013-03-01 16:05:11 -08:00
Jürg Lehni
cd58162dd5
No need to clone _matrix, since _clone() does that for us.
2013-03-01 15:55:19 -08:00
Jürg Lehni
1cd4d278fc
Fix issue with path clipping.
2013-03-01 15:30:57 -08:00
Jürg Lehni
5bbbaef618
Include clipMask in serialization.
2013-03-01 15:30:45 -08:00
Jürg Lehni
5527ab1da8
Support point translations for normals defs in SvgImport.
2013-03-01 14:52:20 -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
b79e32194c
Fix issue with SVG tests.
...
Should really look closer at what's going on there.
2013-03-01 14:17:31 -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
b9c58d1732
Fix issue with text positioning.
...
HTML ignores white space before / after content.
2013-03-01 13:29:48 -08:00
Jürg Lehni
a38809d3e3
Handle viewBox correctly for normal nodes again.
2013-03-01 13:10:05 -08:00
Jürg Lehni
835ca80eff
SVG nodeNames are case sensitive.
2013-03-01 12:59:43 -08:00
Jürg Lehni
f1fe2575a8
Remove SVG clipPaths from DOM.
2013-03-01 12:54:27 -08:00
Jürg Lehni
0499dd06f4
Support default black fill when importing SVG.
2013-03-01 12:32:24 -08:00
Jürg Lehni
08fbf0f5b4
Fix Symbol clipping.
2013-03-01 12:14:21 -08:00
Jürg Lehni
1c8e3a5db1
Fix an error in applyTextAttribute() handling.
2013-03-01 12:09:01 -08:00
Jürg Lehni
5501f48570
Move Item#toString() functionality to Base#toString().
...
For objects that define #_id and/or #_name.
2013-03-01 11:47:49 -08:00
Jürg Lehni
bec61c6829
Implement Symbol clipping and handle positioning correctly.
...
Complicated stuff...
2013-03-01 11:19:47 -08:00
Jürg Lehni
2706c32924
Implement a way for applyAttribute() methods to query other attributes / styles.
2013-03-01 11:18:50 -08:00
Jürg Lehni
6571c28256
Fold applyAttribute() into applyAttributes().
2013-03-01 10:31:42 -08:00
Jürg Lehni
417cfde795
Simplify and clean up applyTextAttribute().
2013-03-01 10:27:19 -08:00
Jürg Lehni
afeb8cbe70
No need to expand CSS 'font' shorthand property, since we're now iterating all style properties.
2013-03-01 10:21:19 -08:00
Jürg Lehni
01026c0896
Fix support for viewBox when importing SVG symbols.
2013-03-01 10:08:17 -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
9379b37d26
Remove accidentally checked in file.
2013-02-28 19:42:07 -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
1a37bb7252
Minor clean up.
2013-02-28 19:14:06 -08:00
Jürg Lehni
027c944d3e
Add missing parameters again to viewBox.
2013-02-28 19:14:06 -08:00
Jürg Lehni
f142a9d015
Optimize code a bit by changing parameter sequence.
2013-02-28 19:14:06 -08:00
Jürg Lehni
c29a7e38a0
Improve SvgImport to support styles that come from CSS style sheet rules.
2013-02-28 19:14:05 -08:00
Jürg Lehni
84f3f041e3
Further simplify SVG attribute / style handling by merging in SvgStyles.
2013-02-28 19:14:05 -08:00
Jürg Lehni
8585556584
Use applyAttribute() lookup table in SvgImport instead of switch statement.
2013-02-28 19:14:05 -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
e392496f9d
Remove Base.toFloat() and replace with direct parseFloat() calls.
2013-02-28 19:14:05 -08:00
Jürg Lehni
65a9795a8a
Rename #from/#toJson() to #import/#exportJson() and move them to Project / Item.
...
To reflect naming of #import/#exportSvg().
2013-02-25 16:17:33 -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
326d8db4db
Do not hittest locked items.
2013-02-24 18:04:20 -08:00
Jürg Lehni
82029652c8
Fix drawing of selected bounds for Path.
2013-02-24 16:26:46 -08:00
Jürg Lehni
0d98727328
Simplify drawing of seleced bounds by having Item#_boundsSelelected default to true for Raster, PlacedSymbol and TextItem.
...
One can now turn it off for these using item.bounds.selected = false;
2013-02-24 15:53:37 -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
a98e39374d
Make PaperScript work again with latest Acorn.js
2013-02-24 15:41:06 -08:00
Jürg Lehni
afac35fabf
Improve handling of bounds caching.
...
Cloning was done in the wrong place.
2013-02-24 14:56:51 -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
ac8c9cd114
Include ChangeFlag.GEOMETRY in Change.CONTENT.
...
Closes #173 .
2013-02-21 00:09:40 -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
9d708f2690
Fix issue in Project#deselectAll().
2013-02-15 18:21:06 -08:00
Jürg Lehni
23b51915eb
Implement CompoundPath#firstSegment, #lastSegment, #firstCurve and #lastCurve.
2013-02-15 18:05:16 -08:00
Jürg Lehni
8f80fa16d2
Correct comment.
2013-02-15 18:01:29 -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
eebcbda9d3
Document 2nd argument in Raster#initialize() as well, and rename arguments.
2013-02-15 08:15:24 -08:00
Jürg Lehni
a688301106
Document Raster#initialize().
2013-02-15 08:12:58 -08:00
Jürg Lehni
eca4aa8512
Expand shortened variable names.
2013-02-15 00:46:48 -08:00
Jürg Lehni
24a5016470
Reuse scopes associated with canvases to support multiple scripts per canvas.
...
As described in #171 .
2013-02-15 00:15:44 -08:00
Jürg Lehni
8b4104fe19
Use Point#equals() instead of direct comparison.
2013-02-14 22:38:08 -08:00
Jürg Lehni
ace260a334
Determine size of Canvases that are positioned by CSS.
2013-02-14 22:28:50 -08:00
Jürg Lehni
bd5f0691e6
Do not serialize styles on Groups and Layers, since they just unify their children's own styles.
2013-02-14 21:54:52 -08:00
Jürg Lehni
c3b5035aed
Fix importing of SVG groups with styles applied to them.
...
Closes #149 .
2013-02-14 21:42:50 -08:00
Jürg Lehni
2607d2c075
Allow setting of styles on empty Groups.
...
As required by upcoming import SVG fix.
2013-02-14 21:36:58 -08:00
Jürg Lehni
a17068fd42
Style should not be inheriting form Item, but Base instead!
...
How could we oversee this one?
2013-02-14 21:32:32 -08:00
Jürg Lehni
741c0b7855
Fix error in parsing of empty SVG array attributes.
2013-02-14 21:09:44 -08:00
Jürg Lehni
3aa0166d57
Improve documentation for CharacterStyle#fontSize.
2013-02-14 20:25:40 -08:00
Jürg Lehni
8bdcbe1777
Support units other than 'px' in CharacterStyle#fontSize, but default to 'px' if no unit is specified.
2013-02-14 20:23:13 -08:00
Jürg Lehni
701c5fd9e7
In case of doubleclick mouse events, still fire normal clicks if no doubleclick handler stops event bubbling.
2013-02-14 20:22:47 -08:00
Jürg Lehni
2955b12dd7
Always read canvas attributes to determine view size.
...
Closes #96 .
2013-02-14 20:00:47 -08:00
Jürg Lehni
4cd069b1af
Clean up code and add comment about consumed canvas again.
2013-02-14 19:42:20 -08:00
Jürg Lehni
53b36111dd
Merge pull request #150 from yscik/rasterize-opacity
...
Group opacity disregarded in rasterize
2013-02-14 19:40:45 -08:00
Jürg Lehni
334fe99503
Revert recent changes to Item#rasterize() so pull request #150 can be merged.
2013-02-14 19:40:30 -08:00
Jürg Lehni
80638372b6
Merge pull request #169 from a-puzo/master
...
Fixed bad centering when `view.center` and `view.zoom` are changed
2013-02-14 19:30:26 -08:00
Jürg Lehni
47a3490007
Take item matrix into account in Item#rasterize().
...
Closes #144 .
2013-02-14 19:25:04 -08:00
Jürg Lehni
da08e74374
Clean up code from #156 .
2013-02-14 12:50:51 -08:00
Jürg Lehni
6729646e7a
Merge pull request #156 from ubershmekel/patch-2
...
Late load of paperjs should still run paperscripts
2013-02-14 12:49:51 -08:00
Jürg Lehni
ee03ce47e4
Simplify fix proposed in #164 .
2013-02-14 12:41:50 -08:00
Jürg Lehni
88a33200c2
Merge pull request #164 from ispivey/fix-svg-getview-error
...
Update getView to handle DOM elements without getAttribute
2013-02-14 12:40:53 -08:00
Jürg Lehni
366ba2897b
Do not blit rasters into separate canvas when they have opacity set.
...
Closes #166 .
2013-02-14 12:28:11 -08:00
a-puzo
66547a4442
Correct view centering
...
Fixed bad centering when `view.center` and `view.zoom` are changed
2013-02-13 06:35:19 +04:00
Jürg Lehni
66c491a8fd
Minor code clean up.
2013-02-12 17:23:56 -08:00
Jürg Lehni
7df4338ef5
Fix linear gradient orientation when shape substitution is applied.
2013-02-12 17:22:31 -08:00
Jürg Lehni
f554bdce2a
Fix issues with SVG gradient export.
2013-02-12 17:05:54 -08:00
Jürg Lehni
e9fef8a53c
Fix a couple of newly introduced bugs through CanvasProvider change.
2013-02-12 16:23:30 -08:00
Jürg Lehni
ea1e7fccb9
clearRect() needs + 1 for size.
2013-02-12 16:07:24 -08:00
Jürg Lehni
ca3cc7f46d
Define CanvasProvider.getContext() next to getCanvas(), and support both types in release().
2013-02-12 16:06:24 -08:00
Jürg Lehni
51150cb20d
Support CanvasProvider.get(width, height) arguments.
2013-02-12 15:57:02 -08:00
Jürg Lehni
9600fdb512
Fix a recently introduce but in Raster#getCanvas().
2013-02-12 15:54:56 -08:00
Jürg Lehni
357b7dbc54
Shorten CanvasProvider method names.
2013-02-12 15:53:27 -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
053aa15ded
Rename Raster's ImageData code from *Data to *ImageData, to avoid clash with future Item#data.
2013-02-12 14:40:55 -08:00
Jürg Lehni
22218e0db0
Simplify Base.serialize().
2013-02-12 14:16:25 -08:00
Jürg Lehni
80ffd41560
Add optional precision argument to Base.formatFloat().
2013-02-12 14:16:06 -08:00
Jürg Lehni
85d2700eb1
Implement namespaces for SVG properties in SvgExport.
2013-02-11 19:46:05 -08:00
Jürg Lehni
ee73b4e15b
Add some explaining comments to dictionary code.
2013-02-11 19:35:11 -08:00
Jürg Lehni
15554b8bf2
Simplify adding / referencing of JSON dictionary entries.
2013-02-11 19:31:58 -08:00
Jürg Lehni
366524d0a7
Implement JSON serialization for Gradient and GradientColor.
2013-02-11 19:22:18 -08:00
Jürg Lehni
e7bb334c6a
Use JSON dictionary support to serialize Symbols and PlacedSymbol references.
2013-02-11 18:59:49 -08:00
Jürg Lehni
00dcd05549
Implement support for dictionary definitions and references in JSON serialization.
2013-02-11 18:59:05 -08:00
Jürg Lehni
aa6e2fae09
Improve Base#equals().
2013-02-11 18:24:08 -08:00
Jürg Lehni
629e16144a
Define #_type property for both Symbol and Gradient and use it in SvgExport.
2013-02-11 18:23:41 -08:00
Jürg Lehni
224563d5f7
Include more Item attributes for serialization.
2013-02-11 17:13:44 -08:00
Jürg Lehni
a043feae76
Implement serialization for TextItem.
2013-02-11 17:08:39 -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
6d39a91c87
Implement simple Project serialization.
2013-02-11 16:43:31 -08:00
Jürg Lehni
e829440803
Have Raster serialize itself.
...
The source property either contains the link to the external source, or the data url.
2013-02-11 16:43:10 -08:00
Jürg Lehni
e5180e6929
Implement Raster#getElement(), returning either the internal native canvas or image element.
...
And use it internally in various places.
2013-02-11 16:42:36 -08:00
Jürg Lehni
080a9b220a
Handle Raster#onLoad() callback for inlined images.
...
Code can now switch back and forth between inlined images and external sources.
2013-02-11 16:35:46 -08:00
Jürg Lehni
cf6ba30258
Have Raster#image only return an image, not a canvas element.
2013-02-11 16:34:59 -08:00
Jürg Lehni
0954dc3823
Better deal with security exceptions and missing image data in Raster.
2013-02-11 16:34:31 -08:00
Jürg Lehni
435341f30b
Fix name clash due to recent renaming.
2013-02-11 14:36:44 -08:00
Jürg Lehni
efaae62799
Reuse attrs variable.
2013-02-10 19:40:44 -08:00
Jürg Lehni
20011d912a
Fix typo.
2013-02-10 19:40:15 -08:00
Jürg Lehni
e0d0eb175a
Implement exporting of Gradients to SVG.
2013-02-10 19:38:35 -08:00
Jürg Lehni
199fc046bf
Rename 'svg' variables to more meaningful 'node'.
2013-02-10 19:37:19 -08:00
Jürg Lehni
de4e928045
Clean up SvgExport code.
2013-02-10 19:02:53 -08:00
Jürg Lehni
f06701055d
Implement exporting of Symbols to SVG.
2013-02-10 10:23:49 -08:00
Jürg Lehni
565fb86430
Give any item / object that needs to be exported as a definition / symbol its own unique id.
...
This will be useful in SVG and JSON exporter.
2013-02-10 09:37:40 -08:00
Jürg Lehni
49728665e6
Clear definitions lookup at the end of SVG import.
2013-02-09 13:59:04 -08:00
Jürg Lehni
0f846098c4
Support CompoundPath in SvgExport.
2013-02-09 13:38:22 -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
d70fdb69d3
Adapt to recent changes to Matrix#decompose() in SvgExport code.
2013-02-09 12:11:56 -08:00
Jürg Lehni
be3b257175
Restructure Matrix code sequence.
2013-02-09 12:11:19 -08:00
Jürg Lehni
0cf290ff2d
More work on Matrix decomposition.
...
Have Matrix#decompose() return null if decomposition is not possible, separate Matrix#translation from decomposition code as it's always defined, and document methods and properties.
2013-02-09 12:09:55 -08:00
Jürg Lehni
2bb9153810
Fix TODO in Matrix#scale().
2013-02-09 11:52:31 -08:00
Jürg Lehni
cd9fc39f54
Rename Matrix#setIdentity() to #reset() and document it.
2013-02-09 11:45:33 -08:00
Jürg Lehni
9aaa864f81
Streamline Matrix by removing unnecessary Matrix#setTo*() and Matrix.get*Instance() methods.
...
Use (new Matrix().*()) instead.
2013-02-09 11:42:55 -08:00
Jürg Lehni
3930a40c7e
Implement Matrix#rotate() without relying on Matrix#getRotateInstance().
2013-02-09 11:40:49 -08:00
Jürg Lehni
53474aa5c0
Put decomposed matrix values in sequence in which they would have to be applied again.
2013-02-09 11:21:16 -08:00
Jürg Lehni
15c8652747
Add support for Raster to SvgExport.
2013-02-09 09:44:25 -08:00
Jürg Lehni
aec13ffd43
Fix all tests for Matrix decomposition.
2013-02-08 23:25:10 -08:00
Jürg Lehni
e438ac8223
Implement proper matrix decomposition and use it in SvgExport.
2013-02-08 23:02:20 -08:00
Jürg Lehni
aec87f4ed1
Fix issues with matrix decomposition.
...
Work in progress...
2013-02-08 22:17:32 -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
d793d8a43d
Clean up code.
2013-02-08 18:17:51 -08:00
Jürg Lehni
bd62b4b819
Do not export paper.load() any more.
...
Use paper.PaperScript.load() instead.
2013-02-08 18:17:37 -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
75adbd0adc
Disable transformation detection for now, until issues with Matrix#getRotation() and Matrix#getScaling() are solved.
2013-02-08 14:36:49 -08:00
Ian Spivey
0df86550e6
Update getView to handle DOM elements without getAttribute, e.g. SVGDocument
2013-01-28 19:08:25 -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
8bab10cb5f
Define Item#sendToBack() and #bringToFront().
2013-01-20 17:08: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
1cc3adfd64
Deselect symbol definitions when setting them, to follow unit tests.
2013-01-20 15:58:15 -08:00
Jürg Lehni
18572276c5
Fix a bug with new _drawCount code.
...
Make sure items are considered selected right away if they are part of the DOM, even before they are getting drawn for the first time.
2013-01-20 15:56:58 -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
50ee598bca
Introduce Project#_drawCount mechanism as a better and more efficient way to filter out selected items that are not currently part of the DOM.
2013-01-20 14:01:43 -08:00
Jürg Lehni
e22b3292ed
Define a fallback for #drawSelected(), for classes that don't have it yet.
2013-01-20 14:01:43 -08:00
Jürg Lehni
7756e90ff9
Make sure cloned items do not receive the same name when placed inside the same parent, use numbered versions instead.
2013-01-20 14:01:43 -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
Yuval Greenfield
a3a211eead
Late load of paperjs should still run paperscripts
...
See this problem html http://stackoverflow.com/questions/14110205/dynamically-loading-a-script-changes-its-behaviour/14114337 and note how jquery handle this at https://github.com/jquery/jquery/blob/master/src/core.js#L768
2013-01-02 01:57:30 +02: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