2021-10-11 18:37:13 -03:00

39 lines
1.0 KiB
C

#ifndef lint
static char sccsid[] = "@(#)_setwind.c 1.1 94/10/31 SMI"; /* from S5R2 1.1 */
#endif
#include "curses.ext"
char *tparm();
extern int _outch();
/* Force the window to be as desired */
_setwind()
{
if ( SP->phys_top_mgn == SP->des_top_mgn &&
SP->phys_bot_mgn == SP->des_bot_mgn) {
#ifdef DEBUG
if(outf) fprintf(outf, "_setwind, same values %d & %d, do nothing\n",
SP->phys_top_mgn, SP->phys_bot_mgn);
#endif
return;
}
if (set_window)
tputs(tparm(set_window, SP->des_top_mgn,
SP->des_bot_mgn, 0, columns-1), 1, _outch);
else if (change_scroll_region) {
/* Save & Restore SP->curptr since it becomes undefined */
tputs(save_cursor, 1, _outch);
tputs(tparm(change_scroll_region,
SP->des_top_mgn, SP->des_bot_mgn), 1, _outch);
tputs(restore_cursor, 1, _outch); /* put SP->curptr back */
}
#ifdef DEBUG
if(outf) fprintf(outf, "set phys window from (%d,%d) to (%d,%d)\n",
SP->phys_top_mgn, SP->phys_bot_mgn, SP->des_top_mgn, SP->des_bot_mgn);
#endif
SP->phys_top_mgn = SP->des_top_mgn;
SP->phys_bot_mgn = SP->des_bot_mgn;
}