+-------------------------------------------------------------------------------
+-- Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. --
+-- --
+-- Permission is hereby granted, free of charge, to any person obtaining a --
+-- copy of this software and associated documentation files (the --
+-- "Software"), to deal in the Software without restriction, including --
+-- without limitation the rights to use, copy, modify, merge, publish, --
+-- distribute, distribute with modifications, sublicense, and/or sell copies --
+-- of the Software, and to permit persons to whom the Software is furnished --
+-- to do so, subject to the following conditions: --
+-- --
+-- The above copyright notice and this permission notice shall be included --
+-- in all copies or substantial portions of the Software. --
+-- --
+-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --
+-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN --
+-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --
+-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --
+-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE --
+-- USE OR OTHER DEALINGS IN THE SOFTWARE. --
+-- --
+-- Except as contained in this notice, the name(s) of the above copyright --
+-- holders shall not be used in advertising or otherwise to promote the --
+-- sale, use or other dealings in this Software without prior written --
+-- authorization. --
+-------------------------------------------------------------------------------
+-- $Id: README-first,v 1.8 2006/04/22 22:19:37 tom Exp $
+-------------------------------------------------------------------------------
C++ interface to ncurses routines
-----------------------------------------------------------------------
-This directory contains the source code for three C++ classes which
+This directory contains the source code for several C++ classes which
ease the use of writing ncurses-based programs. The code is derived
from the libg++ CursesWindow class but enhanced for ncurses.
common identifiers are used. Instead now all #defines are inline
functions which also allows strict type checking of arguments.
-The next enhancement is color support, which is provided by a derived
-class. The implementation chosen here is directed to unrestricted use
-of mixes of color and monochrome windows. This is done through virtual
-functions and means that you can write all of your code as if a color
-window is the destination. If the destination window is monochrome these
-functions calls have no effect.
-
- NOTE: This implementation of the color support was topic of
- some discussion. The introduction of virtual functions
- introduced some overhead. Please let us know what you think
- about this: is it worth being able to write color supporting
- functions.
-
-The last point to mention is the support of another package Zeyd
-distributes with his ncurses package: the panels library. This support
-is provided by the NCursesPanel class, which is also derived from the
-NCursesWindow class. This allows building interfaces with windows.
+The next enhancement is color support. It was originally provided by a
+derived class. This caused some trouble if you think about Panels or
+Menus and Forms with colors. We decided to put color support into the
+base class so that any derived class may use color support also.
+The implementation chosen here is directed to unrestricted use
+of mixes of color and monochrome windows. The original NCursesColorWindow
+class is maintained for compatibility reasons.
+
+The last point to mention is the support of other packages that are
+distributed with the ncurses package: the panels library, the menu library
+and the form library. This support is provided by the NCursesPanel class,
+which is also derived from the NCursesWindow class and the NCursesMenu
+and NCursesForm classes which are derived from NCursesPanel. This allows
+building interfaces with windows.
+
Please see the example program for a quick introduction.
Note that at this point, there is no documentation for these classes.
Original author:
Eric Newton <newton@rocky.oswego.edu> for FSF's libg++
-Authors of this release:
+Authors of first ncurses based release (NCursesWindow, NCursesPanel):
Ulrich Drepper <drepper@ira.uka.de>
and Anatoly Ivasyuk <anatoly@nick.csh.rit.edu>
+
+Author of this release:
+ Juergen Pfeifer