Hi all,

For a simulator I'm writing I'm using Batik to visualize the model being simulated. The simulator loads an SVG file and after each simulation steps, it calls some hooks that update the SVG document, and after that it redraws the canvas. The canvas paint event renders the graphics node to a BufferedImage, after which the data is passed to SWT to render it on the SWT canvas.

This code constructs the graphics node:

        UserAgentAdapter userAgentAdapter = new UserAgentAdapter();
        bridgeContext = new BridgeContext(userAgentAdapter);
        bridgeContext.setDynamic(true);
        GVTBuilder builder = new GVTBuilder();
        graphicsNode = builder.build(bridgeContext, document);

Code like this is used to update the document:

        elem.setAttribute(attrName, value);

        t.setNodeValue(value);

where t is a variable of type Text.

I use  graphicsNode.paint(g) to draw on the Graphics2D of the BufferedImage.

This works most of the time, but ever so often (though quite regularly), graphicsNode.paint(g) does not paint anything. I checked the actual internal data buffer with pixel data to verify that nothing was painted.

Does anyone know what I might be doing wrong, that causes nothing to be drawn? Under what circumstances could graphicsNode.paint(g) have the effect that nothing is drawn?

I used both Batik 1.6 and Batik 1.7, and this 'problem' manifests itself in both versions. I hope this is enough information. If not, I'd be happy to provide more info.

Thanks,
Dennis

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-h...@xmlgraphics.apache.org

Reply via email to