From 3d60c3b70745360cbea6b47fa41f445053ad7702 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sun, 21 Jun 2015 22:05:58 -0400 Subject: [PATCH] update documentation for 3.0 --- core/src/processing/core/PShapeSVG.java | 95 +++++-------------------- 1 file changed, 19 insertions(+), 76 deletions(-) diff --git a/core/src/processing/core/PShapeSVG.java b/core/src/processing/core/PShapeSVG.java index aa6749691..4f4b4ea55 100644 --- a/core/src/processing/core/PShapeSVG.java +++ b/core/src/processing/core/PShapeSVG.java @@ -45,23 +45,30 @@ import java.util.HashMap; * use of this class. Using this class directly will cause your code to break * when combined with future versions of Processing. *

- * SVG stands for Scalable Vector Graphics, a portable graphics format. It is - * a vector format so it allows for infinite resolution and relatively small - * file sizes. Most modern media software can view SVG files, including Adobe - * products, Firefox, etc. Illustrator and Inkscape can edit SVG files. + * SVG stands for Scalable Vector Graphics, a portable graphics format. + * It is a vector format so it allows for "infinite" resolution and relatively + * small file sizes. Most modern media software can view SVG files, including + * Adobe products, Firefox, etc. Illustrator and Inkscape can edit SVG files. + * View the SVG specification here. *

* We have no intention of turning this into a full-featured SVG library. - * The goal of this project is a basic shape importer that is small enough - * to be included with applets, meaning that its download size should be - * in the neighborhood of 25-30k. Starting with release 0149, this library - * has been incorporated into the core via the loadShape() command, because - * vector shape data is just as important as the image data from loadImage(). + * The goal of this project is a basic shape importer that originally was small + * enough to be included with applets, meaning that its download size should be + * in the neighborhood of 25-30 Kb. Though we're far less limited nowadays on + * size constraints, we remain extremely limited in terms of time, and do not + * have volunteers who are available to maintain a larger SVG library. *

* For more sophisticated import/export, consider the * Batik - * library from the Apache Software Foundation. Future improvements to this - * library may focus on this properly supporting a specific subset of SVG, - * for instance the simpler SVG profiles known as + * library from the Apache Software Foundation. + *

+ * Batik is used in the SVG Export library in Processing 3, however using it + * for full SVG import is still a considerable amount of work. Wiring it to + * Java2D wouldn't be too bad, but using it with OpenGL, JavaFX, and features + * like begin/endRecord() and begin/endRaw() would be considerable effort. + *

+ * Future improvements to this library may focus on this properly supporting + * a specific subset of SVG, for instance the simpler SVG profiles known as * SVG Tiny or Basic, * although we still would not support the interactivity options. * @@ -82,70 +89,6 @@ import java.util.HashMap; * shape(moo, mouseX, mouseY); * } * - * - * This code is based on the Candy library written by Michael Chang, which was - * later revised and expanded for use as a Processing core library by Ben Fry. - * Thanks to Ricard Marxer Pinon for help with better Inkscape support in 0154. - * - *


- * - * Late October 2008 revisions from ricardmp, incorporated by fry (0154) - *

- * - * October 2008 revisions by fry (Processing 0149, pre-1.0) - * - * - * August 2008 revisions by fry (Processing 0149) - * - * - * February 2008 revisions by fry (Processing 0136) - * - * - * Revisions for "Candy 2" November 2006 by fry - * - * - * Revision 10/31/06 by flux - * - * - * Some SVG objects and features may not yet be supported. - * Here is a partial list of non-included features - * - * - * For those interested, the SVG specification can be found - * here. */ public class PShapeSVG extends PShape { XML element;