diff options
author | ache <ache@FreeBSD.org> | 1994-11-15 12:42:14 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-11-15 12:42:14 +0000 |
commit | 62c5bc791ba90cd814dc5dc94feca9cd5d6a6709 (patch) | |
tree | caadeb75a926746ed991c8613f5dd6a3b0e04105 /gnu/lib/libdialog/kernel.c | |
parent | b268748ec9f3842bc43cba0396340a623f1d46b9 (diff) | |
download | FreeBSD-src-62c5bc791ba90cd814dc5dc94feca9cd5d6a6709.zip FreeBSD-src-62c5bc791ba90cd814dc5dc94feca9cd5d6a6709.tar.gz |
Fix bug: only one second-level shadow drawed
Diffstat (limited to 'gnu/lib/libdialog/kernel.c')
-rw-r--r-- | gnu/lib/libdialog/kernel.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gnu/lib/libdialog/kernel.c b/gnu/lib/libdialog/kernel.c index bdaa87f..2cb7c8f 100644 --- a/gnu/lib/libdialog/kernel.c +++ b/gnu/lib/libdialog/kernel.c @@ -378,11 +378,27 @@ void draw_shadow(WINDOW *win, int y, int x, int height, int width) int i; if (has_colors()) { /* Whether terminal supports color? */ + + /* small touchwin */ + wattrset(win, A_NORMAL); + wmove(win, y + height, x + 2); + for (i = 0; i < width; i++) + waddch(win, winch(win) & A_CHARTEXT); + wattrset(win, shadow_attr); wmove(win, y + height, x + 2); for (i = 0; i < width; i++) waddch(win, winch(win) & A_CHARTEXT); + for (i = y + 1; i < y + height + 1; i++) { + + /* small touchwin */ + wattrset(win, A_NORMAL); + wmove(win, i, x + width); + waddch(win, winch(win) & A_CHARTEXT); + waddch(win, winch(win) & A_CHARTEXT); + + wattrset(win, shadow_attr); wmove(win, i, x + width); waddch(win, winch(win) & A_CHARTEXT); waddch(win, winch(win) & A_CHARTEXT); |