It sounds like you are modifying the DOM outside of the Update Managers Runnable Queue. Search the list for UpdateManager and/or RunnableQueue and you should find out what you need to do.
Olivier Beaudoux wrote:
Hi,
I provide my own action/event scheme in order to define how users can interact with SVG documents (by adding dedicated tags within the SVG file).
As a consequence, I have some "callbacks" written in Java that handle interaction. For example, the following callback handle a translation action on any transformable svg elements :
public class TranslateTransformable extends Consumer
{
public void doAction(Action action)
{
SVGTransformable transformable = (SVGTransformable) action.getTarget();
SVGMatrix matrix = transformable.getTransform().getBaseVal().
consolidate().getMatrix();
Translate translate = (Translate) action;
matrix.setE(matrix.getE() + translate.getDx());
matrix.setF(matrix.getF() + translate.getDy());
}
(...) }
This callback captures a "translation" action as a DOM event. By checking for its target (it's a transformable svg element), we apply a translation through its transform matrix.
This code works fine except for the scenegraph repainting ("old" regions are not refreshed). I thus use a call to renderGVTTree() that repairs the troubble but this is very time consuming (I believe renderGVTTree redraws the overall scene). Is there a solution to solve this (classic?) repainting problem? I have read that Batik 1.5 does not pass successfully many of SVG interaction tests. Is it related to this problem?
Dealing with interaction aspects of Batik 1.5, I have observe that the SGVSVGElement implementation does not provide any code for "picking" methods (such as getIntersection/EncloserList). Does the Batik team plans to do that in the "future"?
Thanks for your help Olivier
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]