= Display Architecture in GRASS 7 =
''Comments from Glynn Clements (from [http://www.nabble.com/Cairo-monitor-driver-tf4620004.html#a13206009 here]):''
1. Eliminating separate driver processes. Having to extend the protocol for each new operation has been a major drag on development.
1. Use of floating-point for all graphics coordinates. For geographic data, the expected approach will be to set an appropriate transform then use cartographic coordinates.
1. Common architecture for both video and hardcopy output. ps.map should be redundant.
In retrospect, 1. means that we don't really need support for the Windows/MacOSX GUI, just the ability to generate image files.
With X, we could take the shortcut of having d.* commands draw directly into an existing window, but I don't know whether that's possible on other platforms.
OTOH, it might be useful to be able to use the same functions for self-contained GUI programs (e.g. vector digitising) as for d.* commands.
== Display Library ==
=== Eliminate raster display functions ===
Directory {{{lib/raster}}} is now used for [wiki:Grass7/RasterLib raster library].
Initial step was to eliminate '''R_()''' fns (some of them moved to {{{lib/display}}}).
* {{{lib/raster}}} has been removed in r37976 ({{{lib/raster/raster.c}}} -> {{{lib/display/r_raster.c}}}). The fn names unchanged.
* {{{raster.h}}} merged with [source:grass/trunk/include/display.h display.h]
* Some '''R_()''' fns can be made be static, see [http://lists.osgeo.org/pipermail/grass-dev/2009-June/044696.html suggestion] (r38001)
'''Status''': done
=== Drop support for interactive xmon modules ===
== Modules ==
* d.font etc.
* Huidae Cho merged d.text.freetype and d.text into d.text.new; drop them and rename d.text.new into d.text. '''done.'''
* merge d.font and d.font.freetype too : now done in 6.3?
* d.vect
* consolidate parameter names (attrcol, wcolumn, rgb_column) : -> attr_column, width_column, rgb_column?
* remove d.ask, d.menu, d.linegraph(?), d.mapgraph, d.text.freetype, d.paint.labels (symlink), d.font.* : rewrite d.ask, d.menu as WxGUI popup-window modules independent of display?
* remove d.m. '''done.'''
* d.legend, d.barscale, d.text, etc: make at=0,0 origin identical! : FWIW, I copied the d.legend at= syntax from d.frame --HB