]> Pileus Git - ~andy/gtk/blob - docs/reference/gdk/tmpl/events.sgml
Rename gdk_window_set_has_native to gdk_window_ensure_native
[~andy/gtk] / docs / reference / gdk / tmpl / events.sgml
1 <!-- ##### SECTION Title ##### -->
2 Events
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Functions for handling events from the window system
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 This section describes functions dealing with events from the window system.
10 </para>
11 <para>
12 In GTK+ applications the events are handled automatically in
13 gtk_main_do_event() and passed on to the appropriate widgets, so these
14 functions are rarely needed. Though some of the fields in the
15 <link linkend="gdk-Event-Structures">Event Structures</link> are useful.
16 </para>
17
18 <!-- ##### SECTION See_Also ##### -->
19 <para>
20 <variablelist>
21 <varlistentry>
22 <term><link linkend="gdk-Event-Structures">Event Structures</link></term>
23 <listitem><para>
24 The structs used for each type of event.
25 </para></listitem>
26 </varlistentry>
27 </variablelist>
28 </para>
29
30 <!-- ##### SECTION Stability_Level ##### -->
31
32
33 <!-- ##### ENUM GdkEventType ##### -->
34 <para>
35 Specifies the type of the event.
36 </para>
37 <para>
38 Do not confuse these events with the signals that GTK+ widgets emit.
39 Although many of these events result in corresponding signals being emitted,
40 the events are often transformed or filtered along the way.
41 </para>
42
43 @GDK_NOTHING: a special code to indicate a null event.
44 @GDK_DELETE: the window manager has requested that the toplevel window be
45 hidden or destroyed, usually when the user clicks on a special icon in the
46 title bar.
47 @GDK_DESTROY: the window has been destroyed.
48 @GDK_EXPOSE: all or part of the window has become visible and needs to be
49 redrawn.
50 @GDK_MOTION_NOTIFY: the pointer (usually a mouse) has moved.
51 @GDK_BUTTON_PRESS: a mouse button has been pressed.
52 @GDK_2BUTTON_PRESS: a mouse button has been double-clicked (clicked twice
53 within a short period of time). Note that each click also generates a
54 %GDK_BUTTON_PRESS event.
55 @GDK_3BUTTON_PRESS: a mouse button has been clicked 3 times in a short period
56 of time. Note that each click also generates a %GDK_BUTTON_PRESS event.
57 @GDK_BUTTON_RELEASE: a mouse button has been released.
58 @GDK_KEY_PRESS: a key has been pressed.
59 @GDK_KEY_RELEASE: a key has been released.
60 @GDK_ENTER_NOTIFY: the pointer has entered the window.
61 @GDK_LEAVE_NOTIFY: the pointer has left the window.
62 @GDK_FOCUS_CHANGE: the keyboard focus has entered or left the window.
63 @GDK_CONFIGURE: the size, position or stacking order of the window has changed.
64 Note that GTK+ discards these events for %GDK_WINDOW_CHILD windows.
65 @GDK_MAP: the window has been mapped.
66 @GDK_UNMAP: the window has been unmapped.
67 @GDK_PROPERTY_NOTIFY: a property on the window has been changed or deleted.
68 @GDK_SELECTION_CLEAR: the application has lost ownership of a selection.
69 @GDK_SELECTION_REQUEST: another application has requested a selection.
70 @GDK_SELECTION_NOTIFY: a selection has been received.
71 @GDK_PROXIMITY_IN: an input device has moved into contact with a sensing
72 surface (e.g. a touchscreen or graphics tablet).
73 @GDK_PROXIMITY_OUT: an input device has moved out of contact with a sensing
74 surface.
75 @GDK_DRAG_ENTER: the mouse has entered the window while a drag is in progress.
76 @GDK_DRAG_LEAVE: the mouse has left the window while a drag is in progress.
77 @GDK_DRAG_MOTION: the mouse has moved in the window while a drag is in
78 progress.
79 @GDK_DRAG_STATUS: the status of the drag operation initiated by the window
80 has changed.
81 @GDK_DROP_START: a drop operation onto the window has started.
82 @GDK_DROP_FINISHED: the drop operation initiated by the window has completed.
83 @GDK_CLIENT_EVENT: a message has been received from another application.
84 @GDK_VISIBILITY_NOTIFY: the window visibility status has changed.
85 @GDK_NO_EXPOSE: indicates that the source region was completely available
86 when parts of a drawable were copied. This is not very useful.
87 @GDK_SCROLL: the scroll wheel was turned
88 @GDK_WINDOW_STATE: the state of a window has changed. See #GdkWindowState
89 for the possible window states
90 @GDK_SETTING: a setting has been modified.
91 @GDK_OWNER_CHANGE: the owner of a selection has changed. This event type
92   was added in 2.6
93 @GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type
94   was added in 2.8.
95 @GDK_DAMAGE: the content of the window has been changed. This event type
96   was added in 2.14.
97 @GDK_EVENT_LAST: 
98
99 <!-- ##### ENUM GdkEventMask ##### -->
100 <para>
101 A set of bit-flags to indicate which events a window is to receive.
102 Most of these masks map onto one or more of the #GdkEventType event types
103 above.
104 </para>
105 <para>
106 %GDK_POINTER_MOTION_HINT_MASK is a special mask which is used to reduce the
107 number of %GDK_MOTION_NOTIFY events received. Normally a %GDK_MOTION_NOTIFY
108 event is received each time the mouse moves. However, if the application
109 spends a lot of time processing the event (updating the display, for example),
110 it can lag behind the position of the mouse. When using
111 %GDK_POINTER_MOTION_HINT_MASK, fewer %GDK_MOTION_NOTIFY events will be sent,
112 some of which are marked as a hint (the is_hint member is %TRUE).
113 To receive more motion events after a motion hint event, the application
114 needs to asks for more, by calling gdk_event_request_motions().
115 </para>
116
117 @GDK_EXPOSURE_MASK: receive expose events
118 @GDK_POINTER_MOTION_MASK: receive all pointer motion events
119 @GDK_POINTER_MOTION_HINT_MASK: see the explanation above
120 @GDK_BUTTON_MOTION_MASK: receive pointer motion events while any button is pressed
121 @GDK_BUTTON1_MOTION_MASK: receive pointer motion events while 1 button is pressed
122 @GDK_BUTTON2_MOTION_MASK: receive pointer motion events while 2 button is pressed
123 @GDK_BUTTON3_MOTION_MASK: receive pointer motion events while 3 button is pressed
124 @GDK_BUTTON_PRESS_MASK: receive button press events
125 @GDK_BUTTON_RELEASE_MASK: receive button release events
126 @GDK_KEY_PRESS_MASK: receive key press events
127 @GDK_KEY_RELEASE_MASK: receive key release events
128 @GDK_ENTER_NOTIFY_MASK: receive window enter events
129 @GDK_LEAVE_NOTIFY_MASK: receive window leave events
130 @GDK_FOCUS_CHANGE_MASK: receive focus change events
131 @GDK_STRUCTURE_MASK: receive events about window configuration change
132 @GDK_PROPERTY_CHANGE_MASK: receive property change events
133 @GDK_VISIBILITY_NOTIFY_MASK: receive visibility change events
134 @GDK_PROXIMITY_IN_MASK: receive proximity in events
135 @GDK_PROXIMITY_OUT_MASK: receive proximity out events
136 @GDK_SUBSTRUCTURE_MASK: receive events about window configuration changes of 
137   child windows
138 @GDK_SCROLL_MASK: receive scroll events
139 @GDK_ALL_EVENTS_MASK: the combination of all the above event masks.
140
141 <!-- ##### MACRO GDK_CURRENT_TIME ##### -->
142 <para>
143 Represents the current time, and can be used anywhere a time is expected.
144 </para>
145
146
147
148 <!-- ##### MACRO GDK_PRIORITY_EVENTS ##### -->
149 <para>
150 This is the priority that events from the X server are given in the
151 <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
152 </para>
153
154
155
156 <!-- ##### MACRO GDK_PRIORITY_REDRAW ##### -->
157 <para>
158 This is the priority that the idle handler processing window updates
159 is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
160 </para>
161
162
163
164 <!-- ##### FUNCTION gdk_events_pending ##### -->
165 <para>
166 </para>
167
168 @Returns: 
169
170
171 <!-- ##### FUNCTION gdk_event_peek ##### -->
172 <para>
173 </para>
174
175 @Returns: 
176
177
178 <!-- ##### FUNCTION gdk_event_get ##### -->
179 <para>
180 </para>
181
182 @Returns: 
183
184
185 <!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
186 <para>
187 </para>
188
189 @window: 
190 @Returns: 
191
192
193 <!-- ##### FUNCTION gdk_event_put ##### -->
194 <para>
195 </para>
196
197 @event: 
198
199
200 <!-- ##### FUNCTION gdk_event_new ##### -->
201 <para>
202
203 </para>
204
205 @type: 
206 @Returns: 
207
208
209 <!-- ##### FUNCTION gdk_event_copy ##### -->
210 <para>
211 </para>
212
213 @event: 
214 @Returns: 
215
216
217 <!-- ##### FUNCTION gdk_event_free ##### -->
218 <para>
219 </para>
220
221 @event: a #GdkEvent.
222
223
224 <!-- ##### FUNCTION gdk_event_get_time ##### -->
225 <para>
226 </para>
227
228 @event: 
229 @Returns: 
230
231
232 <!-- ##### FUNCTION gdk_event_get_state ##### -->
233 <para>
234
235 </para>
236
237 @event: 
238 @state: 
239 @Returns: 
240
241
242 <!-- ##### FUNCTION gdk_event_get_axis ##### -->
243 <para>
244
245 </para>
246
247 @event: 
248 @axis_use: 
249 @value: 
250 @Returns: 
251
252
253 <!-- ##### FUNCTION gdk_event_get_coords ##### -->
254 <para>
255
256 </para>
257
258 @event: 
259 @x_win: 
260 @y_win: 
261 @Returns: 
262
263
264 <!-- ##### FUNCTION gdk_event_get_root_coords ##### -->
265 <para>
266
267 </para>
268
269 @event: 
270 @x_root: 
271 @y_root: 
272 @Returns: 
273
274
275 <!-- ##### FUNCTION gdk_event_request_motions ##### -->
276 <para>
277
278 </para>
279
280 @event: 
281
282
283 <!-- ##### FUNCTION gdk_event_handler_set ##### -->
284 <para>
285 </para>
286
287 @func: 
288 @data: 
289 @notify: 
290
291
292 <!-- ##### USER_FUNCTION GdkEventFunc ##### -->
293 <para>
294 Specifies the type of function passed to gdk_event_handler_set() to handle
295 all GDK events.
296 </para>
297
298 @event: the #GdkEvent to process.
299 @data: user data set when the event handler was installed with
300 gdk_event_handler_set().
301
302
303 <!-- ##### FUNCTION gdk_event_send_client_message ##### -->
304 <para>
305 </para>
306
307 @event: 
308 @winid: 
309 @Returns: 
310
311
312 <!-- ##### FUNCTION gdk_event_send_client_message_for_display ##### -->
313 <para>
314
315 </para>
316
317 @display: 
318 @event: 
319 @winid: 
320 @Returns: 
321
322
323 <!-- ##### FUNCTION gdk_event_send_clientmessage_toall ##### -->
324 <para>
325 </para>
326
327 @event: 
328
329
330 <!-- ##### FUNCTION gdk_add_client_message_filter ##### -->
331 <para>
332 </para>
333
334 @message_type: 
335 @func: 
336 @data: 
337
338
339 <!-- ##### FUNCTION gdk_get_show_events ##### -->
340 <para>
341 </para>
342
343 @Returns: 
344
345
346 <!-- ##### FUNCTION gdk_set_show_events ##### -->
347 <para>
348 </para>
349
350 @show_events: 
351
352
353 <!-- ##### FUNCTION gdk_event_set_screen ##### -->
354 <para>
355
356 </para>
357
358 @event: 
359 @screen: 
360
361
362 <!-- ##### FUNCTION gdk_event_get_screen ##### -->
363 <para>
364
365 </para>
366
367 @event: 
368 @Returns: 
369
370
371 <!-- ##### FUNCTION gdk_setting_get ##### -->
372 <para>
373 </para>
374
375 @name: 
376 @value: 
377 @Returns: 
378
379