static char *sccsid
= "@(#)wwframe.c 1.1 83/07/18";
char ulc
, top
, urc
, left
, right
, llc
, bottom
, lrc
;
w
->ww_incol
= w
->ww_ncol
;
w
->ww_inrow
= w
->ww_nrow
;
if (w
->ww_col
+ w
->ww_ncol
== WCols
)
if (w
->ww_row
+ w
->ww_nrow
== WRows
)
else if (wwcheckframe(w->ww_row + w->ww_nrow,
w->ww_col, w->ww_col + w->ww_ncol - 1, wwhead))
else if (wwcheckframe(w->ww_row + w->ww_nrow - 1,
w->ww_col, w->ww_col + w->ww_ncol - 1, wwhead)) {
Wgetframe(&ulc
, &top
, &urc
, &left
, &right
, &llc
, &bottom
, &lrc
);
Wauxcursor(w
->ww_win
, 0, 0);
Waputc(top
, 0, w
->ww_win
);
Waputc(ulc
, 0, w
->ww_win
);
for (i
= w
->ww_ncol
- 2; i
> 0; i
--)
Waputc(top
, 0, w
->ww_win
);
Waputc(top
, 0, w
->ww_win
);
Waputc(urc
, 0, w
->ww_win
);
Wauxcursor(w
->ww_win
, w
->ww_nrow
- 1, 0);
Waputc(bottom
, 0, w
->ww_win
);
Waputc(llc
, 0, w
->ww_win
);
for (i
= w
->ww_ncol
- 2; i
> 0; i
--)
Waputc(bottom
, 0, w
->ww_win
);
Waputc(bottom
, 0, w
->ww_win
);
Waputc(lrc
, 0, w
->ww_win
);
Wauxcursor(w
->ww_win
, 0, 0);
Waputc(left
, 0, w
->ww_win
);
Waputc(ulc
, 0, w
->ww_win
);
for (i
= 1; i
< w
->ww_nrow
- 1; i
++) {
Wauxcursor(w
->ww_win
, i
, 0);
Waputc(left
, 0, w
->ww_win
);
Wauxcursor(w
->ww_win
, w
->ww_nrow
- 1, 0);
Waputc(left
, 0, w
->ww_win
);
Waputc(llc
, 0, w
->ww_win
);
Wauxcursor(w
->ww_win
, 0, w
->ww_ncol
- 1);
Waputc(right
, 0, w
->ww_win
);
Waputc(urc
, 0, w
->ww_win
);
for (i
= 1; i
< w
->ww_nrow
- 1; i
++) {
Wauxcursor(w
->ww_win
, i
, w
->ww_ncol
- 1);
Waputc(left
, 0, w
->ww_win
);
Wauxcursor(w
->ww_win
, w
->ww_nrow
- 1, w
->ww_ncol
- 1);
Waputc(right
, 0, w
->ww_win
);
Waputc(lrc
, 0, w
->ww_win
);
Wsetmargins(w
->ww_win
, noleft
? 0 : 1, notop
? 0 : 1,
w
->ww_incol
, w
->ww_inrow
);
w
->ww_incol
= w
->ww_ncol
;
w
->ww_inrow
= w
->ww_nrow
;
Wauxcursor(w
->ww_win
, 0, 0);
for (i
= w
->ww_ncol
; i
> 0; i
--)
Waputc(' ', WBUF
, w
->ww_win
);
Wauxcursor(w
->ww_win
, w
->ww_nrow
- 1, 0);
for (i
= w
->ww_ncol
; i
> 0; i
--)
Waputc(' ', WBUF
, w
->ww_win
);
for (i
= 1; i
< w
->ww_nrow
- 1; i
++) {
Wauxcursor(w
->ww_win
, i
, 0);
Waputc(' ', WBUF
, w
->ww_win
);
Wauxcursor(w
->ww_win
, i
, w
->ww_ncol
- 1);
Waputc(' ', WBUF
, w
->ww_win
);
Wsetmargins(w
->ww_win
, 0, 0, w
->ww_ncol
, w
->ww_nrow
);
return wwcheckframe(w
->ww_row
+ w
->ww_nrow
,
w
->ww_col
, w
->ww_col
+ w
->ww_ncol
- 1, wwhead
);
wwcheckframe(row
, l
, r
, w
)
for (; w
; w
= w
->ww_next
) {
if ((rr
= w
->ww_col
+ w
->ww_ncol
) <= l
)
return wwcheckframe(row
, l
, w
->ww_col
- 1, w
->ww_next
)
&& wwcheckframe(row
, rr
, r
, w
->ww_next
);