Tizen 2.1 base
[framework/uifw/xorg/lib/libx11.git] / man / XCrossingEvent.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 XCrossingEvent __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
143 .SH NAME
144 XCrossingEvent \- EnterNotify and LeaveNotify event structure
145 .SH STRUCTURES
146 The structure for
147 .ZN EnterNotify 
148 and
149 .ZN LeaveNotify
150 events contains:
151 .LP
152 .Ds 0
153 .TA .5i 3i
154 .ta .5i 3i
155 typedef struct {
156         int type;       /\&* EnterNotify or LeaveNotify */
157         unsigned long serial;   /\&* # of last request processed by server */
158         Bool send_event;        /\&* true if this came from a SendEvent request */
159         Display *display;       /\&* Display the event was read from */
160         Window window;  /\&* ``event'' window reported relative to */
161         Window root;    /\&* root window that the event occurred on */
162         Window subwindow;       /\&* child window */
163         Time time;      /\&* milliseconds */
164         int x, y;       /\&* pointer x, y coordinates in event window */
165         int x_root, y_root;     /\&* coordinates relative to root */
166         int mode;       /\&* NotifyNormal, NotifyGrab, NotifyUngrab */
167         int detail;
168                 /\&*
169                 * NotifyAncestor, NotifyVirtual, NotifyInferior, 
170                 * NotifyNonlinear,NotifyNonlinearVirtual
171                 */
172         Bool same_screen;       /\&* same screen flag */
173         Bool focus;     /\&* boolean focus */
174         unsigned int state;     /\&* key or button mask */
175 } XCrossingEvent;
176 typedef XCrossingEvent XEnterWindowEvent;
177 typedef XCrossingEvent XLeaveWindowEvent;
178 .De
179 .LP
180 When you receive these events,
181 the structure members are set as follows.
182 .LP
183 The type member is set to the event type constant name that uniquely identifies
184 it.
185 For example, when the X server reports a
186 .ZN GraphicsExpose
187 event to a client application, it sends an
188 .ZN XGraphicsExposeEvent
189 structure with the type member set to
190 .ZN GraphicsExpose .
191 The display member is set to a pointer to the display the event was read on.
192 The send_event member is set to
193 .ZN True
194 if the event came from a
195 .ZN SendEvent
196 protocol request.
197 The serial member is set from the serial number reported in the protocol
198 but expanded from the 16-bit least-significant bits to a full 32-bit value.
199 The window member is set to the window that is most useful to toolkit
200 dispatchers.
201 .LP
202 The window member is set to the window on which the
203 .ZN EnterNotify
204 or
205 .ZN LeaveNotify
206 event was generated and is referred to as the event window. 
207 This is the window used by the X server to report the event, 
208 and is relative to the root
209 window on which the event occurred. 
210 The root member is set to the root window of the screen
211 on which the event occurred.
212 .LP
213 For a
214 .ZN LeaveNotify 
215 event,
216 if a child of the event window contains the initial position of the pointer,
217 the subwindow component is set to that child.
218 Otherwise, the X server sets the subwindow member to
219 .ZN None .
220 For an
221 .ZN EnterNotify 
222 event, if a child of the event window contains the final pointer position, 
223 the subwindow component is set to that child or
224 .ZN None .
225 .LP
226 The time member is set to the time when the event was generated
227 and is expressed in milliseconds.
228 The x and y members are set to the coordinates of the pointer position in 
229 the event window.
230 This position is always the pointer's final position,
231 not its initial position.
232 If the event window is on the same
233 screen as the root window, x and y are the pointer coordinates
234 relative to the event window's origin. 
235 Otherwise, x and y are set to zero.
236 The x_root and y_root members are set to the pointer's coordinates relative to the
237 root window's origin at the time of the event.
238 .LP
239 The same_screen member is set to indicate whether the event window is on the same screen
240 as the root window and can be either
241 .ZN True 
242 or
243 .ZN False .
244 If
245 .ZN True ,
246 the event and root windows are on the same screen.
247 If
248 .ZN False ,
249 the event and root windows are not on the same screen.
250 .LP
251 The focus member is set to indicate whether the event window is the focus window or an
252 inferior of the focus window.
253 The X server can set this member to either
254 .ZN True 
255 or
256 .ZN False .
257 If
258 .ZN True ,
259 the event window is the focus window or an inferior of the focus window.
260 If
261 .ZN False ,
262 the event window is not the focus window or an inferior of the focus window.
263 .LP
264 The state member is set to indicate the state of the pointer buttons and
265 modifier keys just prior to the
266 event.
267 The X server can set this member to the bitwise inclusive OR of one 
268 or more of the button or modifier key masks:
269 .ZN Button1Mask ,
270 .ZN Button2Mask ,
271 .ZN Button3Mask ,
272 .ZN Button4Mask ,
273 .ZN Button5Mask ,
274 .ZN ShiftMask ,
275 .ZN LockMask ,
276 .ZN ControlMask ,
277 .ZN Mod1Mask ,
278 .ZN Mod2Mask ,
279 .ZN Mod3Mask ,
280 .ZN Mod4Mask ,
281 .ZN Mod5Mask .
282 .LP
283 The mode member is set to indicate whether the events are normal events, 
284 pseudo-motion events
285 when a grab activates, or pseudo-motion events when a grab deactivates.
286 The X server can set this member to 
287 .ZN NotifyNormal ,
288 .ZN NotifyGrab ,
289 or
290 .ZN NotifyUngrab .
291 .LP
292 The detail member is set to indicate the notify detail and can be
293 .ZN NotifyAncestor ,
294 .ZN NotifyVirtual ,
295 .ZN NotifyInferior ,
296 .ZN NotifyNonlinear ,
297 or
298 .ZN NotifyNonlinearVirtual .
299 .SH "SEE ALSO"
300 XAnyEvent(__libmansuffix__),
301 XButtonEvent(__libmansuffix__),
302 XCreateWindowEvent(__libmansuffix__),
303 XCirculateEvent(__libmansuffix__),
304 XCirculateRequestEvent(__libmansuffix__),
305 XColormapEvent(__libmansuffix__),
306 XConfigureEvent(__libmansuffix__),
307 XConfigureRequestEvent(__libmansuffix__),
308 XDestroyWindowEvent(__libmansuffix__),
309 XErrorEvent(__libmansuffix__),
310 XExposeEvent(__libmansuffix__),
311 XFocusChangeEvent(__libmansuffix__),
312 XGraphicsExposeEvent(__libmansuffix__),
313 XGravityEvent(__libmansuffix__),
314 XKeymapEvent(__libmansuffix__),
315 XMapEvent(__libmansuffix__),
316 XMapRequestEvent(__libmansuffix__),
317 XPropertyEvent(__libmansuffix__),
318 XReparentEvent(__libmansuffix__),
319 XResizeRequestEvent(__libmansuffix__),
320 XSelectionClearEvent(__libmansuffix__),
321 XSelectionEvent(__libmansuffix__),
322 XSelectionRequestEvent(__libmansuffix__),
323 XUnmapEvent(__libmansuffix__),
324 XVisibilityEvent(__libmansuffix__)
325 .br
326 \fI\*(xL\fP