Commit Graph

67 Commits

Author SHA1 Message Date
veego
e4f44a55a6 Fix compile errors on i386 by changing %ld to %zu. 2007-05-29 19:07:19 +00:00
blymn
070937be37 Fix some compiler warnings.
Remove shadowed variable declarations when DEBUG is defined.
2007-05-29 11:10:55 +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
dsl
c58f95b0f5 Don't read entry after end of array.
Discovered by Neil Ludban running curses under 'ElecticFence'
2005-10-23 18:38:52 +00:00
dsl
67b39d4957 Change first arg of __hash_more to const void * to remove need for double casts 2005-02-18 22:16:27 +00:00
christos
9717f6662e check fflush() return code (from Julian Coleman) 2004-04-07 17:27:10 +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
jdc
256ce6a6f2 Rework the way window/wub-window refresh is done.
For each line that is marked dirty on each sub-window, we now mark the
relevant line on the parent as dirty and unmark it on the sub-window.
This avoids copying the same data multiple times and also leaves the
cursor in the correct position for the window refreshed.
2003-07-05 19:07:49 +00:00
jdc
5572bca927 Make the refresh complete in the presence of multiple sub-windows.
Match function names in the debug output.
2003-06-28 21:11:43 +00:00
dsl
14b491c2c5 Stop refresh(subwin) doing refresh on the other subwin's created before it.
(If nothing else the cursor would get left in the wrong place).
Fix some if (!flags & MASK) checks.
2003-06-26 17:17:10 +00:00
jdc
045c8e350f Now refresh() refreshes subwindows too.
Fixes PR lib/20544 by rtr.
2003-03-29 21:43:22 +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
8ca56fe956 Check for conflict between colour and other attributes. The previous
checks when adding attributes could be inadequate if background colours
were later added to a window.
2003-01-27 21:11:12 +00:00
jdc
3f8ad5302e Back out part of rev 1.50. We can't call werase() here.
Fixes PR lib/19739 by Matthias Scheler.
Problem also noted by Martin Husemann.
2003-01-12 12:53:51 +00:00
jdc
f8b5b67351 Add pnoutrefresh() and prefresh().
Modify _cursesi_wnoutrefresh() to handle pads.
2002-12-23 12:17:55 +00:00
jdc
ab39ef114a When copying a line from a window, only copy the changed part instead of
the whole line.
This fixes a bug when displaying displaying overlapping windows.
2002-12-05 17:22:13 +00:00
blymn
d5dc62cbd8 Fix lint nits mainly with the len parameter type in hash_more. 2002-10-22 11:37:34 +00:00
jdc
4eb3ef3dac Set the curses default colours to white on black when using colour.
See the Single UNIX Specification, Version 2 :

  http://www.opengroup.org/onlinepubs/007908799/xcurses/can_change_color.html

Also, add the functions :

	use_default_colors();
	assume_default_colors(fore, back);

(from ncurses) that allow the terminal default colours or user-specified
default colours to be used.
2002-08-04 16:43:04 +00:00
christos
ce1b68c92d PR/17352: David Laight: Curses core-dumps on windows > 1024 wide. 2002-06-26 18:13:59 +00:00
blymn
ef5927835e Remove extraneous tabs from blank lines. 2002-01-02 10:38:27 +00:00
blymn
64df79afe7 fix __startwin() so it outputs the init strings to the correct device. 2001-12-31 14:23:11 +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
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