backends

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

pdf seems very important to me.

  Just my two cents,

    Gaël

···

On Fri, Jul 07, 2006 at 03:46:01PM -0500, John Hunter wrote:

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.

John Hunter wrote:

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).

Just as a note, if you have Cairo, you have PS, PDF, SVG, raster, and, indeed, native draw-to-the-screen functionality.

They're not all robust and complete, but it's seeing a lot of development. A robust, numpy-aware PyCairo would be really nice.

In short, Cairo has essentially the same goals (plus a few more) as Kiva, except it's written in C. There's some discussion of using it in wxWidgets, and, of course, it's already used in newer GTKs.

-Chris

···

--
Christopher Barker, Ph.D.
Oceanographer
                                         
NOAA/OR&R/HAZMAT (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@...236...