views:

614

answers:

1

Hello!

I'm working on an GMF (RCP/EMF/GEF) application that allows users to create design diagrams. As part of that application, we have to allow the user to create their own custom shapes to add in diagrams. We are thinking of using SVG as the storage format for shapes.

I'm looking for a Java library that creates such canvases and allows us to export images as SVG files. It should also be able to import SVG files and allow manipulation. Even an Eclipse plugin would do because I'm guessing we should be able to make an Eclipse plugin in an RCP application, as long as the plugin is open source.

We will be using Batik for our SVG work in the application. A licensing note: we do not want to have to make our application open source, so libraries with licenses like LGPL that require derivative works to be open source will not work for us.

+1  A: 

Try Batik. GLIPS is an example of a similar thing done with Batik.

Charlie Martin
We'll be using Batik for some SVG I/O in the other parts of the application as well. I ran across GLIPS before, but that uses an LGPL license, which if I'm correct will require us to make our application open source if we change it and integrate into our application. It is a business contraint that we cannot make our application open source.
Jaffer
No, LGPL let's you include a library w/o making the result open source. But you have Batik, and you have an example, so even if you needed to recode it, you clearly can satisfy your requirement using Batik.
Charlie Martin
That's true for a library, but GLIPS is not a library. It's an application, and we will have to change its code to integrate parts of it in our application. Does the license allow that without having to make our application open source?
Jaffer
Look, I'm not a lawyer, but yes, my understanding is that you can incorporate code from an LGPL app in yours. In any case, I said it was *an example* of *something similar*. If you don't like the GLIPS code, Google will give more examples, or you can clearly write it using Batik.
Charlie Martin