Documentation updates -- much more to do.

This commit is contained in:
William McBrine
2007-03-28 04:12:57 +00:00
parent d4bde28b33
commit 847c641b7e
3 changed files with 171 additions and 8 deletions

144
HISTORY
View File

@@ -1,3 +1,146 @@
PDCurses 3.0 - 2007/??/??
=========================
The focuses for this release are X/Open conformance, i18n, better color
support, cleaner code, and more consistency across platforms.
This is only a brief summary of the changes. For more details, consult
the CVS log.
New features:
- An almost complete implementation of X/Open curses, including the
wide-character and attr_t functions (but excluding terminfo). The
wide-character functions work only in Win32 and X11, for now, and
require building the library with the appropriate options (see
INSTALL).
- Multibyte character support in the non-wide string handling functions,
per X/Open. This only works when the library is built with wide-
character support enabled.
- Mouse support for DOS and OS/2. The DOS version includes untested
support for scroll wheels, via the "CuteMouse" driver.
- An ncurses-compatible mouse interface, which can work in parallel with
the traditional PDCurses mouse interface. See the man page (or
mouse.c) for details.
- DOS and OS/2 can now return modifiers as keys, as in Win32 and X11.
- COLORS, which had been fixed at 8, is now either 8 or 16, depending on
the terminal -- usually 16. When it's 8, blinking mode is enabled
(controlled as before by the A_BLINK attribute); when it's 16, bright
background colors are used instead. On platforms where it can be
changed, the mode is toggled by the new function PDC_set_blink().
PDCurses tries to set PDC_set_blink(FALSE) at startup. Also, COLORS is
now set to 0 until start_color() is called.
- Corresponding to the change in COLORS, COLOR_PAIRS is now 256.
- Working init_color() and color_content(). The OS/2 version of
init_color() works only in a full-screen session; the Win32 version
works only in windowed mode, and only in NT-family OSes; the DOS
version works only with VGA adapters (real or simulated). The Win32
version is based mostly on James Brown's setconsoleinfo.c
(www.catch22.net).
- use_default_colors(), assume_default_colors(), and curses_version(),
after ncurses.
- A non-macro implementation of ncurses' wresize().
- Working putwin(), getwin(), scr_dump() and scr_restore().
- A working acs_map[]. Characters from the ACS are now stored in window
structures as a regular character plus the A_ALTCHARSET attribute, and
rendered to the ACS only when displayed. (This allows, for example,
the correct display on one platform of windows saved from another.)
- A new document, IMPLEMNT, describing PDCurses' internal functions for
those wishing to port it to new platforms.
- The testcurs demo now includes a color chart and init_color() test, a
wide character input test, a display of wide ACS characters with
sample Unicode text, and a specific test of flash().
Bug fixes and such:
- Most of the macros have been removed (along with the NOMACROS ifdef).
The only remaining ones are those which have to be macros to work, and
those that are required by X/Open to be macros. There were numerous
problems with the macros, and no apparent reason to keep them, except
tradition -- although it was Pccurses 1.x that first omitted them.
- Clean separation of platform-specific code from the rest. Outside of
the platform directories, there remain only a few ifdefs in curses.h
and curspriv.h.
- flash() was not implemented for Win32 or X. A portable implementation
is now used for all platforms. Note that it's much slower than the
old (DOS and OS/2) version, but this is only apparent on an extremely
slow machine, such as an XT.
- In X11, the first reported mouse event after startup always read as a
double-click at position 0, 0. (This bug was introduced in 2.8.)
- Single mouse clicks are now reportable on all platforms (not just
double-clicks). And in general, mouse event reporting is more
consistent across platforms.
- The mouse cursor no longer appears in full-screen mode in Win32 unless
a nonzero mouse event mask is used.
- In X11, don't return selection start as a press event. (Shift-click on
button 1 is still returned.)
- In X11, BUTTON_MOVED was never returned, although PDC_MOUSE_MOVED was
set.
- The fix in 2.8 for the scroll wheel in X11 wasn't very good -- it did
report the events as scroll wheel events, but it doubled them. Here is
a proper fix.
- Changed mouse handling in X11: Simpler translation table, with
XCursesPasteSelection() called from XCursesButton() instead of the
translation table; require shift with button 1 or 2 for select or
paste when mouse events are being reported (as with ncurses), allowing
passthrough of simple button 2 events. This fixes the previously
unreliable button 2 behavior.
- Modifier keys are now returned on key up in X11, as in Win32. And in
general, modifier key reporting is more consistent across platforms.
- Modifiers are not returned as keys when a mouse click has occurred
since the key press.
- napms(0) now returns immediately.
- pair_content(0, ...) is valid.
- In BIOS mode (in DOS), count successive identical bytes, and make only
one BIOS call for all of them. This dramatically improves performance.
- The cursor position was not always updated correctly in BIOS mode.
- Better reporting of mouse events in testcurs.
- Separate left/right modifier keys are now reported properly in Win32.
(Everything was being reported as _R.)
- Fixes for errors and warnings when building with Visual C++ 2005.
- The X11 port now builds in the x11 directory (including the demos), as
with other ports.
- Some modules renamed, rearranged.
- Dropped support for the Microway NDP compiler.
- Removed non-macro implementations of COLOR_PAIR() and PAIR_NUMBER().
------------------------------------------------------------------------
PDCurses 2.8 - 2006/04/01
=========================
@@ -559,7 +702,6 @@ NEW COMPILER SUPPORT:
- OS/2 only using OS/2 APIs
- OS/2 and DOS using EMX video support routines
EXTRA OPTIONS:
PDCurses recognises two environment variables which determines the

27
INSTALL
View File

@@ -52,12 +52,32 @@
(pdcurses.lib or .a, depending on your compiler; and panel.lib or .a),
the demos (*.exe), and a lot of object files.
For Windows (except with LCC), you can also give the optional
parameter "WIDE=Y", to build the library with wide-character
(Unicode) support:
make -f mingwin32.mak WIDE=Y
Note that when built this way, the library is not compatible with
Windows 9x, unless you also link with the Microsoft Layer for Unicode
(not tested).
You can also use the optional paramter "DLL=Y" with Visual C++, to
build the library as a DLL:
nmake -f vcwin32.mak WIDE=Y DLL=Y
X11
---
. Run the configure script in the PDCurses-x.x directory. This will
check for the dependencies libXCurses requires.
To build the wide-character version of the library, specify
"--enable-widec" as a parameter. To use X Input Methods, add
"--enable-xim". I recommend these options, but I haven't yet made
them the defaults, for the sake of backwards compatibility and due to
their new and relatively untested status.
If configure can't find your X include files or X libraries, you can
specify the paths with the arguments "--x-includes=inc_path" or
"--x-libraries=lib_path".
@@ -70,9 +90,8 @@
. Run "make". This should make libXCurses, the panels library and all
demo programs in the demos directory.
. Alternately, you can cd to "pdcurses" directory, and run "make" from
here. This will build libXCurses only.
. Optionally, run "make install". curses.h, panel.h and the panel lib
will be renamed when installed (xcurses.h, xpanel.h and libXpanel),
to avoid conflicts with any existing curses installations.
to avoid conflicts with any existing curses installations. Unrenamed
copies of curses.h and panel.h are installed in (by default)
/usr/local/include/xcurses.

8
README
View File

@@ -1,11 +1,13 @@
Welcome to PDCurses
PDCurses is a reimplementation of System VR4 curses for multiple
platforms. The latest version can be found at:
PDCurses is an implementation of X/Open curses for multiple platforms.
The latest version can be found at:
http://pdcurses.sourceforge.net/
For more information, please read the HISTORY and INSTALL files.
Legal Stuff
-----------
@@ -23,7 +25,7 @@ in the documentation of packages linked with it is greatly appreciated.
Ports
-----
PDCurses has been ported to DOS, OS/2, WIN32 and X11. A directory
PDCurses has been ported to DOS, OS/2, Win32 and X11. A directory
containing the port-specific source files exists for each of these
platforms.