Home | History | Annotate | Download | only in libcurses
History log of /src/lib/libcurses/border.c
RevisionDateAuthorComments
 1.26  25-Dec-2024  christos make it compile again.
 1.25  23-Dec-2024  blymn Sprinkle about some cycle wasting checks for the win pointer being
null. Unfortunately, ncurses does this and there is some sloppy code
out there that relies on the check resulting in segfaults in
NetBSD curses which then, of course, gets blamed for the error.
 1.24  03-May-2022  blymn * Don't redraw the background if the new background character is the
same as the old one. This prevents excessive redraws in some
applications.

* Fix bug introduced when wbkgrndset was fixed, we cannot blindly
replace any instance of the old background character with the new one
because some of those characters were put there by the application
leading to display corruption. So flag characters as background when
they are erased and only update the flagged characters when setting
the background.
 1.23  12-Apr-2022  blymn Make the default colour pair be pair 0 which appears to match other
curses implementations.
 1.22  25-Jan-2022  blymn Correct (hopefully) the handling of wide characters.

* Remove the WCOL family of macros, these were "stealing" the upper bits
of a character attribute to store the column width of a character. No
warning was given about this in curses.h which meant it was easy to
accidentally reuse the bits in use by the WCOL macros (we already did).
Add couple of 16bit ints to the character structure iff HAVE_WCHAR is
true to hold the display width and wide char related flags (just
continuation at the moment)
* Convert all instances of WCOL macros to just reference the column width
in the char structure so it is not obfuscated.
* Fix cursor positioning so placing a cursor in the middle of a wide char
actually does just that.
* Fix plod so it understands that if the cursor is going to be positioned
in the middle of a wide char it cannot just reprint the char to get there.
* Fix plodput so it correctly counts the number of output characters for
wide characters.
* Fix slk routines to properly size the wctomb() buffer.
 1.21  19-Oct-2021  blymn Add a bit more debug.
 1.20  06-Sep-2021  rin Style fixes most for __CTRACE().
 1.19  06-Sep-2021  rin Expand __CTRACE() to __nothing #ifndef DEBUG.

Remove most of #ifdef DEBUG around __CTRACE() calls.

No binary changes, except for line numbers for assert().
 1.18  09-Jan-2017  blymn Checks for bottom right corner were reversed.
 1.17  06-Jan-2017  roy KNF.
Normalise coding style.
White space police.
Sprinkle some extra braces to make the flow more clear.

No functional changes.
 1.16  22-Oct-2016  christos remove bogus malloc casts
 1.15  05-May-2013  jdc branches: 1.15.10;
Also merge in background attributes.
 1.14  25-Dec-2010  blymn branches: 1.14.6; 1.14.8; 1.14.12;
Allow attributes to be applied to the default line drawing characters
by just passing attributes as arguments to the wborder call.
 1.13  23-Feb-2010  drochner misc fixes and improvements:
-call setlocale(LC_CTYPE, "") before nl_langinfo(CODESET) if the
locale settings is (still) at "C" - otherwise the CODESET doesn't work
-fix the type of the WACS_* symbols -- this needs to be cchar_t*
-add safeguards where the return value of wcwidth() is used for
loop counters or indexing -- it can be -1
-use more common code in the widechar support case -- in particular
let the wchar functions do the work even if chtype ones were called
-implement wcursyncup/wsyncup/wsyncdown
-somewhat experimental: allow ACS_* variables to refer to WACS_*
table entries -- this way, programs using the old chtype using API
can use UTF8 line drawing on terminals which support UTF8 but not
ACS switching
-fix some logics bugs in UTF8 recognition and ALTCHARSET handling
 1.12  22-Jul-2009  roy 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.
 1.11  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.10  28-May-2007  blymn branches: 1.10.10;
Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
 1.9  21-Jan-2007  jdc Add debug "areas" that allow selective debugging by setting the
"CURSES_TRACE_MASK" environment variable. Postive vales include
debug areas, negative values exclude them.
 1.8  15-Jan-2006  jdc branches: 1.8.6;
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@.
 1.7  05-Feb-2001  jdc Don't delete attributes when character 0 (default) is passed in.
Minor KNF.
 1.6  24-Apr-2000  blymn * 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.
 1.5  18-Apr-2000  jdc Set background character and attributes for added characters.
 1.4  15-Apr-2000  blymn 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.
 1.3  12-Apr-2000  jdc Remove attributes of characters displayed with -DDEBUG.
Add color manipulation.
 1.2  11-Apr-2000  blymn Made data structures opaque
 1.1  05-Mar-2000  jdc branches: 1.1.2;
file border.c was initially added on branch curses-v3.
 1.1.2.2  06-Mar-2000  jdc Better debug output. Merge existing attributes. Draw corners on sub-windows.
 1.1.2.1  05-Mar-2000  jdc wborder() implementation - draw border around window, c.f. box().
 1.8.6.3  22-Jan-2007  jdc We need to SET_WCOL() in wborder() too.
 1.8.6.2  21-Jan-2007  jdc Apply the changes that add debug "areas" on HEAD to the wcurses branch.
Add correspending changes to the debug code that is only present on the branch.
 1.8.6.1  21-Jan-2007  blymn Wide curses merge
 1.10.10.1  18-May-2008  yamt sync with head.
 1.14.12.1  23-Jun-2013  tls resync from head
 1.14.8.1  11-May-2013  riz Pull up following revision(s) (requested by jdc in ticket #884):
lib/libcurses/border.c: revision 1.15
Also merge in background attributes.
 1.14.6.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.15.10.3  20-Mar-2017  pgoyette Sync with HEAD
 1.15.10.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.15.10.1  04-Nov-2016  pgoyette Sync with HEAD

RSS XML Feed