Hi Thomas. I’m trying to track down a bug with the renderer. Basically, in a JSVGCanvas, the renderer stops painting updates after the canvas resized in some circurmstances. On my machine I can reproduce this (if I’m lucky) with this document:
http://mcc.id.au/temp/2008/resize-renderer-bug.svg It has animation that continually changes the position of the <rect>, back and forth. It prints to the console the current animated position of the <rect> every so often. If I load that document in Squiggle, and resize the window quickly, it will sometimes get into a state where the rendering is not updated, but the document is otherwise still running OK (which can be seen by the changing values being printed to the console). I’ve found that the rendering stops because a call to WritableRaster.createWritableChild() inside DynamicRenderer.repaint() throws an exception (which is swallowed up) because its arguments indicate an area that lies outside the raster: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/gvt/renderer/DynamicRenderer.java?annotate=489226#l220 I have a feeling it has to do with the change that inflated dirty rectangles by 1px to avoid rendering problems with anti-aliasing. If I change this line: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/RepaintManager.java?view=annotate#l79 to remove that extra pixel inflation, then I can’t reproduce the bug. I don’t know enough about the renderer to know what to change though. Are you able to give me a brief rundown on how the renderer works, including what all the various raster objects are for? Thanks, Cameron -- Cameron McCormack ≝ http://mcc.id.au/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
