On 11.07.2008 22:31:03 Andreas Delmelle wrote: > On Jul 11, 2008, at 10:55, Jeremias Maerki wrote: > > > ... So the IFRenderer actually doesn't generate any XML itself. > > That will be the job of the > > IFSerializer. So IFRenderer will not subclass AbstractXMLRenderer. > > Apart from that, I also completely forgot about the SVGRenderer > (currently still in the sandbox). > Not sure, but that one could be considered an AbstractXMLRenderer as > well.
Actually, I'm planning to write an SVGPainter as one of the first formats for the new intermediate format. Adrian proposed to use SVG for the intermediate format itself. I fear it would be too slow and too complicated to do. But I think it's worthwhile to set those two beside each other to see if my assumption is correct and if my highly optimized (and proprietary) approach is really worth it. So if it isn't it will be easy to switch over and as a nice side-benefit (if nothing else) we get SVG output support. That means I'm actually abandoning the idea of having an SVGRenderer at all, especially since the SVGPainter will be easier to implement than an SVGRenderer. > And yes, I agree that it's not really a bad thing to have lots of > abstractions, as long as they're actually useful. > If you have only one class that extends it, and there's no immediate > benefit, it's worth to stop and think for a second... +1 to that. > Considering the above: even if not useful for the new IF, there does > seem to be potential benefit for rendering to XML formats. > > > Cheers > > Andreas BTW, I've started working on the new IF yesterday. I've changed the IFRenderer to subclass AbstractPathOrientedRenderer in the hopes that this will work out. I'll start with the IFSerializer (implements IFPainter, writes the actual IF) and with the SVGPainter. Jeremias Maerki