1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
'\" 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]
.TH DERWIN 3XCURSES "Jun 5, 2002"
.SH NAME
derwin, newwin, subwin \- create a new window or subwindow
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-I\fR /usr/xpg4/include \fB -L \fR /usr/xpg4/lib \e
\fB -R \fR /usr/xpg4/lib \fB -lcurses \fR [ \fIlibrary\fR... ]
\fBc89\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lcurses\fR [ \fIlibrary\fR... ]
#include <curses.h>
\fBWINDOW *\fR\fBderwin\fR(\fBWINDOW *\fR\fIorig\fR, \fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR,
\fBint\fR \fIbegin_y\fR, \fBint\fR \fIbegin_x\fR);
.fi
.LP
.nf
\fBWINDOW *\fR\fBnewwin\fR(\fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR, \fBint\fR \fIbegin_y\fR, \fBint\fR \fIbegin_x\fR);
.fi
.LP
.nf
\fBWINDOW *\fR\fBsubwin\fR(\fBWINDOW *\fR\fIorig\fR, \fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR, \fBint\fR \fIbegin_y\fR,
\fBint\fR \fIbegin_x\fR);
.fi
.SH DESCRIPTION
.sp
.LP
The \fBderwin()\fR function creates a subwindow within window \fIorig\fR, with
the specified number of lines and columns, and upper left corner positioned at
\fIbegin_x\fR, \fIbegin_y\fR relative to window \fIorig\fR. A pointer to the
new window structure is returned.
.sp
.LP
The \fBnewwin()\fR function creates a new window with the specified number of
lines and columns and upper left corner positioned at \fIbegin_x\fR,
\fIbegin_y\fR. A pointer to the new window structure is returned. A
full-screen window can be created by calling \fBnewwin(0,0,0,0)\fR.
.sp
.LP
If the number of lines specified is zero, \fBnewwin()\fR uses a default value
of \fBLINES\fR minus \fIbegin_y\fR; if the number of columns specified is
zero, \fBnewwin()\fR uses the default value of \fBCOLS\fR minus \fIbegin_x\fR.
.sp
.LP
The \fBsubwin()\fR function creates a subwindow within window \fIorig\fR, with
the specified number of lines and columns, and upper left corner positioned at
\fIbegin_x\fR, \fIbegin_y\fR (relative to the physical screen, \fInot\fR to
window \fIorig\fR). A pointer to the new window structure is returned.
.sp
.LP
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.
.sp
.LP
When using subwindows, it is often necessary to call \fBtouchwin\fR(3XCURSES)
before \fBwrefresh\fR(3XCURSES) to maintain proper screen contents.
.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIorig\fR\fR
.ad
.RS 11n
Is a pointer to the parent window for the newly created subwindow.
.RE
.sp
.ne 2
.na
\fB\fInlines\fR\fR
.ad
.RS 11n
Is the number of lines in the subwindow.
.RE
.sp
.ne 2
.na
\fB\fIncols\fR\fR
.ad
.RS 11n
Is the number of columns in the subwindow.
.RE
.sp
.ne 2
.na
\fB\fIbegin_y\fR\fR
.ad
.RS 11n
Is the y (row) coordinate of the upper left corner of the subwindow, relative
to the parent window.
.RE
.sp
.ne 2
.na
\fB\fIbegin_x\fR\fR
.ad
.RS 11n
Is the x (column) coordinate of the upper left corner of the subwindow,
relative to the parent window.
.RE
.SH RETURN VALUES
.sp
.LP
On success, these functions return a pointer to the newly-created window.
Otherwise, they return \fBERR\fR.
.SH ERRORS
.sp
.LP
None.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE ATTRIBUTE VALUE
_
Interface Stability Standard
_
MT-Level Unsafe
.TE
.SH SEE ALSO
.sp
.LP
\fBdoupdate\fR(3XCURSES), \fBis_linetouched\fR(3XCURSES),
\fBlibcurses\fR(3XCURSES), \fBattributes\fR(5), \fBstandards\fR(5)
|