Init
This commit is contained in:
47
usr.lib/libcurses/screen/insertln.c
Normal file
47
usr.lib/libcurses/screen/insertln.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/* Copyright (c) 1984 AT&T */
|
||||
/* All Rights Reserved */
|
||||
|
||||
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
|
||||
/* The copyright notice above does not evidence any */
|
||||
/* actual or intended publication of such source code. */
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)insertln.c 1.1 94/10/31 SMI"; /* from S5R3 1.3.1.1 */
|
||||
#endif
|
||||
|
||||
# include "curses.ext"
|
||||
|
||||
/*
|
||||
* This routine performs an insert-line on the _window, leaving
|
||||
* (_cury,_curx) unchanged.
|
||||
*
|
||||
*/
|
||||
winsertln(win)
|
||||
register WINDOW *win;
|
||||
{
|
||||
register chtype *temp;
|
||||
register int y;
|
||||
|
||||
temp = win->_y[win->_maxy-1];
|
||||
win->_firstch[win->_cury] = 0;
|
||||
win->_lastch[win->_cury] = win->_maxx - 1;
|
||||
win->_need_idl = TRUE;
|
||||
win->_flags |= _WINCHANGED;
|
||||
for (y = win->_maxy - 1; y > win->_cury; --y) {
|
||||
win->_y[y] = win->_y[y-1];
|
||||
}
|
||||
|
||||
win->_y[win->_cury] = temp;
|
||||
memSset(temp, (chtype) ' ', win->_maxx);
|
||||
|
||||
if (win->_cury == lines - 1 && win->_y[lines-1][COLS-1] != ' ')
|
||||
if (win->_scroll && !(win->_flags&_ISPAD)) {
|
||||
wrefresh(win);
|
||||
scroll(win);
|
||||
win->_cury--;
|
||||
}
|
||||
else
|
||||
return ERR;
|
||||
touchwin(win);
|
||||
return OK;
|
||||
}
|
||||
Reference in New Issue
Block a user