Commit Graph

47 Commits

Author SHA1 Message Date
roy 43d5eb454b Prepare curses for the possibility of changing from termcap to terminfo.
term.h #defines lines, pad_char and no_color_video macros which conflict
with existing curses code. We change lines to alines and nlines depending
on use, pad_char to padchar and no_color_video becomes no_color_attributes
but with a strong alias from no_color_video.
2009-07-22 16:57:14 +00:00
jdc dfc45432ab Make __subwin() static. 2008-04-14 20:33:15 +00:00
blymn e124de36d8 Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
2007-05-28 15:01:53 +00:00
jdc 1f221324cf Add debug "areas" that allow selective debugging by setting the
"CURSES_TRACE_MASK" environment variable.  Postive vales include
debug areas, negative values exclude them.
2007-01-21 13:25:36 +00:00
jdc 978ab4ad4e Background characters and attributes don't need to be kept per character
cell, as they are merged when characters are added.  Remove the per cell
storage and clarify the manual page.  Pointed out by ruibiao@.
2006-01-15 11:43:54 +00:00
jdc a6a9a97d12 Changes to support *echochar().
Should fix PR lib/24927.
2004-03-28 08:58:37 +00:00
agc eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
dsl a2a4308b26 Remove unused extern for __winlistp. 2003-08-01 13:29:06 +00:00
dsl 87e998f336 Remove __winlistp, add *screen to WINDOW and initialise in newwin().
Make delwin() remove window from list of windows on its screen.
Free win->lspace and win->lines for subwins (they only share text space).
Free things in the correct (and same) order if malloc() fails in __makenew().
Adjust delscreen() for delwin() removing itself from winlist.
Fixes potential massive corruptions if delwin() called on a main window.
NB: not responsible for the sysinst core dumps :-(
2003-07-30 11:19:00 +00:00
jdc 24b8aeb15a New sub-windows should not be marked as pads.
(Also noticed by David Laight.)
2003-07-05 19:03:32 +00:00
dsl b70727e760 Error attempts at nested subwindows, the data structures don't support them.
I can't quite decide whether the X/Open Curses Issue 4, version 2 needs them.
2003-06-26 17:13:55 +00:00
jdc 44d2f865a0 Mark all lines on new pads as dirty. This ensures that we draw blank
(untouched) lines when the pad is refreshed.
2003-06-09 06:58:11 +00:00
jdc 38b99f1400 Make sure that windows are not off the left or top edges of the screen.
Noticed while looking at PR 21041.
2003-04-08 05:56:01 +00:00
dsl d75ec8181e Fix resize of windows with subwins.
Let window size be given as a -ver number => lines from bottom.
Fix trace calls of pointers
(approved by Brett Lumn)
2003-02-17 11:07:19 +00:00
jdc c1d36848fe Add newpad() and subpad().
Modify __makenew(), __newwin() and __subwin() to handle pads.
2002-12-23 12:17:03 +00:00
jdc c5f3aee499 Mark lines on new windows unchanged.
Add window to __set_subwin() debug.
2002-12-05 17:14:34 +00:00
jdc 4da2d0814d Set default colour on windows created after a call to start_color().
(Also noticed by Pooka).
2002-11-25 09:11:26 +00:00
blymn d5dc62cbd8 Fix lint nits mainly with the len parameter type in hash_more. 2002-10-22 11:37:34 +00:00
blymn 8d2591041a * Added new function idcok - this closes PR 10802
* Added sentinels to the line structures when in debug mode to try
  to pick up data overwrite problems, if they occur.
2002-07-19 13:22:41 +00:00
blymn ef5927835e Remove extraneous tabs from blank lines. 2002-01-02 10:38:27 +00:00
blymn 51344953b1 * Remove termcap globals from public interface
* Clean up commented out code
2001-12-11 11:18:17 +00:00
blymn c84d91aad5 * Major change to add support for the newterm/set_term functions.
* Added fix to getch.c suggested by Gabriel Rosenkoetter (thanks :-)
2001-12-02 09:14:20 +00:00
jdc 048f92e86e Set scrolling region top correctly.
Fixes scrolling bug in sub-windows.
2001-05-17 19:04:01 +00:00
jdc 3f9388e3e3 Implement scrolling regions :
has_ic()
  has_il()
  setscrreg()
  wsetscrreg()
2001-04-20 12:56:08 +00:00
christos 9791d7cf26 remove redundant declarations. 2001-01-05 22:51:21 +00:00
blymn fd2c9043b8 * Added new function dupwin.
* Fixed bug in copywin overwrite code.
2000-04-20 13:12:14 +00:00
jdc 92a8633938 Set background character and attributes for added characters. 2000-04-18 22:45:23 +00:00
blymn e79669d636 More multiple changes:
* Added function derwin.
* Added function copywin.
* Modified both overlay and overwrite to use copywin.
* Updated man page with new functions and fixed minor format glitch.
2000-04-18 12:23:01 +00:00
blymn ec6e2540fe Multiple fixes:
* Added Bill's fixes for errors when compiling with WARNS=1
* Incorporated fixes to make usage of unctrl consistent in debug and
  made improvements to ctrace - it now timestamps it's output better.
* Reduced the number of mallocs done by __init_getch by allocating key
  structs in bunches instead of singly.
* Removed the shadowing of global declarations in newwin and subwin
  functions
2000-04-17 12:25:45 +00:00
mycroft 3dda981dc7 Make subwindows scroll correctly. 2000-04-16 05:48:25 +00:00
jdc b379c51c75 Initialise window delay for all new windows (including sub-windows). 2000-04-15 22:53:46 +00:00
blymn aaf74682b9 Added functions to replace what were previously macros in curses.h
(this is a requirement of SUSv2) - the old macro behaviour can be
restored by defining _CURSES_USE_MACROS.
Changed function prototypes to use ANSI style.
All externally visible functions now have ANSI style declarations.
2000-04-15 13:17:02 +00:00
jdc d4b4d9ed49 Add a list of windows (used when a colour pair changes). 2000-04-14 17:35:14 +00:00
jdc 7b77d1dca6 Add background character/attributes. 2000-04-12 21:48:46 +00:00
blymn 23464ee534 Made data structures opaque 2000-04-11 13:57:08 +00:00
christos 187ca44dc6 Silence casts 1999-06-23 03:26:02 +00:00
mycroft d0c8706cd2 Initialization of the backing store pointers in __set_subwin() was just
totally wrong.  It needs to offset by the origin of the parent window.
1999-04-22 22:39:09 +00:00
mrg 586d4ce109 Upgrades the standard NetBSD curses library to provide some
of the SYSV curses facilities.  The added features are the collapsing
of arrow and function keysequences (as defined by termcap for the
terminal) into symbolic code returns thus relieving the application of
recognising multi-character key sequences.  Other features are the
capability to perform a timed wait for a key (good for when you are
not sure if there is a keypress ready or not) and the capability for
turning off the inter-key timeout when assembling multi-character
function keys.

this work was done by Julian Coleman <J.D.Coleman@newcastle.ac.uk>
and blymn@baea.com.au (Brett Lymn).  i'm just integrating it.  thanks
HEAPS guys!
1999-04-13 14:08:17 +00:00
perry 0b7831a37b remove obsolete register declarations 1998-02-03 19:12:13 +00:00
mikel 716747aa72 RCSid police, fix warnings 1997-07-22 07:36:20 +00:00
cgd d29088dab1 clean up import 1994-08-17 21:51:41 +00:00
cgd 2f65b6139d repeat after me: "I hate rcs ids" 1993-11-09 04:06:43 +00:00
cgd 019bbd1316 update to new version from berkeley. doesn't compile yet, nor
does it have rcsid's.  this is for diffs.
1993-11-09 03:34:01 +00:00
mycroft 62a3457d0e New version from uunet. 1993-08-07 05:48:37 +00:00
mycroft e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
alm 75de25bb93 added Andrew Chernov's patch set:
Standard curses library use eight bit for standout mode, so
8-bit characters displays like highlighted 7-bit characters.

This patch produce library which is fully compatible with all curses
programs and add 8-bit chars to all input/display functions.
---
I don't think, that any programs wish to use internal curses
attribute _STANDOUT directly, in expressions like:
        addch( ch | _STANDOUT );
        Normal interface use standout() and standend() functions instead.
        Many programs use 'char' type (with sign extention) for input characters
        and sign extention becomes _STANDOUT mode in this case.
        So, I refuse this future and allow 8-bit characters for programs,
        which is designed for 7-bit only ('char' type using instead of
        'unsigned char').
---
This small patch fix unpleasant standard curses bug:
curses can't expand TAB at all (but tries).
A man who wrote this curses misplace SYNC_IN and SYNCH_OUT,
this patch exchange macro calls.

This patch useful for standard 7-bit curses too, for this
you must delete '_' symbol before waddbytes and apply patch.
---
Oh, NO! This curses are really buggy!

This small patch fix following problem:
[ assumed scrollok(stdscr, TRUE) ]
when addch(ch) at lower right corner of screen, curses are realy
gone mad instead if simple scrolling... Curses code assumed that
this will be done correctly, but implement it with two bugs.
1993-07-09 05:34:14 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00