upload tizen2.0 source
[framework/uifw/xorg/lib/libx11.git] / man / XFlush.man
1 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 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 included
12 .\" in all copies or substantial portions of the Software.
13 .\"
14 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 .\" 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 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28 .\" Digital Equipment Corporation
29 .\"
30 .\" Portions Copyright \(co 1990, 1991 by
31 .\" Tektronix, Inc.
32 .\"
33 .\" Permission to use, copy, modify and distribute this documentation for
34 .\" any purpose and without fee is hereby granted, provided that the above
35 .\" copyright notice appears in all copies and that both that copyright notice
36 .\" and this permission notice appear in all copies, and that the names of
37 .\" Digital and Tektronix not be used in in advertising or publicity pertaining
38 .\" to this documentation without specific, written prior permission.
39 .\" Digital and Tektronix makes no representations about the suitability
40 .\" of this documentation for any purpose.
41 .\" It is provided ``as is'' without express or implied warranty.
42 .\" 
43 .\"
44 .ds xT X Toolkit Intrinsics \- C Language Interface
45 .ds xW Athena X Widgets \- C Language X Toolkit Interface
46 .ds xL Xlib \- C Language X Interface
47 .ds xC Inter-Client Communication Conventions Manual
48 .na
49 .de Ds
50 .nf
51 .\\$1D \\$2 \\$1
52 .ft 1
53 .\".ps \\n(PS
54 .\".if \\n(VS>=40 .vs \\n(VSu
55 .\".if \\n(VS<=39 .vs \\n(VSp
56 ..
57 .de De
58 .ce 0
59 .if \\n(BD .DF
60 .nr BD 0
61 .in \\n(OIu
62 .if \\n(TM .ls 2
63 .sp \\n(DDu
64 .fi
65 ..
66 .de FD
67 .LP
68 .KS
69 .TA .5i 3i
70 .ta .5i 3i
71 .nf
72 ..
73 .de FN
74 .fi
75 .KE
76 .LP
77 ..
78 .de IN          \" send an index entry to the stderr
79 ..
80 .de C{
81 .KS
82 .nf
83 .D
84 .\"
85 .\"     choose appropriate monospace font
86 .\"     the imagen conditional, 480,
87 .\"     may be changed to L if LB is too
88 .\"     heavy for your eyes...
89 .\"
90 .ie "\\*(.T"480" .ft L
91 .el .ie "\\*(.T"300" .ft L
92 .el .ie "\\*(.T"202" .ft PO
93 .el .ie "\\*(.T"aps" .ft CW
94 .el .ft R
95 .ps \\n(PS
96 .ie \\n(VS>40 .vs \\n(VSu
97 .el .vs \\n(VSp
98 ..
99 .de C}
100 .DE
101 .R
102 ..
103 .de Pn
104 .ie t \\$1\fB\^\\$2\^\fR\\$3
105 .el \\$1\fI\^\\$2\^\fP\\$3
106 ..
107 .de ZN
108 .ie t \fB\^\\$1\^\fR\\$2
109 .el \fI\^\\$1\^\fP\\$2
110 ..
111 .de hN
112 .ie t <\fB\\$1\fR>\\$2
113 .el <\fI\\$1\fP>\\$2
114 ..
115 .de NT
116 .ne 7
117 .ds NO Note
118 .if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
119 .if \\n(.$ .if !'\\$1'C' .ds NO \\$1
120 .ie n .sp
121 .el .sp 10p
122 .TB
123 .ce
124 \\*(NO
125 .ie n .sp
126 .el .sp 5p
127 .if '\\$1'C' .ce 99
128 .if '\\$2'C' .ce 99
129 .in +5n
130 .ll -5n
131 .R
132 ..
133 .               \" Note End -- doug kraft 3/85
134 .de NE
135 .ce 0
136 .in -5n
137 .ll +5n
138 .ie n .sp
139 .el .sp 10p
140 ..
141 .ny0
142 .TH XFlush __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
143 .SH NAME
144 XFlush, XSync, XEventsQueued, XPending \- handle output buffer or event queue
145 .SH SYNTAX
146 .HP
147 int XFlush\^(\^Display *\fIdisplay\fP\^); 
148 .HP
149 int XSync\^(\^Display *\fIdisplay\fP\^, Bool \fIdiscard\fP\^); 
150 .HP
151 int XEventsQueued\^(\^Display *\fIdisplay\fP\^, int \fImode\fP\^); 
152 .HP
153 int XPending\^(\^Display *\fIdisplay\fP\^); 
154 .SH ARGUMENTS
155 .IP \fIdiscard\fP 1i
156 Specifies a Boolean value that indicates whether 
157 .ZN XSync
158 discards all events on the event queue.
159 .IP \fIdisplay\fP 1i
160 Specifies the connection to the X server.
161 .IP \fImode\fP 1i
162 Specifies the mode.
163 You can pass
164 .ZN QueuedAlready ,
165 .ZN QueuedAfterFlush ,
166 or
167 .ZN QueuedAfterReading .
168 .SH DESCRIPTION
169 The
170 .ZN XFlush
171 function
172 flushes the output buffer.
173 Most client applications need not use this function because the output
174 buffer is automatically flushed as needed by calls to
175 .ZN XPending ,
176 .ZN XNextEvent ,
177 and
178 .ZN XWindowEvent .
179 .IN "XPending"
180 .IN "XNextEvent"
181 .IN "XWindowEvent"
182 Events generated by the server may be enqueued into the library's event queue.
183 .LP
184 The
185 .ZN XSync
186 function
187 flushes the output buffer and then waits until all requests have been received
188 and processed by the X server.
189 Any errors generated must be handled by the error handler.
190 For each protocol error received by Xlib,
191 .ZN XSync
192 calls the client application's error handling routine (see section 11.8.2).
193 Any events generated by the server are enqueued into the library's 
194 event queue.
195 .LP
196 Finally, if you passed 
197 .ZN False ,
198 .ZN XSync
199 does not discard the events in the queue.
200 If you passed 
201 .ZN True ,
202 .ZN XSync 
203 discards all events in the queue,
204 including those events that were on the queue before
205 .ZN XSync
206 was called.
207 Client applications seldom need to call
208 .ZN XSync .
209 .LP
210 If mode is 
211 .ZN QueuedAlready ,
212 .ZN XEventsQueued 
213 returns the number of events
214 already in the event queue (and never performs a system call).
215 If mode is 
216 .ZN QueuedAfterFlush , 
217 .ZN XEventsQueued
218 returns the number of events already in the queue if the number is nonzero.
219 If there are no events in the queue, 
220 .ZN XEventsQueued
221 flushes the output buffer, 
222 attempts to read more events out of the application's connection,
223 and returns the number read.
224 If mode is 
225 .ZN QueuedAfterReading , 
226 .ZN XEventsQueued
227 returns the number of events already in the queue if the number is nonzero. 
228 If there are no events in the queue, 
229 .ZN XEventsQueued
230 attempts to read more events out of the application's connection 
231 without flushing the output buffer and returns the number read.
232 .LP
233 .ZN XEventsQueued
234 always returns immediately without I/O if there are events already in the
235 queue.
236 .ZN XEventsQueued
237 with mode 
238 .ZN QueuedAfterFlush
239 is identical in behavior to
240 .ZN XPending .
241 .ZN XEventsQueued
242 with mode
243 .ZN QueuedAlready
244 is identical to the
245 .ZN XQLength
246 function.
247 .LP
248 The
249 .ZN XPending
250 function returns the number of events that have been received from the
251 X server but have not been removed from the event queue.
252 .ZN XPending
253 is identical to
254 .ZN XEventsQueued
255 with the mode
256 .ZN QueuedAfterFlush
257 specified.
258 .SH "SEE ALSO"
259 AllPlanes(__libmansuffix__),
260 XIfEvent(__libmansuffix__),
261 XNextEvent(__libmansuffix__),
262 XPutBackEvent(__libmansuffix__)
263 .br
264 \fI\*(xL\fP