X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=c%2B%2B%2FREADME-first;h=99c96d2b31188dd81e15748d42ecb5cd6417906b;hp=b0c38fad0c10330cfddff96bc9d62d5187490d16;hb=027ae42953e3186daed8f3882da73de48291b606;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c diff --git a/c++/README-first b/c++/README-first index b0c38fad..99c96d2b 100644 --- a/c++/README-first +++ b/c++/README-first @@ -1,7 +1,36 @@ +------------------------------------------------------------------------------- +-- 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. @@ -15,23 +44,21 @@ the curses.h file. This is a steady cause of trouble because many 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. @@ -52,6 +79,9 @@ welcome. Please let us know which functionality you miss. Original author: Eric Newton for FSF's libg++ -Authors of this release: +Authors of first ncurses based release (NCursesWindow, NCursesPanel): Ulrich Drepper and Anatoly Ivasyuk + +Author of this release: + Juergen Pfeifer