Merge branch 'devel/upgrade' into tizen
[platform/upstream/libXt.git] / man / XtMakeGeometryRequest.man
1 .\" Copyright 1993 X Consortium
2 .\"
3 .\" Permission is hereby granted, free of charge, to any person obtaining
4 .\" a copy of this software and associated documentation files (the
5 .\" "Software"), to deal in the Software without restriction, including
6 .\" without limitation the rights to use, copy, modify, merge, publish,
7 .\" distribute, sublicense, and/or sell copies of the Software, and to
8 .\" permit persons to whom the Software is furnished to do so, subject to
9 .\" the following conditions:
10 .\"
11 .\" The above copyright notice and this permission notice shall be
12 .\" included in all copies or substantial portions of the Software.
13 .\"
14 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 .\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 .\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 .\" OTHER DEALINGS IN THE SOFTWARE.
21 .\"
22 .\" Except as contained in this notice, the name of the X Consortium shall
23 .\" not be used in advertising or otherwise to promote the sale, use or
24 .\" other dealings in this Software without prior written authorization
25 .\" from the X Consortium.
26 .\"
27 .ds tk X Toolkit
28 .ds xT X Toolkit Intrinsics \- C Language Interface
29 .ds xI Intrinsics
30 .ds xW X Toolkit Athena Widgets \- C Language Interface
31 .ds xL Xlib \- C Language X Interface
32 .ds xC Inter-Client Communication Conventions Manual
33 .ds Rn 3
34 .ds Vn 2.2
35 .hw XtMake-Geometry-Request XtMake-Resize-Request wid-get
36 .na
37 .de Ds
38 .nf
39 .\\$1D \\$2 \\$1
40 .ft CW
41 .ps \\n(PS
42 .\".if \\n(VS>=40 .vs \\n(VSu
43 .\".if \\n(VS<=39 .vs \\n(VSp
44 ..
45 .de De
46 .ce 0
47 .if \\n(BD .DF
48 .nr BD 0
49 .in \\n(OIu
50 .if \\n(TM .ls 2
51 .sp \\n(DDu
52 .fi
53 ..
54 .de IN          \" send an index entry to the stderr
55 ..
56 .de Pn
57 .ie t \\$1\fB\^\\$2\^\fR\\$3
58 .el \\$1\fI\^\\$2\^\fP\\$3
59 ..
60 .de ZN
61 .ie t \fB\^\\$1\^\fR\\$2
62 .el \fI\^\\$1\^\fP\\$2
63 ..
64 .ny0
65 .TH XtMakeGeometryRequest __libmansuffix__ __xorgversion__ "XT FUNCTIONS"
66 .SH NAME
67 XtMakeGeometryRequest, XtMakeResizeRequest \- make geometry manager request
68 .SH SYNTAX
69 .HP
70 XtGeometryResult XtMakeGeometryRequest(Widget \fIw\fP, XtWidgetGeometry
71 *\fIrequest\fP, XtWidgetGeometry *\fIreply_return\fP);
72 .HP
73 XtGeometryResult XtMakeResizeRequest(Widget \fIw\fP, Dimension \fIwidth\fP,
74 \fIheight\fP, Dimension *\fIwidth_return\fP, Dimension *\fIheight_return\fP);
75 .SH ARGUMENTS
76 .IP \fIreply_return\fP 1i
77 Returns the allowed widget size or may be NULL
78 if the requesting widget is not interested in handling
79 .ZN XtGeometryAlmost .
80 .IP \fIrequest\fP 1i
81 Specifies the desired widget geometry (size, position, border width,
82 and stacking order).
83 .ds Wi that is making the request
84 .IP \fIw\fP 1i
85 Specifies the widget \*(Wi.
86 .IP \fIwidth_return\fP 1i
87 .br
88 .ns
89 .IP \fIheight_return\fP 1i
90 Return the allowed widget width and height.
91 .SH DESCRIPTION
92 Depending on the condition,
93 .ZN XtMakeGeometryRequest
94 performs the following:
95 .IP \(bu 5
96 If the widget is unmanaged or the widget's parent is not realized,
97 it makes the changes and returns
98 .ZN XtGeometryYes .
99 .IP \(bu 5
100 If the parent is not a subclass of
101 .ZN compositeWidgetClass
102 or the parent's geometry_manager is NULL,
103 it issues an error.
104 .IP \(bu 5
105 If the widget's being_destroyed field is
106 .ZN True ,
107 it returns
108 .ZN XtGeometryNo .
109 .IP \(bu 5
110 If the widget x, y, width, height and border_width fields are
111 all equal to the requested values,
112 it returns
113 .ZN XtGeometryYes ;
114 otherwise, it calls the parent's geometry_manager procedure
115 with the given parameters.
116 .IP \(bu 5
117 If the parent's geometry manager returns
118 .ZN XtGeometryYes
119 and if
120 .ZN XtCWQueryOnly
121 is not set in the request_mode
122 and if the widget is realized,
123 .ZN XtMakeGeometryRequest
124 calls the
125 .ZN XConfigureWindow
126 Xlib function to reconfigure the widget's window (set its size, location,
127 and stacking order as appropriate).
128 .IP \(bu 5
129 If the geometry manager returns
130 .ZN XtGeometryDone ,
131 the change has been approved and actually has been done.
132 In this case,
133 .ZN XtMakeGeometryRequest
134 does no configuring and returns
135 .ZN XtGeometryYes .
136 .ZN XtMakeGeometryRequest
137 never returns
138 .ZN XtGeometryDone .
139 .LP
140 Otherwise,
141 .ZN XtMakeGeometryRequest
142 returns the resulting value from the parent's geometry manager.
143 .LP
144 Children of primitive widgets are always unmanaged; thus,
145 .ZN XtMakeGeometryRequest
146 always returns
147 .ZN XtGeometryYes
148 when called by a child of a primitive widget.
149 .LP
150 The
151 .ZN XtMakeResizeRequest
152 function, a simple interface to
153 .ZN XtMakeGeometryRequest ,
154 creates a
155 .ZN XtWidgetGeometry
156 structure and specifies that width and height should change.
157 The geometry manager is free to modify any of the other window attributes
158 (position or stacking order) to satisfy the resize request.
159 If the return value is
160 .ZN XtGeometryAlmost ,
161 width_return and height_return contain a compromise width and height.
162 If these are acceptable,
163 the widget should immediately make an
164 .ZN XtMakeResizeRequest
165 and request that the compromise width and height be applied.
166 If the widget is not interested in
167 .ZN XtGeometryAlmost
168 replies,
169 it can pass NULL for width_return and height_return.
170 .SH "SEE ALSO"
171 XtConfigureWidget(__libmansuffix__),
172 XtQueryGeometery(__libmansuffix__)
173 .br
174 \fI\*(xT\fP
175 .br
176 \fI\*(xL\fP