From fb05aa973e85c578ac6a8e23fbf9c7afba656da1 Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Tue, 15 Nov 1994 12:42:14 +0000 Subject: [PATCH] Fix bug: only one second-level shadow drawed --- gnu/lib/libdialog/kernel.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/lib/libdialog/kernel.c b/gnu/lib/libdialog/kernel.c index bdaa87f3321..2cb7c8f8082 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);