Philippe Converset wrote:


Thomas DeWeese wrote:



So I think the majority of the work in making a dynamic GVT component would be moving some pieces from the JSVGComponent down into the JGVTComponent (most notably the UpdateManager, and the associated repaint infrastructure). In other words this would be almost all refactoring of existing code - I would have to spend a lot more time looking at class dependencies to know exactly how complex the refactoring is. My gut feeling is that the refactoring would not be terribly complex and would likely improve the structure of the Batik components.

Do you think this refactoring would allow the JGVTComponent to render a GVT tree created by hand (not attached to any SVG document)?

The JGVTComponent can already do this (render a GVT tree created by hand). It currently doesn't support dynamic updates of that tree.

If so, then I'd like to give it a try to compare it with my current graphics node system (Jazz).

Ok, what do you need to know?


   I would move the RepaintManager, and UpdateManager to the GVT
package, and break any dependencies on the bridge package.  The
UpdateManager will likely need to be split (make a GVTUpdateManager),
some fancy footwork could I think avoid this, as most of the UpdateManager
dependencies on the bridge package appear to be fairly shallow but
because a fair number of people use the UpdateManager I would want to
at least keep a proxy in bridge anyways.  So as long as we need a class
there might as well just keep the bridge dependent parts in it.

   I think if you can move these two classes to the GVT package you
are 1/3 of the way there.  You should run regard at this point and make sure
everything still works.

   Next you need to start moving stuff from JSVGComponent to JGVTComponent.
The simple rule of thumb is if the method references UpdateManager it needs
to be moved to JGVTComponent (this is a lot of methods).  The biggest
exception to this rule is methods that call things like dispatchSVGScrollEvent.

   You will also need to move the concept of at least 'dynamic' vs 'static'
GVT Tree's to the JGVTComponent - I would probably take the path of least resistance
and also move the concept of 'interactive' to JGVTComponent.

   The trickiest piece of this will be dealing with the 'nextUpdateManager'
stuff which to be quite honest I can't quite figure out the utility of :)
The basic idea is to associate an updateManager with the canvas while loading
a new document - presumably so if something goes wrong we haven't killed the
previous updatemanager but I don't see this working the way things are right
now.




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to