curs_window(3X) MISCELLANEOUS LIBRARY FUNCTIONS curs_window(3X)
NAME
curs_window: newwin, delwin, mvwin, subwin, derwin,
mvderwin, dupwin, wsyncup, syncok, wcursyncup, wsyncdown -
create curses windows
SYNOPSIS
#include <curses.h>
WINDOW *newwin(int nlines, int ncols, int begin_y,
intbegin_x);
int delwin(WINDOW *win);
int mvwin(WINDOW *win, int y, int x);
WINDOW *subwin(WINDOW *orig, int nlines, int ncols,
int begin_y, int begin_x);
WINDOW *derwin(WINDOW *orig, int nlines, int ncols,
int begin_y, int begin_x);
int mvderwin(WINDOW *win, int par_y, int par_x);
WINDOW *dupwin(WINDOW *win);
void wsyncup(WINDOW *win);
int syncok(WINDOW *win, bool bf);
void wcursyncup(WINDOW *win);
void wsyncdown(WINDOW *win);
DESCRIPTION
The newwin routine creates and returns a pointer to a new
window with the given number of lines, nlines, and columns,
ncols. The upper left-hand corner of the window is at line
begin_y, column begin_x. If either nlines or ncols is zero,
they default to LINES - begin_y and COLS - begin_x. A new
full-screen window is created by calling newwin(0,0,0,0).
The delwin routine deletes the named window, freeing all
memory associated with it. Subwindows must be deleted
before the main window can be deleted. The mvwin routine
moves the window so that the upper left-hand corner is at
position (x, y). If the move would cause the window to be
off the screen, it is an error and the window is not moved.
Moving subwindows is allowed, but should be avoided. The
subwin routine creates and returns a pointer to a new window
with the given number of lines, nlines, and columns, ncols.
The window is at position (begin_y, begin_x) on the screen.
(This position is relative to the screen, and not to the
window orig.) The window is made in the middle of the win-
dow orig, so that changes made to one window will affect
both windows. The subwindow shares memory with the window
orig. When using this routine, it is necessary to call
touchwin or touchline on orig before calling wrefresh on the
subwindow. The derwin routine is the same as subwin, except
Last change: 1
curs_window(3X) MISCELLANEOUS LIBRARY FUNCTIONS curs_window(3X)
that begin_y and begin_x are relative to the origin of the
window orig rather than the screen. There is no difference
between the subwindows and the derived windows. The
mvderwin routine moves a derived window (or subwindow)
inside its parent window. The screen-relative parameters of
the window are not changed. This routine is used to display
different parts of the parent window at the same physical
position on the screen. The dupwin routine creates an exact
duplicate of the window win. Each curses window maintains
two data structures: the character image structure and the
status structure. The character image structure is shared
among all windows in the window hierarchy (i.e., the window
with all subwindows). The status structure, which contains
information about individual line changes in the window, is
private to each window. The routine wrefresh uses the
status data structure when performing screen updating.
Since status structures are not shared, changes made to one
window in the hierarchy may not be properly reflected on the
screen. The routine wsyncup causes the changes in the
status structure of a window to be reflected in the status
structures of its ancestors. If syncok is called with
second argument TRUE then wsyncup is called automatically
whenever there is a change in the window. The routine wcur-
syncup updates the current cursor position of all the ances-
tors of the window to reflect the current cursor position of
the window. The routine wsyncdown updates the status struc-
ture of the window to reflect the changes in the status
structures of its ancestors. Applications seldom call this
routine because it is called automatically by wrefresh.
RETURN VALUE
Routines that return an integer return the integer ERR upon
failure and an integer value other than ERR upon successful
completion. delwin returns the integer ERR upon failure and
OK upon successful completion. Routines that return
pointers return NULL on error.
NOTES
The header file <curses.h> automatically includes the header
files <stdio.h> and <unctrl.h>.
If many small changes are made to the window, the wsyncup
option could degrade performance.
Note that syncok may be a macro.
SEE ALSO
curses(3X), curs_refresh(3X), curs_touch(3X).
Last change: 2