|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /usr/share/gtk-doc/html/gdk/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Events</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="GDK Reference Manual">
<link rel="up" href="reference.html" title="API Reference">
<link rel="prev" href="gdk-Windows.html" title="Windows">
<link rel="next" href="gdk-Event-Structures.html" title="Event Structures">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="reference" href="reference.html" title="API Reference">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gdk-Windows.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GDK Reference Manual</th>
<td><a accesskey="n" href="gdk-Event-Structures.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id3066566" class="shortcut">Top</a>
 | 
<a href="#id3067275" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="gdk-Events"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id3066566"></a><span class="refentrytitle">Events</span>
</h2>
<p>Events — Functions for handling events from the window system</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
#include <gdk/gdk.h>
enum <a href="gdk-Events.html#GdkEventType">GdkEventType</a>;
enum <a href="gdk-Events.html#GdkEventMask">GdkEventMask</a>;
#define <a href="gdk-Events.html#GDK-CURRENT-TIME:CAPS">GDK_CURRENT_TIME</a>
#define <a href="gdk-Events.html#GDK-PRIORITY-EVENTS:CAPS">GDK_PRIORITY_EVENTS</a>
#define <a href="gdk-Events.html#GDK-PRIORITY-REDRAW:CAPS">GDK_PRIORITY_REDRAW</a>
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-events-pending">gdk_events_pending</a> (void);
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* <a href="gdk-Events.html#gdk-event-peek">gdk_event_peek</a> (void);
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* <a href="gdk-Events.html#gdk-event-get">gdk_event_get</a> (void);
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* <a href="gdk-Events.html#gdk-event-get-graphics-expose">gdk_event_get_graphics_expose</a> (<a href="gdk-Windows.html#GdkWindow">GdkWindow</a> *window);
void <a href="gdk-Events.html#gdk-event-put">gdk_event_put</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* <a href="gdk-Events.html#gdk-event-new">gdk_event_new</a> (<a href="gdk-Events.html#GdkEventType">GdkEventType</a> type);
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* <a href="gdk-Events.html#gdk-event-copy">gdk_event_copy</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);
void <a href="gdk-Events.html#gdk-event-free">gdk_event_free</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);
<a
href="../glib/glib-Basic-Types.html#guint32"
>guint32</a> <a href="gdk-Events.html#gdk-event-get-time">gdk_event_get_time</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-event-get-state">gdk_event_get_state</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Windows.html#GdkModifierType">GdkModifierType</a> *state);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-event-get-axis">gdk_event_get_axis</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Input-Devices.html#GdkAxisUse">GdkAxisUse</a> axis_use,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *value);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-event-get-coords">gdk_event_get_coords</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *x_win,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *y_win);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-event-get-root-coords">gdk_event_get_root_coords</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *x_root,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *y_root);
void <a href="gdk-Events.html#gdk-event-handler-set">gdk_event_handler_set</a> (<a href="gdk-Events.html#GdkEventFunc">GdkEventFunc</a> func,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data,
<a
href="../glib/glib-Datasets.html#GDestroyNotify"
>GDestroyNotify</a> notify);
void (<a href="gdk-Events.html#GdkEventFunc">*GdkEventFunc</a>) (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-event-send-client-message">gdk_event_send_client_message</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Event-Structures.html#GdkNativeWindow">GdkNativeWindow</a> winid);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-event-send-client-message-for-display">gdk_event_send_client_message_for_display</a>
(<a href="GdkDisplay.html" title="GdkDisplay">GdkDisplay</a> *display,
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Event-Structures.html#GdkNativeWindow">GdkNativeWindow</a> winid);
void <a href="gdk-Events.html#gdk-event-send-clientmessage-toall">gdk_event_send_clientmessage_toall</a>
(<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);
void <a href="gdk-Events.html#gdk-add-client-message-filter">gdk_add_client_message_filter</a> (<a href="gdk-Properties-and-Atoms.html#GdkAtom">GdkAtom</a> message_type,
<a href="gdk-Windows.html#GdkFilterFunc">GdkFilterFunc</a> func,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-get-show-events">gdk_get_show_events</a> (void);
void <a href="gdk-Events.html#gdk-set-show-events">gdk_set_show_events</a> (<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> show_events);
void <a href="gdk-Events.html#gdk-event-set-screen">gdk_event_set_screen</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="GdkScreen.html" title="GdkScreen">GdkScreen</a> *screen);
<a href="GdkScreen.html" title="GdkScreen">GdkScreen</a>* <a href="gdk-Events.html#gdk-event-get-screen">gdk_event_get_screen</a> (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gdk-Events.html#gdk-setting-get">gdk_setting_get</a> (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name,
<a
href="../gobject/gobject-Generic-values.html#GValue"
>GValue</a> *value);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3067275"></a><h2>Description</h2>
<p>
This section describes functions dealing with events from the window system.
</p>
<p>
In GTK+ applications the events are handled automatically in
<a
href="../gtk/gtk-General.html#gtk-main-do-event"
><code class="function">gtk_main_do_event()</code></a> and passed on to the appropriate widgets, so these
functions are rarely needed. Though some of the fields in the
<a href="gdk-Event-Structures.html" title="Event Structures">Event Structures</a> are useful.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id3067318"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id3067328"></a><h3>
<a name="GdkEventType"></a>enum GdkEventType</h3>
<a class="indexterm" name="id3067341"></a><pre class="programlisting">typedef enum
{
GDK_NOTHING = -1,
GDK_DELETE = 0,
GDK_DESTROY = 1,
GDK_EXPOSE = 2,
GDK_MOTION_NOTIFY = 3,
GDK_BUTTON_PRESS = 4,
GDK_2BUTTON_PRESS = 5,
GDK_3BUTTON_PRESS = 6,
GDK_BUTTON_RELEASE = 7,
GDK_KEY_PRESS = 8,
GDK_KEY_RELEASE = 9,
GDK_ENTER_NOTIFY = 10,
GDK_LEAVE_NOTIFY = 11,
GDK_FOCUS_CHANGE = 12,
GDK_CONFIGURE = 13,
GDK_MAP = 14,
GDK_UNMAP = 15,
GDK_PROPERTY_NOTIFY = 16,
GDK_SELECTION_CLEAR = 17,
GDK_SELECTION_REQUEST = 18,
GDK_SELECTION_NOTIFY = 19,
GDK_PROXIMITY_IN = 20,
GDK_PROXIMITY_OUT = 21,
GDK_DRAG_ENTER = 22,
GDK_DRAG_LEAVE = 23,
GDK_DRAG_MOTION = 24,
GDK_DRAG_STATUS = 25,
GDK_DROP_START = 26,
GDK_DROP_FINISHED = 27,
GDK_CLIENT_EVENT = 28,
GDK_VISIBILITY_NOTIFY = 29,
GDK_NO_EXPOSE = 30,
GDK_SCROLL = 31,
GDK_WINDOW_STATE = 32,
GDK_SETTING = 33,
GDK_OWNER_CHANGE = 34,
GDK_GRAB_BROKEN = 35
} GdkEventType;
</pre>
<p>
Specifies the type of the event.
</p>
<p>
Do not confuse these events with the signals that GTK+ widgets emit.
Although many of these events result in corresponding signals being emitted,
the events are often transformed or filtered along the way.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="GDK-NOTHING:CAPS"></a><code class="literal">GDK_NOTHING</code></span></td>
<td>a special code to indicate a null event.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DELETE:CAPS"></a><code class="literal">GDK_DELETE</code></span></td>
<td>the window manager has requested that the toplevel window be
hidden or destroyed, usually when the user clicks on a special icon in the
title bar.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DESTROY:CAPS"></a><code class="literal">GDK_DESTROY</code></span></td>
<td>the window has been destroyed.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-EXPOSE:CAPS"></a><code class="literal">GDK_EXPOSE</code></span></td>
<td>all or part of the window has become visible and needs to be
redrawn.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-MOTION-NOTIFY:CAPS"></a><code class="literal">GDK_MOTION_NOTIFY</code></span></td>
<td>the pointer (usually a mouse) has moved.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON-PRESS:CAPS"></a><code class="literal">GDK_BUTTON_PRESS</code></span></td>
<td>a mouse button has been pressed.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-2BUTTON-PRESS:CAPS"></a><code class="literal">GDK_2BUTTON_PRESS</code></span></td>
<td>a mouse button has been double-clicked (clicked twice
within a short period of time). Note that each click also generates a
<a href="gdk-Events.html#GDK-BUTTON-PRESS:CAPS"><code class="literal">GDK_BUTTON_PRESS</code></a> event.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-3BUTTON-PRESS:CAPS"></a><code class="literal">GDK_3BUTTON_PRESS</code></span></td>
<td>a mouse button has been clicked 3 times in a short period
of time. Note that each click also generates a <a href="gdk-Events.html#GDK-BUTTON-PRESS:CAPS"><code class="literal">GDK_BUTTON_PRESS</code></a> event.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON-RELEASE:CAPS"></a><code class="literal">GDK_BUTTON_RELEASE</code></span></td>
<td>a mouse button has been released.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-KEY-PRESS:CAPS"></a><code class="literal">GDK_KEY_PRESS</code></span></td>
<td>a key has been pressed.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-KEY-RELEASE:CAPS"></a><code class="literal">GDK_KEY_RELEASE</code></span></td>
<td>a key has been released.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-ENTER-NOTIFY:CAPS"></a><code class="literal">GDK_ENTER_NOTIFY</code></span></td>
<td>the pointer has entered the window.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-LEAVE-NOTIFY:CAPS"></a><code class="literal">GDK_LEAVE_NOTIFY</code></span></td>
<td>the pointer has left the window.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-FOCUS-CHANGE:CAPS"></a><code class="literal">GDK_FOCUS_CHANGE</code></span></td>
<td>the keyboard focus has entered or left the window.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-CONFIGURE:CAPS"></a><code class="literal">GDK_CONFIGURE</code></span></td>
<td>the size, position or stacking order of the window has changed.
Note that GTK+ discards these events for <a href="gdk-Windows.html#GDK-WINDOW-CHILD:CAPS"><code class="literal">GDK_WINDOW_CHILD</code></a> windows.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-MAP:CAPS"></a><code class="literal">GDK_MAP</code></span></td>
<td>the window has been mapped.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-UNMAP:CAPS"></a><code class="literal">GDK_UNMAP</code></span></td>
<td>the window has been unmapped.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-PROPERTY-NOTIFY:CAPS"></a><code class="literal">GDK_PROPERTY_NOTIFY</code></span></td>
<td>a property on the window has been changed or deleted.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SELECTION-CLEAR:CAPS"></a><code class="literal">GDK_SELECTION_CLEAR</code></span></td>
<td>the application has lost ownership of a selection.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SELECTION-REQUEST:CAPS"></a><code class="literal">GDK_SELECTION_REQUEST</code></span></td>
<td>another application has requested a selection.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SELECTION-NOTIFY:CAPS"></a><code class="literal">GDK_SELECTION_NOTIFY</code></span></td>
<td>a selection has been received.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-PROXIMITY-IN:CAPS"></a><code class="literal">GDK_PROXIMITY_IN</code></span></td>
<td>an input device has moved into contact with a sensing
surface (e.g. a touchscreen or graphics tablet).
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-PROXIMITY-OUT:CAPS"></a><code class="literal">GDK_PROXIMITY_OUT</code></span></td>
<td>an input device has moved out of contact with a sensing
surface.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DRAG-ENTER:CAPS"></a><code class="literal">GDK_DRAG_ENTER</code></span></td>
<td>the mouse has entered the window while a drag is in progress.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DRAG-LEAVE:CAPS"></a><code class="literal">GDK_DRAG_LEAVE</code></span></td>
<td>the mouse has left the window while a drag is in progress.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DRAG-MOTION:CAPS"></a><code class="literal">GDK_DRAG_MOTION</code></span></td>
<td>the mouse has moved in the window while a drag is in
progress.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DRAG-STATUS:CAPS"></a><code class="literal">GDK_DRAG_STATUS</code></span></td>
<td>the status of the drag operation initiated by the window
has changed.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DROP-START:CAPS"></a><code class="literal">GDK_DROP_START</code></span></td>
<td>a drop operation onto the window has started.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-DROP-FINISHED:CAPS"></a><code class="literal">GDK_DROP_FINISHED</code></span></td>
<td>the drop operation initiated by the window has completed.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-CLIENT-EVENT:CAPS"></a><code class="literal">GDK_CLIENT_EVENT</code></span></td>
<td>a message has been received from another application.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-VISIBILITY-NOTIFY:CAPS"></a><code class="literal">GDK_VISIBILITY_NOTIFY</code></span></td>
<td>the window visibility status has changed.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-NO-EXPOSE:CAPS"></a><code class="literal">GDK_NO_EXPOSE</code></span></td>
<td>indicates that the source region was completely available
when parts of a drawable were copied. This is not very useful.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SCROLL:CAPS"></a><code class="literal">GDK_SCROLL</code></span></td>
<td>the scroll wheel was turned
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-WINDOW-STATE:CAPS"></a><code class="literal">GDK_WINDOW_STATE</code></span></td>
<td>the state of a window has changed. See <a href="gdk-Event-Structures.html#GdkWindowState"><span class="type">GdkWindowState</span></a>
for the possible window states
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SETTING:CAPS"></a><code class="literal">GDK_SETTING</code></span></td>
<td>a setting has been modified.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-OWNER-CHANGE:CAPS"></a><code class="literal">GDK_OWNER_CHANGE</code></span></td>
<td>the owner of a selection has changed. This event type
was added in 2.6
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-GRAB-BROKEN:CAPS"></a><code class="literal">GDK_GRAB_BROKEN</code></span></td>
<td>a pointer or keyboard grab was broken. This event type
was added in 2.8.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3068304"></a><h3>
<a name="GdkEventMask"></a>enum GdkEventMask</h3>
<a class="indexterm" name="id3068316"></a><pre class="programlisting">typedef enum
{
GDK_EXPOSURE_MASK = 1 << 1,
GDK_POINTER_MOTION_MASK = 1 << 2,
GDK_POINTER_MOTION_HINT_MASK = 1 << 3,
GDK_BUTTON_MOTION_MASK = 1 << 4,
GDK_BUTTON1_MOTION_MASK = 1 << 5,
GDK_BUTTON2_MOTION_MASK = 1 << 6,
GDK_BUTTON3_MOTION_MASK = 1 << 7,
GDK_BUTTON_PRESS_MASK = 1 << 8,
GDK_BUTTON_RELEASE_MASK = 1 << 9,
GDK_KEY_PRESS_MASK = 1 << 10,
GDK_KEY_RELEASE_MASK = 1 << 11,
GDK_ENTER_NOTIFY_MASK = 1 << 12,
GDK_LEAVE_NOTIFY_MASK = 1 << 13,
GDK_FOCUS_CHANGE_MASK = 1 << 14,
GDK_STRUCTURE_MASK = 1 << 15,
GDK_PROPERTY_CHANGE_MASK = 1 << 16,
GDK_VISIBILITY_NOTIFY_MASK = 1 << 17,
GDK_PROXIMITY_IN_MASK = 1 << 18,
GDK_PROXIMITY_OUT_MASK = 1 << 19,
GDK_SUBSTRUCTURE_MASK = 1 << 20,
GDK_SCROLL_MASK = 1 << 21,
GDK_ALL_EVENTS_MASK = 0x3FFFFE
} GdkEventMask;
</pre>
<p>
A set of bit-flags to indicate which events a window is to receive.
Most of these masks map onto one or more of the <a href="gdk-Events.html#GdkEventType"><span class="type">GdkEventType</span></a> event types
above.
</p>
<p>
<a href="gdk-Events.html#GDK-POINTER-MOTION-HINT-MASK:CAPS"><code class="literal">GDK_POINTER_MOTION_HINT_MASK</code></a> is a special mask which is used to reduce the
number of <a href="gdk-Events.html#GDK-MOTION-NOTIFY:CAPS"><code class="literal">GDK_MOTION_NOTIFY</code></a> events received. Normally a <a href="gdk-Events.html#GDK-MOTION-NOTIFY:CAPS"><code class="literal">GDK_MOTION_NOTIFY</code></a>
event is received each time the mouse moves. However, if the application
spends a lot of time processing the event (updating the display, for example),
it can easily lag behind the position of the mouse. When using the
<a href="gdk-Events.html#GDK-POINTER-MOTION-HINT-MASK:CAPS"><code class="literal">GDK_POINTER_MOTION_HINT_MASK</code></a> the server will only send a single
<a href="gdk-Events.html#GDK-MOTION-NOTIFY:CAPS"><code class="literal">GDK_MOTION_NOTIFY</code></a> event (which is marked as a hint) until the application
asks for more, by calling <a href="gdk-Windows.html#gdk-window-get-pointer"><code class="function">gdk_window_get_pointer()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="GDK-EXPOSURE-MASK:CAPS"></a><code class="literal">GDK_EXPOSURE_MASK</code></span></td>
<td>receive expose events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-POINTER-MOTION-MASK:CAPS"></a><code class="literal">GDK_POINTER_MOTION_MASK</code></span></td>
<td>receive all pointer motion events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-POINTER-MOTION-HINT-MASK:CAPS"></a><code class="literal">GDK_POINTER_MOTION_HINT_MASK</code></span></td>
<td>see the explanation above
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON-MOTION-MASK:CAPS"></a><code class="literal">GDK_BUTTON_MOTION_MASK</code></span></td>
<td>receive pointer motion events while any button is pressed
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON1-MOTION-MASK:CAPS"></a><code class="literal">GDK_BUTTON1_MOTION_MASK</code></span></td>
<td>receive pointer motion events while 1 button is pressed
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON2-MOTION-MASK:CAPS"></a><code class="literal">GDK_BUTTON2_MOTION_MASK</code></span></td>
<td>receive pointer motion events while 2 button is pressed
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON3-MOTION-MASK:CAPS"></a><code class="literal">GDK_BUTTON3_MOTION_MASK</code></span></td>
<td>receive pointer motion events while 3 button is pressed
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON-PRESS-MASK:CAPS"></a><code class="literal">GDK_BUTTON_PRESS_MASK</code></span></td>
<td>receive button press events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-BUTTON-RELEASE-MASK:CAPS"></a><code class="literal">GDK_BUTTON_RELEASE_MASK</code></span></td>
<td>receive button release events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-KEY-PRESS-MASK:CAPS"></a><code class="literal">GDK_KEY_PRESS_MASK</code></span></td>
<td>receive key press events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-KEY-RELEASE-MASK:CAPS"></a><code class="literal">GDK_KEY_RELEASE_MASK</code></span></td>
<td>receive key release events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-ENTER-NOTIFY-MASK:CAPS"></a><code class="literal">GDK_ENTER_NOTIFY_MASK</code></span></td>
<td>receive window enter events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-LEAVE-NOTIFY-MASK:CAPS"></a><code class="literal">GDK_LEAVE_NOTIFY_MASK</code></span></td>
<td>receive window leave events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-FOCUS-CHANGE-MASK:CAPS"></a><code class="literal">GDK_FOCUS_CHANGE_MASK</code></span></td>
<td>receive focus change events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-STRUCTURE-MASK:CAPS"></a><code class="literal">GDK_STRUCTURE_MASK</code></span></td>
<td>receive events about window configuration change
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-PROPERTY-CHANGE-MASK:CAPS"></a><code class="literal">GDK_PROPERTY_CHANGE_MASK</code></span></td>
<td>receive property change events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-VISIBILITY-NOTIFY-MASK:CAPS"></a><code class="literal">GDK_VISIBILITY_NOTIFY_MASK</code></span></td>
<td>receive visibility change events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-PROXIMITY-IN-MASK:CAPS"></a><code class="literal">GDK_PROXIMITY_IN_MASK</code></span></td>
<td>receive proximity in events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-PROXIMITY-OUT-MASK:CAPS"></a><code class="literal">GDK_PROXIMITY_OUT_MASK</code></span></td>
<td>receive proximity out events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SUBSTRUCTURE-MASK:CAPS"></a><code class="literal">GDK_SUBSTRUCTURE_MASK</code></span></td>
<td>receive events about window configuration changes of
child windows
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-SCROLL-MASK:CAPS"></a><code class="literal">GDK_SCROLL_MASK</code></span></td>
<td>receive scroll events
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GDK-ALL-EVENTS-MASK:CAPS"></a><code class="literal">GDK_ALL_EVENTS_MASK</code></span></td>
<td>the combination of all the above event masks.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3068955"></a><h3>
<a name="GDK-CURRENT-TIME:CAPS"></a>GDK_CURRENT_TIME</h3>
<a class="indexterm" name="id3068968"></a><pre class="programlisting">#define GDK_CURRENT_TIME 0L
</pre>
<p>
Represents the current time, and can be used anywhere a time is expected.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3068985"></a><h3>
<a name="GDK-PRIORITY-EVENTS:CAPS"></a>GDK_PRIORITY_EVENTS</h3>
<a class="indexterm" name="id3068998"></a><pre class="programlisting">#define GDK_PRIORITY_EVENTS</pre>
<p>
This is the priority that events from the X server are given in the
<a
href="../glib/glib-The-Main-Event-Loop.html"
>GLib Main Loop</a>.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069023"></a><h3>
<a name="GDK-PRIORITY-REDRAW:CAPS"></a>GDK_PRIORITY_REDRAW</h3>
<a class="indexterm" name="id3069036"></a><pre class="programlisting">#define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20)
</pre>
<p>
This is the priority that the idle handler processing window updates
is given in the <a
href="../glib/glib-The-Main-Event-Loop.html"
>GLib Main Loop</a>.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069061"></a><h3>
<a name="gdk-events-pending"></a>gdk_events_pending ()</h3>
<a class="indexterm" name="id3069074"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_events_pending (void);</pre>
<p>
Checks if any events are ready to be processed for any display.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if any events are pending.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069124"></a><h3>
<a name="gdk-event-peek"></a>gdk_event_peek ()</h3>
<a class="indexterm" name="id3069137"></a><pre class="programlisting"><a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* gdk_event_peek (void);</pre>
<p>
If there is an event waiting in the event queue of some open
display, returns a copy of it. See <a href="GdkDisplay.html#gdk-display-peek-event"><code class="function">gdk_display_peek_event()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> a copy of the first <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> on some event queue, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no
events are in any queues. The returned <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> should be freed with
<a href="gdk-Events.html#gdk-event-free"><code class="function">gdk_event_free()</code></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069227"></a><h3>
<a name="gdk-event-get"></a>gdk_event_get ()</h3>
<a class="indexterm" name="id3069240"></a><pre class="programlisting"><a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* gdk_event_get (void);</pre>
<p>
Checks all open displays for a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> to process,to be processed
on, fetching events from the windowing system if necessary.
See <a href="GdkDisplay.html#gdk-display-get-event"><code class="function">gdk_display_get_event()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> the next <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> to be processed, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no events
are pending. The returned <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> should be freed with <a href="gdk-Events.html#gdk-event-free"><code class="function">gdk_event_free()</code></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069338"></a><h3>
<a name="gdk-event-get-graphics-expose"></a>gdk_event_get_graphics_expose ()</h3>
<a class="indexterm" name="id3069351"></a><pre class="programlisting"><a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* gdk_event_get_graphics_expose (<a href="gdk-Windows.html#GdkWindow">GdkWindow</a> *window);</pre>
<p>
Waits for a GraphicsExpose or NoExpose event from the X server.
This is used in the <a
href="../gtk/GtkText.html"
><span class="type">GtkText</span></a> and <a
href="../gtk/GtkCList.html"
><span class="type">GtkCList</span></a> widgets in GTK+ to make sure any
GraphicsExpose events are handled before the widget is scrolled.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>window</code></em> :</span></td>
<td> the <a href="gdk-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> to wait for the events for.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEventExpose"><span class="type">GdkEventExpose</span></a> if a GraphicsExpose was received, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if a
NoExpose event was received.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069460"></a><h3>
<a name="gdk-event-put"></a>gdk_event_put ()</h3>
<a class="indexterm" name="id3069473"></a><pre class="programlisting">void gdk_event_put (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);</pre>
<p>
Appends a copy of the given event onto the front of the event
queue for event->any.window's display, or the default event
queue if event->any.window is <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>. See <a href="GdkDisplay.html#gdk-display-put-event"><code class="function">gdk_display_put_event()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069553"></a><h3>
<a name="gdk-event-new"></a>gdk_event_new ()</h3>
<a class="indexterm" name="id3069569"></a><pre class="programlisting"><a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* gdk_event_new (<a href="gdk-Events.html#GdkEventType">GdkEventType</a> type);</pre>
<p>
Creates a new event of the given type. All fields are set to 0.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>type</code></em> :</span></td>
<td> a <a href="gdk-Events.html#GdkEventType"><span class="type">GdkEventType</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> a newly-allocated <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>. The returned <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
should be freed with <a href="gdk-Events.html#gdk-event-free"><code class="function">gdk_event_free()</code></a>.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069669"></a><h3>
<a name="gdk-event-copy"></a>gdk_event_copy ()</h3>
<a class="indexterm" name="id3069682"></a><pre class="programlisting"><a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a>* gdk_event_copy (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);</pre>
<p>
Copies a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>, copying or incrementing the reference count of the
resources associated with it (e.g. <a href="gdk-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a>'s and strings).</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> a copy of <em class="parameter"><code>event</code></em>. The returned <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> should be freed with
<a href="gdk-Events.html#gdk-event-free"><code class="function">gdk_event_free()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069792"></a><h3>
<a name="gdk-event-free"></a>gdk_event_free ()</h3>
<a class="indexterm" name="id3069805"></a><pre class="programlisting">void gdk_event_free (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);</pre>
<p>
Frees a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>, freeing or decrementing any resources associated with it.
Note that this function should only be called with events returned from
functions such as <a href="gdk-Events.html#gdk-event-peek"><code class="function">gdk_event_peek()</code></a>, <a href="gdk-Events.html#gdk-event-get"><code class="function">gdk_event_get()</code></a>,
<a href="gdk-Events.html#gdk-event-get-graphics-expose"><code class="function">gdk_event_get_graphics_expose()</code></a> and <a href="gdk-Events.html#gdk-event-copy"><code class="function">gdk_event_copy()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3069915"></a><h3>
<a name="gdk-event-get-time"></a>gdk_event_get_time ()</h3>
<a class="indexterm" name="id3069929"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#guint32"
>guint32</a> gdk_event_get_time (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);</pre>
<p>
Returns the time stamp from <em class="parameter"><code>event</code></em>, if there is one; otherwise
returns <a href="gdk-Events.html#GDK-CURRENT-TIME:CAPS"><span class="type">GDK_CURRENT_TIME</span></a>. If <em class="parameter"><code>event</code></em> is <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>, returns <a href="gdk-Events.html#GDK-CURRENT-TIME:CAPS"><span class="type">GDK_CURRENT_TIME</span></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> time stamp field from <em class="parameter"><code>event</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070042"></a><h3>
<a name="gdk-event-get-state"></a>gdk_event_get_state ()</h3>
<a class="indexterm" name="id3070055"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_event_get_state (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Windows.html#GdkModifierType">GdkModifierType</a> *state);</pre>
<p>
If the event contains a "state" field, puts that field in <em class="parameter"><code>state</code></em>. Otherwise
stores an empty state (0). Returns <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if there was a state field
in the event. <em class="parameter"><code>event</code></em> may be <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>, in which case it's treated
as if the event had no state field.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> or NULL
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>state</code></em> :</span></td>
<td> return location for state
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if there was a state field in the event
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070191"></a><h3>
<a name="gdk-event-get-axis"></a>gdk_event_get_axis ()</h3>
<a class="indexterm" name="id3070204"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_event_get_axis (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Input-Devices.html#GdkAxisUse">GdkAxisUse</a> axis_use,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *value);</pre>
<p>
Extract the axis value for a particular axis use from
an event structure.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>axis_use</code></em> :</span></td>
<td> the axis use to look for
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value</code></em> :</span></td>
<td> location to store the value found
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the specified axis was found, otherwise <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070337"></a><h3>
<a name="gdk-event-get-coords"></a>gdk_event_get_coords ()</h3>
<a class="indexterm" name="id3070350"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_event_get_coords (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *x_win,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *y_win);</pre>
<p>
Extract the event window relative x/y coordinates from an event.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x_win</code></em> :</span></td>
<td> location to put event window x coordinate
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y_win</code></em> :</span></td>
<td> location to put event window y coordinate
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the event delivered event window coordinates
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070473"></a><h3>
<a name="gdk-event-get-root-coords"></a>gdk_event_get_root_coords ()</h3>
<a class="indexterm" name="id3070487"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_event_get_root_coords (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *x_root,
<a
href="../glib/glib-Basic-Types.html#gdouble"
>gdouble</a> *y_root);</pre>
<p>
Extract the root window relative x/y coordinates from an event.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x_root</code></em> :</span></td>
<td> location to put root window x coordinate
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y_root</code></em> :</span></td>
<td> location to put root window y coordinate
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the event delivered root window coordinates
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070610"></a><h3>
<a name="gdk-event-handler-set"></a>gdk_event_handler_set ()</h3>
<a class="indexterm" name="id3070623"></a><pre class="programlisting">void gdk_event_handler_set (<a href="gdk-Events.html#GdkEventFunc">GdkEventFunc</a> func,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data,
<a
href="../glib/glib-Datasets.html#GDestroyNotify"
>GDestroyNotify</a> notify);</pre>
<p>
Sets the function to call to handle all events from GDK.
</p>
<p>
Note that GTK+ uses this to install its own event handler, so it is
usually not useful for GTK+ applications. (Although an application
can call this function then call <a
href="../gtk/gtk-General.html#gtk-main-do-event"
><code class="function">gtk_main_do_event()</code></a> to pass
events to GTK+.)</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>func</code></em> :</span></td>
<td> the function to call to handle events from GDK.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td> user data to pass to the function.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>notify</code></em> :</span></td>
<td> the function to call when the handler function is removed, i.e. when
<a href="gdk-Events.html#gdk-event-handler-set"><code class="function">gdk_event_handler_set()</code></a> is called with another event handler.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070749"></a><h3>
<a name="GdkEventFunc"></a>GdkEventFunc ()</h3>
<a class="indexterm" name="id3070762"></a><pre class="programlisting">void (*GdkEventFunc) (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data);</pre>
<p>
Specifies the type of function passed to <a href="gdk-Events.html#gdk-event-handler-set"><code class="function">gdk_event_handler_set()</code></a> to handle
all GDK events.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td>the <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> to process.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td>user data set when the event handler was installed with
<a href="gdk-Events.html#gdk-event-handler-set"><code class="function">gdk_event_handler_set()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070861"></a><h3>
<a name="gdk-event-send-client-message"></a>gdk_event_send_client_message ()</h3>
<a class="indexterm" name="id3070875"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_event_send_client_message (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Event-Structures.html#GdkNativeWindow">GdkNativeWindow</a> winid);</pre>
<p>
Sends an X ClientMessage event to a given window (which must be
on the default <a href="GdkDisplay.html" title="GdkDisplay"><span class="type">GdkDisplay</span></a>.)
This could be used for communicating between different applications,
though the amount of data is limited to 20 bytes.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> the <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> to send, which should be a <a href="gdk-Event-Structures.html#GdkEventClient"><span class="type">GdkEventClient</span></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>winid</code></em> :</span></td>
<td> the window to send the X ClientMessage event to.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> non-zero on success.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3070987"></a><h3>
<a name="gdk-event-send-client-message-for-display"></a>gdk_event_send_client_message_for_display ()</h3>
<a class="indexterm" name="id3071004"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_event_send_client_message_for_display
(<a href="GdkDisplay.html" title="GdkDisplay">GdkDisplay</a> *display,
<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="gdk-Event-Structures.html#GdkNativeWindow">GdkNativeWindow</a> winid);</pre>
<p>
On X11, sends an X ClientMessage event to a given window. On
Windows, sends a message registered with the name
GDK_WIN32_CLIENT_MESSAGE.
</p>
<p>
This could be used for communicating between different
applications, though the amount of data is limited to 20 bytes on
X11, and to just four bytes on Windows.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>display</code></em> :</span></td>
<td> the <a href="GdkDisplay.html" title="GdkDisplay"><span class="type">GdkDisplay</span></a> for the window where the message is to be sent.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> the <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> to send, which should be a <a href="gdk-Event-Structures.html#GdkEventClient"><span class="type">GdkEventClient</span></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>winid</code></em> :</span></td>
<td> the window to send the client message to.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> non-zero on success.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071147"></a><h3>
<a name="gdk-event-send-clientmessage-toall"></a>gdk_event_send_clientmessage_toall ()</h3>
<a class="indexterm" name="id3071161"></a><pre class="programlisting">void gdk_event_send_clientmessage_toall
(<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);</pre>
<p>
Sends an X ClientMessage event to all toplevel windows on the default
<a href="GdkScreen.html" title="GdkScreen"><span class="type">GdkScreen</span></a>.
</p>
<p>
Toplevel windows are determined by checking for the WM_STATE property, as
described in the Inter-Client Communication Conventions Manual (ICCCM).
If no windows are found with the WM_STATE property set, the message is sent
to all children of the root window.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> the <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a> to send, which should be a <a href="gdk-Event-Structures.html#GdkEventClient"><span class="type">GdkEventClient</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071244"></a><h3>
<a name="gdk-add-client-message-filter"></a>gdk_add_client_message_filter ()</h3>
<a class="indexterm" name="id3071258"></a><pre class="programlisting">void gdk_add_client_message_filter (<a href="gdk-Properties-and-Atoms.html#GdkAtom">GdkAtom</a> message_type,
<a href="gdk-Windows.html#GdkFilterFunc">GdkFilterFunc</a> func,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data);</pre>
<p>
Adds a filter to the default display to be called when X ClientMessage events
are received. See <a href="GdkDisplay.html#gdk-display-add-client-message-filter"><code class="function">gdk_display_add_client_message_filter()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>message_type</code></em> :</span></td>
<td> the type of ClientMessage events to receive. This will be
checked against the <em class="structfield"><code>message_type</code></em> field of the
XClientMessage event struct.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>func</code></em> :</span></td>
<td> the function to call to process the event.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td> user data to pass to <em class="parameter"><code>func</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071377"></a><h3>
<a name="gdk-get-show-events"></a>gdk_get_show_events ()</h3>
<a class="indexterm" name="id3071390"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_get_show_events (void);</pre>
<p>
Gets whether event debugging output is enabled.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if event debugging output is enabled.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071440"></a><h3>
<a name="gdk-set-show-events"></a>gdk_set_show_events ()</h3>
<a class="indexterm" name="id3071454"></a><pre class="programlisting">void gdk_set_show_events (<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> show_events);</pre>
<p>
Sets whether a trace of received events is output.
Note that GTK+ must be compiled with debugging (that is,
configured using the <code class="option">--enable-debug</code> option)
to use this option.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>show_events</code></em> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> to output event debugging information.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071520"></a><h3>
<a name="gdk-event-set-screen"></a>gdk_event_set_screen ()</h3>
<a class="indexterm" name="id3071536"></a><pre class="programlisting">void gdk_event_set_screen (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event,
<a href="GdkScreen.html" title="GdkScreen">GdkScreen</a> *screen);</pre>
<p>
Sets the screen for <em class="parameter"><code>event</code></em> to <em class="parameter"><code>screen</code></em>. The event must
have been allocated by GTK+, for instance, by
<a href="gdk-Events.html#gdk-event-copy"><code class="function">gdk_event_copy()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>screen</code></em> :</span></td>
<td> a <a href="GdkScreen.html" title="GdkScreen"><span class="type">GdkScreen</span></a>
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071650"></a><h3>
<a name="gdk-event-get-screen"></a>gdk_event_get_screen ()</h3>
<a class="indexterm" name="id3071665"></a><pre class="programlisting"><a href="GdkScreen.html" title="GdkScreen">GdkScreen</a>* gdk_event_get_screen (<a href="gdk-Event-Structures.html#GdkEvent">GdkEvent</a> *event);</pre>
<p>
Returns the screen for the event. The screen is
typically the screen for <code class="literal">event->any.window</code>, but
for events such as mouse events, it is the screen
where the pointer was when the event occurs -
that is, the screen which has the root window
to which <code class="literal">event->motion.x_root</code> and
<code class="literal">event->motion.y_root</code> are relative.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>event</code></em> :</span></td>
<td> a <a href="gdk-Event-Structures.html#GdkEvent"><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> the screen for the event
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.2
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3071760"></a><h3>
<a name="gdk-setting-get"></a>gdk_setting_get ()</h3>
<a class="indexterm" name="id3071773"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> gdk_setting_get (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name,
<a
href="../gobject/gobject-Generic-values.html#GValue"
>GValue</a> *value);</pre>
<p>
Obtains a desktop-wide setting, such as the double-click time,
for the default screen. See <a href="GdkScreen.html#gdk-screen-get-setting"><code class="function">gdk_screen_get_setting()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td> the name of the setting.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value</code></em> :</span></td>
<td> location to store the value of the setting.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>: <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the setting existed and a value was stored
in <em class="parameter"><code>value</code></em>, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3071896"></a><h2>See Also</h2>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><a href="gdk-Event-Structures.html" title="Event Structures">Event Structures</a></span></td>
<td><p>
The structs used for each type of event.
</p></td>
</tr></tbody>
</table></div>
<p>
</p>
</div>
</div>
</body>
</html>