[SciPy-dev] DisplayPDF for Cross-platform GUI Widgets

M. Evans datafeed at SoftHome.net
Thu Nov 21 03:32:23 EST 2002


Please correct me if I'm wrong about anything - my understanding of
Chaco is cursory.  (I have read the web pages.)

I wish to present a concept and solicit your opinions.  This is
not a proposal for work under the Scipy banner, though it certainly
could complement the effort.

Chaco is a means to draw resolution-independent plots in "canvas
windows" supplied by wxWindows, Tk, OpenGL, whatever.  It is not a
means to draw user interface widgets.  Those are supplied by the host
library.  Chaco merely renders, from DisplayPDF model data, static
views in "paint windows" supplied by the various libraries.
This is my understanding.

Now the idea:  Use DisplayPDF to create a resolution-independent,
cross-platform device context API in which to draw user widgets
themselves.  The idea resembles Chaco, except that the context also
tracks OS events.  (I assume Chaco doesn't do this without
help from the host library.)

The idea then is to eliminate the host library altogether.
The device context layer serves as the foundation for a truly
remarkable cross-platform GUI library.  Remarkable in that the
widgets are not defined in the traditional pixel-wise manner, but via
scalable, parametric vectors and arcs.  Native look & feel could be
emulated a la Qt,
http://linux.sarang.net/ftp/mirror/development/widget/qt/pdf/qt-whitepaper-v10.pdf

The device context would naturally require ports to different OS APIs.
However, it could instead ride on top of an existing pixel-based context
like SDL or GGI.

I know that Mac OS X utilizes Display PDF so perhaps the device context
for that OS would be very "thin" -- while requiring more work on
Windows and Xlib.

The wxWindows folks are moving to wxUniversal which is akin to this
idea except that (as far as I know) wxUniversal is going to use the
traditional pixel-based definition of widgets.  Instead of defining
widgets as so many centimeters high and various scalability
constraints, they will be so many pixels high.

Comments, opinions?

Mark




More information about the SciPy-Dev mailing list