Home | History | Annotate | Download | only in libcurses
History log of /src/lib/libcurses/color.c
RevisionDateAuthorComments
 1.48  11-Jul-2024  blymn PR lib/58282

This is a partial fix for the issues raised. This change will
reduce the output by preventing the foreground and background
colours being set on each cell. The current colour pair applied
is tracked and requests to set the colour to the same pair is now
a no-op.
 1.47  19-Oct-2022  blymn branches: 1.47.4;
Fixes for lib/56926 amongst other things:
- plod now correctly accounts for wide characters when plodding
- use erase line when in color mode if the terminal has the capability
- ensure that the CA_CONTINUATION flag is applied consistently to the
subsequent characters in a wide character.
- fix a bunch of refresh bugs that caused inconsistent placement of
wide characters.
 1.46  12-Apr-2022  blymn Make the default colour pair be pair 0 which appears to match other
curses implementations.
 1.45  17-Dec-2021  uwe curses: spell "foreground" correctly in comments
 1.44  06-Sep-2021  rin Style fixes most for __CTRACE().
 1.43  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.42  06-Sep-2021  rin Fix old-style definition: use_default_colors() --> use_default_colors(void)
 1.41  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.40  06-Jan-2017  roy u_int -> unsigned int, u_int32_t -> uint32_t.
 1.39  03-Jan-2017  roy Now that we have the initialize_color capability,
init_color can be made to work.

From: rofl0r <retnyg@gmx.net>
 1.38  03-Oct-2011  roy branches: 1.38.24;
Use tiparm instead of vtparm.
 1.37  06-Jan-2011  blymn Back out change for assume_default_colors as it was not correct.
 1.36  25-Dec-2010  blymn Ignore request to change the values of colour pair 0
Explicitly set foreground and/or background colours when -1 is passed
to assume_default_colors()
 1.35  03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.34  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.33  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.32  21-Jan-2007  jdc branches: 1.32.10;
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.31  23-Aug-2006  jdc branches: 1.31.4;
Make sure we update the correct window when changing colour pairs.
 1.30  15-Jan-2006  jdc branches: 1.30.2;
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.29  22-Mar-2004  jdc branches: 1.29.6;
Because we are changing the libcurses major number, remove can_change_colors()
and change the attribute definitions so that we can support more colour pairs.
 1.28  16-Mar-2004  jdc Accept any negative number of init_pair(). Noticed by Peter Bex.
Swap red/blue and yellow/cyan if necessary in assume_default_colors().
 1.27  21-Oct-2003  fvdl Don't compare an int against NULL.
 1.26  05-Oct-2003  jdc Fix __CTRACE arguments.
 1.25  30-Jul-2003  dsl Use _cursesi_screen->winlistp (depracating __winlistp)
Optimise and adjust layout so that fewer line breaks are required.
 1.24  06-Apr-2003  jdc Swap red/blue and yellow/cyan when working with Sb/Sf colour. Problem noticed
when working on PR 21000.
 1.23  17-Feb-2003  dsl 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)
 1.22  27-Jan-2003  jdc Rename can_change_colors() to can_change_color().
Add can_change_colors() (that just calls can_change_color()).
Add no_color_video().
Replace __nca with _cursesi_screen->nca.
 1.21  25-Nov-2002  jdc Don't allow default colour setting to be overwritten in init_pair().
(Also noticed by Pooka).
 1.20  22-Oct-2002  blymn Fix lint nits mainly with the len parameter type in hash_more.
 1.19  04-Aug-2002  jdc 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.
 1.18  26-Jun-2002  christos PR/17352: David Laight: Curses core-dumps on windows > 1024 wide.
 1.17  02-Jan-2002  blymn Remove extraneous tabs from blank lines.
 1.16  11-Dec-2001  blymn * Remove termcap globals from public interface
* Clean up commented out code
 1.15  02-Dec-2001  blymn * Major change to add support for the newterm/set_term functions.
* Added fix to getch.c suggested by Gabriel Rosenkoetter (thanks :-)
 1.14  05-Jan-2001  christos de-lint:
- bad arithmetic shift
- const castaways.
 1.13  19-Dec-2000  jdc 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).
 1.12  06-May-2000  jdc Only return TRUE if we can actually manipulate colours.
 1.11  29-Apr-2000  mycroft Use the mask here too.
 1.10  27-Apr-2000  mycroft Fix obvious bugs in init_pair().
 1.9  27-Apr-2000  jdc Use '__TERMATTR'.
Reorder initialisation to make debugging easier to parse.
Use t_getent() not tgetent().
 1.8  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.7  21-Apr-2000  jdc Initialise colour pairs to default (white on black).
Move colour initialisation so we don't reinitialise the first 8 colours.
 1.6  18-Apr-2000  jdc Use Sb/Sf if AB/AF not present.
Missed a "\n" in debugging printf.
 1.5  17-Apr-2000  blymn 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
 1.4  15-Apr-2000  jdc 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.
 1.3  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.2  14-Apr-2000  jdc Use the window list so that redefinition of a colour pair can be flagged on
all affected windows.
 1.1  12-Apr-2000  jdc Colour specific routines.
 1.29.6.1  25-Aug-2006  ghen Pull up following revision(s) (requested by jdc in ticket #1475):
lib/libcurses/color.c: revision 1.31
lib/libcurses/screen.c: revision 1.18
lib/libcurses/delwin.c: revision 1.14
Make sure we update the correct window when changing colour pairs.
When deleting windows and screens, also set to NULL the standard names
that refer to the window or screen just deleted.
Add some more debugging information.
 1.30.2.1  25-Aug-2006  ghen Pull up following revision(s) (requested by jdc in ticket #54):
lib/libcurses/color.c: revision 1.31
lib/libcurses/screen.c: revision 1.18
lib/libcurses/delwin.c: revision 1.14
Make sure we update the correct window when changing colour pairs.
When deleting windows and screens, also set to NULL the standard names
that refer to the window or screen just deleted.
Add some more debugging information.
 1.31.4.1  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.32.10.1  18-May-2008  yamt sync with head.
 1.38.24.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.47.4.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed