summaryrefslogtreecommitdiff
path: root/gnu/lib/libdialog/kernel.c
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1994-11-15 17:32:05 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1994-11-15 17:32:05 +0000
commit81301998fc52a168d02c2ad928f521706fdcbc47 (patch)
tree9cd0706a0ff6ce3d6132b259234f81040aa812c2 /gnu/lib/libdialog/kernel.c
parentff030ea17d20d98e4618afbd0da883f06dc20e7c (diff)
Notes
Diffstat (limited to 'gnu/lib/libdialog/kernel.c')
-rw-r--r--gnu/lib/libdialog/kernel.c29
1 files changed, 13 insertions, 16 deletions
diff --git a/gnu/lib/libdialog/kernel.c b/gnu/lib/libdialog/kernel.c
index 2cb7c8f8082e..4e30c51372a4 100644
--- a/gnu/lib/libdialog/kernel.c
+++ b/gnu/lib/libdialog/kernel.c
@@ -375,33 +375,30 @@ void draw_box(WINDOW *win, int y, int x, int height, int width, chtype box, chty
*/
void draw_shadow(WINDOW *win, int y, int x, int height, int width)
{
- int i;
+ int i,sx,sy;
if (has_colors()) { /* Whether terminal supports color? */
-
- /* small touchwin */
- wattrset(win, A_NORMAL);
+ getbegyx(win,sy,sx);
+ /* small touch */
+ wattrset(win, A_INVIS);
wmove(win, y + height, x + 2);
for (i = 0; i < width; i++)
- waddch(win, winch(win) & A_CHARTEXT);
-
+ waddch(win, ' ');
+ /* end touch */
wattrset(win, shadow_attr);
wmove(win, y + height, x + 2);
for (i = 0; i < width; i++)
- waddch(win, winch(win) & A_CHARTEXT);
-
+ waddch(win, mvwinch(curscr, sy+y+height, sx+x+2+i) & A_CHARTEXT);
for (i = y + 1; i < y + height + 1; i++) {
-
- /* small touchwin */
- wattrset(win, A_NORMAL);
+ /* small touch */
+ wattrset(win, A_INVIS);
wmove(win, i, x + width);
- waddch(win, winch(win) & A_CHARTEXT);
- waddch(win, winch(win) & A_CHARTEXT);
-
+ waddstr(win, " ");
+ /* end touch */
wattrset(win, shadow_attr);
wmove(win, i, x + width);
- waddch(win, winch(win) & A_CHARTEXT);
- waddch(win, winch(win) & A_CHARTEXT);
+ waddch(win, mvwinch(curscr, sy+i, sx+x+width) & A_CHARTEXT);
+ waddch(win, mvwinch(curscr, sy+i, sx+x+width+1) & A_CHARTEXT);
}
wnoutrefresh(win);
}