Commit graph

2248 commits

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