Commit graph

2229 commits

Author SHA1 Message Date
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