event_structs.sgml 18 KB
Newer Older
Owen Taylor's avatar
Owen Taylor committed
1 2 3 4
<!-- ##### SECTION Title ##### -->
Event Structures

<!-- ##### SECTION Short_Description ##### -->
Damon Chaplin's avatar
Damon Chaplin committed
5
data structures specific to each type of event.
Owen Taylor's avatar
Owen Taylor committed
6 7 8

<!-- ##### SECTION Long_Description ##### -->
<para>
Damon Chaplin's avatar
Damon Chaplin committed
9
The event structs contain data specific to each type of event in GDK.
Owen Taylor's avatar
Owen Taylor committed
10
</para>
11 12 13 14 15 16
<note>
<para>
A common mistake is to forget to set the event mask of a widget so that the
required events are received. See gtk_widget_set_events().
</para>
</note>
Owen Taylor's avatar
Owen Taylor committed
17 18 19 20 21 22

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

Damon Chaplin's avatar
Damon Chaplin committed
23
<!-- ##### UNION GdkEvent ##### -->
Owen Taylor's avatar
Owen Taylor committed
24
<para>
Damon Chaplin's avatar
Damon Chaplin committed
25 26
The #GdkEvent struct contains a union of all of the event structs,
and allows access to the data fields in a number of ways.
Owen Taylor's avatar
Owen Taylor committed
27 28
</para>
<para>
Damon Chaplin's avatar
Damon Chaplin committed
29 30 31 32 33 34 35 36 37 38 39
The event type is always the first field in all of the event structs, and
can always be accessed with the following code, no matter what type of event
it is:
<informalexample>
<programlisting>
  GdkEvent *event;  
  GdkEventType type;

  type = event->type;
</programlisting>
</informalexample>
Owen Taylor's avatar
Owen Taylor committed
40 41 42
</para>

<para>
Damon Chaplin's avatar
Damon Chaplin committed
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
To access other fields of the event structs, the pointer to the event can be
cast to the appropriate event struct pointer, or the union member name can be
used. For example if the event type is %GDK_BUTTON_PRESS then the x coordinate
of the button press can be accessed with:
<informalexample>
<programlisting>
  GdkEvent *event;  
  gdouble x;

  x = ((GdkEventButton*)event)->x;
</programlisting>
</informalexample>
or:
<informalexample>
<programlisting>
  GdkEvent *event;  
  gdouble x;

  x = event->button.x;
</programlisting>
</informalexample>
Owen Taylor's avatar
Owen Taylor committed
64 65 66
</para>


Damon Chaplin's avatar
Damon Chaplin committed
67
<!-- ##### STRUCT GdkEventAny ##### -->
Owen Taylor's avatar
Owen Taylor committed
68
<para>
Damon Chaplin's avatar
Damon Chaplin committed
69 70 71
Contains the fields which are common to all event structs.
Any event pointer can safely be cast to a pointer to a #GdkEventAny to access
these fields.
Owen Taylor's avatar
Owen Taylor committed
72 73
</para>

Damon Chaplin's avatar
Damon Chaplin committed
74 75
@type: the type of the event.
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
76 77
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
Owen Taylor's avatar
Owen Taylor committed
78

Damon Chaplin's avatar
Damon Chaplin committed
79
<!-- ##### STRUCT GdkEventKey ##### -->
Owen Taylor's avatar
Owen Taylor committed
80
<para>
Damon Chaplin's avatar
Damon Chaplin committed
81
Describes a key press or key release event.
Owen Taylor's avatar
Owen Taylor committed
82 83
</para>

Damon Chaplin's avatar
typo.  
Damon Chaplin committed
84
@type: the type of the event (%GDK_KEY_PRESS or %GDK_KEY_RELEASE).
Damon Chaplin's avatar
Damon Chaplin committed
85
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
86 87
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
88 89 90
@time: the time of the event in milliseconds.
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
Shift and Alt) and the pointer buttons. See #GdkModifierType.
Matthias Clasen's avatar
Matthias Clasen committed
91
@keyval: the key that was pressed or released. See the <filename>&lt;gdk/gdkkeysym.h&gt;</filename>
Damon Chaplin's avatar
Damon Chaplin committed
92 93
header file for a complete list of GDK key codes.
@length: the length of @string.
Matthias Clasen's avatar
Matthias Clasen committed
94 95
@string: a nul-terminated multi-byte string containing the composed characters
resulting from the key press. When text is being input, in a #GtkEntry for
Damon Chaplin's avatar
Damon Chaplin committed
96
example, it is these characters which should be added to the input buffer.
Matthias Clasen's avatar
Matthias Clasen committed
97
When using <link linkend="gdk-Input-Methods">Input Methods</link> to support
Damon Chaplin's avatar
Damon Chaplin committed
98 99
internationalized text input, the composed characters appear here after the
pre-editing has been completed.
Matthias Clasen's avatar
Matthias Clasen committed
100
@hardware_keycode: the raw code of the key that was pressed or released.
101
@group: the keyboard group.
Owen Taylor's avatar
Owen Taylor committed
102 103 104

<!-- ##### STRUCT GdkEventButton ##### -->
<para>
105 106
Used for button press and button release events. The
<structfield>type</structfield> field will be one of %GDK_BUTTON_PRESS,
107
%GDK_2BUTTON_PRESS, %GDK_3BUTTON_PRESS, and %GDK_BUTTON_RELEASE.
108 109
</para>
<para>
Damon Chaplin's avatar
Damon Chaplin committed
110
Double and triple-clicks result in a sequence of events being received.
111 112 113 114 115 116 117 118 119 120 121 122 123
For double-clicks the order of events will be:
<orderedlist>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_2BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
</orderedlist>
Note that the first click is received just like a normal
button press, while the second click results in a %GDK_2BUTTON_PRESS being
received just after the %GDK_BUTTON_PRESS.
</para>
<para>
Damon Chaplin's avatar
Damon Chaplin committed
124
Triple-clicks are very similar to double-clicks, except that %GDK_3BUTTON_PRESS
125 126 127 128 129 130 131 132 133 134 135
is inserted after the third click. The order of the events is:
<orderedlist>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_2BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_3BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
</orderedlist>
Owen Taylor's avatar
Owen Taylor committed
136
</para>
Damon Chaplin's avatar
Damon Chaplin committed
137 138 139 140 141
<para>
For a double click to occur, the second button press must occur within 1/4 of
a second of the first. For a triple click to occur, the third button press
must also occur within 1/2 second of the first button press.
</para>
Owen Taylor's avatar
Owen Taylor committed
142

Damon Chaplin's avatar
Damon Chaplin committed
143 144
@type: the type of the event (%GDK_BUTTON_PRESS, %GDK_2BUTTON_PRESS,
%GDK_3BUTTON_PRESS or %GDK_BUTTON_RELEASE).
145
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
146 147
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
148
@time: the time of the event in milliseconds.
Matthias Clasen's avatar
Matthias Clasen committed
149 150 151
@x: the x coordinate of the pointer relative to the window.
@y: the y coordinate of the pointer relative to the window.
@axes: @x, @y translated to the axes of @device, or %NULL if @device is 
152
  the mouse.
Damon Chaplin's avatar
Damon Chaplin committed
153 154 155 156 157 158
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
Shift and Alt) and the pointer buttons. See #GdkModifierType.
@button: the button which was pressed or released, numbered from 1 to 5.
Normally button 1 is the left mouse button, 2 is the middle button,
and 3 is the right button. On 2-button mice, the middle button can often
be simulated by pressing both mouse buttons together.
Matthias Clasen's avatar
Matthias Clasen committed
159 160 161
@device: the device where the event originated.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
Damon Chaplin's avatar
Damon Chaplin committed
162

163 164
<!-- ##### STRUCT GdkEventScroll ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
165 166 167
Generated from button presses for the buttons 4 to 7. Wheel mice are 
usually configured to generate button press events for buttons 4 and 5
when the wheel is turned.
168 169
</para>

Matthias Clasen's avatar
Matthias Clasen committed
170 171 172 173
@type: the type of the event (%GDK_SCROLL).
@window: the window which received the event.
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
Matthias Clasen's avatar
Matthias Clasen committed
174
@time: the time of the event in milliseconds.
Matthias Clasen's avatar
Matthias Clasen committed
175 176 177 178 179 180 181 182 183
@x: the x coordinate of the pointer relative to the window.
@y: the y coordinate of the pointer relative to the window.
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
Shift and Alt) and the pointer buttons. See #GdkModifierType.
@direction: the direction to scroll to (one of %GDK_SCROLL_UP, 
  %GDK_SCROLL_DOWN, %GDK_SCROLL_LEFT and %GDK_SCROLL_RIGHT).
@device: the device where the event originated.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
184

Damon Chaplin's avatar
Damon Chaplin committed
185 186
<!-- ##### STRUCT GdkEventMotion ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
187
Generated when the pointer moves.
Damon Chaplin's avatar
Damon Chaplin committed
188 189 190 191
</para>

@type: the type of the event.
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
192 193 194 195 196 197
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
@time: the time of the event in milliseconds.
@x: the x coordinate of the pointer relative to the window.
@y: the y coordinate of the pointer relative to the window.
@axes: @x, @y translated to the axes of @device, or %NULL if @device is 
198
  the mouse.
Matthias Clasen's avatar
Matthias Clasen committed
199 200
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
  Shift and Alt) and the pointer buttons. See #GdkModifierType.
Damon Chaplin's avatar
Damon Chaplin committed
201
@is_hint: 
Matthias Clasen's avatar
Matthias Clasen committed
202 203 204
@device: the device where the event originated.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
Owen Taylor's avatar
Owen Taylor committed
205

Damon Chaplin's avatar
Damon Chaplin committed
206
<!-- ##### STRUCT GdkEventExpose ##### -->
Owen Taylor's avatar
Owen Taylor committed
207
<para>
Damon Chaplin's avatar
Damon Chaplin committed
208 209 210
Generated when all or part of a window becomes visible and needs to be
redrawn.
</para>
Owen Taylor's avatar
Owen Taylor committed
211

Damon Chaplin's avatar
Damon Chaplin committed
212 213
@type: the type of the event (%GDK_EXPOSE).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
214 215 216 217
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
@area: bounding box of @region.
@region: the region that needs to be redrawn.
Damon Chaplin's avatar
Damon Chaplin committed
218 219 220 221 222 223 224 225
@count: the number of contiguous %GDK_EXPOSE events following this one.
The only use for this is "exposure compression", i.e. handling all contiguous
%GDK_EXPOSE events in one go, though GDK performs some exposure compression
so this is not normally needed.

<!-- ##### STRUCT GdkEventVisibility ##### -->
<para>
Generated when the window visibility status has changed.
Owen Taylor's avatar
Owen Taylor committed
226 227
</para>

Damon Chaplin's avatar
Damon Chaplin committed
228 229
@type: the type of the event (%GDK_VISIBILITY_NOTIFY).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
230 231
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
232 233 234
@state: the new visibility state (%GDK_VISIBILITY_FULLY_OBSCURED,
%GDK_VISIBILITY_PARTIAL or %GDK_VISIBILITY_UNOBSCURED).

Owen Taylor's avatar
Owen Taylor committed
235 236
<!-- ##### STRUCT GdkEventCrossing ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
237
Generated when the pointer enters or leaves a window.
Owen Taylor's avatar
Owen Taylor committed
238 239
</para>

Matthias Clasen's avatar
Matthias Clasen committed
240
@type: the type of the event (%GDK_ENTER_NOTIFY or %GDK_LEAVE_NOTIFY).
Damon Chaplin's avatar
Damon Chaplin committed
241
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
242 243
@send_event: %TRUE if the event was sent explicitly (e.g. using 
<function>XSendEvent</function>).
244
@subwindow: the window that was entered or left.
Damon Chaplin's avatar
Damon Chaplin committed
245
@time: the time of the event in milliseconds.
Matthias Clasen's avatar
Matthias Clasen committed
246 247 248 249 250 251
@x: the x coordinate of the pointer relative to the window.
@y: the y coordinate of the pointer relative to the window.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
@mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB or
  %GDK_CROSSING_UNGRAB).
Matthias Clasen's avatar
Matthias Clasen committed
252
@detail: the kind of crossing that happened (%GDK_NOTIFY_INFERIOR,
Matthias Clasen's avatar
Matthias Clasen committed
253 254 255 256 257
  %GDK_NOTIFY_ANCESTOR, %GDK_NOTIFY_VIRTUAL, %GDK_NOTIFY_NONLINEAR or
  %GDK_NOTIFY_NONLINEAR_VIRTUAL).
@focus: %TRUE if @window is the focus window or an inferior.
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
  Shift and Alt) and the pointer buttons. See #GdkModifierType.
Owen Taylor's avatar
Owen Taylor committed
258 259 260

<!-- ##### STRUCT GdkEventFocus ##### -->
<para>
Damon Chaplin's avatar
Damon Chaplin committed
261
Describes a change of keyboard focus.
Owen Taylor's avatar
Owen Taylor committed
262 263
</para>

Damon Chaplin's avatar
Damon Chaplin committed
264 265
@type: the type of the event (%GDK_FOCUS_CHANGE).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
266 267
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
@in: %TRUE if the window has gained the keyboard focus, %FALSE if it has lost
Damon Chaplin's avatar
Damon Chaplin committed
268
the focus.
Owen Taylor's avatar
Owen Taylor committed
269 270 271

<!-- ##### STRUCT GdkEventConfigure ##### -->
<para>
Damon Chaplin's avatar
Damon Chaplin committed
272
Generated when a window size or position has changed.
Owen Taylor's avatar
Owen Taylor committed
273 274
</para>

Damon Chaplin's avatar
Damon Chaplin committed
275 276
@type: the type of the event (%GDK_CONFIGURE).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
277
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
278 279 280 281
@x: the new x coordinate of the window, relative to its parent.
@y: the new y coordinate of the window, relative to its parent.
@width: the new width of the window.
@height: the new height of the window.
Owen Taylor's avatar
Owen Taylor committed
282 283 284

<!-- ##### STRUCT GdkEventProperty ##### -->
<para>
Damon Chaplin's avatar
Damon Chaplin committed
285
Describes a property change on a window.
Owen Taylor's avatar
Owen Taylor committed
286 287
</para>

Damon Chaplin's avatar
Damon Chaplin committed
288 289
@type: the type of the event (%GDK_PROPERTY_NOTIFY).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
290
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
291 292 293 294
@atom: the property that was changed.
@time: the time of the event in milliseconds.
@state: whether the property was changed (%GDK_PROPERTY_NEW_VALUE) or
deleted (%GDK_PROPERTY_DELETE).
Owen Taylor's avatar
Owen Taylor committed
295 296 297

<!-- ##### STRUCT GdkEventSelection ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
298 299
Generated when a selection is requested or ownership of a selection 
is taken over by another client application. 
Owen Taylor's avatar
Owen Taylor committed
300 301
</para>

Matthias Clasen's avatar
Matthias Clasen committed
302 303
@type: the type of the event (%GDK_SELECTION_CLEAR, %GDK_SELECTION_NOTIFY or 
%GDK_SELECTION_REQUEST).
Damon Chaplin's avatar
Damon Chaplin committed
304
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
305 306
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
@selection: the selection.
307
@target: the target to which the selection should be converted.
Matthias Clasen's avatar
Matthias Clasen committed
308
@property: the property in which to place the result of the conversion.
Damon Chaplin's avatar
Damon Chaplin committed
309
@time: the time of the event in milliseconds.
Matthias Clasen's avatar
Matthias Clasen committed
310
@requestor: the native window on which to place @property.
311 312 313

<!-- ##### TYPEDEF GdkNativeWindow ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
314 315
Used to represent native windows (<type>Window</type>s for the X11 backend, 
<type>HWND</type>s for Win32).
316 317
</para>

Owen Taylor's avatar
Owen Taylor committed
318

Damon Chaplin's avatar
Damon Chaplin committed
319
<!-- ##### STRUCT GdkEventDND ##### -->
Owen Taylor's avatar
Owen Taylor committed
320
<para>
Matthias Clasen's avatar
Matthias Clasen committed
321
Generated during DND operations. 
Owen Taylor's avatar
Owen Taylor committed
322 323
</para>

Matthias Clasen's avatar
Matthias Clasen committed
324 325
@type: the type of the event (%GDK_DRAG_ENTER, %GDK_DRAG_LEAVE,
  %GDK_DRAG_MOTION, %GDK_DRAG_STATUS, %GDK_DROP_START or %GDK_DROP_FINISHED).
Damon Chaplin's avatar
Damon Chaplin committed
326
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
327 328
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
@context: the #GdkDragContext for the current DND operation.
Damon Chaplin's avatar
Damon Chaplin committed
329
@time: the time of the event in milliseconds.
Matthias Clasen's avatar
Matthias Clasen committed
330 331 332 333
@x_root: the x coordinate of the pointer relative to the root of the screen,
  only set for %GDK_DRAG_MOTION and %GDK_DROP_START.
@y_root: the y coordinate of the pointer relative to the root of the screen,
  only set for %GDK_DRAG_MOTION and %GDK_DROP_START.
Owen Taylor's avatar
Owen Taylor committed
334

Damon Chaplin's avatar
Damon Chaplin committed
335
<!-- ##### STRUCT GdkEventProximity ##### -->
Owen Taylor's avatar
Owen Taylor committed
336
<para>
337 338 339 340 341 342
Proximity events are generated when using GDK's wrapper for the
XInput extension. The XInput extension is an add-on for standard X
that allows you to use nonstandard devices such as graphics tablets.
A proximity event indicates that the stylus has moved in or out of
contact with the tablet, or perhaps that the user's finger has moved
in or out of contact with a touch screen.
Owen Taylor's avatar
Owen Taylor committed
343 344
</para>

Matthias Clasen's avatar
Matthias Clasen committed
345
@type: the type of the event (%GDK_PROXIMITY_IN or %GDK_PROXIMITY_OUT).
Damon Chaplin's avatar
Damon Chaplin committed
346
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
347
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
348
@time: the time of the event in milliseconds.
Matthias Clasen's avatar
Matthias Clasen committed
349
@device: the device where the event originated.
Owen Taylor's avatar
Owen Taylor committed
350

Damon Chaplin's avatar
Damon Chaplin committed
351
<!-- ##### STRUCT GdkEventClient ##### -->
Owen Taylor's avatar
Owen Taylor committed
352
<para>
Damon Chaplin's avatar
Damon Chaplin committed
353
An event sent by another client application.
Owen Taylor's avatar
Owen Taylor committed
354 355
</para>

Damon Chaplin's avatar
Damon Chaplin committed
356 357
@type: the type of the event (%GDK_CLIENT_EVENT).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
358
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
Damon Chaplin's avatar
Damon Chaplin committed
359 360 361 362 363
@message_type: the type of the message, which can be defined by the
application.
@data_format: the format of the data, given as the number of bits in each
data element, i.e. 8, 16, or 32. 8-bit data uses the b array of the data
union, 16-bit data uses the s array, and 32-bit data uses the l array.
Owen Taylor's avatar
Owen Taylor committed
364

Damon Chaplin's avatar
Damon Chaplin committed
365
<!-- ##### STRUCT GdkEventNoExpose ##### -->
Owen Taylor's avatar
Owen Taylor committed
366
<para>
Matthias Clasen's avatar
Matthias Clasen committed
367
Generated when the area of a #GdkDrawable being copied, with gdk_draw_drawable()
Damon Chaplin's avatar
Damon Chaplin committed
368
or gdk_window_copy_area(), was completely available.
Owen Taylor's avatar
Owen Taylor committed
369 370
</para>
<para>
Damon Chaplin's avatar
Damon Chaplin committed
371
FIXME: add more here.
Owen Taylor's avatar
Owen Taylor committed
372 373
</para>

Damon Chaplin's avatar
Damon Chaplin committed
374 375
@type: the type of the event (%GDK_NO_EXPOSE).
@window: the window which received the event.
Matthias Clasen's avatar
Matthias Clasen committed
376
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
Owen Taylor's avatar
Owen Taylor committed
377

378 379
<!-- ##### STRUCT GdkEventWindowState ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
380
Generated when the state of a toplevel window changes.
381 382
</para>

Matthias Clasen's avatar
Matthias Clasen committed
383 384 385
@type: the type of the event (%GDK_WINDOW_STATE).
@window: the window which received the event.
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
386 387
@changed_mask: mask specifying what flags have changed.
@new_window_state: the new window state, a combination of #GdkWindowState bits.
388

389 390
<!-- ##### STRUCT GdkEventSetting ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
391
Generated when a setting is modified.
392 393
</para>

Matthias Clasen's avatar
Matthias Clasen committed
394 395 396 397 398 399
@type: the type of the event (%GDK_SETTING).
@window: the window which received the event.
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
@action: what happened to the setting (%GDK_SETTING_ACTION_NEW,
  %GDK_SETTING_ACTION_CHANGED or %GDK_SETTING_ACTION_DELETED).
@name: the name of the setting.
400

401 402
<!-- ##### ENUM GdkScrollDirection ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
403
Specifies the direction for #GdkEventScroll. 
404 405
</para>

Matthias Clasen's avatar
Matthias Clasen committed
406 407 408 409
@GDK_SCROLL_UP: the window is scrolled up.
@GDK_SCROLL_DOWN: the window is scrolled down.
@GDK_SCROLL_LEFT: the window is scrolled to the left.
@GDK_SCROLL_RIGHT: the window is scrolled to the right.
410 411 412 413 414 415 416 417 418 419 420 421

<!-- ##### ENUM GdkVisibilityState ##### -->
<para>
Specifies the visiblity status of a window for a #GdkEventVisibility.
</para>

@GDK_VISIBILITY_UNOBSCURED: the window is completely visible.
@GDK_VISIBILITY_PARTIAL: the window is partially visible.
@GDK_VISIBILITY_FULLY_OBSCURED: the window is not visible at all.

<!-- ##### ENUM GdkCrossingMode ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
422
Specifies the crossing mode for #GdkEventCrossing.
423 424
</para>

425
@GDK_CROSSING_NORMAL: crossing because of pointer motion.
Matthias Clasen's avatar
Matthias Clasen committed
426
@GDK_CROSSING_GRAB: crossing because a grab is activated.
427
@GDK_CROSSING_UNGRAB: crossing because a grab is deactivated.
428 429 430

<!-- ##### ENUM GdkNotifyType ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
431 432 433 434 435
Specifies the kind of crossing for #GdkEventCrossing.
</para>
<para>
See the X11 protocol specification of <type>LeaveNotify</type> for
full details of crossing event generation.
436 437
</para>

Matthias Clasen's avatar
Matthias Clasen committed
438
@GDK_NOTIFY_ANCESTOR: the window is entered from an ancestor or 
439
   left towards an ancestor.
Matthias Clasen's avatar
Matthias Clasen committed
440
@GDK_NOTIFY_VIRTUAL: the pointer moves between an ancestor and an 
441
    inferior of the window.
Matthias Clasen's avatar
Matthias Clasen committed
442
@GDK_NOTIFY_INFERIOR: the window is entered from an inferior or 
443
   left towards an inferior.
Matthias Clasen's avatar
Matthias Clasen committed
444
@GDK_NOTIFY_NONLINEAR:  the window is entered from or left towards 
445
   a window which is neither an ancestor nor an inferior.
Matthias Clasen's avatar
Matthias Clasen committed
446 447 448
@GDK_NOTIFY_NONLINEAR_VIRTUAL: the pointer moves between two windows 
   which are not ancestors of each other and the window is part of
   the ancestor chain between one of these windows and their least
449
   common ancestor.
450 451 452 453 454 455 456
@GDK_NOTIFY_UNKNOWN: 

<!-- ##### ENUM GdkPropertyState ##### -->
<para>
Specifies the type of a property change for a #GdkEventProperty.
</para>

Matthias Clasen's avatar
Matthias Clasen committed
457
@GDK_PROPERTY_NEW_VALUE: the property value was changed.
458 459
@GDK_PROPERTY_DELETE: the property was deleted.

460 461
<!-- ##### ENUM GdkWindowState ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
462
Specifies the state of a toplevel window.
463 464
</para>

465
@GDK_WINDOW_STATE_WITHDRAWN: the window is not shown.
Matthias Clasen's avatar
Matthias Clasen committed
466 467 468
@GDK_WINDOW_STATE_ICONIFIED: the window is minimized.
@GDK_WINDOW_STATE_MAXIMIZED: the window is maximized.
@GDK_WINDOW_STATE_STICKY: the window is sticky.
469

470 471
<!-- ##### ENUM GdkSettingAction ##### -->
<para>
Matthias Clasen's avatar
Matthias Clasen committed
472
Specifies the kind of modification applied to a setting in a #GdkEventSetting.
473 474
</para>

475
@GDK_SETTING_ACTION_NEW: a setting was added.
Matthias Clasen's avatar
Matthias Clasen committed
476 477
@GDK_SETTING_ACTION_CHANGED: a setting was changed.
@GDK_SETTING_ACTION_DELETED: a setting was deleted.
478