xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dao <dao.ho...@gmail.com>
Subject My canvas does not display some changes
Date Fri, 15 Jan 2010 11:13:34 GMT
Hello,

I am going crazy, I suppose because I don't get something basic in the batik
architecture:

I have a SVG document with elements in it (we call them the user's
elements).

When I load this SVG, I want to add several layers to display some extra
information (warning masks, error masks...) to the elements.

I create a JSVGCanvas which is ALWAYS_DYNAMIC and I load it:

I set a GVTTreeBuilderListener. In the gvtBuildComplete, I create a mask and
add it to the dom (appendChild) directly in the SVGDocument (the
updateManager tasks are not available at this point

I set another GVTTreeBuilderListener. For each element, I create an other
element and append it to the maskLaker.
Same thing, directly in the document.


I set a GVTTreeRendererListener. In the gvtRenderingCompleted, I set a
boolean so that at this point, all the modifications are done in the
canvas's updateRunnableQueue.

Now I have some threads that posts runnables to the canvas runnable queue to
modify attributes of the user's elements and the opacity of the layer's
elements.

I can see that only the user's elements are modified. The mask elements are
not updated. I decide to dump the SVG from the canvas during the execution
(after the rendering) (getSVGDocument()).I open it in squiggle, and oh! the
mask elements are displayed OK!!!

So what's wrong with my program? what are the reason why the rendered canvas
is not in accordance with the current canvas?

regards

-- 
Dao Hodac

Mime
View raw message