X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_slkatr_set.c;h=7c5a23acdb1f9a8fb743be31a7cbcea667490b66;hp=9a5709f37f3a0ab7dc5f04ef26aca7e9ec378e87;hb=c976a90788f3e50afc773670ff74c5270ecb48df;hpb=95a30fbbfc81d5eb0a76e139c86e0a6505cad871 diff --git a/ncurses/base/lib_slkatr_set.c b/ncurses/base/lib_slkatr_set.c index 9a5709f3..7c5a23ac 100644 --- a/ncurses/base/lib_slkatr_set.c +++ b/ncurses/base/lib_slkatr_set.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 1998-2014,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -38,27 +39,43 @@ */ #include -MODULE_ID("$Id: lib_slkatr_set.c,v 1.11 2009/01/25 00:47:15 tom Exp $") +MODULE_ID("$Id: lib_slkatr_set.c,v 1.17 2020/02/02 23:34:34 tom Exp $") NCURSES_EXPORT(int) -slk_attr_set(const attr_t attr, short color_pair_number, void *opts) +NCURSES_SP_NAME(slk_attr_set) (NCURSES_SP_DCLx + const attr_t attr, + NCURSES_PAIRS_T pair_arg, + void *opts) { int code = ERR; + int color_pair = pair_arg; - T((T_CALLED("slk_attr_set(%s,%d)"), _traceattr(attr), color_pair_number)); + T((T_CALLED("slk_attr_set(%p,%s,%d)"), + (void *) SP_PARM, + _traceattr(attr), + color_pair)); - if (SP != 0 - && SP->_slk != 0 - && !opts - && color_pair_number >= 0 - && color_pair_number < SP->_pair_limit) { - TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP->_slk->attr)))); - SetAttr(SP->_slk->attr, attr); - if (color_pair_number > 0) { - SetPair(SP->_slk->attr, color_pair_number); + set_extended_pair(opts, color_pair); + if (SP_PARM != 0 + && SP_PARM->_slk != 0 + && color_pair >= 0 + && color_pair < SP_PARM->_pair_limit) { + TR(TRACE_ATTRS, ("... current %s", _tracech_t(CHREF(SP_PARM->_slk->attr)))); + SetAttr(SP_PARM->_slk->attr, attr); + if (color_pair > 0) { + SetPair(SP_PARM->_slk->attr, color_pair); } - TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP->_slk->attr)))); + TR(TRACE_ATTRS, ("new attribute is %s", _tracech_t(CHREF(SP_PARM->_slk->attr)))); code = OK; } returnCode(code); } + +#if NCURSES_SP_FUNCS +NCURSES_EXPORT(int) +slk_attr_set(const attr_t attr, NCURSES_COLOR_T pair_arg, void *opts) +{ + return NCURSES_SP_NAME(slk_attr_set) (CURRENT_SCREEN, attr, + pair_arg, opts); +} +#endif