39 lines
879 B
C
39 lines
879 B
C
/*
|
|
* Copyright (c) 1980 Regents of the University of California.
|
|
* All rights reserved. The Berkeley software License Agreement
|
|
* specifies the terms and conditions for redistribution.
|
|
*/
|
|
|
|
#ifndef lint
|
|
static char sccsid[] = "@(#)id_subwins.c 5.1 (Berkeley) 6/7/85";
|
|
#endif not lint
|
|
|
|
# include "curses.ext"
|
|
|
|
/*
|
|
* _id_subwins:
|
|
* Re-sync the pointers to _y for all the subwindows.
|
|
*
|
|
*/
|
|
_id_subwins(orig)
|
|
register WINDOW *orig;
|
|
{
|
|
register WINDOW *win;
|
|
register int realy;
|
|
register int y, oy, x;
|
|
|
|
realy = orig->_begy + orig->_cury;
|
|
for (win = orig->_nextp; win != orig; win = win->_nextp) {
|
|
/*
|
|
* If the window ends before our current position,
|
|
* don't need to do anything.
|
|
*/
|
|
if (win->_begy + win->_maxy <= realy)
|
|
continue;
|
|
|
|
oy = orig->_cury;
|
|
for (y = realy - win->_begy; y < win->_maxy; y++, oy++)
|
|
win->_y[y] = &orig->_y[oy][win->_ch_off];
|
|
}
|
|
}
|