Commit Graph

42 Commits

Author SHA1 Message Date
blymn 9fc0329619 Add code to allow resizing of windows and the underlying terminal. 2001-09-20 11:11:54 +00:00
jdc 606508da77 Rename variables refering to termcap capabilities from NN to __tc_nn. Case
adjusted to match termcap capability.  A few other variable names renamed too
(ones related to or derived from termcap variables).
2000-12-19 21:34:24 +00:00
itojun 2ee926643f on repaint, we must look at attributes present on curscr.
check __ISPASTEOL on curscr->lines, not on win->lines.  PR 10732.
2000-08-02 10:50:49 +00:00
itojun 67175858ec use __cputchar(), not putchar().
otherwise, __CTRACE() will not be useful for debugging curses internals.
2000-08-01 04:17:09 +00:00
matt 6ac8d1ec06 More include cleanup. Remvoe (p) from #undef in libipsec. 2000-07-03 03:56:20 +00:00
jdc 172e7c6926 Move setting of __endwin so that we also change it from the stop handler. 2000-06-15 21:20:16 +00:00
jdc 42414cd719 Copy all background attributes (not just colour) from win to __virtscr. 2000-06-12 20:51:39 +00:00
mycroft 94f8eb040a GC __FORCEPAINT. 2000-05-20 15:12:15 +00:00
mycroft 179e2ccef2 Fix a silly bug that caused blanks to always be redrawn on dirty lines in
curscr.  This usually manifested itself as a very slow redraw after suspend.
2000-05-19 16:00:52 +00:00
mycroft d766988531 More microoptimization, and explicitly skip lines that are not dirty. 2000-05-19 07:39:02 +00:00
mycroft c23ccd01a0 Two optimizations in quickch():
* Don't bother comparing lines that are not dirty when looking for the top
  and bottom regions.
* In the loop that searches for the largest equal region, do the totally
  half-assed hack of splitting the inner loop into two parts -- comparing
  only the hash values the first time, and doing memcmp()s the second time.
  This makes many of my test cases >100x as fast.
  XXX This code needs a lot more work.
2000-05-19 04:15:55 +00:00
mycroft 5e7069506f We already initialize UP and BC when we fire up Curses, so pass a null pointer
to t_goto() to avoid doing it again... and again... and...
2000-05-19 01:05:43 +00:00
mycroft 3a14289c85 Clear any cached __LEAVEOK flag in __virtscr when refreshing another window. 2000-05-18 20:37:42 +00:00
jdc aecd0ef1a8 Don't try and refresh those parts of windows that are outside our terminal. 2000-05-07 21:22:43 +00:00
mycroft 2228799172 As the comment suggests, move the __unsetattr() to the end of doupdate(), just
before the fflush().  This avoids needlessly resetting modes.
2000-04-29 02:51:16 +00:00
mycroft c7d40b65f9 Speed up refresh in the presence of attributes by precalculating a mask for
each `end' command to turn off other attributes in the case of conflicts.
2000-04-29 00:42:26 +00:00
jdc e074acd8a2 We can't assume colour won't be turned off if the escape sequences for
turning off attributes aren't the same as the one for colour, so decide
that we've turned off colour when we turn off any attributes.
2000-04-28 17:11:51 +00:00
jdc ff39cfe5f4 Remove test code inadvertently left in. 2000-04-28 06:51:36 +00:00
jdc bb8643a097 Don't change the cursor position if __LEAVEOK. 2000-04-27 22:12:36 +00:00
jdc 1e17d2d2ed Implement wnoutrefresh() and doupdate(). wrefresh() now calls these functions
and the previous wrefresh() code is split between them.  Background character
and attribute handling is now done in wnoutrefresh(), thus simplifying the code
in doupdate(), makech() and quickch().
Refine xterm workround and test for it earlier - this cuts down the number of
lines we test when looking for a scrolled region.
Rename unsetattr() to __unsetattr(), so it can be used by __stopwin().
2000-04-27 00:26:19 +00:00
jdc 9c98e25a34 Work round xterm bug which displays the wrong background colour when the
screen has just been scrolled.
Only use CL if all lines have the same background colour.
Fix debug output in quickch().
2000-04-21 15:56:35 +00:00
blymn 091faeb4c6 Converted all termcap library calls to the "new" interface, this fixes
a problem with curses crashing when the CM capability was larger than
64 bytes and eliminates some possible buffer overflow problems.
2000-04-19 13:52:39 +00:00
jdc 2aeea33d8c Add support for background characters and attributes.
Add extra colour/attributes debugging.
2000-04-18 22:47:01 +00:00
jdc 711853729d Really don't move with altcharset set.
Leave other attributes if MS is defined.
Move attribute unsetting into a new function.
2000-04-16 09:55:16 +00:00
jdc 82f0638210 Don't move with altcharset or colour set (if you try this on an xterm, you
won't actually move, but will think you have).
2000-04-15 23:01:15 +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 3b5538fc53 Add color manipulation.
Note that window background attributes are not handled yet.
2000-04-12 21:47:20 +00:00
blymn 23464ee534 Made data structures opaque 2000-04-11 13:57:08 +00:00
simonb ac71081c1a When dumping the attributes for a line, put a space between each attribute
so you can tell where each one starts and stops, and prefix these lines
with "attr: ".
1999-09-17 14:21:04 +00:00
simonb 4c8cdd6200 Remove the test for NOQCH, and print the line flags in the CTRACE in
the main loop wrefresh().
1999-06-28 13:27:24 +00:00
christos cbc12c53b7 - protect NULL attributes from de-referencing
- Silence pointer casts
1999-06-23 03:27:34 +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
phil 1507e4ad2c Make endwin() save state so a subsequent call to wrefresh restores curses
and makes endwin()/wrefresh() act like a SIGTSTP.
1997-09-12 21:08:22 +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