xref: /illumos-gate/usr/src/man/man3xcurses/derwin.3xcurses (revision 689b9301078f0c35c7f198fcee8032a0d30eff3a)
te
Copyright (c) 1990, 1995 by Mortice Kern Systems Inc. All Rights Reserved Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DERWIN 3XCURSES "Jun 5, 2002"
NAME
derwin, newwin, subwin - create a new window or subwindow
SYNOPSIS

cc [ flag... ] file... -I /usr/xpg4/include  -L  /usr/xpg4/lib \e
 -R  /usr/xpg4/lib  -lcurses  [ library... ]

c89 [ flag... ] file... -lcurses [ library... ]

#include <curses.h>

WINDOW *derwin(WINDOW *orig, int nlines, int ncols,
 int begin_y, int begin_x);

WINDOW *newwin(int nlines, int ncols, int begin_y, int begin_x);

WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begin_y,
 int begin_x);
DESCRIPTION

The derwin() function creates a subwindow within window orig, with the specified number of lines and columns, and upper left corner positioned at begin_x, begin_y relative to window orig. A pointer to the new window structure is returned.

The newwin() function creates a new window with the specified number of lines and columns and upper left corner positioned at begin_x, begin_y. A pointer to the new window structure is returned. A full-screen window can be created by calling newwin(0,0,0,0).

If the number of lines specified is zero, newwin() uses a default value of LINES minus begin_y; if the number of columns specified is zero, newwin() uses the default value of COLS minus begin_x.

The subwin() function creates a subwindow within window orig, with the specified number of lines and columns, and upper left corner positioned at begin_x, begin_y (relative to the physical screen, not to window orig). A pointer to the new window structure is returned.

The original window and subwindow share character storage of the overlapping area (each window maintains its own pointers, cursor location, and other items). This means that characters and attributes are identical in overlapping areas regardless of which window characters are written to.

When using subwindows, it is often necessary to call touchwin(3XCURSES) before wrefresh(3XCURSES) to maintain proper screen contents.

PARAMETERS
orig

Is a pointer to the parent window for the newly created subwindow.

nlines

Is the number of lines in the subwindow.

ncols

Is the number of columns in the subwindow.

begin_y

Is the y (row) coordinate of the upper left corner of the subwindow, relative to the parent window.

begin_x

Is the x (column) coordinate of the upper left corner of the subwindow, relative to the parent window.

RETURN VALUES

On success, these functions return a pointer to the newly-created window. Otherwise, they return ERR.

ERRORS

None.

ATTRIBUTES

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard
MT-Level Unsafe
SEE ALSO

doupdate (3XCURSES), is_linetouched (3XCURSES), libcurses (3XCURSES), attributes (7), standards (7)