Tizen 2.1 base
[framework/uifw/xorg/lib/libx11.git] / man / XAnyEvent.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 XAnyEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
143 .SH NAME
144 XAnyEvent, XEvent \- generic X event structures
145 .SH STRUCTURES
146 All the event structures declared in 
147 .Pn < X11/Xlib.h >
148 have the following common members:
149 .Ds 0
150 .TA .5i 3i
151 .ta .5i 3i
152 typedef struct {
153         int type;
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 */
157         Window window;
158 } XAnyEvent;
159 .De
160 .LP
161 The type member is set to the event type constant name that uniquely identifies
162 it.
163 For example, when the X server reports a
164 .ZN GraphicsExpose
165 event to a client application, it sends an
166 .ZN XGraphicsExposeEvent
167 structure with the type member set to
168 .ZN GraphicsExpose .
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
171 .ZN True
172 if the event came from a
173 .ZN SendEvent
174 protocol request.
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
178 dispatchers.
179 .LP
180 The
181 .ZN XEvent
182 structure is a union of the individual structures declared for each event type:
183 .Ds 0
184 .TA .5i 3i
185 .ta .5i 3i
186 typedef union _XEvent {
187         int type;       /\&* must not be changed */
188         XAnyEvent xany;
189         XKeyEvent xkey;
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;
200         XUnmapEvent xunmap;
201         XMapEvent xmap;
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;
217         XErrorEvent xerror;
218         XKeymapEvent xkeymap;
219         long pad[24];
220 } XEvent;
221 .De
222 .LP
223 An
224 .ZN XEvent
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,
230 which is a
231 .ZN Bool
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.
244 .SH "SEE ALSO"
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__)
270 .br
271 \fI\*(xL\fP