[GRASS5] Grass GUI

Carl Worth cworth at east.isi.edu
Thu Feb 7 14:12:50 EST 2002

On Feb 7, Michel Wurtz wrote:
 > A short list of what I'm dreaming of as a display tool :
 > + manage layers (add, remove, re-order)
 > + save/load "view" created (list of layer, legend and extent)
 > + enhanced drawing capabilities:
 >   - color transparency for raster,
 >   - style for lines (including parallel lines for roads)
 >   - fill area with color or patterns, and transparency
 >   - style for sites (pixmap or vectorized symbols, the later being orientable)
 > + view created usable in the map manager for output
 > + query on the map (raster and vector) and (eventually with an
 >   external function) manage the attribute of selected object(s)
 > + mesure on the image
 > + draw line on it and pass it to external application (profil in a DEM,...)
 > + at a second time, add point/line area digitizing
 > + map manager must work with mouse, but let you fix all positions or
 >   dimensions with figure (this ensures a perfect map)

This looks like a pretty good list to start with, (although not all of
those features must be "builtin" to the GUI -- several will work just
fine as external programs called by the GUI).

I've been needing a nice GUI for a while, and fortunately just wrapped
up some other projects here, so I should be able to dedicate myself to
GRASS GUI development.

One of the first things I would like to do is to enhance the driver
protocol as needed for the "enhanced drawing capabilities" you
suggested above, (including arbitrary RGBA colors for all drawing
operations). And for that I have a couple of questions:

How can we efficiently manage map symbols, (ie. pixmaps), with a
stateless monitor and protocol? The same question applies, (to a
lesser extent to passing colors

How hard would it be to extend raster maps to 4 channels? (RGB +

As far as toolkits go, I'm a big fan of X, especially some of the
recent features in X such as the Xft support and the RENDER extension,
(which allows for translucent image composition). So, I'm competent
and happy to code the necessary driver pieces in Xlib.

As for the rest of the GUI, I'd be willing to look at wxWindows,
(although it might be hard to get at the resource needed for the
XDRIVER_WINDOW variable. I assume I need to set that to the XID of the
window of interest, no? I can't imagine any mechanism for getting at
something like that in a cross-platform toolkit. Ideas?


Carl Worth                                        
USC Information Sciences Institute                 cworth at east.isi.edu
3811 N. Fairfax Dr. #200, Arlington VA 22203		  703-812-3725

More information about the grass-dev mailing list