summaryrefslogtreecommitdiffstats
path: root/lib/libcurses/lib_box.c
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>1997-11-26 04:01:02 +0000
committermillert <millert@openbsd.org>1997-11-26 04:01:02 +0000
commit010b00ebb3f4bdd576ec41ca1d5d0a8994e8fe5b (patch)
tree5ee5e7213ad9b412a927de7effdcb7c8ce4b489e /lib/libcurses/lib_box.c
parentlibform from ncurses 4.1. Post 4.1 patches to be applied in a separate commit. (diff)
downloadwireguard-openbsd-010b00ebb3f4bdd576ec41ca1d5d0a8994e8fe5b.tar.xz
wireguard-openbsd-010b00ebb3f4bdd576ec41ca1d5d0a8994e8fe5b.zip
ncurses 4.1 + changes to work with our terminfo libs (instead of
the ncurses ones). Changes are #ifdef EXTERN_TERMINFO. Post 4.1 patches will be applied in a separate commit.
Diffstat (limited to 'lib/libcurses/lib_box.c')
-rw-r--r--lib/libcurses/lib_box.c68
1 files changed, 41 insertions, 27 deletions
diff --git a/lib/libcurses/lib_box.c b/lib/libcurses/lib_box.c
index bf45be33336..2eaf312238a 100644
--- a/lib/libcurses/lib_box.c
+++ b/lib/libcurses/lib_box.c
@@ -31,7 +31,9 @@
**
*/
-#include "curses.priv.h"
+#include <curses.priv.h>
+
+MODULE_ID("Id: lib_box.c,v 1.7 1997/04/12 17:51:49 tom Exp $")
int wborder(WINDOW *win, chtype ls, chtype rs, chtype ts,
chtype bs, chtype tl, chtype tr, chtype bl, chtype br)
@@ -39,7 +41,16 @@ int wborder(WINDOW *win, chtype ls, chtype rs, chtype ts,
short i;
short endx, endy;
- T(("wborder() called"));
+ T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
+ win,
+ _tracechtype2(1,ls),
+ _tracechtype2(2,rs),
+ _tracechtype2(3,ts),
+ _tracechtype2(4,bs),
+ _tracechtype2(5,tl),
+ _tracechtype2(6,tr),
+ _tracechtype2(7,bl),
+ _tracechtype2(8,br)));
if (ls == 0) ls = ACS_VLINE;
if (rs == 0) rs = ACS_VLINE;
@@ -50,23 +61,23 @@ short endx, endy;
if (bl == 0) bl = ACS_LLCORNER;
if (br == 0) br = ACS_LRCORNER;
- ls |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- rs |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- ts |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- bs |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- tl |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- tr |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- bl |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
- br |= (win->_attrs ? win->_attrs : (win->_bkgd & A_ATTRIBUTES));
+ ls = _nc_render(win, ls);
+ rs = _nc_render(win, rs);
+ ts = _nc_render(win, ts);
+ bs = _nc_render(win, bs);
+ tl = _nc_render(win, tl);
+ tr = _nc_render(win, tr);
+ bl = _nc_render(win, bl);
+ br = _nc_render(win, br);
- T(("using %lx, %lx, %lx, %lx, %lx, %lx, %lx, %lx", ls, rs, ts, bs, tl, tr, bl, br));
+ T(("using %#lx, %#lx, %#lx, %#lx, %#lx, %#lx, %#lx, %#lx", ls, rs, ts, bs, tl, tr, bl, br));
endx = win->_maxx;
endy = win->_maxy;
for (i = 0; i <= endx; i++) {
- win->_line[0].text[i] = ts;
- win->_line[endy].text[i] = bs;
+ win->_line[0].text[i] = ts;
+ win->_line[endy].text[i] = bs;
}
win->_line[endy].firstchar = win->_line[0].firstchar = 0;
win->_line[endy].lastchar = win->_line[0].lastchar = endx;
@@ -83,7 +94,7 @@ short endx, endy;
win->_line[endy].text[endx] = br;
_nc_synchook(win);
- return OK;
+ returnCode(OK);
}
int whline(WINDOW *win, chtype ch, int n)
@@ -92,27 +103,29 @@ short line;
short start;
short end;
- T(("whline(%p,%lx,%d) called", win, ch, n));
+ T((T_CALLED("whline(%p,%s,%d)"), win, _tracechtype(ch), n));
line = win->_cury;
start = win->_curx;
end = start + n - 1;
- if (end > win->_maxx)
+ if (end > win->_maxx)
end = win->_maxx;
- if (win->_line[line].firstchar == _NOCHANGE || win->_line[line].firstchar > start)
+ if (win->_line[line].firstchar == _NOCHANGE || win->_line[line].firstchar > start)
win->_line[line].firstchar = start;
- if (win->_line[line].lastchar == _NOCHANGE || win->_line[line].lastchar < start)
+ if (win->_line[line].lastchar == _NOCHANGE || win->_line[line].lastchar < start)
win->_line[line].lastchar = end;
if (ch == 0)
ch = ACS_HLINE;
+ ch = _nc_render(win, ch);
+
while ( end >= start) {
- win->_line[line].text[end] = ch | win->_attrs;
+ win->_line[line].text[end] = ch;
end--;
}
- return OK;
+ returnCode(OK);
}
int wvline(WINDOW *win, chtype ch, int n)
@@ -120,27 +133,28 @@ int wvline(WINDOW *win, chtype ch, int n)
short row, col;
short end;
- T(("wvline(%p,%lx,%d) called", win, ch, n));
+ T((T_CALLED("wvline(%p,%s,%d)"), win, _tracechtype(ch), n));
row = win->_cury;
col = win->_curx;
end = row + n - 1;
- if (end > win->_maxy)
+ if (end > win->_maxy)
end = win->_maxy;
if (ch == 0)
ch = ACS_VLINE;
+ ch = _nc_render(win, ch);
while(end >= row) {
- win->_line[end].text[col] = ch | win->_attrs;
- if (win->_line[end].firstchar == _NOCHANGE || win->_line[end].firstchar > col)
+ win->_line[end].text[col] = ch;
+ if (win->_line[end].firstchar == _NOCHANGE || win->_line[end].firstchar > col)
win->_line[end].firstchar = col;
- if (win->_line[end].lastchar == _NOCHANGE || win->_line[end].lastchar < col)
+ if (win->_line[end].lastchar == _NOCHANGE || win->_line[end].lastchar < col)
win->_line[end].lastchar = col;
end--;
}
_nc_synchook(win);
- return OK;
+ returnCode(OK);
}
-
+