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