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
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
3319488f5a
Fix reading of center point in Rectangle constructor.
2012-12-30 18:26:53 +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
d0fff09bb0
Allow creation of rectangles from {point, size} and {center, size} object literals.
2012-12-30 18:17:09 +01:00
Jürg Lehni
24b5f870bd
Change Base.isObject() to also check for instances of plain Base objects, and rename it to Base.isPlainObject().
2012-12-30 17:30:13 +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
fdb4bab479
Improve arguments reading in Line constructors.
...
Avoid parameter overriding.
2012-12-27 19:12:30 +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
8c33e5be88
Fix null exception in Matrix#equals().
2012-12-27 13:04:21 +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
0fb89bd3e0
Rename Color#_colorType to #_type, to prepare for serialization mechanism.
2012-12-27 00:48:56 +01:00
Jürg Lehni
3b88bffff1
Document #setProperties() method.
2012-12-26 13:29:40 +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
6b0b6911b4
Clean up code a bit.
2012-12-25 18:09:42 +01:00
Jürg Lehni
ded73142a9
Simplify pointOrMatrix parameters and only allow points. Also remove internal _point cache from PointText and directly link #point to #matrix.
2012-12-25 17:57:04 +01:00
Jürg Lehni
623bed4c4a
Also clone the applyMatrix property.
2012-12-25 17:08:17 +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
9d47bfcf0b
Suppress weird JSdoc warnings.
2012-12-24 17:20:00 +01:00
Jürg Lehni
4731a8909d
Update copyright / library information.
2012-12-24 16:50:10 +01:00
Jürg Lehni
1e283fe113
Implement Raster#source and clean up #initialize()
2012-12-24 01:12:41 +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
Peter
1bb7c9f1aa
Use Item.draw in rasterize
2012-12-23 17:52:43 +01:00
Jürg Lehni
1046e440e8
Improve documentation.
2012-12-23 16:01:53 +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
c025c41ec0
Start implementing PathItem#getIntersections().
2012-12-21 16:13:38 +01:00
Jürg Lehni
d43cc28aac
Optimise Curve constructors that construct from 4 arguments (points) and 8 (coordinate values).
2012-12-20 18:03:11 +01:00
Jürg Lehni
e10ef4dba3
Fix comment.
2012-12-19 03:22:57 +01:00
Jürg Lehni
22ddd7a37e
Implement CompoundPath#curves.
2012-12-18 14:53:38 +01:00
Jürg Lehni
29a2bc781b
Implement the various bounds getter on Curve too, using caching and the new static Path.get*Bounds methods.
2012-12-18 14:35:21 +01:00
Jürg Lehni
4de5f30f72
Improve documentation.
2012-12-18 14:19:22 +01:00
Jürg Lehni
c63e2c8f79
Clean up bounds scope indentation.
2012-12-18 14:19:13 +01:00
Jürg Lehni
9a8dddd7df
Move Item#isEmpty() out of bounds scope and define documentation for it.
2012-12-18 14:18:53 +01:00
Jürg Lehni
05ab8910ea
Optimise GradientStop constructor for better minification.
2012-12-18 13:49:29 +01:00
Jürg Lehni
15824e7aaf
Fix isEmpty for TextItems.
...
Closes #133 .
2012-12-18 05:29:03 +01:00
Jürg Lehni
9022bb232b
Simplify getGlobalMatrix().
2012-12-18 00:22:39 +01:00
Jürg Lehni
87393d130d
Make sure converting #saturation getter uses HSB, not HSL.
...
Fixes #111 .
2012-12-17 23:03:02 +01:00
Jürg Lehni
481b2e00ac
Handle scroll matrices correctly when drawing selections.
...
Closes #82 .
2012-12-17 22:58:55 +01:00
Jürg Lehni
2218ca31f6
Fix support for double-click events.
...
Closes #90 .
2012-12-17 22:22:58 +01:00
Jürg Lehni
9fb48d1dd4
Fix a bug Base.equals(), causing endless recursion.
...
Closes #148 .
2012-12-17 21:49:48 +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
ddf982a446
Add comment to removeOn() code.
2012-12-15 02:40:47 -08:00
Jürg Lehni
09ee9a0689
Exclude 1 in parameter range for crossing counting, as segment points would be counted twice otherwise.
2012-12-15 02:27:36 -08:00
Jürg Lehni
16578e6b15
Clean up code.
2012-12-15 02:24:46 -08:00
Jürg Lehni
a690aa48c1
Inline applyTransform() code, since it's so little code now.
2012-12-15 02:22:25 -08:00
Jürg Lehni
a677e905bf
Simplify applyTransform() in SvgImport.
2012-12-15 02:21:03 -08:00
Jürg Lehni
d280d65f82
Fix issues with exporting SVG matrices when they can be resolved to simple rotate / scale / translate statements.
2012-12-15 02:20:37 -08:00
Jürg Lehni
a36d244eb1
Handle impression in Curve#getCrossings(), causing wrong results when handling circles.
2012-12-15 01:52:23 -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
589d4e6e73
Handle exporting of empty paths.
2012-12-09 18:04:56 -08:00
Jürg Lehni
9d8bf12028
Never return null from #getBounds.
2012-12-09 18:00:23 -08:00
Jürg Lehni
c49a0c6ad4
Check if SVG nodes could be converted before adding them as children.
2012-12-09 16:53:52 -08:00
Jürg Lehni
86a1a17b8d
Fix matrix exporting for groups, which ignore x / y attributes for positioning.
2012-12-09 15:46:21 -08:00
Jürg Lehni
62c7bb804b
Add comment about caching _css values.
2012-12-08 20:12:36 -08:00
Jürg Lehni
68dc7e8b12
Correctly fix SVG alpha support through opacity attributes.
2012-12-08 20:09:24 -08:00
Jürg Lehni
14e6edb8ee
Fix #toString() for event objects.
2012-12-08 19:57:04 -08:00
Jürg Lehni
92e9bb2a6a
Change item based onFrame handlers to have their own time and frame counters.
2012-12-03 10:04:10 -08:00
Jürg Lehni
cf5853c8cc
Improve handling of item based onFrame handlers, by moving functionality to View and removing handlers properly when the view is destroyed.
2012-12-03 09:53:47 -08:00
Jürg Lehni
5b56bd7fbf
Fix item-based onFrame handlers so they can be removed again properly.
2012-12-03 08:49:49 -08:00
Jürg Lehni
a3a7545cb0
Only resize image rasters if the new size is different from the old.
2012-12-02 21:13:03 -08:00
Jürg Lehni
50f810a1ad
Remove onLoad workaround, and use #attach('load') instead of #onLoad internally.
2012-12-02 21:08:57 -08:00
Jürg Lehni
523f5c1789
Avoid multiple triggering of Raster.onLoad() on cached rasters.
2012-12-02 21:05:40 -08:00
Jürg Lehni
cdfd1f596a
Fix some comments.
2012-12-02 19:47:25 -08:00
Jonathan Puckey
9727874aa2
SVG Importer: implement initial support for importing of images.
2012-12-02 19:42:22 +01:00
Jürg Lehni
86d3a3521b
Avoid rgba() colors in SVG output since it's not part of SVG 1.1
...
Use fill- / stroke-opacity instead.
2012-12-01 12:44:54 -08:00
Jürg Lehni
f1abdccf85
Result of getAlpha() is always defined.
2012-12-01 12:34:45 -08:00
Jürg Lehni
f268c6e152
Rename Color#toCssString() to #toCss(), and only include alpha if its < 1.
2012-12-01 12:31:22 -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
f14b685c1d
Use #_type comparisson rather than slower instanceof operator wherever we can.
2012-12-01 11:17:09 -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
f90ceb06b3
Simplify code that checks for the need of opacity buffering a bit.
2012-12-01 11:06:23 -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
07688a685e
Switch back from using 'x' in obj to obj.x != null in basic type constructors, since 'x' in <primitive type value> would throw an exception.
2012-11-28 22:09:09 -08:00
Jonathan Puckey
d45a4ce8ad
SVG Import: inline variable value.
2012-11-28 21:40:48 +01:00
Jonathan Puckey
808073fa63
SVG Importer: add support for stroke-opacity and fill-opacity.
2012-11-28 20:50:27 +01:00
Jürg Lehni
9ff39eb603
Define Color.random() similar to Point.random().
2012-11-27 17:35:03 -08:00
Jürg Lehni
398ee1a338
Redraw view once Raster has finished loading.
2012-11-27 14:12:34 -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
Jonathan Puckey
e073cafd2c
Implement PointText#drawSelected. Closes #127 .
2012-11-23 21:49:07 +01:00
Jürg Lehni
906faf7956
Improve handling of nested matrices in hit-testing.
...
Closes #134 .
2012-11-23 12:41:00 -08:00
Jonathan Puckey
157a59d315
Merge branch 'master' of https://github.com/paperjs/paper.js
2012-11-23 21:21:20 +01:00
Jonathan Puckey
4c409b37fb
Merge pull request #135 from 0/layer-insert-below
...
Fix insertBelow for Layer items
2012-11-23 12:05:11 -08:00
Jonathan Puckey
151f7026e1
Fix mistake in previous commit.
2012-11-23 20:55:46 +01:00
Jonathan Puckey
43b3ac6beb
Optimize PlacedSymbol#_hitTest a bit.
...
Use faster Point#_transformPoint function to transform point.
2012-11-23 20:48:34 +01:00
Jonathan Puckey
e835ccf786
Remove accidentally committed logging statement.
2012-11-23 20:43:28 +01:00
Jonathan Puckey
90e475b5f9
Support hit-testing of placed-symbols and add test. Closes #131 .
2012-11-23 20:29:36 +01:00
Jürg Lehni
61b6026361
Rename CompoundPath#flatten() to #reduce(), to avoid clash with Path#flatten().
2012-11-23 01:16:21 -08:00
Jonathan Puckey
1f5af06e74
Merge pull request #136 from bfirsh/leaky-globals
...
Fixed a bunch of leaking globals
2012-11-22 11:43:41 -08:00
Jürg Lehni
7fe8e3c918
Handle null nodes.
2012-11-21 12:17:01 -08:00
Jürg Lehni
373474d088
Implement loading Rasters from external sources and notify using a 'load' callback.
2012-11-21 10:39:26 -08:00
Jürg Lehni
1e744e3db7
Handle case where no project is created through execution errors.
2012-11-21 10:38:54 -08:00
Jürg Lehni
900f3fe2dd
Have ToolEvent#item fallback to returning null, not undefined.
2012-11-21 10:38:29 -08:00
Ben Firshman
8ca26f650a
Fixed leaky _handle2
2012-11-20 15:53:31 +00:00
Ben Firshman
73d6c102a6
Fix k leaking into globals
2012-11-20 15:53:04 +00:00
Ben Firshman
dc1161b32a
Fix fullLength leaking into globals
2012-11-20 15:53:03 +00:00
Dmitri Iouchtchenko
ae7e6ee6b3
Fix insertBelow for Layer objects
2012-11-19 23:41:04 -05:00
Jürg Lehni
302f23bc5a
Update Acorn.js and use it now by default, thanks to Marijn's fast bugfix:
...
https://github.com/marijnh/acorn/issues/14
2012-11-18 12:25:37 -08:00
Jürg Lehni
b977e18e3b
No need to throw operator exceptions since we're checking for their existence in the parsing.
2012-11-18 10:13:50 -08:00
Jürg Lehni
34819e6a73
Switch to using Mozilla's standardized AST model for PaperScript parsing though Acorn.js or Esprima.js and their support for ranges.
...
No more AST mingling but direct code modification means we're finally getting accurate error messages! Sticking to Esprima for now since Acorn still has some issues with ranges: https://github.com/marijnh/acorn/issues/14
2012-11-18 10:06:16 -08:00
Jürg Lehni
81257a28ec
Have item actually nested inside table cell.
2012-11-14 21:16:33 -08:00
Jürg Lehni
61c37f0858
Improve component type guessing.
2012-11-14 18:34:27 -08:00
Jürg Lehni
532a94369e
Fix a couple of code typos.
2012-11-14 18:30:33 -08:00
Jürg Lehni
bd8dc0c3de
Fix bug when values do not have associated components.
2012-11-14 18:30:22 -08:00
Jürg Lehni
5097bf37ff
Fix small newly introduced bug.
2012-11-14 12:56:13 -08:00
Jürg Lehni
4945a45a99
Further simplify Palette code: Directly link values to components, without a private values list, and improve values conversion.
2012-11-14 12:49:03 -08:00
Jürg Lehni
01c936e1b9
Also consider palette component's initial values.
2012-11-14 12:30:13 -08:00
Jürg Lehni
74bce39184
Make sure private values are initialized correctly.
2012-11-14 12:10:39 -08:00
Jürg Lehni
72d64be5e6
Remove unnecessary window reference.
2012-11-14 12:07:08 -08:00
Jürg Lehni
fbe8095d1b
Define missing DomElement.remove().
2012-11-14 12:06:53 -08:00
Jürg Lehni
a646f922d4
Convert values of numeric items to numbers.
2012-11-14 12:06:41 -08:00
Jürg Lehni
26e3090b40
Actually update linked palette values when input items change.
2012-11-14 12:06:06 -08:00
Jürg Lehni
3fe936addf
Expose Palettes through PaperScope#palettes.
2012-11-14 12:05:36 -08:00
Jürg Lehni
405198f94d
Implement Component#label and Palette#remove().
2012-11-14 12:05:12 -08:00
Jürg Lehni
0b919d0907
Rename Palette classes.
2012-11-14 10:56:32 -08:00
Jürg Lehni
b122a85512
Make Palette#reset() work.
2012-11-14 10:02:16 -08:00
Jürg Lehni
926e5d0b3a
Clean up code.
2012-11-14 10:02:07 -08:00
Jürg Lehni
550d43ae0b
Check in first version of Scriptographer-style Palette / Component GUI code, including a basic example.
...
It kinda works already!
2012-11-14 01:35:34 -08:00
Jürg Lehni
9a180b5377
More work on micro DOM library.
2012-11-14 01:31:49 -08:00
Jürg Lehni
c4a66cff0a
Support more than one argument in Callback#fire().
2012-11-14 01:31:34 -08:00
Jürg Lehni
d671a08205
Introduce Base.toFloat() and rename Base.formatNumber() to Base.formatFloat()
2012-11-14 01:31:08 -08:00
Jürg Lehni
a7320cf2e2
Implement new DomElement micro lib, supporting creation of elements, getting and setting of style, content, and events, in an elegant fashion.
2012-11-13 22:58:03 -08:00
Jürg Lehni
e6c59672ac
Update camelize() and hyphenate() to simpler versions.
2012-11-10 22:24:50 -08:00
Jürg Lehni
f871430018
Use 'in' operator instead of typeof checks in basic type constructors.
2012-11-10 16:32:37 -08:00
Jürg Lehni
92eb89fc43
Clean up and shorten code.
2012-11-10 15:48:15 -08:00
Jürg Lehni
86609103fc
Allow rectangles to be created from arrays too.
2012-11-10 15:45:23 -08:00
Jürg Lehni
af66bccb64
SvgImporter: Simplify creation of clip group.
...
No need to move group into place in DOM, since we're returning it instead of item.
2012-11-10 15:05:13 -08:00
Jürg Lehni
6475d61c89
SvgImporter: Fix issue with importText().
2012-11-10 11:30:34 -08:00
Jürg Lehni
9f6e43454a
Make sure items produced outside of importSvg() are inserted in the same place inside the DOM.
2012-11-10 11:28:00 -08:00
Jürg Lehni
dad30d15ec
Shorten code a bit.
2012-11-10 11:27:09 -08:00
Jürg Lehni
5489f7f496
Switch back to using allowNull for gradient highlight, now that it works.
2012-11-10 11:20:25 -08:00
Jürg Lehni
d929c3177c
SvgImporter: Streamline getValue() helper, and clean up some code depending on it.
2012-11-10 11:19:06 -08:00
Jonathan Puckey
116e782f33
Svg Importer: fix handling of highlight point of radial gradients.
2012-11-10 16:20:59 +01:00
Jonathan Puckey
a86340c088
Svg Importer: clone or place depending on the type
2012-11-10 16:05:47 +01:00
Jonathan Puckey
69b84616ed
Svg Importer: more work on symbols and viewboxes.
2012-11-10 15:56:56 +01:00
Jonathan Puckey
81799b9042
SvgImporter: cleanup getValue.
2012-11-10 15:56:12 +01:00
Jonathan Puckey
9adebea69c
SvgImporter: getValue: fall back to using getAttribute.
2012-11-10 15:55:09 +01:00
Jonathan Puckey
661afca98f
Svg Importer: getValue: make sure the attribute exists first.
2012-11-10 15:45:11 +01:00
Jonathan Puckey
30f63599f1
Merge branch 'master' of https://github.com/paperjs/paper.js
2012-11-10 11:20:07 +01:00
Jürg Lehni
e6913e0013
Shorten importGradient() code.
2012-11-08 15:08:06 -08:00
Jürg Lehni
203c9b16ca
Remove need for svg.getAttribute('fx') check.
2012-11-08 15:01:32 -08:00
Jürg Lehni
61c8f76309
Move all import function references to the top of importers list.
2012-11-08 15:01:13 -08:00
Jürg Lehni
df76e0feb8
SvgImporter: Replace SVG getter functions with their more explicit direct calls.
2012-11-08 09:47:07 -08:00
Jürg Lehni
0da2baa617
Prefer String#substring() over #substr().
...
Using both in the lib seems confusing.
2012-11-08 09:42:51 -08:00
Jürg Lehni
1376d75e61
SvgImporter: Shorten percentage code.
2012-11-08 09:41:58 -08:00
Jürg Lehni
b04f852667
Rename convertStringTo() to convertValue(), and add missing break statement.
2012-11-08 09:38:42 -08:00
Jonathan Puckey
126a631200
SVG Importer: remove handling of default value for path fill color for now.
2012-11-08 18:27:35 +01:00
Jonathan Puckey
56c90839ab
SVG Importer: fillcolor of path items should default to black.
2012-11-08 18:02:38 +01:00
Jonathan Puckey
485bc83b65
SVG Importer: ignore viewBox for svg element for now.
2012-11-08 17:48:21 +01:00
Jonathan Puckey
a1e38ee52e
SVG Importer: implement initial support for viewBox attributes.
2012-11-08 17:32:07 +01:00
Jonathan Puckey
24ecf7840e
SVG Importer: move string conversion code into seperate convertStringTo function for reuse.
2012-11-08 17:31:23 +01:00
Jonathan Puckey
f92e842644
SVG Importer: more work on Symbol importing.
2012-11-08 17:22:32 +01:00
Jonathan Puckey
2cc56c767e
SVG Importer: remove todo.
2012-11-08 15:55:50 +01:00
Jonathan Puckey
71d3cca2d8
SVG Importer: support percentage values for gradient stop offset.
2012-11-08 15:55:24 +01:00
Jonathan Puckey
b7c50a16d1
SvgImporter: Various cleanups and improvements.
2012-11-08 14:32:09 +01:00
Jonathan Puckey
494874ec8f
Svg Importer: Fix handling of getDefinition for color values.
2012-11-08 14:29:48 +01:00
Jonathan Puckey
6bbc78eaef
SVG Importer: initial support for gradients and gradient examples.
2012-11-07 19:32:35 +01:00
Jonathan Puckey
b7486a7e4d
SvgImport: Fix typo.
2012-11-07 17:28:09 +01:00
Jonathan Puckey
9e00a6282f
SVG Importer: Add support for 'use' element.
2012-11-07 17:21:35 +01:00
Jonathan Puckey
c704d285f2
SVG Importer: Use importGroup to import defs.
2012-11-07 17:21:02 +01:00
Jürg Lehni
d5a9a48db3
Also expose space bar state through Event#modifiers.
2012-11-07 01:02:48 -08:00
Jürg Lehni
0e22430993
Only set opacity and visibility when they differ from the defaults.
2012-11-07 01:02:28 -08:00
Jürg Lehni
01342fa073
Implement onActivate() onDeactivate() handlers on Tool, and remove onSelect() / onDeselect() which never worked.
2012-11-07 01:02:09 -08:00
Jürg Lehni
e9a9066d7f
Use group creation without explicit array declaration, as that's been supported all along.
2012-11-06 20:37:50 -08:00
Jürg Lehni
b1c24e2762
Improve importGroup() code a bit by directly filling an Item instead of an array first.
2012-11-06 20:28:20 -08: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
1581d44c06
Have newly created group parent in applyAttribute() propagate back up.
2012-11-06 20:13:29 -08:00
Jürg Lehni
b6ca26092f
SvgImporter: Do not add defs to the DOM.
2012-11-06 20:12:25 -08:00
Jürg Lehni
6d69c86962
Unbox CompoundPaths first when adding to clipping CompoundPaths, as CompoundPaths cannot be nested.
2012-11-06 18:38:09 -08:00
Jürg Lehni
53a8099403
Avoid division with almost zero.
2012-11-06 14:02:07 -08:00
Jürg Lehni
4b6207bdb6
Do not allow adding of items other than paths to CompoundPath.
2012-11-06 14:01:52 -08:00
Jürg Lehni
4e1db6a1d1
Fix a row of documentation issues.
2012-11-06 13:35:50 -08:00
Jürg Lehni
7a0752eb11
No need for private exportItem() / exportProject() functions.
2012-11-06 13:14:39 -08:00
Jürg Lehni
142bf28a70
Convert SvgExporter / SvgImporter code to function scopes that only expose functionality through methods on Item and Project.
2012-11-06 13:07:18 -08:00
Jürg Lehni
88e6ac09d7
Add methods to Item and Project to directly use SvgImporter / Exporter functionality.
2012-11-06 12:49:12 -08:00
Jürg Lehni
c70948c762
Return the inserted item in #addChild() & co, instead of true / false.
2012-11-06 12:44:02 -08:00
Jürg Lehni
28642bd1c8
Rename Path.Oval() to Path.Ellipse(), and deprecate Path.Oval().
2012-11-06 11:37:00 -08:00
Jürg Lehni
e26197cf1f
Optimise loops.
2012-11-06 11:28:50 -08:00
Jürg Lehni
16de863aa5
SvgExporter: Some more work on determineAngle().
2012-11-06 11:26:00 -08:00
Jürg Lehni
4c463eb1f1
SvgExporter: Some more code shortening.
2012-11-06 11:19:54 -08:00
Jürg Lehni
cd924f066e
SvgImporter: Reverse parameter sequence.
2012-11-06 11:14:08 -08:00
Jürg Lehni
eb0fb99b12
SvgExporter: Fix matrix conversion to rotate() command.
2012-11-06 11:06:53 -08:00
Jürg Lehni
00f710b599
SvgExporter: Rearrange code sequence.
2012-11-06 11:00:58 -08:00
Jürg Lehni
b24ee0de66
Document isColinear() and isArc().
2012-11-06 10:55:53 -08:00
Jürg Lehni
7dc453b58b
No need to escape ) inside [] in regular expressions.
2012-11-06 10:52:03 -08:00
Jürg Lehni
19fe762e10
SvgImporter: Rename all attributes and styles related functions to use shorter names.
2012-11-06 10:49:34 -08:00
Jürg Lehni
e26b56f88e
SvgImporter: Further optimise style parsing.
2012-11-06 10:43:32 -08:00
Jürg Lehni
dd3a242ee1
SvgImporter: Improve 'none' style handling, and shorten code.
2012-11-06 10:37:03 -08:00
Jürg Lehni
7b32e611b7
Use SVG type to determine Group constructor, not a function factory.
2012-11-06 10:29:14 -08:00
Jürg Lehni
09e845cfd1
SvgImporter: Move importPath() to its own function and restructure importer sequence.
2012-11-06 10:28:34 -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
d9bfc2fa35
Implement Matrix support in SvgExporter.
2012-11-06 10:04:04 -08:00
Jürg Lehni
a6b8201cf4
Minor clean-ups.
2012-11-06 10:04:04 -08:00
Jonathan Puckey
d1eb09176f
SVGImporter: add support for clip-path.
2012-11-06 18:14:17 +01:00
Jonathan Puckey
9f3a0fc002
SVGImporter: fix importing of visibility attribute.
2012-11-06 18:12:55 +01:00
Jonathan Puckey
f825969570
SVGImporter: add comments linking to the SVG specification.
2012-11-06 18:11:54 +01:00
Jonathan Puckey
bda7c71fcb
Fix problem when calling new Group([]).
2012-11-06 18:07:51 +01:00
Jonathan Puckey
33c13b36a3
Fix drawing of groups where a compound path is used as a clip mask.
2012-11-06 18:07:51 +01:00
Jürg Lehni
88a7fcc92b
Convert null to 'none' as style values.
2012-11-06 08:22:22 -08:00
Jürg Lehni
9ad0cb5d63
Implement roundrect conversion properly.
2012-11-06 08:02:46 -08:00
Jürg Lehni
18b6ad4907
Simplify roundrect detection since we assume the same point sequence always.
2012-11-06 07:52:45 -08:00
Jürg Lehni
40390f8309
Make drawCurve() a private function of drawPath().
2012-11-06 07:49:31 -08:00
Jürg Lehni
3c14b3042b
Remove isOrthogonal() as we don't use it anymore.
2012-11-06 07:47:31 -08:00
Jürg Lehni
7acd82b3f5
More work on primitive shape detection.
...
Implement roundrect properly.
2012-11-06 07:46:59 -08:00
Jürg Lehni
dbdf75c998
Make new drawPath() code actually work.
2012-11-06 07:31:29 -08:00
Jürg Lehni
b354e01f49
Move Base.equals() to Base extension, where it belongs.
2012-11-06 07:19:04 -08:00
Jürg Lehni
1fad063a30
Revert to version without optional digits, for speed reasons.
...
Since we don't actually use the other version anywhere.
2012-11-06 07:17:14 -08:00
Jürg Lehni
aa35226916
No need for two parameter version of formatPoint().
2012-11-06 07:16:25 -08:00
Jürg Lehni
ab633f15ac
Add optional digits precision to Base.formatNumber, default to 5.
2012-11-06 07:15:01 -08:00
Jürg Lehni
345309867e
Implement number formating in SvgExporter, and further simplify drawPath().
2012-11-06 07:14:11 -08:00
Jürg Lehni
4c51544b6e
Implement correct checks for primitives (rect, ellipse, circle).
2012-11-06 01:22:16 -08:00
Jürg Lehni
a6d19ac681
More work on SvgExporter code.
2012-11-05 23:45:23 -08:00
Jürg Lehni
ad76e65119
Further optimise determination of rotation and start implementing rotating of primitives.
2012-11-05 23:27:02 -08:00
Jürg Lehni
a5cdb5492c
Optimise Point#rotate(0)
2012-11-05 23:23:25 -08:00
Jürg Lehni
fe4da8e7a4
Embed determineIfTransformed() code into exportPath().
2012-11-05 21:24:01 -08:00
Jürg Lehni
ce5ee2dae8
Simplify exportPath().
2012-11-05 21:19:53 -08:00
Jürg Lehni
ab014c3328
Clean up determineType() and roundrect code.
2012-11-05 21:16:36 -08:00
Jürg Lehni
64b9daacd0
Code clean-up.
2012-11-05 21:06:56 -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
400b454177
Introduce Numerical.isZero(), for comparisons against 0 with a tolerance.
2012-11-05 21:06:13 -08:00
Jürg Lehni
125fa1c051
Split SVG exporters apart more, and organise code better.
2012-11-05 20:50:31 -08:00
Jürg Lehni
f576ca3e9e
More SvgExporter simplifications.
2012-11-05 20:31:45 -08:00
Jürg Lehni
5a061da4e3
Introduce private getDistance() function for shorter code.
2012-11-05 20:10:31 -08:00
Jürg Lehni
7511511ec7
More SVG path code simplifications.
2012-11-05 20:06:54 -08:00
Jürg Lehni
a9a14fb458
More work on SVG path commands.
2012-11-05 20:03:03 -08:00
Jürg Lehni
d3d74fb513
Further simplify SvgExporter code.
2012-11-05 19:56:49 -08:00
Jürg Lehni
37f87a3c03
Some minor clean-ups in importer.
2012-11-05 19:48:00 -08:00
Jürg Lehni
b559f6e4f3
Merge polyline and polygon code.
2012-11-05 19:47:47 -08:00
Jürg Lehni
2c17ff7831
Directly access private properties rather than using getters.
2012-11-05 19:45:18 -08:00
Jürg Lehni
a0a04a0bc1
Remove separate point, handleIn and handleOut arrays and just use segments instead.
2012-11-05 19:44:23 -08:00
Jürg Lehni
4c93ce546a
There is no font attribute on Path#style.
2012-11-05 19:32:39 -08:00
Jürg Lehni
6211bc7ed6
More work on SvgStyles.
2012-11-05 19:26:54 -08:00
Jürg Lehni
03b94a92b5
More work on style meta-data, and fix yet another default style issue.
2012-11-05 19:03:42 -08:00
Jürg Lehni
07ce57c456
Implement SvgStyles as meta information about style-attribute mappings for both Svg Importer and Exporter.
2012-11-05 18:58:16 -08:00
Jürg Lehni
3714cd8706
Fix typo.
2012-11-05 18:27:50 -08:00
Jürg Lehni
05bf52b6af
Minor tweaks in SvgImporter code.
2012-11-05 18:27:13 -08:00
Jürg Lehni
f6c7143920
Implement constant substitution for SVG constants.
2012-11-05 18:26:29 -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
65f1e5c66d
Improve style handling in SvgExporter.
2012-11-05 09:05:32 -08:00
Jürg Lehni
61531949b0
Rework horizontal / vertical lineto command code a bit.
2012-11-05 08:54:10 -08:00
Jonathan Puckey
6f19f64233
SvgImporter: fix support for vertical and horizontal lineTo commands.
2012-11-05 16:16:36 +01:00
Jürg Lehni
973211bbe2
Improve style handling in SvgExporter.
...
Work in progress, with some regressions for now.
2012-11-04 09:01:11 -08:00
Jürg Lehni
b979c3b362
Define Base.equals(), supporting Arrays and Objects.
...
And use it for style comparisons.
2012-11-04 09:00:40 -08:00
Jürg Lehni
0eaabd667c
Further clean up exporter code.
2012-11-04 00:09:44 -07:00
Jürg Lehni
e2cf7e1ace
Use Path#isPolygon() in SvgExporter.
2012-11-04 00:04:15 -07:00
Jürg Lehni
1050e3314e
Implement Segment#isLinear() and Path#isPolygon().
2012-11-04 00:03:49 -07:00
Jürg Lehni
5577e7e1ee
Start restructuring SvgExporter, similar to SvgImporter.
2012-11-03 23:43:45 -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
6ed1d67ada
Modernize Bootstrap.js, introduce Base.create() and use it instead of the Constructor.dont hack for object creation without the calling of initialize.
2012-11-03 21:49:37 -07:00
Jürg Lehni
420e62e1dc
Simplify compound path support in SvgImporter a little.
2012-11-03 19:45:19 -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
76dab534a9
Add half-assed support for fill-opacity / stroke-opacity.
2012-11-03 19:28:18 -07:00
Jonathan Puckey
b0a82fdc06
SvgImporter: Fix importing of compound-paths.
2012-11-03 22:38:36 +01:00
Jürg Lehni
ddddd499ca
Avoid name-clash with recently renamed variable.
2012-11-02 22:57:19 -07:00
Jürg Lehni
93372da384
Further shorten code.
2012-11-02 22:57:06 -07:00
Jürg Lehni
57103545cb
Rename some variables.
2012-11-02 22:53:33 -07:00
Jürg Lehni
c755eba0c2
Switch to using Base.camelize().
2012-11-02 22:53:24 -07:00
Jürg Lehni
4cd6d6f230
Add support for conversion of text-anchor to justification.
2012-11-02 21:11:30 -07:00
Jürg Lehni
81f8c32d7b
Replace SVGTransform constants with their numeric values as well.
2012-11-02 20:21:08 -07:00
Jürg Lehni
9fbe1260b2
Comment out ARC code for now.
2012-11-02 20:11:40 -07:00
Jürg Lehni
964eb521ee
Clean up and Streamline path importer.
...
Replacing SVGPathSeg constants with numeric values should reduce code quite a bit.
2012-11-02 20:09:12 -07:00
Jürg Lehni
d600536390
Shorten applyTransform().
2012-11-02 19:39:59 -07:00
Jürg Lehni
99a39bebc3
Clean up applyAttributeOrStyle().
...
Do not use style properties directly, but setters instead.
2012-11-02 19:26:15 -07:00
Jürg Lehni
118a02bf05
Restructure SVGImporter code a bit.
2012-11-02 19:16:23 -07:00
Jürg Lehni
d52fff7425
Shorten importAttributesAndStyles()
2012-11-02 19:11:28 -07:00
Jürg Lehni
8790bc5533
Improve loops.
2012-11-02 19:11:16 -07:00
Jürg Lehni
905d1106d4
Fix SVGImporter tests for all polygon related code.
...
#length was used instead of #numberOfItems.
2012-11-02 19:10:58 -07:00
Jürg Lehni
6937d4c3be
Fix index lookup in getValue().
2012-11-02 19:05:21 -07:00
Jürg Lehni
3c88614a86
Heavily shorten SvgImporter code by introducing a couple of helpers.
2012-11-02 19:04:29 -07:00
Jürg Lehni
95b9b81c81
Refactor SvgImporter to new structure using real private functions and importers lookup-table.
2012-11-02 18:40:41 -07:00
Jürg Lehni
ebadef8b1d
A couple of smaller changes.
2012-11-02 18:23:37 -07:00
Jürg Lehni
cc503cb149
Rename fake 'roundRect' type to 'roundrect'.
2012-11-02 18:23:23 -07:00
Jürg Lehni
c2ac16a481
Change for-loops format.
2012-11-02 18:22:38 -07:00
Jürg Lehni
b284a42a56
Rework SvgExporter. _determineType. A lot more work needs to be done...
2012-11-02 18:22:01 -07:00
Jürg Lehni
086334773e
Rework and improve SVG documentation and remove too obvious docs for hidden functions.
2012-11-02 18:14:20 -07:00
Jürg Lehni
204eaa9dcc
Fix white-spaces in comments.
2012-11-02 17:47:14 -07:00
Jürg Lehni
1ce332756e
Rename ImportSvg to SvgImporter, and ExportSvg to SvgExporter.
2012-11-02 17:40:07 -07:00
Jürg Lehni
ab02023adf
Do not create extra points when asked to produce a round rectangle with no radius.
2012-11-02 17:04:21 -07:00
Jürg Lehni
80315e3e52
More SVG refactoring: Fix comments, documentation, and for-in loops.
2012-11-02 16:51:42 -07:00
Jürg Lehni
88dff19f73
Define squared parameter in Point#getDistance() as optional.
2012-11-02 16:45:46 -07:00
Jürg Lehni
b22ff5ecca
Revert a recent change in selection handling.
2012-11-02 16:27:59 -07:00
Jürg Lehni
69dc8be629
Switch from using classes to object literals for SVG exporter / importer.
2012-11-02 16:19:45 -07:00
Jürg Lehni
ee65ee1026
Clean up and improve PaperScript code a bit.
2012-11-02 15:58:41 -07:00
Jürg Lehni
04df1a0d4a
Always set canvas size, to avoid zooming pixels if size is set to a percentage.
2012-10-31 09:49:42 -07:00
Jürg Lehni
bdb74b67e2
Define #isActive() for PaperScopeItems.
2012-10-30 11:43:40 -07:00
Jürg Lehni
96e1765e4f
Do not implicitly use getTool() getter since it creates tools when none exists.
2012-10-30 11:43:06 -07:00
Jürg Lehni
155b6046cb
Some more SVG code refactoring.
2012-10-27 19:25:52 -07:00
Jürg Lehni
44fc5939e5
Simplify name-space element creation in SVG module.
2012-10-24 20:21:59 -07:00
Jürg Lehni
4a74cf9e29
Improve Paper code editor to also display errors.
2012-10-23 20:05:01 -07:00
Jürg Lehni
7096b37b2e
Change the way canvases get temporarily focused when there is more than one and the mouse is outside all of them.
...
Closes #115 .
2012-10-22 18:03:57 -07:00
Jürg Lehni
20797b8cc3
Avoid name clash between View._handlers and Callback._handlers that keeps track of installed handlers.
...
Closes #109 .
2012-10-22 17:38:40 -07:00
Jürg Lehni
46de04d29d
Properly rename SVG files.
...
Case-insensitive file system – an endless source of pain.
2012-10-22 17:31:11 -07:00
Jürg Lehni
d4a60fb62a
More SVG code refactoring.
...
Follow coding conventions and fix some forgotten renamings.
2012-10-22 16:31:08 -07:00
Jürg Lehni
160095d6e3
Rename SVG to Svg to follow naming convention.
2012-10-22 19:17:11 -04:00
Jürg Lehni
6b50641c18
Add documentation for Item#_getChildren().
2012-10-22 19:07:22 -04:00
Jürg Lehni
659b431404
Merge branch 'refs/heads/Stetson-Team-Alpha-master'
2012-10-22 18:56:50 -04:00
Jürg Lehni
f6f80e4061
Implement CompoundPath#contains() and #hitTest() correctly.
...
And change the way that styles are stored on CompoundPaths: Not in the first child but in the item itself.
2012-10-22 18:48:51 -04: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
63640cad03
Fix issue with hit-testing of translated rasters and other items.
...
Use the untransformed point in the initial bounds check. Closes #45 , #86 .
2012-10-20 16:54:39 -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
3b50b3534f
Merge branch 'master' of https://github.com/Stetson-Team-Alpha/paper.js into Stetson-Team-Alpha-master
...
Conflicts:
build/jsdoc-toolkit
dist/paper.js
2012-10-19 09:39:36 -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
6f2ff18fa1
Bring back fallback scenario in Point#initialize().
2012-10-15 17:13:20 -07:00
Jürg Lehni
db93544e8c
Restructure Point#initialize() to reflect new findings regarding typeof performance.
...
typeof val === 'undefined' is way faster than val === undefined.
2012-10-15 17:11:11 -07:00
Jürg Lehni
44ad4d885a
Update link to Kaspar Fischer's PDF with new URL.
2012-10-15 15:48:38 -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
adb2ddc615
Fix CompoundPath#insertChild.
...
It was not returning success values and thus broke some tests.
2012-10-10 19:54:32 -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
7329f4ef77
Improve handling of owner referencing in colors.
...
Allow one owner per Color only and clone colors when setting color styles. Gradient can still have multiple GradientColor owners. Closes #124 .
2012-10-10 19:27:14 -07:00
Jürg Lehni
4d1920ee8b
Improve Base.read() to support cloning of objects that are already provided in the required type.
2012-10-10 19:26:00 -07:00
Jürg Lehni
523736d9e5
Handle view redraws correctly for all selection changes.
2012-10-08 23:12:43 -07:00
Jürg Lehni
ed9037deb1
Fix white-space.
2012-10-08 18:44:08 -07:00
Jürg Lehni
f75386e8fb
No need to check _windowHandlers, as DomEvent.remove does the right thing either way.
2012-10-08 18:09:41 -07:00
Jürg Lehni
e9985a04a8
Merge branch 'master' of github.com:paperjs/paper.js
2012-10-08 18:06:27 -07:00
Jürg Lehni
08cb7c76ea
Clean up resize handlers when removing resizing views.
...
Closes #121 .
2012-10-08 18:05:44 -07:00
Jonathan Puckey
e3518c29b1
Fix issue where adding the children of one group to another using Item#insertChildren / Item#addChildren does not work.
...
This fixes #119 . To avoid duplication I chose to call
Item#insertChildren from Item#addChildren.
2012-10-06 13:08:07 +02: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
Jürg Lehni
77296c4640
Update documentation a bit.
2012-10-05 16:09:15 -07:00
Jürg Lehni
b29995f376
Clean up code.
2012-09-30 19:50:42 -07:00
Jürg Lehni
c51f2a0d3b
Remove unnecessary variable declarations.
2012-09-30 19:50:30 -07:00
Andrew
2508136602
Got rid of swp files
2012-09-30 21:17:02 -04:00
jaroles
981f113652
Update src/svg/ExportSVG.js
2012-09-30 22:11:00 -03:00
skierons
a1bb8651a3
Update src/svg/ExportSVG.js
2012-09-30 19:05:21 -03:00
Andrew
c6c460519e
Merging all the magic
2012-09-30 17:51:50 -04:00
Justin Ridgewell
f46c77c699
Reset files to stubs
2012-09-30 17:24:18 -04:00
Jürg Lehni
199d19a237
Minor code clean-up.
2012-09-30 14:09:59 -07:00
Jürg Lehni
59a55f7574
Merge branch 'master' of github.com:paperjs/paper.js
2012-09-30 14:08:44 -07:00
Jürg Lehni
2c5c4ae423
Improve documentation of Rectangle#intersects.
2012-09-30 14:08:02 -07:00
Jürg Lehni
99ac617ded
Inject HitResults fields as enumerable, so the default #toString works, and avoid listing getColor.
2012-09-30 14:07:27 -07:00
Jürg Lehni
9e61995282
Handle parameter matching of beginning and ends of curves separately.
2012-09-30 14:06:31 -07:00
Jürg Lehni
93ba19f7e2
Define key-code for tab key.
2012-09-30 14:05:51 -07:00
Jürg Lehni
c3f051583c
Remove unnecessary return statement.
...
This code can never be reached.
2012-09-30 14:05:34 -07:00
AWagenheim
205586bbbd
Update src/svg/ImportSVG.js
2012-09-19 16:42:00 -03:00
AWagenheim
bd83a434ff
Update src/svg/ImportSVG.js
2012-09-19 16:41:22 -03:00
AWagenheim
ed6007004a
Update src/svg/ImportSVG.js
2012-09-18 22:12:28 -03:00
AWagenheim
555d179978
Added comments to ImportSVG.js
2012-09-18 21:11:01 -04:00
AWagenheim
ce7e0cd349
Added comments to ImportSVG.js
2012-09-18 21:08:04 -04:00
skierons
6c1c6bc2d5
Created an SVGRect.html to test exporting and modified SVGCircles.html for
...
easier testing.
2012-09-17 19:34:46 -04:00
jnighlight
67f7ece09e
Added comments
...
Code should be easier to understand.
2012-09-17 01:30:51 -04:00
jnighlight
aca3ed67a2
Cleaned up ExportSVG for general purpose.
...
Removed all lines written for testing purposes, saved them in a text
document for possible future reference. Code should look a lot more clean
and linear with all the stuff removed.
2012-09-17 00:34:55 -04:00
skierons
b582e96d76
Made changes to SVGCircles to be able to have an easier time reading the
...
data from the circle. Also, made an SVGRect html to test rectangles. No
other changes than that. Still working on telling the types of points from
Paths that we make. The curveTo's and arcTo's are giving us the most
trouble. LineTo's are points with 0 values for the handles. Jacob will
clean up the code for the walkthrough tomorrow. There we can figure out
how to solve this problem and hopefully finish up the exportPath method.
2012-09-16 23:52:09 -04:00
jnighlight
f43abe2f32
Mostly more Experimenting, commiting it for practicing across computers.
...
Noticed that curveto and quadratic bezier curveto can be differentiated by
format of the handleIn/handleOut variables in each segment (we think) If
either handleIn.x and handleOut.x = 0 OR handleIn.y and handleOut.y = 0,
then that means the curve is a simple curveTo tag in SVG. If handleIn.x =
-handleOut.x AND handleIn.y = -handleOut.y, then you have a quadriatic
Bezier Curveto in SVG (using the Q tag). We *HOPE* and think that that
curveTo(through, to) (a method creating an arc that passes through the
"through" point and ends at the "to" point) simply creates 2 segments,
each with a handleIn and Out, which can be read and put into SVG
seperately, making our lives a lot easier. Created more SVG test files.
Made RGBConverter more efficient with another method to help reduce copied
lines of code.
2012-09-16 15:38:22 -04:00
Justin Ridgewell
76303bb756
Merge branch 'ImportSVG'
2012-09-16 01:15:37 -04:00
Justin Ridgewell
799d7cacf1
Merge branch 'master' of git://github.com/Stetson-Team-Alpha/paper.js
2012-09-16 01:12:09 -04:00
Justin Ridgewell
64f34e6dfd
Add _importText
2012-09-16 01:02:23 -04:00
Justin Ridgewell
2952e01fc5
Change the import* functions to private
2012-09-16 01:02:00 -04:00
Justin Ridgewell
9218664a67
Remove the initialize function
...
I'm not using it for anything
2012-09-16 01:01:28 -04:00
skierons
2f5dcce61d
Jacob and I added a bit to the exportPath class. The initialize function
...
was not working correctly and JT said he would fix that. So we initialized
svgObj in the function for the meantime. We added svgRect and svgPoint
objects for testing purposes to figure out the xml svg format. Recovered
points, strokecolor, fillcolor, and stroke width from the input path. The
last thing we need to do for extracting path data is to find the point
definitions for each point in the path. Waiting on response from head
coders to find out what type of path is passed in for simple conversions
(such as: Rectangle path, Circle path, etc.). We added a method called
RGBConverter to covnert colors into hexadecimal format for xml.
2012-09-16 00:13:14 -04:00
Justin Ridgewell
2ce23aacc2
Implement importSVG, importGroup, and importPath
2012-09-16 00:10:14 -04:00
Justin Ridgewell
8cf70ca6e1
Rename the create* functions to import*
...
Keeps in line with the naming of the other functions
2012-09-16 00:09:39 -04:00
Justin Ridgewell
edd8f67f8d
Fix error
...
Shouldn't have two of these...
2012-09-16 00:09:02 -04:00
Justin Ridgewell
7879b4b61b
Convert from 4 spaces to tabs
...
Oops. Paper.js uses tabs…
2012-09-15 23:58:39 -04:00
Justin Ridgewell
bbef9a9594
Add a few helper functions
...
These will convert directly from SVG objects to Paper.js equivalents.
2012-09-15 22:26:43 -04:00
Justin Ridgewell
8659c6b44c
Reformat the code to match the rest of Paper.js
2012-09-15 22:25:19 -04:00
Justin Ridgewell
9f1d840ada
Todos
2012-09-15 22:17:06 -04:00
Justin Ridgewell
d978520ba3
Reformat code to match the rest of Paper.js
2012-09-15 22:16:07 -04:00
Justin Ridgewell
24f0535bb6
Convert tabs to 4 spaces
2012-09-15 19:59:53 -04:00
Justin Ridgewell
1efd36c179
Strip trailing whitespace
2012-09-15 19:58:44 -04:00
Jt Whissel
1ccd5199b5
Added the new classes to work with, that also have the method stubs inside.
2012-09-13 20:45:27 -04:00
Jonathan Puckey
7247c1a5a2
Fix Node.js support.
2012-09-01 19:27:38 +02:00
Jonathan Puckey
2a0f322c22
Point#getLength: access to out of bounds index in arguments array prevented function from being optimized.
2012-07-25 20:02:04 +02:00
Jonathan Puckey
d20fb61c7c
Cleanup code.
2012-04-25 20:47:53 +02:00
Jonathan Puckey
10ae88e90c
Merge pull request #84 from luckyvoice/merge
...
_length cache in Curve is not updated when the Path is transformed
2012-04-25 11:38:31 -07:00
Carlo Alberto Ferraris
9e79231198
Remove trailing comma
...
Closure compiler chokes on it.
2012-04-09 10:28:09 +03:00
Oliver Beattie
457e96ac2b
Remove unused delta variable from Item.fitBounds
2012-03-17 17:09:59 +00: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
Jonathan Puckey
08c02a66f1
Fix Item#insertAbove(item) & Item#insertBelow(item). Closes #81
2012-03-13 15:58:52 +01:00