<?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_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GdkEvent"><returnvalue>GdkEvent</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-ref">gdk_event_ref</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-unref">gdk_event_unref</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="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="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="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="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="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="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="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="GdkModifierType"><returnvalue>GdkModifierType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-event-get-modifier-state">gdk_event_get_modifier_state</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-position">gdk_event_get_position</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-axis">gdk_event_get_axis</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkTimeCoord"><returnvalue>GdkTimeCoord</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gdk-event-get-history">gdk_event_get_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-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-triggers-context-menu">gdk_event_triggers_context_menu</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-button-event-get-button">gdk_button_event_get_button</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkScrollDirection"><returnvalue>GdkScrollDirection</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-scroll-event-get-direction">gdk_scroll_event_get_direction</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-scroll-event-get-deltas">gdk_scroll_event_get_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-scroll-event-is-stop">gdk_scroll_event_is_stop</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-key-event-get-keyval">gdk_key_event_get_keyval</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-key-event-get-keycode">gdk_key_event_get_keycode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkModifierType"><returnvalue>GdkModifierType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-key-event-get-consumed-modifiers">gdk_key_event_get_consumed_modifiers</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-key-event-get-layout">gdk_key_event_get_layout</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-key-event-get-level">gdk_key_event_get_level</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-key-event-is-modifier">gdk_key_event_is_modifier</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkKeyMatch"><returnvalue>GdkKeyMatch</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-key-event-matches">gdk_key_event_matches</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-key-event-get-match">gdk_key_event_get_match</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-focus-event-get-in">gdk_focus_event_get_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-touch-event-get-emulating-pointer">gdk_touch_event_get_emulating_pointer</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkCrossingMode"><returnvalue>GdkCrossingMode</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-crossing-event-get-mode">gdk_crossing_event_get_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkNotifyType"><returnvalue>GdkNotifyType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-crossing-event-get-detail">gdk_crossing_event_get_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-crossing-event-get-focus">gdk_crossing_event_get_focus</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-grab-broken-event-get-grab-surface">gdk_grab_broken_event_get_grab_surface</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-grab-broken-event-get-implicit">gdk_grab_broken_event_get_implicit</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-dnd-event-get-drop">gdk_dnd_event_get_drop</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-configure-event-get-size">gdk_configure_event_get_size</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkTouchpadGesturePhase"><returnvalue>GdkTouchpadGesturePhase</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-touchpad-event-get-gesture-phase">gdk_touchpad_event_get_gesture_phase</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-touchpad-event-get-n-fingers">gdk_touchpad_event_get_n_fingers</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-touchpad-event-get-deltas">gdk_touchpad_event_get_deltas</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-touchpad-event-get-pinch-angle-delta">gdk_touchpad_event_get_pinch_angle_delta</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-touchpad-event-get-pinch-scale">gdk_touchpad_event_get_pinch_scale</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-pad-event-get-axis-value">gdk_pad_event_get_axis_value</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gdk-pad-event-get-button">gdk_pad_event_get_button</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-pad-event-get-group-mode">gdk_pad_event_get_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-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>

</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 pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GdkEvent-struct">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="GdkKeyMatch">GdkKeyMatch</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GdkTouchpadGesturePhase">GdkTouchpadGesturePhase</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>    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 by toplevel
widgets and passed on to the event controllers of 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-ref" role="function">
<title>gdk_event_ref&#160;()</title>
<indexterm zone="gdk-event-ref"><primary>gdk_event_ref</primary></indexterm>
<programlisting language="C"><link linkend="GdkEvent"><returnvalue>GdkEvent</returnvalue></link>&#160;*
gdk_event_ref (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Increase the ref count of <parameter>event</parameter>
.</para>
<refsect3 id="gdk-event-ref.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-ref.returns" role="returns">
<title>Returns</title>
<para><parameter>event</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-unref" role="function">
<title>gdk_event_unref&#160;()</title>
<indexterm zone="gdk-event-unref"><primary>gdk_event_unref</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_event_unref (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Decrease the ref count of <parameter>event</parameter>
, and free it
if the last reference is dropped.</para>
<refsect3 id="gdk-event-unref.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"><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</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><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-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><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-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><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns the device of an event.</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>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</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><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="GdkDeviceTools"><type>GdkDeviceTools</type></link> 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>][<acronym>nullable</acronym>]</emphasis></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><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>.</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-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><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-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><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns the seat that originated the event.</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>a <link linkend="GdkSeat"><type>GdkSeat</type></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></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><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>If <parameter>event</parameter>
 is a touch event, 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-event-get-modifier-state" role="function">
<title>gdk_event_get_modifier_state&#160;()</title>
<indexterm zone="gdk-event-get-modifier-state"><primary>gdk_event_get_modifier_state</primary></indexterm>
<programlisting language="C"><link linkend="GdkModifierType"><returnvalue>GdkModifierType</returnvalue></link>
gdk_event_get_modifier_state (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Returns the modifier state field of an event.</para>
<refsect3 id="gdk-event-get-modifier-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></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-modifier-state.returns" role="returns">
<title>Returns</title>
<para> the modifier state of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-position" role="function">
<title>gdk_event_get_position&#160;()</title>
<indexterm zone="gdk-event-get-position"><primary>gdk_event_get_position</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_position (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                        <parameter><link linkend="double"><type>double</type></link> *x</parameter>,
                        <parameter><link linkend="double"><type>double</type></link> *y</parameter>);</programlisting>
<para>Extract the event surface relative x/y coordinates from an event.</para>
<refsect3 id="gdk-event-get-position.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</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>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>y</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>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</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="double"><type>double</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-axis" role="function">
<title>gdk_event_get_axis&#160;()</title>
<indexterm zone="gdk-event-get-axis"><primary>gdk_event_get_axis</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_event_get_axis (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                    <parameter><link linkend="GdkAxisUse"><type>GdkAxisUse</type></link> axis_use</parameter>,
                    <parameter><link linkend="double"><type>double</type></link> *value</parameter>);</programlisting>
<para>Extract the axis value for a particular axis use from
an event structure.</para>
<refsect3 id="gdk-event-get-axis.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>axis_use</para></entry>
<entry role="parameter_description"><para>the axis use to look for</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>value</para></entry>
<entry role="parameter_description"><para>location to store the value found. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-event-get-axis.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the specified axis was found, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gdk-event-get-history" role="function">
<title>gdk_event_get_history&#160;()</title>
<indexterm zone="gdk-event-get-history"><primary>gdk_event_get_history</primary></indexterm>
<programlisting language="C"><link linkend="GdkTimeCoord"><returnvalue>GdkTimeCoord</returnvalue></link>&#160;*
gdk_event_get_history (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                       <parameter><link linkend="guint"><type>guint</type></link> *out_n_coords</parameter>);</programlisting>
<para>Retrieves the history of the <parameter>event</parameter>
, as a list of time and coordinates.</para>
<para>The history includes events that are not delivered to the application
because they occurred in the same frame as <parameter>event</parameter>
.</para>
<para>Note that only motion and scroll events record history, and motion
events only if one of the mouse buttons is down.</para>
<refsect3 id="gdk-event-get-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 motion or scroll <link linkend="GdkEvent"><type>GdkEvent</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>out_n_coords</para></entry>
<entry role="parameter_description"><para>Return location for the length of the returned 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-history.returns" role="returns">
<title>Returns</title>
<para>an
array of time and coordinates. </para>
<para><emphasis role="annotation">[<acronym>transfer container</acronym>][<acronym>array</acronym> length=out_n_coords][<acronym>nullable</acronym>]</emphasis></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-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><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>This function returns whether a <link linkend="GdkEvent"><type>GdkEvent</type></link> should trigger a
context menu, according to platform conventions. The right
mouse button always triggers context menus.</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-button-event-get-button" role="function">
<title>gdk_button_event_get_button&#160;()</title>
<indexterm zone="gdk-button-event-get-button"><primary>gdk_button_event_get_button</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_button_event_get_button (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extract the button number from a button event.</para>
<refsect3 id="gdk-button-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 button event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkButtonEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-button-event-get-button.returns" role="returns">
<title>Returns</title>
<para> the button of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-scroll-event-get-direction" role="function">
<title>gdk_scroll_event_get_direction&#160;()</title>
<indexterm zone="gdk-scroll-event-get-direction"><primary>gdk_scroll_event_get_direction</primary></indexterm>
<programlisting language="C"><link linkend="GdkScrollDirection"><returnvalue>GdkScrollDirection</returnvalue></link>
gdk_scroll_event_get_direction (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the direction of a scroll event.</para>
<refsect3 id="gdk-scroll-event-get-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 scroll event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkScrollEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-scroll-event-get-direction.returns" role="returns">
<title>Returns</title>
<para> the scroll direction of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-scroll-event-get-deltas" role="function">
<title>gdk_scroll_event_get_deltas&#160;()</title>
<indexterm zone="gdk-scroll-event-get-deltas"><primary>gdk_scroll_event_get_deltas</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_scroll_event_get_deltas (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                             <parameter><link linkend="double"><type>double</type></link> *delta_x</parameter>,
                             <parameter><link linkend="double"><type>double</type></link> *delta_y</parameter>);</programlisting>
<para>Extracts the scroll deltas of a scroll event.</para>
<para>The deltas will be zero unless the scroll direction
is <link linkend="GDK-SCROLL-SMOOTH:CAPS"><literal>GDK_SCROLL_SMOOTH</literal></link>.</para>
<refsect3 id="gdk-scroll-event-get-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 scroll event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkScrollEvent]</emphasis></entry></row>
<row><entry role="parameter_name"><para>delta_x</para></entry>
<entry role="parameter_description"><para>return location for x scroll 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 scroll delta. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-scroll-event-is-stop" role="function">
<title>gdk_scroll_event_is_stop&#160;()</title>
<indexterm zone="gdk-scroll-event-is-stop"><primary>gdk_scroll_event_is_stop</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_scroll_event_is_stop (<parameter><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 delta of 0/0.</para>
<refsect3 id="gdk-scroll-event-is-stop.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 scroll event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkScrollEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-scroll-event-is-stop.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-key-event-get-keyval" role="function">
<title>gdk_key_event_get_keyval&#160;()</title>
<indexterm zone="gdk-key-event-get-keyval"><primary>gdk_key_event_get_keyval</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_key_event_get_keyval (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the keyval from a key event.</para>
<refsect3 id="gdk-key-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 key event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-get-keyval.returns" role="returns">
<title>Returns</title>
<para> the keyval of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-get-keycode" role="function">
<title>gdk_key_event_get_keycode&#160;()</title>
<indexterm zone="gdk-key-event-get-keycode"><primary>gdk_key_event_get_keycode</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_key_event_get_keycode (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the keycode from a key event.</para>
<refsect3 id="gdk-key-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 key event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-get-keycode.returns" role="returns">
<title>Returns</title>
<para> the keycode of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-get-consumed-modifiers" role="function">
<title>gdk_key_event_get_consumed_modifiers&#160;()</title>
<indexterm zone="gdk-key-event-get-consumed-modifiers"><primary>gdk_key_event_get_consumed_modifiers</primary></indexterm>
<programlisting language="C"><link linkend="GdkModifierType"><returnvalue>GdkModifierType</returnvalue></link>
gdk_key_event_get_consumed_modifiers (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the consumed modifiers from a key event.</para>
<refsect3 id="gdk-key-event-get-consumed-modifiers.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 key event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-get-consumed-modifiers.returns" role="returns">
<title>Returns</title>
<para> the consumed modifiers or <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-get-layout" role="function">
<title>gdk_key_event_get_layout&#160;()</title>
<indexterm zone="gdk-key-event-get-layout"><primary>gdk_key_event_get_layout</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_key_event_get_layout (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the layout from a key event.</para>
<refsect3 id="gdk-key-event-get-layout.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 key event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-get-layout.returns" role="returns">
<title>Returns</title>
<para> the layout of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-get-level" role="function">
<title>gdk_key_event_get_level&#160;()</title>
<indexterm zone="gdk-key-event-get-level"><primary>gdk_key_event_get_level</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_key_event_get_level (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the shift level from a key event.</para>
<refsect3 id="gdk-key-event-get-level.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 key event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-get-level.returns" role="returns">
<title>Returns</title>
<para> the shift level of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-is-modifier" role="function">
<title>gdk_key_event_is_modifier&#160;()</title>
<indexterm zone="gdk-key-event-is-modifier"><primary>gdk_key_event_is_modifier</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_key_event_is_modifier (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts whether the key event is for a modifier key.</para>
<refsect3 id="gdk-key-event-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 key event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-is-modifier.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the <parameter>event</parameter>
is for a modifier key</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-matches" role="function">
<title>gdk_key_event_matches&#160;()</title>
<indexterm zone="gdk-key-event-matches"><primary>gdk_key_event_matches</primary></indexterm>
<programlisting language="C"><link linkend="GdkKeyMatch"><returnvalue>GdkKeyMatch</returnvalue></link>
gdk_key_event_matches (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                       <parameter><link linkend="guint"><type>guint</type></link> keyval</parameter>,
                       <parameter><link linkend="GdkModifierType"><type>GdkModifierType</type></link> modifiers</parameter>);</programlisting>
<para>Matches a key event against a keyboard shortcut that is specified
as a keyval and modifiers. Partial matches are possible where the
combination matches if the currently active group is ignored.</para>
<para>Note that we ignore Caps Lock for matching.</para>
<refsect3 id="gdk-key-event-matches.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 key <link linkend="GdkEvent"><type>GdkEvent</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
<row><entry role="parameter_name"><para>keyval</para></entry>
<entry role="parameter_description"><para>the keyval to match</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>modifiers</para></entry>
<entry role="parameter_description"><para>the modifiers to match</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-matches.returns" role="returns">
<title>Returns</title>
<para> a GdkKeyMatch value describing whether <parameter>event</parameter>
matches</para>
</refsect3></refsect2>
<refsect2 id="gdk-key-event-get-match" role="function">
<title>gdk_key_event_get_match&#160;()</title>
<indexterm zone="gdk-key-event-get-match"><primary>gdk_key_event_get_match</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_key_event_get_match (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                         <parameter><link linkend="guint"><type>guint</type></link> *keyval</parameter>,
                         <parameter><link linkend="GdkModifierType"><type>GdkModifierType</type></link> *modifiers</parameter>);</programlisting>
<para>Gets a keyval and modifier combination that will cause
<link linkend="gdk-key-event-matches"><function>gdk_key_event_matches()</function></link> to successfully match the given event.</para>
<refsect3 id="gdk-key-event-get-match.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 key <link linkend="GdkEvent"><type>GdkEvent</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkKeyEvent]</emphasis></entry></row>
<row><entry role="parameter_name"><para>keyval</para></entry>
<entry role="parameter_description"><para>return location for a keyval. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>modifiers</para></entry>
<entry role="parameter_description"><para>return location for modifiers. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-key-event-get-match.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> on success</para>
</refsect3></refsect2>
<refsect2 id="gdk-focus-event-get-in" role="function">
<title>gdk_focus_event_get_in&#160;()</title>
<indexterm zone="gdk-focus-event-get-in"><primary>gdk_focus_event_get_in</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_focus_event_get_in (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts whether this event is about focus entering or
leaving the surface.</para>
<refsect3 id="gdk-focus-event-get-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 focus change event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkFocusEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-focus-event-get-in.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> of the focus is entering</para>
</refsect3></refsect2>
<refsect2 id="gdk-touch-event-get-emulating-pointer" role="function">
<title>gdk_touch_event_get_emulating_pointer&#160;()</title>
<indexterm zone="gdk-touch-event-get-emulating-pointer"><primary>gdk_touch_event_get_emulating_pointer</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_touch_event_get_emulating_pointer (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts whether a touch event is emulating a pointer event.</para>
<refsect3 id="gdk-touch-event-get-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 touch event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkTouchEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-touch-event-get-emulating-pointer.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>event</parameter>
is emulating</para>
</refsect3></refsect2>
<refsect2 id="gdk-crossing-event-get-mode" role="function">
<title>gdk_crossing_event_get_mode&#160;()</title>
<indexterm zone="gdk-crossing-event-get-mode"><primary>gdk_crossing_event_get_mode</primary></indexterm>
<programlisting language="C"><link linkend="GdkCrossingMode"><returnvalue>GdkCrossingMode</returnvalue></link>
gdk_crossing_event_get_mode (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the crossing mode from a crossing event.</para>
<refsect3 id="gdk-crossing-event-get-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 crossing event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkCrossingEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-crossing-event-get-mode.returns" role="returns">
<title>Returns</title>
<para> the mode of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-crossing-event-get-detail" role="function">
<title>gdk_crossing_event_get_detail&#160;()</title>
<indexterm zone="gdk-crossing-event-get-detail"><primary>gdk_crossing_event_get_detail</primary></indexterm>
<programlisting language="C"><link linkend="GdkNotifyType"><returnvalue>GdkNotifyType</returnvalue></link>
gdk_crossing_event_get_detail (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the notify detail from a crossing event.</para>
<refsect3 id="gdk-crossing-event-get-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 crossing event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkCrossingEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-crossing-event-get-detail.returns" role="returns">
<title>Returns</title>
<para> the notify detail of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-crossing-event-get-focus" role="function">
<title>gdk_crossing_event_get_focus&#160;()</title>
<indexterm zone="gdk-crossing-event-get-focus"><primary>gdk_crossing_event_get_focus</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_crossing_event_get_focus (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Checks if the <parameter>event</parameter>
 surface is the focus surface.</para>
<refsect3 id="gdk-crossing-event-get-focus.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 crossing event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkCrossingEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-crossing-event-get-focus.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the surface is the focus surface</para>
</refsect3></refsect2>
<refsect2 id="gdk-grab-broken-event-get-grab-surface" role="function">
<title>gdk_grab_broken_event_get_grab_surface&#160;()</title>
<indexterm zone="gdk-grab-broken-event-get-grab-surface"><primary>gdk_grab_broken_event_get_grab_surface</primary></indexterm>
<programlisting language="C"><link linkend="GdkSurface"><returnvalue>GdkSurface</returnvalue></link>&#160;*
gdk_grab_broken_event_get_grab_surface
                               (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the grab surface from a grab broken event.</para>
<refsect3 id="gdk-grab-broken-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 grab broken event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkGrabBrokenEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-grab-broken-event-get-grab-surface.returns" role="returns">
<title>Returns</title>
<para>the grab surface of <parameter>event</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gdk-grab-broken-event-get-implicit" role="function">
<title>gdk_grab_broken_event_get_implicit&#160;()</title>
<indexterm zone="gdk-grab-broken-event-get-implicit"><primary>gdk_grab_broken_event_get_implicit</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gdk_grab_broken_event_get_implicit (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Checks whether the grab broken event is for an implicit grab.</para>
<refsect3 id="gdk-grab-broken-event-get-implicit.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 grab broken event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkGrabBrokenEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-grab-broken-event-get-implicit.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the an implicit grab was broken</para>
</refsect3></refsect2>
<refsect2 id="gdk-dnd-event-get-drop" role="function">
<title>gdk_dnd_event_get_drop&#160;()</title>
<indexterm zone="gdk-dnd-event-get-drop"><primary>gdk_dnd_event_get_drop</primary></indexterm>
<programlisting language="C"><link linkend="GdkDrop"><returnvalue>GdkDrop</returnvalue></link>&#160;*
gdk_dnd_event_get_drop (<parameter><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-dnd-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 DND event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkDNDEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-dnd-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-configure-event-get-size" role="function">
<title>gdk_configure_event_get_size&#160;()</title>
<indexterm zone="gdk-configure-event-get-size"><primary>gdk_configure_event_get_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_configure_event_get_size (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> *width</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> *height</parameter>);</programlisting>
<para>Extracts the surface size from a configure event.</para>
<refsect3 id="gdk-configure-event-get-size.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 configure event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkConfigureEvent]</emphasis></entry></row>
<row><entry role="parameter_name"><para>width</para></entry>
<entry role="parameter_description"><para>return location for surface width. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>height</para></entry>
<entry role="parameter_description"><para>return location for surface height. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gdk-touchpad-event-get-gesture-phase" role="function">
<title>gdk_touchpad_event_get_gesture_phase&#160;()</title>
<indexterm zone="gdk-touchpad-event-get-gesture-phase"><primary>gdk_touchpad_event_get_gesture_phase</primary></indexterm>
<programlisting language="C"><link linkend="GdkTouchpadGesturePhase"><returnvalue>GdkTouchpadGesturePhase</returnvalue></link>
gdk_touchpad_event_get_gesture_phase (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the touchpad gesture phase from a touchpad event.</para>
<refsect3 id="gdk-touchpad-event-get-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 touchpad <link linkend="GdkEvent"><type>GdkEvent</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkTouchpadEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-touchpad-event-get-gesture-phase.returns" role="returns">
<title>Returns</title>
<para> the gesture phase of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-touchpad-event-get-n-fingers" role="function">
<title>gdk_touchpad_event_get_n_fingers&#160;()</title>
<indexterm zone="gdk-touchpad-event-get-n-fingers"><primary>gdk_touchpad_event_get_n_fingers</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_touchpad_event_get_n_fingers (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the number of fingers from a touchpad event.</para>
<refsect3 id="gdk-touchpad-event-get-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 touchpad event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkTouchpadEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-touchpad-event-get-n-fingers.returns" role="returns">
<title>Returns</title>
<para> the number of fingers for <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-touchpad-event-get-deltas" role="function">
<title>gdk_touchpad_event_get_deltas&#160;()</title>
<indexterm zone="gdk-touchpad-event-get-deltas"><primary>gdk_touchpad_event_get_deltas</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_touchpad_event_get_deltas (<parameter><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-touchpad-event-get-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 touchpad event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkTouchpadEvent]</emphasis></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></refsect2>
<refsect2 id="gdk-touchpad-event-get-pinch-angle-delta" role="function">
<title>gdk_touchpad_event_get_pinch_angle_delta&#160;()</title>
<indexterm zone="gdk-touchpad-event-get-pinch-angle-delta"><primary>gdk_touchpad_event_get_pinch_angle_delta</primary></indexterm>
<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link>
gdk_touchpad_event_get_pinch_angle_delta
                               (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the angle delta from a touchpad pinch event.</para>
<refsect3 id="gdk-touchpad-event-get-pinch-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 touchpad pinch event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkTouchpadEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-touchpad-event-get-pinch-angle-delta.returns" role="returns">
<title>Returns</title>
<para> the angle delta of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-touchpad-event-get-pinch-scale" role="function">
<title>gdk_touchpad_event_get_pinch_scale&#160;()</title>
<indexterm zone="gdk-touchpad-event-get-pinch-scale"><primary>gdk_touchpad_event_get_pinch_scale</primary></indexterm>
<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link>
gdk_touchpad_event_get_pinch_scale (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts the scale from a touchpad pinch event.</para>
<refsect3 id="gdk-touchpad-event-get-pinch-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 touchpad pinch event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkTouchpadEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-touchpad-event-get-pinch-scale.returns" role="returns">
<title>Returns</title>
<para> the scale of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-pad-event-get-axis-value" role="function">
<title>gdk_pad_event_get_axis_value&#160;()</title>
<indexterm zone="gdk-pad-event-get-axis-value"><primary>gdk_pad_event_get_axis_value</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_pad_event_get_axis_value (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>,
                              <parameter><link linkend="guint"><type>guint</type></link> *index</parameter>,
                              <parameter><link linkend="double"><type>double</type></link> *value</parameter>);</programlisting>
<para>Extracts the information from a pad strip or ring event.</para>
<refsect3 id="gdk-pad-event-get-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 pad strip or ring event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkPadEvent]</emphasis></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></refsect2>
<refsect2 id="gdk-pad-event-get-button" role="function">
<title>gdk_pad_event_get_button&#160;()</title>
<indexterm zone="gdk-pad-event-get-button"><primary>gdk_pad_event_get_button</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gdk_pad_event_get_button (<parameter><link linkend="GdkEvent"><type>GdkEvent</type></link> *event</parameter>);</programlisting>
<para>Extracts information about the pressed button from
a pad event.</para>
<refsect3 id="gdk-pad-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 pad button event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkPadEvent]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gdk-pad-event-get-button.returns" role="returns">
<title>Returns</title>
<para> the button of <parameter>event</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gdk-pad-event-get-group-mode" role="function">
<title>gdk_pad_event_get_group_mode&#160;()</title>
<indexterm zone="gdk-pad-event-get-group-mode"><primary>gdk_pad_event_get_group_mode</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gdk_pad_event_get_group_mode (<parameter><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-pad-event-get-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 pad event. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>type</acronym> GdkPadEvent]</emphasis></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></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="double"><type>double</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="double"><type>double</type></link> *x</parameter>,
                       <parameter><link linkend="double"><type>double</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="double"><type>double</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>

</refsect1>
<refsect1 id="gdk4-Events.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GdkEvent-struct" role="struct">
<title>GdkEvent</title>
<indexterm zone="GdkEvent-struct"><primary>GdkEvent</primary></indexterm>
<programlisting language="C">typedef struct _GdkEvent GdkEvent;</programlisting>
<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>
<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-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-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 of the surface has changed.</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.</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.</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.</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.</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.</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.</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.</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.</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.</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".</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".</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.</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.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkKeyMatch" role="enum">
<title>enum GdkKeyMatch</title>
<indexterm zone="GdkKeyMatch"><primary>GdkKeyMatch</primary></indexterm>
<para>The possible return values from <link linkend="gdk-key-event-matches"><function>gdk_key_event_matches()</function></link>
describe how well an event matches a given keyval and modifiers.</para>
<refsect3 id="GdkKeyMatch.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-KEY-MATCH-NONE:CAPS">GDK_KEY_MATCH_NONE</para></entry>
<entry role="enum_member_description"><para>The key event does not match</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-KEY-MATCH-PARTIAL:CAPS">GDK_KEY_MATCH_PARTIAL</para></entry>
<entry role="enum_member_description"><para>The key event matches if keyboard state
(specifically, the currently active group) is ignored</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-KEY-MATCH-EXACT:CAPS">GDK_KEY_MATCH_EXACT</para></entry>
<entry role="enum_member_description"><para>The key event matches</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GdkTouchpadGesturePhase" role="enum">
<title>enum GdkTouchpadGesturePhase</title>
<indexterm zone="GdkTouchpadGesturePhase"><primary>GdkTouchpadGesturePhase</primary></indexterm>
<para>Specifies the current state of a touchpad gesture. All gestures are
guaranteed to begin with an event with phase <link linkend="GDK-TOUCHPAD-GESTURE-PHASE-BEGIN:CAPS"><literal>GDK_TOUCHPAD_GESTURE_PHASE_BEGIN</literal></link>,
followed by 0 or several events with phase <link linkend="GDK-TOUCHPAD-GESTURE-PHASE-UPDATE:CAPS"><literal>GDK_TOUCHPAD_GESTURE_PHASE_UPDATE</literal></link>.</para>
<para>A finished gesture may have 2 possible outcomes, an event with phase
<link linkend="GDK-TOUCHPAD-GESTURE-PHASE-END:CAPS"><literal>GDK_TOUCHPAD_GESTURE_PHASE_END</literal></link> will be emitted when the gesture is
considered successful, this should be used as the hint to perform any
permanent changes.</para>
<para>Cancelled gestures may be so for a variety of reasons, due to hardware
or the compositor, or due to the gesture recognition layers hinting the
gesture did not finish resolutely (eg. a 3rd finger being added during
a pinch gesture). In these cases, the last event will report the phase
<link linkend="GDK-TOUCHPAD-GESTURE-PHASE-CANCEL:CAPS"><literal>GDK_TOUCHPAD_GESTURE_PHASE_CANCEL</literal></link>, this should be used as a hint
to undo any visible/permanent changes that were done throughout the
progress of the gesture.</para>
<refsect3 id="GdkTouchpadGesturePhase.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-TOUCHPAD-GESTURE-PHASE-BEGIN:CAPS">GDK_TOUCHPAD_GESTURE_PHASE_BEGIN</para></entry>
<entry role="enum_member_description"><para>The gesture has begun.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCHPAD-GESTURE-PHASE-UPDATE:CAPS">GDK_TOUCHPAD_GESTURE_PHASE_UPDATE</para></entry>
<entry role="enum_member_description"><para>The gesture has been updated.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCHPAD-GESTURE-PHASE-END:CAPS">GDK_TOUCHPAD_GESTURE_PHASE_END</para></entry>
<entry role="enum_member_description"><para>The gesture was finished, changes
should be permanently applied.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GDK-TOUCHPAD-GESTURE-PHASE-CANCEL:CAPS">GDK_TOUCHPAD_GESTURE_PHASE_CANCEL</para></entry>
<entry role="enum_member_description"><para>The gesture was cancelled, all
changes should be undone.</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-scroll-event-get-deltas"><function>gdk_scroll_event_get_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>

</refentry>
