Login | Register
My pages Projects Community openCollabNet

Discussions > dev > Re: [gef-dev] Exporting a diagram to SVG

Discussion topic

2020-04-07: This site is going to be decommissioned and shut down on 2020-07-01. Please copy and archive any data you wish to keep before that date.

Back to topic list

Re: [gef-dev] Exporting a diagram to SVG


Author bobtarling
Full name Bob Tarling
Date 2008-11-29 05:19:40 PST
Message I'm not sure how much help I can be here. But I'm surprised that
LayerGrid is being called to createa a diagram image. I'd have thought
for generating any kind of diagram image that this would want to be

The other thing I've been considering is to use batik to create the SVG.

Upside - we leave SVG to the experts and remove some of our code base.

Downside - if there is a defect we can no longer resolve it ourselves.


2008/11/28 Christian López Espínola <penyaskito at gmail dot com>:
> Hi,
> In the development of ArgoPrint, we need to export a diagram to SVG
> and inline in into HTML. For this there is a helper method that use
> GEF's SvgWriter.
> There we use something like this:
> ByteArrayOutputStream buff = new ByteArrayOutputStream();
> Editor ce = Globals.curEditor();
> Layer layer = ce.getLayerManager()​.getActiveLayer();
> Rectangle drawingArea = layer.calcDrawingArea();
> try {
> SvgWriter writer = new SvgWriter(buff, drawingArea);
> if (writer != null) {
> ce.print(writer);
> writer.dispose();
> }
> } catch (IOException e) {
> e.printStackTrace();
> } catch (Exception e) {
> e.printStackTrace();
> }
> return buff.toString();
> But we get a NPE in LayerGrid:
> L169: Rectangle clip = g.getClipBounds();
> g, of type Graphics, is the writer itself. It's obvious that there is
> a bug here, but I'm not sure where it should be considered a bug:
> Is fine that the getClipBounds method of a Graphics class returns
> null? In terms of what I see in
> http://java.sun.com/​j2se/1.4.2/docs/api/​java/awt/Graphics.ht​ml#getClipBounds()
> it can occur.
> Is the bug in SvgWriter, returning null in getClipBounds? Or in
> LayerGrid, that doesn't check for null conditions?
> Checking for null in LayerGrid seems to fix the problem, but I wanted
> to be sure before commiting.
> --
> Cheers,
> Christian López Espínola <penyaskito>

« Previous message in topic | 2 of 4 | Next message in topic »


Show all messages in topic

Exporting a diagram to SVG penyaskito Christian López Espínola 2008-11-28 15:58:41 PST
     Re: [gef-dev] Exporting a diagram to SVG bobtarling Bob Tarling 2008-11-29 05:19:40 PST
         Re: [gef-dev] Exporting a diagram to SVG penyaskito Christian López Espínola 2008-11-29 05:48:06 PST
             Re: [gef-dev] Exporting a diagram to SVG bobtarling Bob Tarling 2008-11-30 16:07:56 PST
Messages per page: