John, All this brings to mind something I wanted to bring up
> anyway: we have a proliferation of backends, and occasional
> requests for more--are there any we can simply drop now, or
> soon? For example, gd? And what are the prospects that
> several backends could be consolidated via cairo? And/or
> via more extensive subclassing?
> I am worried that we are increasingly going to get into
> trouble with lack of up-to-date support for all these
> backends. Major improvements sometimes depend on backend
> changes, and the more backends we have that lack active
> maintainers, the harder this gets; and the worse for users,
> as features work on one backend but break on another.
It's a concern, and I have no problem dropping some (gd is a good
example, it was really just a proof-of-concept backend to prove that
we could mix and match GUIs with pure image backends as I was
developing agg). A number of backends are incomplete and get little
attention but do little harm either -- in my opinion they are
unsupported. paint and emf is another example of a backend that noone uses
except for the authors. I think almost noone uses gdk, gtk, cairo or
gtkcairo, but I hesitate to pull these because Steve Chaplin, the GTK
maintainer, wrote them, uses them, and has done a great job with GTK.
Ideally, I would like to see PS, SVG, Agg and [Tk|GTK|WX|Qt|FLTK]Agg
and no more. But I know that other people feel differently.
Taking the long view, enthought's kiva/chaco uses the pdf drawing
model, which is a nice model and superior to the matplotlib GTK
model. I've talked with Eric Jones many times about the desirability
of sharing a single low-level drawing model, probably based on
PDF/KIVA, that have backends for PS, SVG, PDF and one raster format
(eg Agg or Cairo). But nothing has ever happened here because we both
have lots to do and a lot of code that depends on what is already in
place.
JDH