Commit Graph

274 Commits

Author SHA1 Message Date
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
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