batik-users@xmlgraphics.apache.org
[Top] [All Lists]

Re: Some white areas appear after many zoom in, zoom out and pan action

Subject: Re: Some white areas appear after many zoom in, zoom out and pan actions
From:
Date: Mon, 15 Sep 2008 06:27:41 -0400

Hi Control,

control_batik <a20022065@xxxxxxxxxxx> wrote on 09/12/2008 01:15:17 PM:

> I am developing a simple svg editor with batik 1.7. I add small svg images
> to an big one, a  svg converted autocad plan of 7 MB or bigger. Each time i
> click on a button , it loads an specific small icon , then i click over the
> jsvgcanvas (with the big svg file like background) using :
>
> elementToinsert.setAttribute("transform", "translate(" +
> newGraphElement.getPosX() + "," +   newGraphElement.getPosY() + ")");
> root.appendChild(basedocument.importNode(ele, true));.
>
> Well, all of this work perfectly, but after some zoom in , zoom out and pan
> actions or  draw and drag icons, suddenly the jsvgcanvas doesn't refresh
> completely, and some white areas appear.

   There are two possible causes.  First, given the size of the background
image there is a good chance that Batik is running out of memory which can
cause rendering operations to fail which will often cause this effect.

   The second passability is that you are not doing your modifications
to the displayed document in the UpdateManager's RunnableQueue.

> When I  drag an icon over these areas , the jsvgcanvas starts to refresh
> them or when i do a zoom in/out or pan action , it  refreshes all the
> canvas.

   This is a clear indication that something is interrupting the normal
redraw code.  Are you getting any exceptions being thrown?

> In my desperation , i am thinking of zoom in an zoom out each time the svg
> file is modified, to avoid this , but i think this is a little stupid.


   I agree, something is broken with the way you are using Batik.
This is not normal behavior and should be fixable.
<Prev in Thread] Current Thread [Next in Thread>