Commit graph

367 commits

Author SHA1 Message Date
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
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
aa35226916 No need for two parameter version of formatPoint(). 2012-11-06 07:16:25 -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
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
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
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
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
5577e7e1ee Start restructuring SvgExporter, similar to SvgImporter. 2012-11-03 23:43:45 -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
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
80315e3e52 More SVG refactoring: Fix comments, documentation, and for-in loops. 2012-11-02 16:51:42 -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
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
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
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
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
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