t*************************************************************************** Copyright (c) 1998,2000 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 * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, distribute with modifications, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name(s) of the above copyright * holders shall not be used in advertising or otherwise to promote the * sale, use or other dealings in this Software without prior written * authorization. **************************************************************************** $Id: curs_attr.3x,v 1.22 2000/07/08 11:59:58 tom Exp $ curs_attr 3X ""
NAME
attroff,
wattroff,
attron,
wattron,
attrset,
wattrset,
color_set,
wcolor_set,
standend,
wstandend,
standout,
wstandout,
attr_get,
wattr_get,
attr_off,
wattr_off,
attr_on,
wattr_on,
attr_set,
wattr_set,
chgat,
wchgat,
mvchgat,
mvwchgat,
PAIR_NUMBER -
curses character and window attribute control routines
SYNOPSIS
#include <curses.h>
int attroff(int attrs);
int wattroff(WINDOW *win, int attrs);
int attron(int attrs);
int wattron(WINDOW *win, int attrs);
int attrset(int attrs);
int wattrset(WINDOW *win, int attrs);
int color_set(short color_pair_number, void* opts);
int wcolor_set(WINDOW *win, short color_pair_number,
void* opts);
int standend(void);
int wstandend(WINDOW *win);
int standout(void);
int wstandout(WINDOW *win);
int attr_get(attr_t *attrs, short *pair, void *opts);
int wattr_get(WINDOW *win, attr_t *attrs, short *pair,
void *opts);
int attr_off(attr_t attrs, void *opts);
int wattr_off(WINDOW *win, attr_t attrs, void *opts);
int attr_on(attr_t attrs, void *opts);
int wattr_on(WINDOW *win, attr_t attrs, void *opts);
int attr_set(attr_t attrs, short pair, void *opts);
int wattr_set(WINDOW *win, attr_t attrs, short pair, void *opts);
int chgat(int n, attr_t attr, short color,
const void *opts)
int wchgat(WINDOW *win, int n, attr_t attr,
short color, const void *opts)
int mvchgat(int y, int x, int n, attr_t attr,
short color, const void *opts)
int mvwchgat(WINDOW *win, int y, int x, int n,
attr_t attr, short color, const void *opts)
DESCRIPTION
These routines manipulate the current attributes of the named window. The
current attributes of a window apply to all characters that are written into
the window with
waddch,
waddstr and
wprintw. Attributes are
a property of the character, and move with the character through any scrolling
and
insert/
delete line/
character operations. To the extent possible, they are
displayed as appropriate modifications to the graphic rendition of characters
put on the screen.
The routine
attrset sets the current attributes of the given window to
attrs. The routine
attroff turns off the named attributes without
turning any other attributes on or off. The routine
attron turns on the
named attributes without affecting any others. The routine
standout is
the same as
attron(A_STANDOUT). The routine
standend is the same
as
attrset(A_NORMAL) or
attrset(0), that is, it turns off all
attributes.
The routine
color_set sets the current color of the given window to the
foreground/
background combination described by the color_pair_number. The
parameter opts is reserved for future use, applications must supply a null
pointer.
The routine
wattr_get returns the current attribute and color pair for
the given window;
attr_get returns the current attribute and color pair
for
stdscr.
The remaining
attr_* functions operate exactly like the corresponding
attr* functions, except that they take arguments of type
attr_t
rather than
int.
The routine
chgat changes the attributes of a given number of characters
starting at the current cursor location of
stdscr. It does not update
the cursor and does not perform wrapping. A character count of -1 or greater
than the remaining window width means to change attributes all the way to the
end of the current line. The
wchgat function generalizes this to any
window; the
mvwchgat function does a cursor move before acting. In these
functions, the color argument is a color-pair index (as in the first argument
of
init_pair, see
curs_color(3X)). The
opts argument is not
presently used, but is reserved for the future (leave it
NULL).
Attributes
The following video attributes, defined in
<curses.h>, can be passed to
the routines
attron,
attroff, and
attrset, or OR'ed with the
characters passed to
addch.
|
A_NORMAL Normal display (no highlight) |
A_STANDOUT Best highlighting mode of the terminal. |
A_UNDERLINE Underlining |
A_REVERSE Reverse video |
A_BLINK Blinking |
A_DIM Half bright |
A_BOLD Extra bright or bold |
A_PROTECT Protected mode |
A_INVIS Invisible or blank mode |
A_ALTCHARSET Alternate character set |
A_CHARTEXT Bit-mask to extract a character |
COLOR_PAIR(n) Color-pair number n |
|
The following macro is the reverse of
COLOR_PAIR(n):
C
PAIR_NUMBER(attrs) Returns the pair number associated
with the COLOR_PAIR(n) attribute.
The return values of many of these routines are not meaningful (they are
implemented as macro-expanded assignments and simply return their argument).
The SVr4 manual page claims (falsely) that these routines always return
1.
NOTES
Note that
attroff,
wattroff,
attron,
wattron,
attrset,
wattrset,
standend and
standout may be macros.
PORTABILITY
All these functions are supported in the XSI Curses standard, Issue 4. The
standard defined the dedicated type for highlights,
attr_t, which is not
defined in SVr4 curses. The functions taking
attr_t arguments are
not supported under SVr4.
The XSI Curses standard states that whether the traditional functions
attron/
attroff/
attrset can manipulate attributes other than
A_BLINK,
A_BOLD,
A_DIM,
A_REVERSE,
A_STANDOUT, or
A_UNDERLINE is "unspecified". Under this implementation as well as
SVr4 curses, these functions correctly manipulate all other highlights
(specifically,
A_ALTCHARSET,
A_PROTECT, and
A_INVIS).
XSI Curses added the new entry points,
attr_get,
attr_on,
attr_off,
attr_set,
wattr_on,
wattr_off,
wattr_get,
wattr_set. These are intended to work with
a new series of highlight macros prefixed with
WA_.
|
WA_NORMAL Normal display (no highlight) |
WA_STANDOUT Best highlighting mode of the terminal. |
WA_UNDERLINE Underlining |
WA_REVERSE Reverse video |
WA_BLINK Blinking |
WA_DIM Half bright |
WA_BOLD Extra bright or bold |
WA_ALTCHARSET Alternate character set |
|
The XSI curses standard specifies that each pair of corresponding
A_
and
WA_-using functions operates on the same current-highlight
information.
The XSI standard extended conformance level adds new highlights
A_HORIZONTAL,
A_LEFT,
A_LOW,
A_RIGHT,
A_TOP,
A_VERTICAL (and corresponding
WA_ macros for each) which this
curses does not yet support.
SEE ALSO
curses(3X),
curs_addch(3X),
curs_addstr(3X),
curs_printw(3X)
## The following sets edit modes for GNU EMACS# Local Variables:# mode:nroff# fill-column:79# End: