Esempio n. 1
0
/*
 * Assume terminal has only one screen line by restricting those 
 * capabilities that assume more than one line.  This function must
 * be called before initscr() or newterm().  
 *
 * This flag will reset after initscr() or newterm() so that subsequent
 * calls to newterm(), without a preceding call to filter(), will load
 * an unmodified terminal.  THIS IS NOT HISTORICAL PRACTICE, BUT DEEMED
 * USEFUL.
 */
void
filter(void)
{
#ifdef M_CURSES_TRACE
	__m_trace("filter(void)");
#endif
	assume_one_line = TRUE;
	__m_return_void("filter");
}
Esempio n. 2
0
void
(noqiflush)()
{
#ifdef M_CURSES_TRACE
	__m_trace("noqiflush(void)");
#endif

	cur_term->_prog.c_lflag |= NOFLSH;
	(void) __m_tty_set(&cur_term->_prog);

	__m_return_void("noqiflush");
}
Esempio n. 3
0
void
wcursyncup(WINDOW *w)
{
	int y, py;
	WINDOW *p;

#ifdef M_CURSES_TRACE
	__m_trace("wcursyncup(%p)", w);
#endif

	for (p = w->_parent; p != (WINDOW *) 0; w = p, p = w->_parent) {
		p->_cury = w->_begy + w->_cury;
		p->_curx = w->_begx + w->_curx;
	}

	__m_return_void("wcursyncup");
}
Esempio n. 4
0
void
wsyncup(WINDOW *w)
{
	int y, py;
	WINDOW *p;

#ifdef M_CURSES_TRACE
	__m_trace("wsyncup(%p)", w);
#endif

	for (p = w->_parent; p != (WINDOW *) 0; w = p, p = w->_parent) {
		/* Update the parent's dirty region from the child's. */
		for (py = w->_begy - p->_begy, y = 0; y < w->_maxy; ++y, ++py) {
			if (0 <= w->_last[y]) {
				p->_first[py] = w->_begx + w->_first[y]; 
				p->_last[py] = w->_begx + w->_last[y]; 
			}
		}
	}

	__m_return_void("wsyncup");
}