Commit Graph

273 Commits

Author SHA1 Message Date
itojun
67175858ec use __cputchar(), not putchar().
otherwise, __CTRACE() will not be useful for debugging curses internals.
2000-08-01 04:17:09 +00:00
itojun
2e661a4ef6 free region got from t_getstr(). we will experience memory leak if
we call initscr() multiple times (rare, but it's better to be pedant).
2000-07-31 18:55:35 +00:00
itojun
78d8274105 fix 8bit cleanness of getch() and wgetch(). never use char variable against
stdio functions which return "int" (including getchar()).
the bug was introduced in 1.9 -> 1.10.  fixes PR10723.
2000-07-31 16:22:46 +00:00
hubertf
0378dbb440 ".di Df" -> ".di\n.Df", to fix creation of paper.ps
Noted in PR 10661 by Patrick Welche <prlw1@cam.ac.uk>
2000-07-24 11:57:11 +00:00
matt
6ac8d1ec06 More include cleanup. Remvoe (p) from #undef in libipsec. 2000-07-03 03:56:20 +00:00
jdc
6f8ccda063 Really fix the __endwin/stop handler problem. 2000-06-16 06:32:19 +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
778f1338aa Restore changes 1.23->1.24 that were accidently overwritten. 2000-06-12 21:04:08 +00:00
jdc
42414cd719 Copy all background attributes (not just colour) from win to __virtscr. 2000-06-12 20:51:39 +00:00
jdc
2d0dfab73b Make sure tspace is large enough to hold all capabilities. 2000-06-12 20:48:34 +00:00
simonb
fdd068aea6 Minor formatting nit. 2000-06-04 21:07:22 +00:00
blymn
16178745d9 * Added libterm to the include path - tgoto requires it for the private
structure definition.
2000-06-03 07:10:31 +00:00
blymn
fb6ac2def9 Fix broken getcap call - it was always returning NULL. Thanks Itojun
for spotting this one!
2000-06-03 06:33:12 +00:00
jdc
c1ea940db9 Send 'ks' sequence from first call to keypad(win, TRUE) only and not from
wgetch().  Don't send 'ke' sequence from keypad(win, FALSE) or wgetch().
This makes us compatible with Solaris.
Suggested by ITOH Yasufumi.
2000-05-25 06:46:26 +00:00
jdc
76e63b5fc4 Use __restartwin() in reset_prog_mode() and __stopwin() in
reset_shell_mode().
2000-05-22 05:54:37 +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
8a4ca8617d Be more careful with the first/last pointers when untouching. 2000-05-19 07:39:20 +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
985e3d49d7 Send, if necessary, 'ks' or 'ke' sequences from keypad() and wgetch().
Fixes PR 10116.
2000-05-17 16:23:49 +00:00
jdc
5133f6e158 libcurses minor++. 2000-05-11 22:56:46 +00:00
jdc
8d997082f6 Documemt getattrs(), delay_output() and napms().
Document functions (get*).
2000-05-11 22:54:47 +00:00
jdc
291b7c9d24 Add pause.c. 2000-05-11 22:51:10 +00:00
jdc
6cce64a34b Add getattrs(), delay_output() and napms(). 2000-05-11 22:50:23 +00:00
jdc
225ce34fd7 New functions delay_output() and napms(). 2000-05-11 22:49:13 +00:00
jdc
4cb1d6d3b9 New function getattrs().
Add win to debug output.
2000-05-11 22:44:45 +00:00
blymn
fc196e1de6 * Applied patch by mrg to remove variable names from function
prototypes to prevent name space collisions.
2000-05-11 12:05:39 +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
jdc
20e0a208fb Only return TRUE if we can actually manipulate colours. 2000-05-06 19:03:39 +00:00
blymn
d2d6d2090b * Fixed lack of win arg in wattr* man entries. 2000-05-05 11:57:46 +00:00
blymn
2128c86b68 * Made erasechar and killchar into functions
* Modified __init_getch to use termcap handle that has been allocated
  (_cursesi_genbuf) instead of refetching it.
* Make wgetstr support erase - this is not a full blown SUSv2 version
  but it is a start.
2000-05-01 12:30:30 +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
6d4f51a947 Fix pasto. 2000-04-29 00:50:05 +00:00
mycroft
f9f1ee95d2 Use the mask here too. 2000-04-29 00:43:36 +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
mycroft
db72a0c5d6 Clean up a bunch more logic. 2000-04-28 23:37:11 +00:00
mycroft
40add0b991 Massively simplify some logic. 2000-04-28 22:44:33 +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
mycroft
5b770d6f23 Fix a silly bit-shifting error that causes color pairs >=8 to fail. 2000-04-27 19:54:40 +00:00
mycroft
317366b8b0 No, really, make sure ECHO is cleared in cbreak() mode too. 2000-04-27 17:50:01 +00:00
mycroft
699c904e5e Don't fiddle with the tty echo state in echo() and noecho(); it should always
remain off.
2000-04-27 17:38:30 +00:00
mycroft
e06792e318 Fix obvious bugs in init_pair(). 2000-04-27 05:03:22 +00:00
jdc
85a2e6448b Bump libcurses minor (new functions - wnoutrefresh() and doupdate()). 2000-04-27 00:28:58 +00:00
jdc
9eb3d5276b Add wnoutrefresh() and doupdate(). 2000-04-27 00:28:28 +00:00
jdc
fbc7603df3 Fix gcc -Wuninitialized.
Use unctrl() for capability string when debugging.
2000-04-27 00:27:56 +00:00
jdc
4076d037fb Use __unsetattr() to unset attributes on 'curscr'. 2000-04-27 00:27:23 +00:00
jdc
5b8d714caa Use '__TERMATTR'.
Reorder initialisation to make debugging easier to parse.
Use t_getent() not tgetent().
2000-04-27 00:26:57 +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
7b941b625f Add extra KEY_* definitions (from SUSv2).
Fix `gcc -Wuninitialized`.
2000-04-27 00:23:26 +00:00
jdc
4b24f5540b Add virtual screen for wnoutrefresh()/doupdate(). 2000-04-27 00:23:01 +00:00
jdc
3f832f5227 Add virtual screen for wnoutrefresh()/doupdate().
Add definition for __unsetattr().
2000-04-27 00:22:44 +00:00
jdc
172c0dd7e2 Background colour erase is 'ut' not 'be'.
Add extra KEY_* definition.
Wrap definition of 'bool' with "#ifndef __cplusplus".
Add __attributes(...) to *printw() and *scanw().
Add wnoutrefresh()/doupdate() definitions.
2000-04-27 00:22:16 +00:00
jdc
bd499f9b1b Background colour erase is 'ut' not 'be'. 2000-04-27 00:21:43 +00:00
jdc
703f438d4d Background colour erase is 'ut' not 'be'.
Add virtual screen for wnoutrefresh()/doupdate().
2000-04-27 00:21:22 +00:00
blymn
67967397d1 * Fixed bug in copywin.
* Fixed bug in overwrite.
* Added functions is_linetouched, is_wintouched, untouchwin and wtouchln.
2000-04-26 12:29:47 +00:00
blymn
43bf1b16a3 Bump minor version. 2000-04-25 14:05:15 +00:00
pk
8333b49df5 Fix `.Fn' call. 2000-04-24 15:13:54 +00:00
blymn
66cab71c72 * Added rcs id line to files missing it.
* Added code to __restartwin to restore meta and cursor visibility states
* Added code to __stopwin to disable meta.
* Added the *line group of functions for drawing character lines.
2000-04-24 14:09:41 +00:00
blymn
a0abaa5357 This time commit the curs_set change... 2000-04-23 14:17:32 +00:00
blymn
cf5ffc46f2 * Fixed bug in copywin which was copying more than it should.
* Changed call to wrefresh in wgetch to be before input read.
* Changed default old cursor mode to be high vis in curs_set
* Added documentation for various new functions to fns.doc.
2000-04-23 14:14:49 +00:00
thorpej
6600b61c73 Fully initialize the structure allocated in new_keymap(). 2000-04-22 21:14:19 +00:00
blymn
5cd0c74b1f * Added ungetch
* Converted inkey and getch to use getchar instead of read so ungetch
  will work.
2000-04-22 14:32:44 +00:00
blymn
bb083e0e5c * Fixed need for duplicate namp string in setterm.c
* Added meta function (turns meta bit on and off on terminal if supported)
* Added curs_set to control cursor visibility if supported.
2000-04-22 13:29:01 +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
jdc
cc935fb60f Initialise colour pairs to default (white on black).
Move colour initialisation so we don't reinitialise the first 8 colours.
2000-04-21 15:54:42 +00:00
blymn
fd2c9043b8 * Added new function dupwin.
* Fixed bug in copywin overwrite code.
2000-04-20 13:12:14 +00:00
kleink
405a7540e7 * Move <wchar.h> from libcurses to include (for the missing functionality
is to be provided by libc).
* Define wint_t and size_t in <wchar.h> as well.
2000-04-20 09:56:36 +00:00
blymn
8245539af9 * Fix longname behaviour so it returns the last alias for the terminal
name which, by convention, is the verbose terminal description.
* Fix compile errors when DEBUG defined.
2000-04-20 09:36:11 +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
008e7d1528 Use Sb/Sf if AB/AF not present.
Missed a "\n" in debugging printf.
2000-04-18 22:47:40 +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
92a8633938 Set background character and attributes for added characters. 2000-04-18 22:45:23 +00:00
jdc
31355762dc Don't replace background character with null character.
Set new background character and attributes in wbkgd().
2000-04-18 22:44:21 +00:00
jdc
836ef17ff0 Add __TERMATTR definition. This makes the code in refresh.c much easier to
follow.
Add background character and attributes to line data.
2000-04-18 22:43:25 +00:00
jdc
17934cdb2f Include <string.h> - prototype for memcpy. Thanks due to Tim Rightnour. 2000-04-18 22:15:55 +00:00
jdc
91b2edc9db Make sure we don't read a negative character value (again). 2000-04-18 21:44:48 +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
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
032680bbac Add bkgd() and bkgdset() (which were previously just macros). 2000-04-16 09:52:49 +00:00
jdc
5daa179562 Add extra debug output (for wattrset()). 2000-04-16 09:48:09 +00:00
mycroft
3dda981dc7 Make subwindows scroll correctly. 2000-04-16 05:48:25 +00:00
thorpej
1e61412b7f Add a couple of missing prototypes. 2000-04-16 01:23:11 +00:00
thorpej
8acc6372d8 Make the lint hack compile (missing prototype). 2000-04-16 01:16:43 +00:00
jdc
a4dbbeb7ba Add prototype for waddstr() 2000-04-15 23:37:30 +00:00
jdc
768717750f Add waddstr() macro replacement. 2000-04-15 23:36:55 +00:00
jdc
4af6ba0397 Changed function to use ANSI style. 2000-04-15 23:01:47 +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
jdc
79c6a0c665 Add a missing __restore_termios() in an error return.
Don't display the character on curscr if the terminal has echo on :
  - doing so will break the tracking of curscr->cury|x if we've just refreshed
  a non-fullscreen window
  - with echo on, the terminal displays the character for us anyway
2000-04-15 22:59:05 +00:00
jdc
b379c51c75 Initialise window delay for all new windows (including sub-windows). 2000-04-15 22:53:46 +00:00
jdc
8e3f558953 Don't reset firstchp and lastchp even if this line was not dirty.
They could have been set previously by a parent window or sub-window.
2000-04-15 22:53:05 +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
17a7ca57a2 Use the window list so that redefinition of a colour pair can be flagged on
all affected windows.
2000-04-14 17:37:15 +00:00
jdc
d4b4d9ed49 Add a list of windows (used when a colour pair changes). 2000-04-14 17:35:14 +00:00
simonb
9ad5d49bd9 Don't wrap declarations of mvwprintw & mvwscanw. 2000-04-14 02:53:54 +00:00