summaryrefslogtreecommitdiff
path: root/lib/libcurses/lib_vline.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcurses/lib_vline.c')
-rw-r--r--lib/libcurses/lib_vline.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/lib/libcurses/lib_vline.c b/lib/libcurses/lib_vline.c
new file mode 100644
index 00000000000..eb6e5519f63
--- /dev/null
+++ b/lib/libcurses/lib_vline.c
@@ -0,0 +1,71 @@
+/* $OpenBSD: lib_vline.c,v 1.1 1997/12/03 05:21:40 millert Exp $ */
+
+
+/***************************************************************************
+* COPYRIGHT NOTICE *
+****************************************************************************
+* ncurses is copyright (C) 1992-1995 *
+* Zeyd M. Ben-Halim *
+* zmbenhal@netcom.com *
+* Eric S. Raymond *
+* esr@snark.thyrsus.com *
+* *
+* Permission is hereby granted to reproduce and distribute ncurses *
+* by any means and for any fee, whether alone or as part of a *
+* larger distribution, in source or in binary form, PROVIDED *
+* this notice is included with any such distribution, and is not *
+* removed from any of its header files. Mention of ncurses in any *
+* applications linked with it is highly appreciated. *
+* *
+* ncurses comes AS IS with no warranty, implied or expressed. *
+* *
+***************************************************************************/
+
+
+
+/*
+** lib_vline.c
+**
+** The routine wvline().
+**
+*/
+
+#include <curses.priv.h>
+
+MODULE_ID("Id: lib_vline.c,v 1.1 1997/10/08 05:59:50 jtc Exp $")
+
+int wvline(WINDOW *win, chtype ch, int n)
+{
+int code = ERR;
+short row, col;
+short end;
+
+ T((T_CALLED("wvline(%p,%s,%d)"), win, _tracechtype(ch), n));
+
+ if (win) {
+ row = win->_cury;
+ col = win->_curx;
+ end = row + n - 1;
+ if (end > win->_maxy)
+ end = win->_maxy;
+
+ if (ch == 0)
+ ch = ACS_VLINE;
+ ch = _nc_render(win, ch);
+
+ while(end >= row) {
+ win->_line[end].text[col] = ch;
+ if (win->_line[end].firstchar == _NOCHANGE
+ || win->_line[end].firstchar > col)
+ win->_line[end].firstchar = col;
+ if (win->_line[end].lastchar == _NOCHANGE
+ || win->_line[end].lastchar < col)
+ win->_line[end].lastchar = col;
+ end--;
+ }
+
+ _nc_synchook(win);
+ code = OK;
+ }
+ returnCode(code);
+}