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