aboutsummaryrefslogtreecommitdiff
path: root/contrib/ncurses/ncurses/base/lib_bkgd.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ncurses/ncurses/base/lib_bkgd.c')
-rw-r--r--contrib/ncurses/ncurses/base/lib_bkgd.c86
1 files changed, 44 insertions, 42 deletions
diff --git a/contrib/ncurses/ncurses/base/lib_bkgd.c b/contrib/ncurses/ncurses/base/lib_bkgd.c
index 410ee0580433..071924c56f1e 100644
--- a/contrib/ncurses/ncurses/base/lib_bkgd.c
+++ b/contrib/ncurses/ncurses/base/lib_bkgd.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998 Free Software Foundation, Inc. *
+ * 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 *
@@ -33,54 +33,56 @@
#include <curses.priv.h>
-MODULE_ID("$Id: lib_bkgd.c,v 1.12 1998/02/11 12:13:54 tom Exp $")
+MODULE_ID("$Id: lib_bkgd.c,v 1.14 2000/12/10 02:43:26 tom Exp $")
-void wbkgdset(WINDOW *win, chtype ch)
+NCURSES_EXPORT(void)
+wbkgdset(WINDOW *win, chtype ch)
{
- T((T_CALLED("wbkgdset(%p,%s)"), win, _tracechtype(ch)));
-
- if (win) {
- chtype off = AttrOf(win->_bkgd);
- chtype on = AttrOf(ch);
-
- toggle_attr_off(win->_attrs,off);
- toggle_attr_on (win->_attrs,on);
-
- if (TextOf(ch)==0)
- ch |= BLANK;
- win->_bkgd = ch;
- }
- returnVoid;
+ T((T_CALLED("wbkgdset(%p,%s)"), win, _tracechtype(ch)));
+
+ if (win) {
+ chtype off = AttrOf(win->_bkgd);
+ chtype on = AttrOf(ch);
+
+ toggle_attr_off(win->_attrs, off);
+ toggle_attr_on(win->_attrs, on);
+
+ if (TextOf(ch) == 0)
+ ch |= BLANK;
+ win->_bkgd = ch;
+ }
+ returnVoid;
}
-int wbkgd(WINDOW *win, const chtype ch)
+NCURSES_EXPORT(int)
+wbkgd(WINDOW *win, const chtype ch)
{
- int code = ERR;
- int x, y;
- chtype new_bkgd = ch;
+ int code = ERR;
+ int x, y;
+ chtype new_bkgd = ch;
+
+ T((T_CALLED("wbkgd(%p,%s)"), win, _tracechtype(new_bkgd)));
- T((T_CALLED("wbkgd(%p,%s)"), win, _tracechtype(new_bkgd)));
+ if (win) {
+ chtype old_bkgd = getbkgd(win);
- if (win) {
- chtype old_bkgd = getbkgd(win);
+ wbkgdset(win, new_bkgd);
+ wattrset(win, AttrOf(win->_bkgd));
- wbkgdset(win, new_bkgd);
- wattrset(win, AttrOf(win->_bkgd));
-
- for (y = 0; y <= win->_maxy; y++) {
- for (x = 0; x <= win->_maxx; x++) {
- if (win->_line[y].text[x] == old_bkgd)
- win->_line[y].text[x] = win->_bkgd;
- else
- win->_line[y].text[x] =
- _nc_render(win,(A_ALTCHARSET &
- AttrOf(win->_line[y].text[x]))
- | TextOf(win->_line[y].text[x]));
- }
+ for (y = 0; y <= win->_maxy; y++) {
+ for (x = 0; x <= win->_maxx; x++) {
+ if (win->_line[y].text[x] == old_bkgd)
+ win->_line[y].text[x] = win->_bkgd;
+ else
+ win->_line[y].text[x] =
+ _nc_render(win, (A_ALTCHARSET &
+ AttrOf(win->_line[y].text[x]))
+ | TextOf(win->_line[y].text[x]));
+ }
+ }
+ touchwin(win);
+ _nc_synchook(win);
+ code = OK;
}
- touchwin(win);
- _nc_synchook(win);
- code = OK;
- }
- returnCode(code);
+ returnCode(code);
}