1 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
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:
11 .\" The above copyright notice and this permission notice shall be included
12 .\" in all copies or substantial portions of the Software.
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.
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.
27 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28 .\" Digital Equipment Corporation
30 .\" Portions Copyright \(co 1990, 1991 by
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.
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
54 .\".if \\n(VS>=40 .vs \\n(VSu
55 .\".if \\n(VS<=39 .vs \\n(VSp
78 .de IN \" send an index entry to the stderr
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...
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
96 .ie \\n(VS>40 .vs \\n(VSu
104 .ie t \\$1\fB\^\\$2\^\fR\\$3
105 .el \\$1\fI\^\\$2\^\fP\\$3
108 .ie t \fB\^\\$1\^\fR\\$2
109 .el \fI\^\\$1\^\fP\\$2
112 .ie t <\fB\\$1\fR>\\$2
118 .if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
119 .if \\n(.$ .if !'\\$1'C' .ds NO \\$1
133 . \" Note End -- doug kraft 3/85
142 .TH XAnyEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
144 XAnyEvent, XEvent \- generic X event structures
146 All the event structures declared in
148 have the following common members:
154 unsigned long serial; /\&* # of last request processed by server */
155 Bool send_event; /\&* true if this came from a SendEvent request */
156 Display *display; /\&* Display the event was read from */
161 The type member is set to the event type constant name that uniquely identifies
163 For example, when the X server reports a
165 event to a client application, it sends an
166 .ZN XGraphicsExposeEvent
167 structure with the type member set to
169 The display member is set to a pointer to the display the event was read on.
170 The send_event member is set to
172 if the event came from a
175 The serial member is set from the serial number reported in the protocol
176 but expanded from the 16-bit least-significant bits to a full 32-bit value.
177 The window member is set to the window that is most useful to toolkit
182 structure is a union of the individual structures declared for each event type:
186 typedef union _XEvent {
187 int type; /\&* must not be changed */
190 XButtonEvent xbutton;
191 XMotionEvent xmotion;
192 XCrossingEvent xcrossing;
193 XFocusChangeEvent xfocus;
194 XExposeEvent xexpose;
195 XGraphicsExposeEvent xgraphicsexpose;
196 XNoExposeEvent xnoexpose;
197 XVisibilityEvent xvisibility;
198 XCreateWindowEvent xcreatewindow;
199 XDestroyWindowEvent xdestroywindow;
202 XMapRequestEvent xmaprequest;
203 XReparentEvent xreparent;
204 XConfigureEvent xconfigure;
205 XGravityEvent xgravity;
206 XResizeRequestEvent xresizerequest;
207 XConfigureRequestEvent xconfigurerequest;
208 XCirculateEvent xcirculate;
209 XCirculateRequestEvent xcirculaterequest;
210 XPropertyEvent xproperty;
211 XSelectionClearEvent xselectionclear;
212 XSelectionRequestEvent xselectionrequest;
213 XSelectionEvent xselection;
214 XColormapEvent xcolormap;
215 XClientMessageEvent xclient;
216 XMappingEvent xmapping;
218 XKeymapEvent xkeymap;
225 structure's first entry always is the type member,
226 which is set to the event type.
227 The second member always is the serial number of the protocol request
228 that generated the event.
229 The third member always is send_event,
232 that indicates if the event was sent by a different client.
233 The fourth member always is a display,
234 which is the display that the event was read from.
235 Except for keymap events,
236 the fifth member always is a window,
237 which has been carefully selected to be useful to toolkit dispatchers.
238 To avoid breaking toolkits,
239 the order of these first five entries is not to change.
240 Most events also contain a time member,
241 which is the time at which an event occurred.
242 In addition, a pointer to the generic event must be cast before it
243 is used to access any other information in the structure.
245 XButtonEvent(__libmansuffix__),
246 XCreateWindowEvent(__libmansuffix__),
247 XCirculateEvent(__libmansuffix__),
248 XCirculateRequestEvent(__libmansuffix__),
249 XColormapEvent(__libmansuffix__),
250 XConfigureEvent(__libmansuffix__),
251 XConfigureRequestEvent(__libmansuffix__),
252 XCrossingEvent(__libmansuffix__),
253 XDestroyWindowEvent(__libmansuffix__),
254 XErrorEvent(__libmansuffix__),
255 XExposeEvent(__libmansuffix__),
256 XFocusChangeEvent(__libmansuffix__),
257 XGraphicsExposeEvent(__libmansuffix__),
258 XGravityEvent(__libmansuffix__),
259 XKeymapEvent(__libmansuffix__),
260 XMapEvent(__libmansuffix__),
261 XMapRequestEvent(__libmansuffix__),
262 XPropertyEvent(__libmansuffix__),
263 XReparentEvent(__libmansuffix__),
264 XResizeRequestEvent(__libmansuffix__),
265 XSelectionClearEvent(__libmansuffix__),
266 XSelectionEvent(__libmansuffix__),
267 XSelectionRequestEvent(__libmansuffix__),
268 XUnmapEvent(__libmansuffix__),
269 XVisibilityEvent(__libmansuffix__)