<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="gdk4-Events">
<refmeta>
<refentrytitle role="top_of_page" id="gdk4-Events.top_of_page">Events</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GDK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Events</refname>
<refpurpose>Functions for handling events from the window system</refpurpose>
</refnamediv>

<refsect1 id="gdk4-Events.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_return" colwidth="150px"/>
<colspec colname="functions_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GdkEvent"><returnvalue>GdkEvent</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-new">gdk_event_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkEvent"><returnvalue>GdkEvent</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-copy">gdk_event_copy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-axes">gdk_event_get_axes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-button">gdk_event_get_button</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-click-count">gdk_event_get_click_count</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-coords">gdk_event_get_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-keycode">gdk_event_get_keycode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-keyval">gdk_event_get_keyval</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-root-coords">gdk_event_get_root_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-scroll-direction">gdk_event_get_scroll_direction</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-scroll-deltas">gdk_event_get_scroll_deltas</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-is-scroll-stop-event">gdk_event_is_scroll_stop_event</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-state">gdk_event_get_state</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint32"><returnvalue>guint32</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-time">gdk_event_get_time</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkSurface"><returnvalue>GdkSurface</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-surface">gdk_event_get_surface</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkEventType"><returnvalue>GdkEventType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-event-type">gdk_event_get_event_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkEventSequence"><returnvalue>GdkEventSequence</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-event-sequence">gdk_event_get_event_sequence</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-events-get-angle">gdk_events_get_angle</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-events-get-center">gdk_events_get_center</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-events-get-distance">gdk_events_get_distance</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-triggers-context-menu">gdk_event_triggers_context_menu</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkSeat"><returnvalue>GdkSeat</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-seat">gdk_event_get_seat</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-scancode">gdk_event_get_scancode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-pointer-emulated">gdk_event_get_pointer_emulated</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-crossing-detail">gdk_event_get_crossing_detail</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-crossing-mode">gdk_event_get_crossing_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkDrop"><returnvalue>GdkDrop</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-drop">gdk_event_get_drop</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-focus-in">gdk_event_get_focus_in</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-grab-surface">gdk_event_get_grab_surface</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GList"><returnvalue>GList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-motion-history">gdk_event_get_motion_history</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-key-group">gdk_event_get_key_group</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-key-is-modifier">gdk_event_get_key_is_modifier</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-pad-axis-value">gdk_event_get_pad_axis_value</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-pad-button">gdk_event_get_pad_button</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-pad-group-mode">gdk_event_get_pad_group_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-string">gdk_event_get_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-touch-emulating-pointer">gdk_event_get_touch_emulating_pointer</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-touchpad-angle-delta">gdk_event_get_touchpad_angle_delta</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-touchpad-deltas">gdk_event_get_touchpad_deltas</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-touchpad-gesture-n-fingers">gdk_event_get_touchpad_gesture_n_fingers</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-touchpad-gesture-phase">gdk_event_get_touchpad_gesture_phase</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-touchpad-scale">gdk_event_get_touchpad_scale</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-is-sent">gdk_event_is_sent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-handler-set">gdk_event_handler_set</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GdkEventFunc">*GdkEventFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-get-show-events">gdk_get_show_events</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-set-show-events">gdk_set_show_events</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-set-display">gdk_event_set_display</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkDisplay"><returnvalue>GdkDisplay</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-display">gdk_event_get_display</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkDevice"><returnvalue>GdkDevice</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-device">gdk_event_get_device</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-set-device">gdk_event_set_device</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkDevice"><returnvalue>GdkDevice</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-source-device">gdk_event_get_source_device</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-set-source-device">gdk_event_set_source_device</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkDeviceTool"><returnvalue>GdkDeviceTool</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-device-tool">gdk_event_get_device_tool</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-set-device-tool">gdk_event_set_device_tool</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="gdk4-Events.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GdkEventType"><type>GdkEventType</type></link></entry><entry role="property_name"><link linkend="GdkEvent--event-type">event-type</link></entry><entry role="property_flags">Read / Write / Construct Only</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="GdkEvent"/><refsect1 id="gdk4-Events.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="name" colwidth="150px"/>
<colspec colname="description"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GdkEvent-union">GdkEvent</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GdkEventType">GdkEventType</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GdkEventMask">GdkEventMask</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GdkScrollDirection">GdkScrollDirection</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GdkCrossingMode">GdkCrossingMode</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GdkNotifyType">GdkNotifyType</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-CURRENT-TIME:CAPS">GDK_CURRENT_TIME</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-PRIORITY-EVENTS:CAPS">GDK_PRIORITY_EVENTS</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-PRIORITY-REDRAW:CAPS">GDK_PRIORITY_REDRAW</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-EVENT-PROPAGATE:CAPS">GDK_EVENT_PROPAGATE</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-EVENT-STOP:CAPS">GDK_EVENT_STOP</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-BUTTON-PRIMARY:CAPS">GDK_BUTTON_PRIMARY</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-BUTTON-MIDDLE:CAPS">GDK_BUTTON_MIDDLE</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="GDK-BUTTON-SECONDARY:CAPS">GDK_BUTTON_SECONDARY</link></entry></row>

<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GdkEventSequence">GdkEventSequence</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="gdk4-Events.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GdkEvent
</screen>
</refsect1>

<refsect1 id="gdk4-Events.includes"><title>Includes</title><synopsis>#include &lt;gdk/gdk.h&gt;
</synopsis></refsect1>

<refsect1 id="gdk4-Events.description" role="desc">
<title role="desc.title">Description</title>
<para>This section describes functions dealing with events from the window
system.</para>
<para>In GTK+ applications the events are handled automatically in
<link linkend="gtk-main-do-event"><function>gtk_main_do_event()</function></link> and passed on to the appropriate widgets,
so these functions are rarely needed.</para>

</refsect1>
<refsect1 id="gdk4-Events.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gdk-event-new" role="function">
<title>gdk_event_new&#160;()</title>
<indexterm zone="gdk-event-new"><primary>gdk_event_new</primary></indexterm>
<programlisting language="C"><link linkend="GdkEvent"><returnvalue>GdkEvent</returnvalue></link>&#160;*
gdk_event_new (<parameter><link linkend="GdkEventType"><type>GdkEventType</type></link> type</parameter>);</programlisting>
<para>Creates a new event of the given type. All fields are set to 0.</para>
<refsect3 id="gdk-event-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>type</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEventType"><type>GdkEventType</type></link> </para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-new.returns" role="returns">
<title>Returns</title>
<para> a newly-allocated <link linkend="GdkEvent"><type>GdkEvent</type></link>. Free with <link linkend="g-object-unref"><function>g_object_unref()</function></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-copy" role="function">
<title>gdk_event_copy&#160;()</title>
<indexterm zone="gdk-event-copy"><primary>gdk_event_copy</primary></indexterm>
<programlisting language="C"><link linkend="GdkEvent"><returnvalue>GdkEvent</returnvalue></link>&#160;*
gdk_event_copy (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Copies a <link linkend="GdkEvent"><type>GdkEvent</type></link>, copying or incrementing the reference count of the
resources associated with it (e.g. <link linkend="GdkSurface"><type>GdkSurface</type></link>’s and strings).</para>
<refsect3 id="gdk-event-copy.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-copy.returns" role="returns">
<title>Returns</title>
<para>a copy of <parameter>event</parameter>
. Free with <link linkend="g-object-unref"><function>g_object_unref()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-axes" role="function">
<title>gdk_event_get_axes&#160;()</title>
<indexterm zone="gdk-event-get-axes"><primary>gdk_event_get_axes</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_axes (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                    <parameter><link linkend="gdouble"><type>gdouble</type></link> **axes</parameter>,
                    <parameter><link linkend="guint"><type>guint</type></link> *n_axes</parameter>);</programlisting>
<para>Extracts all axis values from an event.</para>
<refsect3 id="gdk-event-get-axes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>axes</para></entry>
<entry role="parameter_description"><para>the array of values for all axes. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>out</acronym>][<acronym>array</acronym> length=n_axes]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_axes</para></entry>
<entry role="parameter_description"><para>the length of array. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-axes.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-button" role="function">
<title>gdk_event_get_button&#160;()</title>
<indexterm zone="gdk-event-get-button"><primary>gdk_event_get_button</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_button (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                      <parameter><link linkend="guint"><type>guint</type></link> *button</parameter>);</programlisting>
<para>Extract the button number from an event.</para>
<refsect3 id="gdk-event-get-button.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>button</para></entry>
<entry role="parameter_description"><para>location to store mouse button number. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-button.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered a button number</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-click-count" role="function">
<title>gdk_event_get_click_count&#160;()</title>
<indexterm zone="gdk-event-get-click-count"><primary>gdk_event_get_click_count</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_click_count (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                           <parameter><link linkend="guint"><type>guint</type></link> *click_count</parameter>);</programlisting>
<para>Extracts the click count from an event.</para>
<refsect3 id="gdk-event-get-click-count.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>click_count</para></entry>
<entry role="parameter_description"><para>location to store click count. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-click-count.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered a click count</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-coords" role="function">
<title>gdk_event_get_coords&#160;()</title>
<indexterm zone="gdk-event-get-coords"><primary>gdk_event_get_coords</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_coords (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                      <parameter><link linkend="gdouble"><type>gdouble</type></link> *x_win</parameter>,
                      <parameter><link linkend="gdouble"><type>gdouble</type></link> *y_win</parameter>);</programlisting>
<para>Extract the event surface relative x/y coordinates from an event.</para>
<refsect3 id="gdk-event-get-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x_win</para></entry>
<entry role="parameter_description"><para>location to put event surface x coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>y_win</para></entry>
<entry role="parameter_description"><para>location to put event surface y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-coords.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered event surface coordinates</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-keycode" role="function">
<title>gdk_event_get_keycode&#160;()</title>
<indexterm zone="gdk-event-get-keycode"><primary>gdk_event_get_keycode</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_keycode (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                       <parameter><link linkend="guint16"><type>guint16</type></link> *keycode</parameter>);</programlisting>
<para>Extracts the hardware keycode from an event.</para>
<para>Also see <link linkend="gdk-event-get-scancode"><function>gdk_event_get_scancode()</function></link>.</para>
<refsect3 id="gdk-event-get-keycode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>keycode</para></entry>
<entry role="parameter_description"><para>location to store the keycode. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-keycode.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered a hardware keycode</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-keyval" role="function">
<title>gdk_event_get_keyval&#160;()</title>
<indexterm zone="gdk-event-get-keyval"><primary>gdk_event_get_keyval</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_keyval (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                      <parameter><link linkend="guint"><type>guint</type></link> *keyval</parameter>);</programlisting>
<para>Extracts the keyval from an event.</para>
<refsect3 id="gdk-event-get-keyval.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>keyval</para></entry>
<entry role="parameter_description"><para>location to store the keyval. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-keyval.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered a key symbol</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-root-coords" role="function">
<title>gdk_event_get_root_coords&#160;()</title>
<indexterm zone="gdk-event-get-root-coords"><primary>gdk_event_get_root_coords</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_root_coords (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                           <parameter><link linkend="gdouble"><type>gdouble</type></link> *x_root</parameter>,
                           <parameter><link linkend="gdouble"><type>gdouble</type></link> *y_root</parameter>);</programlisting>
<para>Extract the root window relative x/y coordinates from an event.</para>
<refsect3 id="gdk-event-get-root-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x_root</para></entry>
<entry role="parameter_description"><para>location to put root window x coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>y_root</para></entry>
<entry role="parameter_description"><para>location to put root window y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-root-coords.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered root window coordinates</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-scroll-direction" role="function">
<title>gdk_event_get_scroll_direction&#160;()</title>
<indexterm zone="gdk-event-get-scroll-direction"><primary>gdk_event_get_scroll_direction</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_scroll_direction (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                                <parameter><link linkend="GdkScrollDirection"><type>GdkScrollDirection</type></link> *direction</parameter>);</programlisting>
<para>Extracts the scroll direction from an event.</para>
<refsect3 id="gdk-event-get-scroll-direction.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>direction</para></entry>
<entry role="parameter_description"><para>location to store the scroll direction. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-scroll-direction.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event delivered a scroll direction</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-scroll-deltas" role="function">
<title>gdk_event_get_scroll_deltas&#160;()</title>
<indexterm zone="gdk-event-get-scroll-deltas"><primary>gdk_event_get_scroll_deltas</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_scroll_deltas (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                             <parameter><link linkend="gdouble"><type>gdouble</type></link> *delta_x</parameter>,
                             <parameter><link linkend="gdouble"><type>gdouble</type></link> *delta_y</parameter>);</programlisting>
<para>Retrieves the scroll deltas from a <link linkend="GdkEvent"><type>GdkEvent</type></link></para>
<refsect3 id="gdk-event-get-scroll-deltas.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>delta_x</para></entry>
<entry role="parameter_description"><para>return location for X delta. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>delta_y</para></entry>
<entry role="parameter_description"><para>return location for Y delta. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-scroll-deltas.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event contains smooth scroll information</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-is-scroll-stop-event" role="function">
<title>gdk_event_is_scroll_stop_event&#160;()</title>
<indexterm zone="gdk-event-is-scroll-stop-event"><primary>gdk_event_is_scroll_stop_event</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_is_scroll_stop_event (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Check whether a scroll event is a stop scroll event. Scroll sequences
with smooth scroll information may provide a stop scroll event once the
interaction with the device finishes, e.g. by lifting a finger. This
stop scroll event is the signal that a widget may trigger kinetic
scrolling based on the current velocity.</para>
<para>Stop scroll events always have a a delta of 0/0.</para>
<refsect3 id="gdk-event-is-scroll-stop-event.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-is-scroll-stop-event.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event is a scroll stop event</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-state" role="function">
<title>gdk_event_get_state&#160;()</title>
<indexterm zone="gdk-event-get-state"><primary>gdk_event_get_state</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_state (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                     <parameter><link linkend="GdkModifierType"><type>GdkModifierType</type></link> *state</parameter>);</programlisting>
<para>If the event contains a “state” field, puts that field in <parameter>state</parameter>
.</para>
<para>Otherwise stores an empty state (0).
<parameter>event</parameter>
 may be <link linkend="NULL:CAPS"><literal>NULL</literal></link>, in which case it’s treated
as if the event had no state field.</para>
<refsect3 id="gdk-event-get-state.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>state</para></entry>
<entry role="parameter_description"><para>return location for state. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-state.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if there was a state field in the event</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-time" role="function">
<title>gdk_event_get_time&#160;()</title>
<indexterm zone="gdk-event-get-time"><primary>gdk_event_get_time</primary></indexterm>
<programlisting language="C"><link linkend="guint32"><returnvalue>guint32</returnvalue></link>
gdk_event_get_time (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns the time stamp from <parameter>event</parameter>
, if there is one; otherwise
returns <link linkend="GDK-CURRENT-TIME:CAPS"><type>GDK_CURRENT_TIME</type></link>. If <parameter>event</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, returns <link linkend="GDK-CURRENT-TIME:CAPS"><type>GDK_CURRENT_TIME</type></link>.</para>
<refsect3 id="gdk-event-get-time.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-time.returns" role="returns">
<title>Returns</title>
<para> time stamp field from <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-surface" role="function">
<title>gdk_event_get_surface&#160;()</title>
<indexterm zone="gdk-event-get-surface"><primary>gdk_event_get_surface</primary></indexterm>
<programlisting language="C"><link linkend="GdkSurface"><returnvalue>GdkSurface</returnvalue></link>&#160;*
gdk_event_get_surface (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the <link linkend="GdkSurface"><type>GdkSurface</type></link> associated with an event.</para>
<refsect3 id="gdk-event-get-surface.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-surface.returns" role="returns">
<title>Returns</title>
<para>The <link linkend="GdkSurface"><type>GdkSurface</type></link> associated with the event. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-event-type" role="function">
<title>gdk_event_get_event_type&#160;()</title>
<indexterm zone="gdk-event-get-event-type"><primary>gdk_event_get_event_type</primary></indexterm>
<programlisting language="C"><link linkend="GdkEventType"><returnvalue>GdkEventType</returnvalue></link>
gdk_event_get_event_type (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Retrieves the type of the event.</para>
<refsect3 id="gdk-event-get-event-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-event-type.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="GdkEventType"><type>GdkEventType</type></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-event-sequence" role="function">
<title>gdk_event_get_event_sequence&#160;()</title>
<indexterm zone="gdk-event-get-event-sequence"><primary>gdk_event_get_event_sequence</primary></indexterm>
<programlisting language="C"><link linkend="GdkEventSequence"><returnvalue>GdkEventSequence</returnvalue></link>&#160;*
gdk_event_get_event_sequence (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>If <parameter>event</parameter>
 if of type <link linkend="GDK-TOUCH-BEGIN:CAPS"><literal>GDK_TOUCH_BEGIN</literal></link>, <link linkend="GDK-TOUCH-UPDATE:CAPS"><literal>GDK_TOUCH_UPDATE</literal></link>,
<link linkend="GDK-TOUCH-END:CAPS"><literal>GDK_TOUCH_END</literal></link> or <link linkend="GDK-TOUCH-CANCEL:CAPS"><literal>GDK_TOUCH_CANCEL</literal></link>, returns the <link linkend="GdkEventSequence"><type>GdkEventSequence</type></link>
to which the event belongs. Otherwise, return <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<refsect3 id="gdk-event-get-event-sequence.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-event-sequence.returns" role="returns">
<title>Returns</title>
<para>the event sequence that the event belongs to. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-events-get-angle" role="function">
<title>gdk_events_get_angle&#160;()</title>
<indexterm zone="gdk-events-get-angle"><primary>gdk_events_get_angle</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_events_get_angle (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event1</parameter>,
                      <parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event2</parameter>,
                      <parameter><link linkend="gdouble"><type>gdouble</type></link> *angle</parameter>);</programlisting>
<para>If both events contain X/Y information, this function will return <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>
and return in <parameter>angle</parameter>
 the relative angle from <parameter>event1</parameter>
 to <parameter>event2</parameter>
. The rotation
direction for positive angles is from the positive X axis towards the positive
Y axis.</para>
<refsect3 id="gdk-events-get-angle.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event1</para></entry>
<entry role="parameter_description"><para>first <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>event2</para></entry>
<entry role="parameter_description"><para>second <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>angle</para></entry>
<entry role="parameter_description"><para>return location for the relative angle between both events. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-events-get-angle.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the angle could be calculated.</para>
</refsect3></refsect2>
<refsect2 id="gdk-events-get-center" role="function">
<title>gdk_events_get_center&#160;()</title>
<indexterm zone="gdk-events-get-center"><primary>gdk_events_get_center</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_events_get_center (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event1</parameter>,
                       <parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event2</parameter>,
                       <parameter><link linkend="gdouble"><type>gdouble</type></link> *x</parameter>,
                       <parameter><link linkend="gdouble"><type>gdouble</type></link> *y</parameter>);</programlisting>
<para>If both events contain X/Y information, the center of both coordinates
will be returned in <parameter>x</parameter>
 and <parameter>y</parameter>
.</para>
<refsect3 id="gdk-events-get-center.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event1</para></entry>
<entry role="parameter_description"><para>first <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>event2</para></entry>
<entry role="parameter_description"><para>second <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>return location for the X coordinate of the center. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>return location for the Y coordinate of the center. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-events-get-center.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the center could be calculated.</para>
</refsect3></refsect2>
<refsect2 id="gdk-events-get-distance" role="function">
<title>gdk_events_get_distance&#160;()</title>
<indexterm zone="gdk-events-get-distance"><primary>gdk_events_get_distance</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_events_get_distance (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event1</parameter>,
                         <parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event2</parameter>,
                         <parameter><link linkend="gdouble"><type>gdouble</type></link> *distance</parameter>);</programlisting>
<para>If both events have X/Y information, the distance between both coordinates
(as in a straight line going from <parameter>event1</parameter>
 to <parameter>event2</parameter>
) will be returned.</para>
<refsect3 id="gdk-events-get-distance.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event1</para></entry>
<entry role="parameter_description"><para>first <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>event2</para></entry>
<entry role="parameter_description"><para>second <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>distance</para></entry>
<entry role="parameter_description"><para>return location for the distance. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-events-get-distance.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the distance could be calculated.</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-triggers-context-menu" role="function">
<title>gdk_event_triggers_context_menu&#160;()</title>
<indexterm zone="gdk-event-triggers-context-menu"><primary>gdk_event_triggers_context_menu</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_triggers_context_menu (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>This function returns whether a <link linkend="GdkEventButton"><type>GdkEventButton</type></link> should trigger a
context menu, according to platform conventions. The right mouse
button always triggers context menus. Additionally, if
<link linkend="gdk-keymap-get-modifier-mask"><function>gdk_keymap_get_modifier_mask()</function></link> returns a non-0 mask for
<link linkend="GDK-MODIFIER-INTENT-CONTEXT-MENU:CAPS"><literal>GDK_MODIFIER_INTENT_CONTEXT_MENU</literal></link>, then the left mouse button will
also trigger a context menu if this modifier is pressed.</para>
<para>This function should always be used instead of simply checking for
event->button == <link linkend="GDK-BUTTON-SECONDARY:CAPS"><literal>GDK_BUTTON_SECONDARY</literal></link>.</para>
<refsect3 id="gdk-event-triggers-context-menu.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link>, currently only button events are meaningful values</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-triggers-context-menu.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event should trigger a context menu.</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-seat" role="function">
<title>gdk_event_get_seat&#160;()</title>
<indexterm zone="gdk-event-get-seat"><primary>gdk_event_get_seat</primary></indexterm>
<programlisting language="C"><link linkend="GdkSeat"><returnvalue>GdkSeat</returnvalue></link>&#160;*
gdk_event_get_seat (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns the <link linkend="GdkSeat"><type>GdkSeat</type></link> this event was generated for.</para>
<refsect3 id="gdk-event-get-seat.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-seat.returns" role="returns">
<title>Returns</title>
<para>The <link linkend="GdkSeat"><type>GdkSeat</type></link> of this event. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-scancode" role="function">
<title>gdk_event_get_scancode&#160;()</title>
<indexterm zone="gdk-event-get-scancode"><primary>gdk_event_get_scancode</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gdk_event_get_scancode (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Gets the keyboard low-level scancode of a key event.</para>
<para>This is usually hardware_keycode. On Windows this is the high
word of WM_KEY{DOWN,UP} lParam which contains the scancode and
some extended flags.</para>
<refsect3 id="gdk-event-get-scancode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-scancode.returns" role="returns">
<title>Returns</title>
<para> The associated keyboard scancode or 0</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-pointer-emulated" role="function">
<title>gdk_event_get_pointer_emulated&#160;()</title>
<indexterm zone="gdk-event-get-pointer-emulated"><primary>gdk_event_get_pointer_emulated</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_pointer_emulated (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns whether this event is an 'emulated' pointer event (typically
from a touch event), as opposed to a real one.</para>
<refsect3 id="gdk-event-get-pointer-emulated.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-pointer-emulated.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if this event is emulated</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-crossing-detail" role="function">
<title>gdk_event_get_crossing_detail&#160;()</title>
<indexterm zone="gdk-event-get-crossing-detail"><primary>gdk_event_get_crossing_detail</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_crossing_detail (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                               <parameter><link linkend="GdkNotifyType"><type>GdkNotifyType</type></link> *detail</parameter>);</programlisting>
<para>Extracts the crossing detail from an event.</para>
<refsect3 id="gdk-event-get-crossing-detail.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>detail</para></entry>
<entry role="parameter_description"><para>return location for the crossing detail. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-crossing-detail.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-crossing-mode" role="function">
<title>gdk_event_get_crossing_mode&#160;()</title>
<indexterm zone="gdk-event-get-crossing-mode"><primary>gdk_event_get_crossing_mode</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_crossing_mode (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                             <parameter><link linkend="GdkCrossingMode"><type>GdkCrossingMode</type></link> *mode</parameter>);</programlisting>
<para>Extracts the crossing mode from an event.</para>
<refsect3 id="gdk-event-get-crossing-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>mode</para></entry>
<entry role="parameter_description"><para>return location for the crossing mode. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-crossing-mode.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-drop" role="function">
<title>gdk_event_get_drop&#160;()</title>
<indexterm zone="gdk-event-get-drop"><primary>gdk_event_get_drop</primary></indexterm>
<programlisting language="C"><link linkend="GdkDrop"><returnvalue>GdkDrop</returnvalue></link>&#160;*
gdk_event_get_drop (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Gets the <link linkend="GdkDrop"><type>GdkDrop</type></link> from a DND event.</para>
<refsect3 id="gdk-event-get-drop.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-drop.returns" role="returns">
<title>Returns</title>
<para>the drop. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-focus-in" role="function">
<title>gdk_event_get_focus_in&#160;()</title>
<indexterm zone="gdk-event-get-focus-in"><primary>gdk_event_get_focus_in</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_focus_in (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                        <parameter><link linkend="gboolean"><type>gboolean</type></link> *focus_in</parameter>);</programlisting>
<para>Extracts whether this is a focus-in or focus-out event.</para>
<refsect3 id="gdk-event-get-focus-in.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>focus_in</para></entry>
<entry role="parameter_description"><para>return location for focus direction. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-focus-in.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-grab-surface" role="function">
<title>gdk_event_get_grab_surface&#160;()</title>
<indexterm zone="gdk-event-get-grab-surface"><primary>gdk_event_get_grab_surface</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_grab_surface (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                            <parameter><link linkend="GdkSurface"><type>GdkSurface</type></link> **surface</parameter>);</programlisting>
<para>Extracts the grab surface from a grab broken event.</para>
<refsect3 id="gdk-event-get-grab-surface.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>surface</para></entry>
<entry role="parameter_description"><para>Return location for the grab surface. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-grab-surface.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-motion-history" role="function">
<title>gdk_event_get_motion_history&#160;()</title>
<indexterm zone="gdk-event-get-motion-history"><primary>gdk_event_get_motion_history</primary></indexterm>
<programlisting language="C"><link linkend="GList"><returnvalue>GList</returnvalue></link>&#160;*
gdk_event_get_motion_history (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Retrieves the history of the <parameter>event</parameter>
 motion, as a list of time and
coordinates.</para>
<refsect3 id="gdk-event-get-motion-history.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link> of type <link linkend="GDK-MOTION-NOTIFY:CAPS"><literal>GDK_MOTION_NOTIFY</literal></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-motion-history.returns" role="returns">
<title>Returns</title>
<para>a list
of time and coordinates. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>element-type</acronym> GdkTimeCoord][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-key-group" role="function">
<title>gdk_event_get_key_group&#160;()</title>
<indexterm zone="gdk-event-get-key-group"><primary>gdk_event_get_key_group</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_key_group (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                         <parameter><link linkend="guint"><type>guint</type></link> *group</parameter>);</programlisting>
<para>Extracts the key group from an event.</para>
<refsect3 id="gdk-event-get-key-group.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>group</para></entry>
<entry role="parameter_description"><para>return location for the key group. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-key-group.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-key-is-modifier" role="function">
<title>gdk_event_get_key_is_modifier&#160;()</title>
<indexterm zone="gdk-event-get-key-is-modifier"><primary>gdk_event_get_key_is_modifier</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_key_is_modifier (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                               <parameter><link linkend="gboolean"><type>gboolean</type></link> *is_modifier</parameter>);</programlisting>
<para>Extracts whether the event is a key event for
a modifier key.</para>
<refsect3 id="gdk-event-get-key-is-modifier.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>is_modifier</para></entry>
<entry role="parameter_description"><para>return location for the value. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-key-is-modifier.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-pad-axis-value" role="function">
<title>gdk_event_get_pad_axis_value&#160;()</title>
<indexterm zone="gdk-event-get-pad-axis-value"><primary>gdk_event_get_pad_axis_value</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_pad_axis_value (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                              <parameter><link linkend="guint"><type>guint</type></link> *index</parameter>,
                              <parameter><link linkend="gdouble"><type>gdouble</type></link> *value</parameter>);</programlisting>
<para>Extracts the information from a pad event.</para>
<refsect3 id="gdk-event-get-pad-axis-value.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>index</para></entry>
<entry role="parameter_description"><para>Return location for the axis index. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>value</para></entry>
<entry role="parameter_description"><para>Return location for the axis value. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-pad-axis-value.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-pad-button" role="function">
<title>gdk_event_get_pad_button&#160;()</title>
<indexterm zone="gdk-event-get-pad-button"><primary>gdk_event_get_pad_button</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_pad_button (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                          <parameter><link linkend="guint"><type>guint</type></link> *button</parameter>);</programlisting>
<para>Extracts information about the pressed button from
a pad event.</para>
<refsect3 id="gdk-event-get-pad-button.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>button</para></entry>
<entry role="parameter_description"><para>Return location for the button. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-pad-button.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-pad-group-mode" role="function">
<title>gdk_event_get_pad_group_mode&#160;()</title>
<indexterm zone="gdk-event-get-pad-group-mode"><primary>gdk_event_get_pad_group_mode</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_pad_group_mode (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                              <parameter><link linkend="guint"><type>guint</type></link> *group</parameter>,
                              <parameter><link linkend="guint"><type>guint</type></link> *mode</parameter>);</programlisting>
<para>Extracts group and mode information from a pad event.</para>
<refsect3 id="gdk-event-get-pad-group-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>group</para></entry>
<entry role="parameter_description"><para>return location for the group. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>mode</para></entry>
<entry role="parameter_description"><para>return location for the mode. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-pad-group-mode.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-string" role="function">
<title>gdk_event_get_string&#160;()</title>
<indexterm zone="gdk-event-get-string"><primary>gdk_event_get_string</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_string (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                      <parameter>const <link linkend="char"><type>char</type></link> **string</parameter>);</programlisting>
<para>Extracts a string from an event. The string is an
approximation of the keyval in a key event.</para>
<refsect3 id="gdk-event-get-string.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>string</para></entry>
<entry role="parameter_description"><para>return location for the string. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-string.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-touch-emulating-pointer" role="function">
<title>gdk_event_get_touch_emulating_pointer&#160;()</title>
<indexterm zone="gdk-event-get-touch-emulating-pointer"><primary>gdk_event_get_touch_emulating_pointer</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_touch_emulating_pointer (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                                       <parameter><link linkend="gboolean"><type>gboolean</type></link> *emulating</parameter>);</programlisting>
<para>Extracts whether a touch event is emulating a pointer event.</para>
<refsect3 id="gdk-event-get-touch-emulating-pointer.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>emulating</para></entry>
<entry role="parameter_description"><para>Return location for information. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-touch-emulating-pointer.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-touchpad-angle-delta" role="function">
<title>gdk_event_get_touchpad_angle_delta&#160;()</title>
<indexterm zone="gdk-event-get-touchpad-angle-delta"><primary>gdk_event_get_touchpad_angle_delta</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_touchpad_angle_delta (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                                    <parameter><link linkend="double"><type>double</type></link> *delta</parameter>);</programlisting>
<para>Extracts the angle from a touchpad event.</para>
<refsect3 id="gdk-event-get-touchpad-angle-delta.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>delta</para></entry>
<entry role="parameter_description"><para>Return location for angle. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-touchpad-angle-delta.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-touchpad-deltas" role="function">
<title>gdk_event_get_touchpad_deltas&#160;()</title>
<indexterm zone="gdk-event-get-touchpad-deltas"><primary>gdk_event_get_touchpad_deltas</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_touchpad_deltas (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                               <parameter><link linkend="double"><type>double</type></link> *dx</parameter>,
                               <parameter><link linkend="double"><type>double</type></link> *dy</parameter>);</programlisting>
<para>Extracts delta information from a touchpad event.</para>
<refsect3 id="gdk-event-get-touchpad-deltas.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dx</para></entry>
<entry role="parameter_description"><para>return location for x. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>dy</para></entry>
<entry role="parameter_description"><para>return location for y. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-touchpad-deltas.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-touchpad-gesture-n-fingers" role="function">
<title>gdk_event_get_touchpad_gesture_n_fingers&#160;()</title>
<indexterm zone="gdk-event-get-touchpad-gesture-n-fingers"><primary>gdk_event_get_touchpad_gesture_n_fingers</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_touchpad_gesture_n_fingers
                               (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                                <parameter><link linkend="guint"><type>guint</type></link> *n_fingers</parameter>);</programlisting>
<para>Extracts the number of fingers from a touchpad event.</para>
<refsect3 id="gdk-event-get-touchpad-gesture-n-fingers.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>n_fingers</para></entry>
<entry role="parameter_description"><para>return location for the number of fingers. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-touchpad-gesture-n-fingers.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-touchpad-gesture-phase" role="function">
<title>gdk_event_get_touchpad_gesture_phase&#160;()</title>
<indexterm zone="gdk-event-get-touchpad-gesture-phase"><primary>gdk_event_get_touchpad_gesture_phase</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_touchpad_gesture_phase (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                                      <parameter><link linkend="GdkTouchpadGesturePhase"><type>GdkTouchpadGesturePhase</type></link> *phase</parameter>);</programlisting>
<para>Extracts the touchpad gesture phase from a touchpad event.</para>
<refsect3 id="gdk-event-get-touchpad-gesture-phase.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>phase</para></entry>
<entry role="parameter_description"><para>Return location for the gesture phase. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-touchpad-gesture-phase.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-touchpad-scale" role="function">
<title>gdk_event_get_touchpad_scale&#160;()</title>
<indexterm zone="gdk-event-get-touchpad-scale"><primary>gdk_event_get_touchpad_scale</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_touchpad_scale (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                              <parameter><link linkend="double"><type>double</type></link> *scale</parameter>);</programlisting>
<para>Extracts the scale from a touchpad event.</para>
<refsect3 id="gdk-event-get-touchpad-scale.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>scale</para></entry>
<entry role="parameter_description"><para>Return location for scale. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-touchpad-scale.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-is-sent" role="function">
<title>gdk_event_is_sent&#160;()</title>
<indexterm zone="gdk-event-is-sent"><primary>gdk_event_is_sent</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_is_sent (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns whether the event was sent explicitly.</para>
<refsect3 id="gdk-event-is-sent.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-is-sent.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the event was sent explicitly</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-handler-set" role="function">
<title>gdk_event_handler_set&#160;()</title>
<indexterm zone="gdk-event-handler-set"><primary>gdk_event_handler_set</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_event_handler_set (<parameter><link linkend="GdkEventFunc"><type>GdkEventFunc</type></link> func</parameter>,
                       <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                       <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> notify</parameter>);</programlisting>
<para>Sets the function to call to handle all events from GDK.</para>
<para>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 <link linkend="gtk-main-do-event"><function>gtk_main_do_event()</function></link> to pass
events to GTK+.)</para>
<refsect3 id="gdk-event-handler-set.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>the function to call to handle events from GDK.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data to pass to the function. </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>notify</para></entry>
<entry role="parameter_description"><para>the function to call when the handler function is removed, i.e. when
<link linkend="gdk-event-handler-set"><function>gdk_event_handler_set()</function></link> is called with another event handler.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkEventFunc" role="function">
<title>GdkEventFunc&#160;()</title>
<indexterm zone="GdkEventFunc"><primary>GdkEventFunc</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GdkEventFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                 <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Specifies the type of function passed to <link linkend="gdk-event-handler-set"><function>gdk_event_handler_set()</function></link> to
handle all GDK events.</para>
<refsect3 id="GdkEventFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>the <link linkend="GdkEvent"><type>GdkEvent</type></link> to process.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data set when the event handler was installed with
<link linkend="gdk-event-handler-set"><function>gdk_event_handler_set()</function></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-get-show-events" role="function">
<title>gdk_get_show_events&#160;()</title>
<indexterm zone="gdk-get-show-events"><primary>gdk_get_show_events</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_get_show_events (<parameter><type>void</type></parameter>);</programlisting>
<para>Gets whether event debugging output is enabled.</para>
<refsect3 id="gdk-get-show-events.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if event debugging output is enabled.</para>
</refsect3></refsect2>
<refsect2 id="gdk-set-show-events" role="function">
<title>gdk_set_show_events&#160;()</title>
<indexterm zone="gdk-set-show-events"><primary>gdk_set_show_events</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_set_show_events (<parameter><link linkend="gboolean"><type>gboolean</type></link> show_events</parameter>);</programlisting>
<para>Sets whether a trace of received events is output.
Note that GTK+ must be compiled with debugging (that is,
configured using the <literal>--enable-debug</literal> option)
to use this option.</para>
<refsect3 id="gdk-set-show-events.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>show_events</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to output event debugging information.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-event-set-display" role="function">
<title>gdk_event_set_display&#160;()</title>
<indexterm zone="gdk-event-set-display"><primary>gdk_event_set_display</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_event_set_display (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                       <parameter><link linkend="GdkDisplay"><type>GdkDisplay</type></link> *display</parameter>);</programlisting>
<para>Sets the display that an event is associated with.</para>
<refsect3 id="gdk-event-set-display.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkDisplay"><type>GdkDisplay</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-display" role="function">
<title>gdk_event_get_display&#160;()</title>
<indexterm zone="gdk-event-get-display"><primary>gdk_event_get_display</primary></indexterm>
<programlisting language="C"><link linkend="GdkDisplay"><returnvalue>GdkDisplay</returnvalue></link>&#160;*
gdk_event_get_display (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Retrieves the <link linkend="GdkDisplay"><type>GdkDisplay</type></link> associated to the <parameter>event</parameter>
.</para>
<refsect3 id="gdk-event-get-display.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-display.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GdkDisplay"><type>GdkDisplay</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-device" role="function">
<title>gdk_event_get_device&#160;()</title>
<indexterm zone="gdk-event-get-device"><primary>gdk_event_get_device</primary></indexterm>
<programlisting language="C"><link linkend="GdkDevice"><returnvalue>GdkDevice</returnvalue></link>&#160;*
gdk_event_get_device (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>If the event contains a “device” field, this function will return
it, else it will return <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<refsect3 id="gdk-event-get-device.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-device.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GdkDevice"><type>GdkDevice</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-set-device" role="function">
<title>gdk_event_set_device&#160;()</title>
<indexterm zone="gdk-event-set-device"><primary>gdk_event_set_device</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_event_set_device (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                      <parameter><link linkend="GdkDevice"><type>GdkDevice</type></link> *device</parameter>);</programlisting>
<para>Sets the device for <parameter>event</parameter>
 to <parameter>device</parameter>
. The event must
have been allocated by GTK+, for instance, by
<link linkend="gdk-event-copy"><function>gdk_event_copy()</function></link>.</para>
<refsect3 id="gdk-event-set-device.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>device</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkDevice"><type>GdkDevice</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-source-device" role="function">
<title>gdk_event_get_source_device&#160;()</title>
<indexterm zone="gdk-event-get-source-device"><primary>gdk_event_get_source_device</primary></indexterm>
<programlisting language="C"><link linkend="GdkDevice"><returnvalue>GdkDevice</returnvalue></link>&#160;*
gdk_event_get_source_device (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>This function returns the hardware (slave) <link linkend="GdkDevice"><type>GdkDevice</type></link> that has
triggered the event, falling back to the virtual (master) device
(as in <link linkend="gdk-event-get-device"><function>gdk_event_get_device()</function></link>) if the event wasn’t caused by
interaction with a hardware device. This may happen for example
in synthesized crossing events after a <link linkend="GdkSurface"><type>GdkSurface</type></link> updates its
geometry or a grab is acquired/released.</para>
<para>If the event does not contain a device field, this function will
return <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<refsect3 id="gdk-event-get-source-device.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-source-device.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="GdkDevice"><type>GdkDevice</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-set-source-device" role="function">
<title>gdk_event_set_source_device&#160;()</title>
<indexterm zone="gdk-event-set-source-device"><primary>gdk_event_set_source_device</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_event_set_source_device (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                             <parameter><link linkend="GdkDevice"><type>GdkDevice</type></link> *device</parameter>);</programlisting>
<para>Sets the slave device for <parameter>event</parameter>
 to <parameter>device</parameter>
.</para>
<para>The event must have been allocated by GTK+,
for instance by <link linkend="gdk-event-copy"><function>gdk_event_copy()</function></link>.</para>
<refsect3 id="gdk-event-set-source-device.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>device</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkDevice"><type>GdkDevice</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-device-tool" role="function">
<title>gdk_event_get_device_tool&#160;()</title>
<indexterm zone="gdk-event-get-device-tool"><primary>gdk_event_get_device_tool</primary></indexterm>
<programlisting language="C"><link linkend="GdkDeviceTool"><returnvalue>GdkDeviceTool</returnvalue></link>&#160;*
gdk_event_get_device_tool (<parameter>const <link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>If the event was generated by a device that supports
different tools (eg. a tablet), this function will
return a <link linkend="GdkDeviceTool"><type>GdkDeviceTool</type></link> representing the tool that
caused the event. Otherwise, <link linkend="NULL:CAPS"><literal>NULL</literal></link> will be returned.</para>
<para>Note: the <link linkend="GdkDeviceTool"><type>GdkDeviceTool</type></link>&lt;!-- -->s will be constant during
the application lifetime, if settings must be stored
persistently across runs, see <link linkend="gdk-device-tool-get-serial"><function>gdk_device_tool_get_serial()</function></link></para>
<refsect3 id="gdk-event-get-device-tool.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-device-tool.returns" role="returns">
<title>Returns</title>
<para>The current device tool, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-set-device-tool" role="function">
<title>gdk_event_set_device_tool&#160;()</title>
<indexterm zone="gdk-event-set-device-tool"><primary>gdk_event_set_device_tool</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_event_set_device_tool (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                           <parameter><link linkend="GdkDeviceTool"><type>GdkDeviceTool</type></link> *tool</parameter>);</programlisting>
<para>Sets the device tool for this event, should be rarely used.</para>
<refsect3 id="gdk-event-set-device-tool.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>event</para></entry>
<entry role="parameter_description"><para>a <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tool</para></entry>
<entry role="parameter_description"><para>tool to set on the event, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="gdk4-Events.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GdkEvent-union" role="union">
<title>GdkEvent</title>
<indexterm zone="GdkEvent-union"><primary>GdkEvent</primary></indexterm>
<para>The GdkEvent struct contains only private fields and
should not be accessed directly.</para>
</refsect2>
<refsect2 id="GdkEventType" role="enum">
<title>enum GdkEventType</title>
<indexterm zone="GdkEventType"><primary>GdkEventType</primary></indexterm>
<para>Specifies the type of the event.</para>
<para>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.</para>
<refsect3 id="GdkEventType.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTHING:CAPS">GDK_NOTHING</para></entry>
<entry role="enum_member_description"><para>a special code to indicate a null event.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-DELETE:CAPS">GDK_DELETE</para></entry>
<entry role="enum_member_description"><para>the window manager has requested that the toplevel surface be
  hidden or destroyed, usually when the user clicks on a special icon in the
  title bar.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-DESTROY:CAPS">GDK_DESTROY</para></entry>
<entry role="enum_member_description"><para>the surface has been destroyed.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-EXPOSE:CAPS">GDK_EXPOSE</para></entry>
<entry role="enum_member_description"><para>all or part of the surface has become visible and needs to be
  redrawn.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-MOTION-NOTIFY:CAPS">GDK_MOTION_NOTIFY</para></entry>
<entry role="enum_member_description"><para>the pointer (usually a mouse) has moved.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON-PRESS:CAPS">GDK_BUTTON_PRESS</para></entry>
<entry role="enum_member_description"><para>a mouse button has been pressed.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON-RELEASE:CAPS">GDK_BUTTON_RELEASE</para></entry>
<entry role="enum_member_description"><para>a mouse button has been released.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-KEY-PRESS:CAPS">GDK_KEY_PRESS</para></entry>
<entry role="enum_member_description"><para>a key has been pressed.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-KEY-RELEASE:CAPS">GDK_KEY_RELEASE</para></entry>
<entry role="enum_member_description"><para>a key has been released.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-ENTER-NOTIFY:CAPS">GDK_ENTER_NOTIFY</para></entry>
<entry role="enum_member_description"><para>the pointer has entered the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-LEAVE-NOTIFY:CAPS">GDK_LEAVE_NOTIFY</para></entry>
<entry role="enum_member_description"><para>the pointer has left the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-FOCUS-CHANGE:CAPS">GDK_FOCUS_CHANGE</para></entry>
<entry role="enum_member_description"><para>the keyboard focus has entered or left the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CONFIGURE:CAPS">GDK_CONFIGURE</para></entry>
<entry role="enum_member_description"><para>the size, position or stacking order of the surface has changed.
  Note that GTK+ discards these events for <link linkend="GDK-SURFACE-CHILD:CAPS"><literal>GDK_SURFACE_CHILD</literal></link> surfaces.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-MAP:CAPS">GDK_MAP</para></entry>
<entry role="enum_member_description"><para>the surface has been mapped.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-UNMAP:CAPS">GDK_UNMAP</para></entry>
<entry role="enum_member_description"><para>the surface has been unmapped.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PROXIMITY-IN:CAPS">GDK_PROXIMITY_IN</para></entry>
<entry role="enum_member_description"><para>an input device has moved into contact with a sensing
  surface (e.g. a touchscreen or graphics tablet).</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PROXIMITY-OUT:CAPS">GDK_PROXIMITY_OUT</para></entry>
<entry role="enum_member_description"><para>an input device has moved out of contact with a sensing
  surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-DRAG-ENTER:CAPS">GDK_DRAG_ENTER</para></entry>
<entry role="enum_member_description"><para>the mouse has entered the surface while a drag is in progress.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-DRAG-LEAVE:CAPS">GDK_DRAG_LEAVE</para></entry>
<entry role="enum_member_description"><para>the mouse has left the surface while a drag is in progress.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-DRAG-MOTION:CAPS">GDK_DRAG_MOTION</para></entry>
<entry role="enum_member_description"><para>the mouse has moved in the surface while a drag is in
  progress.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-DROP-START:CAPS">GDK_DROP_START</para></entry>
<entry role="enum_member_description"><para>a drop operation onto the surface has started.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL:CAPS">GDK_SCROLL</para></entry>
<entry role="enum_member_description"><para>the scroll wheel was turned</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-GRAB-BROKEN:CAPS">GDK_GRAB_BROKEN</para></entry>
<entry role="enum_member_description"><para>a pointer or keyboard grab was broken. This event type
  was added in 2.8.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCH-BEGIN:CAPS">GDK_TOUCH_BEGIN</para></entry>
<entry role="enum_member_description"><para>A new touch event sequence has just started. This event
  type was added in 3.4.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCH-UPDATE:CAPS">GDK_TOUCH_UPDATE</para></entry>
<entry role="enum_member_description"><para>A touch event sequence has been updated. This event type
  was added in 3.4.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCH-END:CAPS">GDK_TOUCH_END</para></entry>
<entry role="enum_member_description"><para>A touch event sequence has finished. This event type
  was added in 3.4.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCH-CANCEL:CAPS">GDK_TOUCH_CANCEL</para></entry>
<entry role="enum_member_description"><para>A touch event sequence has been canceled. This event type
  was added in 3.4.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCHPAD-SWIPE:CAPS">GDK_TOUCHPAD_SWIPE</para></entry>
<entry role="enum_member_description"><para>A touchpad swipe gesture event, the current state
  is determined by its phase field. This event type was added in 3.18.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCHPAD-PINCH:CAPS">GDK_TOUCHPAD_PINCH</para></entry>
<entry role="enum_member_description"><para>A touchpad pinch gesture event, the current state
  is determined by its phase field. This event type was added in 3.18.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PAD-BUTTON-PRESS:CAPS">GDK_PAD_BUTTON_PRESS</para></entry>
<entry role="enum_member_description"><para>A tablet pad button press event. This event type
  was added in 3.22.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PAD-BUTTON-RELEASE:CAPS">GDK_PAD_BUTTON_RELEASE</para></entry>
<entry role="enum_member_description"><para>A tablet pad button release event. This event type
  was added in 3.22.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PAD-RING:CAPS">GDK_PAD_RING</para></entry>
<entry role="enum_member_description"><para>A tablet pad axis event from a "ring". This event type was
  added in 3.22.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PAD-STRIP:CAPS">GDK_PAD_STRIP</para></entry>
<entry role="enum_member_description"><para>A tablet pad axis event from a "strip". This event type was
  added in 3.22.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PAD-GROUP-MODE:CAPS">GDK_PAD_GROUP_MODE</para></entry>
<entry role="enum_member_description"><para>A tablet pad group mode change. This event type was
  added in 3.22.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-EVENT-LAST:CAPS">GDK_EVENT_LAST</para></entry>
<entry role="enum_member_description"><para>marks the end of the GdkEventType enumeration. Added in 2.18</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkEventMask" role="enum">
<title>enum GdkEventMask</title>
<indexterm zone="GdkEventMask"><primary>GdkEventMask</primary></indexterm>
<para>A set of bit-flags to indicate which events a surface is to receive.
Most of these masks map onto one or more of the <link linkend="GdkEventType"><type>GdkEventType</type></link> event types
above.</para>
<para>See the <link linkend="chap-input-handling">input handling overview</link> for details of
<link linkend="event-masks">event masks</link> and <link linkend="event-propagation">event propagation</link>.</para>
<para>If <link linkend="GDK-TOUCH-MASK:CAPS"><literal>GDK_TOUCH_MASK</literal></link> is enabled, the surface will receive touch events
from touch-enabled devices. Those will come as sequences of <link linkend="GdkEventTouch"><type>GdkEventTouch</type></link>
with type <link linkend="GDK-TOUCH-UPDATE:CAPS"><literal>GDK_TOUCH_UPDATE</literal></link>, enclosed by two events with
type <link linkend="GDK-TOUCH-BEGIN:CAPS"><literal>GDK_TOUCH_BEGIN</literal></link> and <link linkend="GDK-TOUCH-END:CAPS"><literal>GDK_TOUCH_END</literal></link> (or <link linkend="GDK-TOUCH-CANCEL:CAPS"><literal>GDK_TOUCH_CANCEL</literal></link>).
<link linkend="gdk-event-get-event-sequence"><function>gdk_event_get_event_sequence()</function></link> returns the event sequence for these
events, so different sequences may be distinguished.</para>
<refsect3 id="GdkEventMask.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GDK-EXPOSURE-MASK:CAPS">GDK_EXPOSURE_MASK</para></entry>
<entry role="enum_member_description"><para>receive expose events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-POINTER-MOTION-MASK:CAPS">GDK_POINTER_MOTION_MASK</para></entry>
<entry role="enum_member_description"><para>receive all pointer motion events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON-MOTION-MASK:CAPS">GDK_BUTTON_MOTION_MASK</para></entry>
<entry role="enum_member_description"><para>receive pointer motion events while any button is pressed</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON1-MOTION-MASK:CAPS">GDK_BUTTON1_MOTION_MASK</para></entry>
<entry role="enum_member_description"><para>receive pointer motion events while 1 button is pressed</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON2-MOTION-MASK:CAPS">GDK_BUTTON2_MOTION_MASK</para></entry>
<entry role="enum_member_description"><para>receive pointer motion events while 2 button is pressed</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON3-MOTION-MASK:CAPS">GDK_BUTTON3_MOTION_MASK</para></entry>
<entry role="enum_member_description"><para>receive pointer motion events while 3 button is pressed</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON-PRESS-MASK:CAPS">GDK_BUTTON_PRESS_MASK</para></entry>
<entry role="enum_member_description"><para>receive button press events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-BUTTON-RELEASE-MASK:CAPS">GDK_BUTTON_RELEASE_MASK</para></entry>
<entry role="enum_member_description"><para>receive button release events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-KEY-PRESS-MASK:CAPS">GDK_KEY_PRESS_MASK</para></entry>
<entry role="enum_member_description"><para>receive key press events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-KEY-RELEASE-MASK:CAPS">GDK_KEY_RELEASE_MASK</para></entry>
<entry role="enum_member_description"><para>receive key release events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-ENTER-NOTIFY-MASK:CAPS">GDK_ENTER_NOTIFY_MASK</para></entry>
<entry role="enum_member_description"><para>receive surface enter events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-LEAVE-NOTIFY-MASK:CAPS">GDK_LEAVE_NOTIFY_MASK</para></entry>
<entry role="enum_member_description"><para>receive surface leave events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-FOCUS-CHANGE-MASK:CAPS">GDK_FOCUS_CHANGE_MASK</para></entry>
<entry role="enum_member_description"><para>receive focus change events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-STRUCTURE-MASK:CAPS">GDK_STRUCTURE_MASK</para></entry>
<entry role="enum_member_description"><para>receive events about surface configuration change</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PROPERTY-CHANGE-MASK:CAPS">GDK_PROPERTY_CHANGE_MASK</para></entry>
<entry role="enum_member_description"><para>receive property change events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PROXIMITY-IN-MASK:CAPS">GDK_PROXIMITY_IN_MASK</para></entry>
<entry role="enum_member_description"><para>receive proximity in events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-PROXIMITY-OUT-MASK:CAPS">GDK_PROXIMITY_OUT_MASK</para></entry>
<entry role="enum_member_description"><para>receive proximity out events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SUBSTRUCTURE-MASK:CAPS">GDK_SUBSTRUCTURE_MASK</para></entry>
<entry role="enum_member_description"><para>receive events about surface configuration changes of child surfaces</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL-MASK:CAPS">GDK_SCROLL_MASK</para></entry>
<entry role="enum_member_description"><para>receive scroll events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCH-MASK:CAPS">GDK_TOUCH_MASK</para></entry>
<entry role="enum_member_description"><para>receive touch events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SMOOTH-SCROLL-MASK:CAPS">GDK_SMOOTH_SCROLL_MASK</para></entry>
<entry role="enum_member_description"><para>receive smooth scrolling events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCHPAD-GESTURE-MASK:CAPS">GDK_TOUCHPAD_GESTURE_MASK</para></entry>
<entry role="enum_member_description"><para>receive touchpad gesture events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TABLET-PAD-MASK:CAPS">GDK_TABLET_PAD_MASK</para></entry>
<entry role="enum_member_description"><para>receive tablet pad events</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-ALL-EVENTS-MASK:CAPS">GDK_ALL_EVENTS_MASK</para></entry>
<entry role="enum_member_description"><para>the combination of all the above event masks.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkScrollDirection" role="enum">
<title>enum GdkScrollDirection</title>
<indexterm zone="GdkScrollDirection"><primary>GdkScrollDirection</primary></indexterm>
<para>Specifies the direction for scroll events.</para>
<refsect3 id="GdkScrollDirection.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL-UP:CAPS">GDK_SCROLL_UP</para></entry>
<entry role="enum_member_description"><para>the surface is scrolled up.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL-DOWN:CAPS">GDK_SCROLL_DOWN</para></entry>
<entry role="enum_member_description"><para>the surface is scrolled down.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL-LEFT:CAPS">GDK_SCROLL_LEFT</para></entry>
<entry role="enum_member_description"><para>the surface is scrolled to the left.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL-RIGHT:CAPS">GDK_SCROLL_RIGHT</para></entry>
<entry role="enum_member_description"><para>the surface is scrolled to the right.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-SCROLL-SMOOTH:CAPS">GDK_SCROLL_SMOOTH</para></entry>
<entry role="enum_member_description"><para>the scrolling is determined by the delta values
  in scroll events. See <link linkend="gdk-event-get-scroll-deltas"><function>gdk_event_get_scroll_deltas()</function></link></para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkCrossingMode" role="enum">
<title>enum GdkCrossingMode</title>
<indexterm zone="GdkCrossingMode"><primary>GdkCrossingMode</primary></indexterm>
<para>Specifies the crossing mode for enter and leave events.</para>
<refsect3 id="GdkCrossingMode.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-NORMAL:CAPS">GDK_CROSSING_NORMAL</para></entry>
<entry role="enum_member_description"><para>crossing because of pointer motion.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-GRAB:CAPS">GDK_CROSSING_GRAB</para></entry>
<entry role="enum_member_description"><para>crossing because a grab is activated.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-UNGRAB:CAPS">GDK_CROSSING_UNGRAB</para></entry>
<entry role="enum_member_description"><para>crossing because a grab is deactivated.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-GTK-GRAB:CAPS">GDK_CROSSING_GTK_GRAB</para></entry>
<entry role="enum_member_description"><para>crossing because a GTK+ grab is activated.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-GTK-UNGRAB:CAPS">GDK_CROSSING_GTK_UNGRAB</para></entry>
<entry role="enum_member_description"><para>crossing because a GTK+ grab is deactivated.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-STATE-CHANGED:CAPS">GDK_CROSSING_STATE_CHANGED</para></entry>
<entry role="enum_member_description"><para>crossing because a GTK+ widget changed
  state (e.g. sensitivity).</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-TOUCH-BEGIN:CAPS">GDK_CROSSING_TOUCH_BEGIN</para></entry>
<entry role="enum_member_description"><para>crossing because a touch sequence has begun,
  this event is synthetic as the pointer might have not left the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-TOUCH-END:CAPS">GDK_CROSSING_TOUCH_END</para></entry>
<entry role="enum_member_description"><para>crossing because a touch sequence has ended,
  this event is synthetic as the pointer might have not left the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-CROSSING-DEVICE-SWITCH:CAPS">GDK_CROSSING_DEVICE_SWITCH</para></entry>
<entry role="enum_member_description"><para>crossing because of a device switch (i.e.
  a mouse taking control of the pointer after a touch device), this event
  is synthetic as the pointer didn’t leave the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkNotifyType" role="enum">
<title>enum GdkNotifyType</title>
<indexterm zone="GdkNotifyType"><primary>GdkNotifyType</primary></indexterm>
<para>Specifies the kind of crossing for enter and leave events.</para>
<para>See the X11 protocol specification of LeaveNotify for
full details of crossing event generation.</para>
<refsect3 id="GdkNotifyType.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTIFY-ANCESTOR:CAPS">GDK_NOTIFY_ANCESTOR</para></entry>
<entry role="enum_member_description"><para>the surface is entered from an ancestor or
  left towards an ancestor.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTIFY-VIRTUAL:CAPS">GDK_NOTIFY_VIRTUAL</para></entry>
<entry role="enum_member_description"><para>the pointer moves between an ancestor and an
  inferior of the surface.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTIFY-INFERIOR:CAPS">GDK_NOTIFY_INFERIOR</para></entry>
<entry role="enum_member_description"><para>the surface is entered from an inferior or
  left towards an inferior.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTIFY-NONLINEAR:CAPS">GDK_NOTIFY_NONLINEAR</para></entry>
<entry role="enum_member_description"><para>the surface is entered from or left towards
  a surface which is neither an ancestor nor an inferior.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTIFY-NONLINEAR-VIRTUAL:CAPS">GDK_NOTIFY_NONLINEAR_VIRTUAL</para></entry>
<entry role="enum_member_description"><para>the pointer moves between two surfaces
  which are not ancestors of each other and the surface is part of
  the ancestor chain between one of these surfaces and their least
  common ancestor.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-NOTIFY-UNKNOWN:CAPS">GDK_NOTIFY_UNKNOWN</para></entry>
<entry role="enum_member_description"><para>an unknown type of enter/leave event occurred.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GDK-CURRENT-TIME:CAPS" role="macro">
<title>GDK_CURRENT_TIME</title>
<indexterm zone="GDK-CURRENT-TIME:CAPS"><primary>GDK_CURRENT_TIME</primary></indexterm>
<programlisting language="C">#define GDK_CURRENT_TIME     0L
</programlisting>
<para>Represents the current time, and can be used anywhere a time is expected.</para>
</refsect2>
<refsect2 id="GDK-PRIORITY-EVENTS:CAPS" role="macro">
<title>GDK_PRIORITY_EVENTS</title>
<indexterm zone="GDK-PRIORITY-EVENTS:CAPS"><primary>GDK_PRIORITY_EVENTS</primary></indexterm>
<programlisting language="C">#define GDK_PRIORITY_EVENTS&#160;(G_PRIORITY_DEFAULT)
</programlisting>
<para>This is the priority that events from the X server are given in the
<link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.</para>
</refsect2>
<refsect2 id="GDK-PRIORITY-REDRAW:CAPS" role="macro">
<title>GDK_PRIORITY_REDRAW</title>
<indexterm zone="GDK-PRIORITY-REDRAW:CAPS"><primary>GDK_PRIORITY_REDRAW</primary></indexterm>
<programlisting language="C">#define GDK_PRIORITY_REDRAW     (G_PRIORITY_HIGH_IDLE + 20)
</programlisting>
<para>This is the priority that the idle handler processing surface updates
is given in the
<link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.</para>
</refsect2>
<refsect2 id="GDK-EVENT-PROPAGATE:CAPS" role="macro">
<title>GDK_EVENT_PROPAGATE</title>
<indexterm zone="GDK-EVENT-PROPAGATE:CAPS"><primary>GDK_EVENT_PROPAGATE</primary></indexterm>
<programlisting language="C">#define GDK_EVENT_PROPAGATE     (FALSE)
</programlisting>
<para>Use this macro as the return value for continuing the propagation of
an event handler.</para>
</refsect2>
<refsect2 id="GDK-EVENT-STOP:CAPS" role="macro">
<title>GDK_EVENT_STOP</title>
<indexterm zone="GDK-EVENT-STOP:CAPS"><primary>GDK_EVENT_STOP</primary></indexterm>
<programlisting language="C">#define GDK_EVENT_STOP          (TRUE)
</programlisting>
<para>Use this macro as the return value for stopping the propagation of
an event handler.</para>
</refsect2>
<refsect2 id="GDK-BUTTON-PRIMARY:CAPS" role="macro">
<title>GDK_BUTTON_PRIMARY</title>
<indexterm zone="GDK-BUTTON-PRIMARY:CAPS"><primary>GDK_BUTTON_PRIMARY</primary></indexterm>
<programlisting language="C">#define GDK_BUTTON_PRIMARY      (1)
</programlisting>
<para>The primary button. This is typically the left mouse button, or the
right button in a left-handed setup.</para>
</refsect2>
<refsect2 id="GDK-BUTTON-MIDDLE:CAPS" role="macro">
<title>GDK_BUTTON_MIDDLE</title>
<indexterm zone="GDK-BUTTON-MIDDLE:CAPS"><primary>GDK_BUTTON_MIDDLE</primary></indexterm>
<programlisting language="C">#define GDK_BUTTON_MIDDLE       (2)
</programlisting>
<para>The middle button.</para>
</refsect2>
<refsect2 id="GDK-BUTTON-SECONDARY:CAPS" role="macro">
<title>GDK_BUTTON_SECONDARY</title>
<indexterm zone="GDK-BUTTON-SECONDARY:CAPS"><primary>GDK_BUTTON_SECONDARY</primary></indexterm>
<programlisting language="C">#define GDK_BUTTON_SECONDARY    (3)
</programlisting>
<para>The secondary button. This is typically the right mouse button, or the
left button in a left-handed setup.</para>
</refsect2>
<refsect2 id="GdkEventSequence" role="struct">
<title>GdkEventSequence</title>
<indexterm zone="GdkEventSequence"><primary>GdkEventSequence</primary></indexterm>
<programlisting language="C">typedef struct _GdkEventSequence GdkEventSequence;</programlisting>
<para>GdkEventSequence is an opaque type representing a sequence
of related touch events.</para>
</refsect2>

</refsect1>
<refsect1 id="gdk4-Events.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GdkEvent--event-type" role="property"><title>The <literal>“event-type”</literal> property</title>
<indexterm zone="GdkEvent--event-type"><primary>GdkEvent:event-type</primary></indexterm>
<programlisting>  “event-type”               <link linkend="GdkEventType"><type>GdkEventType</type></link></programlisting>
<para>Event type.</para><para>Flags: Read / Write / Construct Only</para>
<para>Default value: GDK_NOTHING</para>
</refsect2>

</refsect1>
<refsect1 id="gdk4-Events.see-also">
<title>See Also</title>
<para><link linkend="gdk3-Event-Structures">Event Structures</link></para>

</refsect1>

</refentry>
