Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Events: Clutter Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Clutter Reference Manual">
<link rel="up" href="ch10.html" title="General purpose API">
<link rel="prev" href="ClutterDeviceManager.html" title="ClutterDeviceManager">
<link rel="next" href="clutter-Features.html" title="Features">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#clutter-Events.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#clutter-Events.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ClutterDeviceManager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="clutter-Features.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="clutter-Events"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="clutter-Events.top_of_page"></a>Events</span></h2>
<p>Events — User and window system events</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="clutter-Events.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-new" title="clutter_event_new ()">clutter_event_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-copy" title="clutter_event_copy ()">clutter_event_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-free" title="clutter_event_free ()">clutter_event_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="returnvalue">ClutterEventType</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-type" title="clutter_event_type ()">clutter_event_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-coords" title="clutter_event_set_coords ()">clutter_event_set_coords</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-coords" title="clutter_event_get_coords ()">clutter_event_get_coords</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-state" title="clutter_event_set_state ()">clutter_event_set_state</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="returnvalue">ClutterModifierType</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-state" title="clutter_event_get_state ()">clutter_event_get_state</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-state-full" title="clutter_event_get_state_full ()">clutter_event_get_state_full</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-time" title="clutter_event_set_time ()">clutter_event_set_time</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint32</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-time" title="clutter_event_get_time ()">clutter_event_get_time</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-source" title="clutter_event_set_source ()">clutter_event_set_source</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-source" title="clutter_event_get_source ()">clutter_event_get_source</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-stage" title="clutter_event_set_stage ()">clutter_event_set_stage</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterStage.html" title="ClutterStage"><span class="returnvalue">ClutterStage</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-stage" title="clutter_event_get_stage ()">clutter_event_get_stage</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-flags" title="clutter_event_set_flags ()">clutter_event_set_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="returnvalue">ClutterEventFlags</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-flags" title="clutter_event_get_flags ()">clutter_event_get_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gdouble</span> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-axes" title="clutter_event_get_axes ()">clutter_event_get_axes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEventSequence"><span class="returnvalue">ClutterEventSequence</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-event-sequence" title="clutter_event_get_event_sequence ()">clutter_event_get_event_sequence</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">double</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-angle" title="clutter_event_get_angle ()">clutter_event_get_angle</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">float</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-distance" title="clutter_event_get_distance ()">clutter_event_get_distance</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-position" title="clutter_event_get_position ()">clutter_event_get_position</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-has-control-modifier" title="clutter_event_has_control_modifier ()">clutter_event_has_control_modifier</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-has-shift-modifier" title="clutter_event_has_shift_modifier ()">clutter_event_has_shift_modifier</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-is-pointer-emulated" title="clutter_event_is_pointer_emulated ()">clutter_event_is_pointer_emulated</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-gesture-swipe-finger-count" title="clutter_event_get_gesture_swipe_finger_count ()">clutter_event_get_gesture_swipe_finger_count</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gdouble</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-gesture-pinch-angle-delta" title="clutter_event_get_gesture_pinch_angle_delta ()">clutter_event_get_gesture_pinch_angle_delta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gdouble</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-gesture-pinch-scale" title="clutter_event_get_gesture_pinch_scale ()">clutter_event_get_gesture_pinch_scale</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterTouchpadGesturePhase" title="enum ClutterTouchpadGesturePhase"><span class="returnvalue">ClutterTouchpadGesturePhase</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-gesture-phase" title="clutter_event_get_gesture_phase ()">clutter_event_get_gesture_phase</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-gesture-motion-delta" title="clutter_event_get_gesture_motion_delta ()">clutter_event_get_gesture_motion_delta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterScrollSource" title="enum ClutterScrollSource"><span class="returnvalue">ClutterScrollSource</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-scroll-source" title="clutter_event_get_scroll_source ()">clutter_event_get_scroll_source</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterScrollFinishFlags" title="enum ClutterScrollFinishFlags"><span class="returnvalue">ClutterScrollFinishFlags</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-scroll-finish-flags" title="clutter_event_get_scroll_finish_flags ()">clutter_event_get_scroll_finish_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get" title="clutter_event_get ()">clutter_event_get</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-peek" title="clutter_event_peek ()">clutter_event_peek</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-put" title="clutter_event_put ()">clutter_event_put</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-events-pending" title="clutter_events_pending ()">clutter_events_pending</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="clutter-Events.html#ClutterEventFilterFunc" title="ClutterEventFilterFunc ()">*ClutterEventFilterFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-add-filter" title="clutter_event_add_filter ()">clutter_event_add_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-remove-filter" title="clutter_event_remove_filter ()">clutter_event_remove_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-button" title="clutter_event_set_button ()">clutter_event_set_button</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint32</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-button" title="clutter_event_get_button ()">clutter_event_get_button</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-click-count" title="clutter_event_get_click_count ()">clutter_event_get_click_count</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-key-symbol" title="clutter_event_set_key_symbol ()">clutter_event_set_key_symbol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-key-symbol" title="clutter_event_get_key_symbol ()">clutter_event_get_key_symbol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-key-code" title="clutter_event_set_key_code ()">clutter_event_set_key_code</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint16</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-key-code" title="clutter_event_get_key_code ()">clutter_event_get_key_code</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-key-unicode" title="clutter_event_set_key_unicode ()">clutter_event_set_key_unicode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gunichar</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-key-unicode" title="clutter_event_get_key_unicode ()">clutter_event_get_key_unicode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint32</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-keysym-to-unicode" title="clutter_keysym_to_unicode ()">clutter_keysym_to_unicode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-unicode-to-keysym" title="clutter_unicode_to_keysym ()">clutter_unicode_to_keysym</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-related" title="clutter_event_set_related ()">clutter_event_set_related</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-related" title="clutter_event_get_related ()">clutter_event_get_related</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-scroll-direction" title="clutter_event_set_scroll_direction ()">clutter_event_set_scroll_direction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Events.html#ClutterScrollDirection" title="enum ClutterScrollDirection"><span class="returnvalue">ClutterScrollDirection</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-scroll-direction" title="clutter_event_get_scroll_direction ()">clutter_event_get_scroll_direction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-scroll-delta" title="clutter_event_get_scroll_delta ()">clutter_event_get_scroll_delta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-scroll-delta" title="clutter_event_set_scroll_delta ()">clutter_event_set_scroll_delta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-device" title="clutter_event_set_device ()">clutter_event_set_device</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-device" title="clutter_event_get_device ()">clutter_event_get_device</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-set-source-device" title="clutter_event_set_source_device ()">clutter_event_set_source_device</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()">clutter_event_get_source_device</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-device-id" title="clutter_event_get_device_id ()">clutter_event_get_device_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterInputDevice.html#ClutterInputDeviceType" title="enum ClutterInputDeviceType"><span class="returnvalue">ClutterInputDeviceType</span></a>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-event-get-device-type" title="clutter_event_get_device_type ()">clutter_event_get_device_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint32</span>
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-get-current-event-time" title="clutter_get_current_event_time ()">clutter_get_current_event_time</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Events.html#clutter-get-current-event" title="clutter_get_current_event ()">clutter_get_current_event</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<a name="ClutterEvent"></a><a name="ClutterEventSequence"></a><div class="refsect1">
<a name="clutter-Events.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-CURRENT-TIME:CAPS" title="CLUTTER_CURRENT_TIME">CLUTTER_CURRENT_TIME</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-PRIORITY-EVENTS:CAPS" title="CLUTTER_PRIORITY_EVENTS">CLUTTER_PRIORITY_EVENTS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-EVENT-PROPAGATE:CAPS" title="CLUTTER_EVENT_PROPAGATE">CLUTTER_EVENT_PROPAGATE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-EVENT-STOP:CAPS" title="CLUTTER_EVENT_STOP">CLUTTER_EVENT_STOP</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType">ClutterModifierType</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterScrollDirection" title="enum ClutterScrollDirection">ClutterScrollDirection</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterScrollFinishFlags" title="enum ClutterScrollFinishFlags">ClutterScrollFinishFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterScrollSource" title="enum ClutterScrollSource">ClutterScrollSource</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterStageState" title="enum ClutterStageState">ClutterStageState</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType">ClutterEventType</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterEvent-union" title="ClutterEvent">ClutterEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags">ClutterEventFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterButtonEvent" title="struct ClutterButtonEvent">ClutterButtonEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterKeyEvent" title="struct ClutterKeyEvent">ClutterKeyEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterMotionEvent" title="struct ClutterMotionEvent">ClutterMotionEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterScrollEvent" title="struct ClutterScrollEvent">ClutterScrollEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterStageStateEvent" title="struct ClutterStageStateEvent">ClutterStageStateEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterCrossingEvent" title="struct ClutterCrossingEvent">ClutterCrossingEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterTouchEvent" title="struct ClutterTouchEvent">ClutterTouchEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterEventSequence-struct" title="ClutterEventSequence">ClutterEventSequence</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterTouchpadPinchEvent" title="struct ClutterTouchpadPinchEvent">ClutterTouchpadPinchEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterTouchpadSwipeEvent" title="struct ClutterTouchpadSwipeEvent">ClutterTouchpadSwipeEvent</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="clutter-Events.html#ClutterTouchpadGesturePhase" title="enum ClutterTouchpadGesturePhase">ClutterTouchpadGesturePhase</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-BUTTON-PRIMARY:CAPS" title="CLUTTER_BUTTON_PRIMARY">CLUTTER_BUTTON_PRIMARY</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-BUTTON-MIDDLE:CAPS" title="CLUTTER_BUTTON_MIDDLE">CLUTTER_BUTTON_MIDDLE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="clutter-Events.html#CLUTTER-BUTTON-SECONDARY:CAPS" title="CLUTTER_BUTTON_SECONDARY">CLUTTER_BUTTON_SECONDARY</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="clutter-Events.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/home/ebassi/gnome/install/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
    <span class="lineart">├──</span> ClutterEvent
    <span class="lineart">╰──</span> ClutterEventSequence
</pre>
</div>
<div class="refsect1">
<a name="clutter-Events.description"></a><h2>Description</h2>
<p>Windowing events handled by Clutter.</p>
<p>The events usually come from the windowing backend, but can also
be synthesized by Clutter itself or by the application code.</p>
</div>
<div class="refsect1">
<a name="clutter-Events.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="clutter-event-new"></a><h3>clutter_event_new ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
clutter_event_new (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> type</code></em>);</pre>
<p>Creates a new <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of the specified type.</p>
<div class="refsect3">
<a name="clutter-event-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>The type of event.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-new.returns"></a><h4>Returns</h4>
<p> A newly allocated <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-copy"></a><h3>clutter_event_copy ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
clutter_event_copy (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Copies <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-copy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>A <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-copy.returns"></a><h4>Returns</h4>
<p> A newly allocated <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-free"></a><h3>clutter_event_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_free (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Frees all resources used by <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-free.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>A <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a>.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-type"></a><h3>clutter_event_type ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="returnvalue">ClutterEventType</span></a>
clutter_event_type (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the type of the event.</p>
<div class="refsect3">
<a name="clutter-event-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-type.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-coords"></a><h3>clutter_event_set_coords ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_coords (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                          <em class="parameter"><code><span class="type">gfloat</span> x</code></em>,
                          <em class="parameter"><code><span class="type">gfloat</span> y</code></em>);</pre>
<p>Sets the coordinates of the <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-coords.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>the X coordinate of the event</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>the Y coordinate of the event</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-coords"></a><h3>clutter_event_get_coords ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_get_coords (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                          <em class="parameter"><code><span class="type">gfloat</span> *x</code></em>,
                          <em class="parameter"><code><span class="type">gfloat</span> *y</code></em>);</pre>
<p>Retrieves the coordinates of <em class="parameter"><code>event</code></em>
 and puts them into <em class="parameter"><code>x</code></em>
 and <em class="parameter"><code>y</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-get-coords.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p> return location for the X coordinate, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p> return location for the Y coordinate, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-state"></a><h3>clutter_event_set_state ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_state (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                         <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> state</code></em>);</pre>
<p>Sets the modifier state of the event.</p>
<div class="refsect3">
<a name="clutter-event-set-state.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>state</p></td>
<td class="parameter_description"><p>the modifier state to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-state"></a><h3>clutter_event_get_state ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="returnvalue">ClutterModifierType</span></a>
clutter_event_get_state (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the modifier state of the event. In case the window system
supports reporting latched and locked modifiers, this function returns
the effective state.</p>
<div class="refsect3">
<a name="clutter-event-get-state.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-state.returns"></a><h4>Returns</h4>
<p> the modifier state parameter, or 0</p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-state-full"></a><h3>clutter_event_get_state_full ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_get_state_full (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                              <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> *button_state</code></em>,
                              <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> *base_state</code></em>,
                              <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> *latched_state</code></em>,
                              <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> *locked_state</code></em>,
                              <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> *effective_state</code></em>);</pre>
<p>Retrieves the decomposition of the keyboard state into button, base,
latched, locked and effective. This can be used to transmit to other
applications, for example when implementing a wayland compositor.</p>
<div class="refsect3">
<a name="clutter-event-get-state-full.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>button_state</p></td>
<td class="parameter_description"><p> the pressed buttons as a mask. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>base_state</p></td>
<td class="parameter_description"><p> the regular pressed modifier keys. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>latched_state</p></td>
<td class="parameter_description"><p> the latched modifier keys (currently released but still valid for one key press/release). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>locked_state</p></td>
<td class="parameter_description"><p> the locked modifier keys (valid until the lock key is pressed and released again). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>effective_state</p></td>
<td class="parameter_description"><p> the logical OR of all the state bits above. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-1.16">1.16</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-time"></a><h3>clutter_event_set_time ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_time (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                        <em class="parameter"><code><span class="type">guint32</span> time_</code></em>);</pre>
<p>Sets the time of the event.</p>
<div class="refsect3">
<a name="clutter-event-set-time.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>time_</p></td>
<td class="parameter_description"><p>the time of the event</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-time"></a><h3>clutter_event_get_time ()</h3>
<pre class="programlisting"><span class="returnvalue">guint32</span>
clutter_event_get_time (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the time of the event.</p>
<div class="refsect3">
<a name="clutter-event-get-time.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-time.returns"></a><h4>Returns</h4>
<p> the time of the event, or <a class="link" href="clutter-Events.html#CLUTTER-CURRENT-TIME:CAPS" title="CLUTTER_CURRENT_TIME"><code class="literal">CLUTTER_CURRENT_TIME</code></a></p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-source"></a><h3>clutter_event_set_source ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_source (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                          <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<p>Sets the source <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> of <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-source.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p> a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-source"></a><h3>clutter_event_get_source ()</h3>
<pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> *
clutter_event_get_source (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the source <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> the event originated from, or
NULL if the event has no source.</p>
<div class="refsect3">
<a name="clutter-event-get-source.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-source.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-stage"></a><h3>clutter_event_set_stage ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_stage (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                         <em class="parameter"><code><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *stage</code></em>);</pre>
<p>Sets the source <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> of the event.</p>
<div class="refsect3">
<a name="clutter-event-set-stage.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>stage</p></td>
<td class="parameter_description"><p> a <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-stage"></a><h3>clutter_event_get_stage ()</h3>
<pre class="programlisting"><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="returnvalue">ClutterStage</span></a> *
clutter_event_get_stage (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the source <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> the event originated for, or
<code class="literal">NULL</code> if the event has no stage.</p>
<div class="refsect3">
<a name="clutter-event-get-stage.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-stage.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix06.html#api-index-0.8">0.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-flags"></a><h3>clutter_event_set_flags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_flags (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                         <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> flags</code></em>);</pre>
<p>Sets the <a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-set-flags.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>a binary OR of <a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> values</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-flags"></a><h3>clutter_event_get_flags ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="returnvalue">ClutterEventFlags</span></a>
clutter_event_get_flags (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the <a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-flags.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-flags.returns"></a><h4>Returns</h4>
<p> the event flags</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-axes"></a><h3>clutter_event_get_axes ()</h3>
<pre class="programlisting"><span class="returnvalue">gdouble</span> *
clutter_event_get_axes (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                        <em class="parameter"><code><span class="type">guint</span> *n_axes</code></em>);</pre>
<p>Retrieves the array of axes values attached to the event.</p>
<div class="refsect3">
<a name="clutter-event-get-axes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_axes</p></td>
<td class="parameter_description"><p> return location for the number of axes returned. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-axes.returns"></a><h4>Returns</h4>
<p> an array of axis values. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-event-sequence"></a><h3>clutter_event_get_event_sequence ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEventSequence"><span class="returnvalue">ClutterEventSequence</span></a> *
clutter_event_get_event_sequence (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the <a class="link" href="clutter-Events.html#ClutterEventSequence"><span class="type">ClutterEventSequence</span></a> of <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-get-event-sequence.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-BEGIN:CAPS"><code class="literal">CLUTTER_TOUCH_BEGIN</code></a>,
<a class="link" href="clutter-Events.html#CLUTTER-TOUCH-UPDATE:CAPS"><code class="literal">CLUTTER_TOUCH_UPDATE</code></a>, <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-END:CAPS"><code class="literal">CLUTTER_TOUCH_END</code></a>, or
<a class="link" href="clutter-Events.html#CLUTTER-TOUCH-CANCEL:CAPS"><code class="literal">CLUTTER_TOUCH_CANCEL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-event-sequence.returns"></a><h4>Returns</h4>
<p> the event sequence, or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-angle"></a><h3>clutter_event_get_angle ()</h3>
<pre class="programlisting"><span class="returnvalue">double</span>
clutter_event_get_angle (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *source</code></em>,
                         <em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *target</code></em>);</pre>
<p>Retrieves the angle relative from <em class="parameter"><code>source</code></em>
 to <em class="parameter"><code>target</code></em>
.</p>
<p>The direction of the angle is from the position X axis towards
the positive Y axis.</p>
<div class="refsect3">
<a name="clutter-event-get-angle.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>target</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-angle.returns"></a><h4>Returns</h4>
<p> the angle between two <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p>
</div>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-distance"></a><h3>clutter_event_get_distance ()</h3>
<pre class="programlisting"><span class="returnvalue">float</span>
clutter_event_get_distance (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *source</code></em>,
                            <em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *target</code></em>);</pre>
<p>Retrieves the distance between two events, a <em class="parameter"><code>source</code></em>
 and a <em class="parameter"><code>target</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-get-distance.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>source</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>target</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-distance.returns"></a><h4>Returns</h4>
<p> the distance between two <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p>
</div>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-position"></a><h3>clutter_event_get_position ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_get_position (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                            <em class="parameter"><code><a class="link" href="clutter-Base-geometric-types.html#ClutterPoint"><span class="type">ClutterPoint</span></a> *position</code></em>);</pre>
<p>Retrieves the event coordinates as a <a class="link" href="clutter-Base-geometric-types.html#ClutterPoint"><span class="type">ClutterPoint</span></a>.</p>
<div class="refsect3">
<a name="clutter-event-get-position.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>position</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Base-geometric-types.html#ClutterPoint"><span class="type">ClutterPoint</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-has-control-modifier"></a><h3>clutter_event_has_control_modifier ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
clutter_event_has_control_modifier (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Checks whether <em class="parameter"><code>event</code></em>
 has the Control modifier mask set.</p>
<div class="refsect3">
<a name="clutter-event-has-control-modifier.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-has-control-modifier.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the event has the Control modifier mask set</p>
</div>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-has-shift-modifier"></a><h3>clutter_event_has_shift_modifier ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
clutter_event_has_shift_modifier (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Checks whether <em class="parameter"><code>event</code></em>
 has the Shift modifier mask set.</p>
<div class="refsect3">
<a name="clutter-event-has-shift-modifier.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-has-shift-modifier.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the event has the Shift modifier mask set</p>
</div>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-is-pointer-emulated"></a><h3>clutter_event_is_pointer_emulated ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
clutter_event_is_pointer_emulated (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Checks whether a pointer <em class="parameter"><code>event</code></em>
 has been generated by the windowing
system. The returned value can be used to distinguish between events
synthesized by the windowing system itself (as opposed by Clutter).</p>
<div class="refsect3">
<a name="clutter-event-is-pointer-emulated.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-is-pointer-emulated.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the event is pointer emulated</p>
</div>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-gesture-swipe-finger-count"></a><h3>clutter_event_get_gesture_swipe_finger_count ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_event_get_gesture_swipe_finger_count
                               (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Returns the number of fingers that is triggering the touchpad gesture.</p>
<div class="refsect3">
<a name="clutter-event-get-gesture-swipe-finger-count.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a touchpad swipe event</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-gesture-swipe-finger-count.returns"></a><h4>Returns</h4>
<p> the number of fingers swiping.</p>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-gesture-pinch-angle-delta"></a><h3>clutter_event_get_gesture_pinch_angle_delta ()</h3>
<pre class="programlisting"><span class="returnvalue">gdouble</span>
clutter_event_get_gesture_pinch_angle_delta
                               (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Returns the angle delta reported by this specific event.</p>
<div class="refsect3">
<a name="clutter-event-get-gesture-pinch-angle-delta.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a touchpad pinch event</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-gesture-pinch-angle-delta.returns"></a><h4>Returns</h4>
<p> The angle delta relative to the previous event.</p>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-gesture-pinch-scale"></a><h3>clutter_event_get_gesture_pinch_scale ()</h3>
<pre class="programlisting"><span class="returnvalue">gdouble</span>
clutter_event_get_gesture_pinch_scale (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Returns the current scale as reported by <em class="parameter"><code>event</code></em>
, 1.0 being the original
distance at the time the corresponding event with phase
<a class="link" href="clutter-Events.html#CLUTTER-TOUCHPAD-GESTURE-PHASE-BEGIN:CAPS"><code class="literal">CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN</code></a> is received.
is received.</p>
<div class="refsect3">
<a name="clutter-event-get-gesture-pinch-scale.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a touchpad pinch event</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-gesture-pinch-scale.returns"></a><h4>Returns</h4>
<p> the current pinch gesture scale</p>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-gesture-phase"></a><h3>clutter_event_get_gesture_phase ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterTouchpadGesturePhase" title="enum ClutterTouchpadGesturePhase"><span class="returnvalue">ClutterTouchpadGesturePhase</span></a>
clutter_event_get_gesture_phase (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Returns the phase of the event, See <a class="link" href="clutter-Events.html#ClutterTouchpadGesturePhase" title="enum ClutterTouchpadGesturePhase"><span class="type">ClutterTouchpadGesturePhase</span></a>.</p>
<div class="refsect3">
<a name="clutter-event-get-gesture-phase.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a touchpad gesture event</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-gesture-phase.returns"></a><h4>Returns</h4>
<p> the phase of the gesture event.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-gesture-motion-delta"></a><h3>clutter_event_get_gesture_motion_delta ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_get_gesture_motion_delta
                               (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> *dx</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> *dy</code></em>);</pre>
<p>Returns the gesture motion deltas relative to the current pointer
position.</p>
<div class="refsect3">
<a name="clutter-event-get-gesture-motion-delta.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>A clutter touchpad gesture event</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dx</p></td>
<td class="parameter_description"><p> the displacement relative to the pointer
position in the X axis, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>dy</p></td>
<td class="parameter_description"><p> the displacement relative to the pointer
position in the Y axis, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-scroll-source"></a><h3>clutter_event_get_scroll_source ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterScrollSource" title="enum ClutterScrollSource"><span class="returnvalue">ClutterScrollSource</span></a>
clutter_event_get_scroll_source (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Returns the <a class="link" href="clutter-Events.html#ClutterScrollSource" title="enum ClutterScrollSource"><span class="type">ClutterScrollSource</span></a> that applies to an scroll event.</p>
<div class="refsect3">
<a name="clutter-event-get-scroll-source.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>an scroll event</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-scroll-source.returns"></a><h4>Returns</h4>
<p> The source of scroll events</p>
</div>
<p class="since">Since: <a class="link" href="ix20.html#api-index-1.26">1.26</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-scroll-finish-flags"></a><h3>clutter_event_get_scroll_finish_flags ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterScrollFinishFlags" title="enum ClutterScrollFinishFlags"><span class="returnvalue">ClutterScrollFinishFlags</span></a>
clutter_event_get_scroll_finish_flags (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Returns the <a class="link" href="clutter-Events.html#ClutterScrollFinishFlags" title="enum ClutterScrollFinishFlags"><span class="type">ClutterScrollFinishFlags</span></a> of an scroll event. Those
can be used to determine whether post-scroll effects like kinetic
scrolling should be applied.</p>
<div class="refsect3">
<a name="clutter-event-get-scroll-finish-flags.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>an scroll event</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-scroll-finish-flags.returns"></a><h4>Returns</h4>
<p> The scroll finish flags</p>
</div>
<p class="since">Since: <a class="link" href="ix20.html#api-index-1.26">1.26</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get"></a><h3>clutter_event_get ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
clutter_event_get (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Pops an event off the event queue. Applications should not need to call 
this.</p>
<div class="refsect3">
<a name="clutter-event-get.returns"></a><h4>Returns</h4>
<p> A <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> or NULL if queue empty</p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-peek"></a><h3>clutter_event_peek ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
clutter_event_peek (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Returns a pointer to the first event from the event queue but 
does not remove it.</p>
<div class="refsect3">
<a name="clutter-event-peek.returns"></a><h4>Returns</h4>
<p> A <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> or NULL if queue empty. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-put"></a><h3>clutter_event_put ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_put (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Puts a copy of the event on the back of the event queue. The event will
have the <a class="link" href="clutter-Events.html#CLUTTER-EVENT-FLAG-SYNTHETIC:CAPS"><code class="literal">CLUTTER_EVENT_FLAG_SYNTHETIC</code></a> flag set. If the source is set
event signals will be emitted for this source and capture/bubbling for
its ancestors. If the source is not set it will be generated by picking
or use the actor that currently has keyboard focus</p>
<div class="refsect3">
<a name="clutter-event-put.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-events-pending"></a><h3>clutter_events_pending ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
clutter_events_pending (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Checks if events are pending in the event queue.</p>
<div class="refsect3">
<a name="clutter-events-pending.returns"></a><h4>Returns</h4>
<p> TRUE if there are pending events, FALSE otherwise.</p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterEventFilterFunc"></a><h3>ClutterEventFilterFunc ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
<span class="c_punctuation">(</span>*ClutterEventFilterFunc<span class="c_punctuation">)</span> (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                           <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>A function pointer type used by event filters that are added with
<a class="link" href="clutter-Events.html#clutter-event-add-filter" title="clutter_event_add_filter ()"><code class="function">clutter_event_add_filter()</code></a>.</p>
<div class="refsect3">
<a name="ClutterEventFilterFunc.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>the event that is going to be emitted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>the data pointer passed to <a class="link" href="clutter-Events.html#clutter-event-add-filter" title="clutter_event_add_filter ()"><code class="function">clutter_event_add_filter()</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ClutterEventFilterFunc.returns"></a><h4>Returns</h4>
<p> <a class="link" href="clutter-Events.html#CLUTTER-EVENT-STOP:CAPS" title="CLUTTER_EVENT_STOP"><code class="literal">CLUTTER_EVENT_STOP</code></a> to indicate that the event
has been handled or <a class="link" href="clutter-Events.html#CLUTTER-EVENT-PROPAGATE:CAPS" title="CLUTTER_EVENT_PROPAGATE"><code class="literal">CLUTTER_EVENT_PROPAGATE</code></a> otherwise.
Returning <a class="link" href="clutter-Events.html#CLUTTER-EVENT-STOP:CAPS" title="CLUTTER_EVENT_STOP"><code class="literal">CLUTTER_EVENT_STOP</code></a> skips any further filter
functions and prevents the signal emission for the event.</p>
</div>
<p class="since">Since: <a class="link" href="ix16.html#api-index-1.18">1.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-add-filter"></a><h3>clutter_event_add_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_event_add_filter (<em class="parameter"><code><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *stage</code></em>,
                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEventFilterFunc" title="ClutterEventFilterFunc ()"><span class="type">ClutterEventFilterFunc</span></a> func</code></em>,
                          <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>,
                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>Adds a function which will be called for all events that Clutter
processes. The function will be called before any signals are
emitted for the event and it will take precedence over any grabs.</p>
<div class="refsect3">
<a name="clutter-event-add-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>stage</p></td>
<td class="parameter_description"><p> The <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> to capture events for. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>func</p></td>
<td class="parameter_description"><p>The callback function which will be passed all events.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>notify</p></td>
<td class="parameter_description"><p>A <span class="type">GDestroyNotify</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>A data pointer to pass to the function.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-add-filter.returns"></a><h4>Returns</h4>
<p> an identifier for the event filter, to be used
with <a class="link" href="clutter-Events.html#clutter-event-remove-filter" title="clutter_event_remove_filter ()"><code class="function">clutter_event_remove_filter()</code></a>.</p>
</div>
<p class="since">Since: <a class="link" href="ix16.html#api-index-1.18">1.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-remove-filter"></a><h3>clutter_event_remove_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_remove_filter (<em class="parameter"><code><span class="type">guint</span> id</code></em>);</pre>
<p>Removes an event filter that was previously added with
<a class="link" href="clutter-Events.html#clutter-event-add-filter" title="clutter_event_add_filter ()"><code class="function">clutter_event_add_filter()</code></a>.</p>
<div class="refsect3">
<a name="clutter-event-remove-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>id</p></td>
<td class="parameter_description"><p>The ID of the event filter, as returned from <a class="link" href="clutter-Events.html#clutter-event-add-filter" title="clutter_event_add_filter ()"><code class="function">clutter_event_add_filter()</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix16.html#api-index-1.18">1.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-button"></a><h3>clutter_event_set_button ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_button (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                          <em class="parameter"><code><span class="type">guint32</span> button</code></em>);</pre>
<p>Sets the button number of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-set-button.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> or type <a class="link" href="clutter-Events.html#CLUTTER-BUTTON-PRESS:CAPS"><code class="literal">CLUTTER_BUTTON_PRESS</code></a> or
of type <a class="link" href="clutter-Events.html#CLUTTER-BUTTON-RELEASE:CAPS"><code class="literal">CLUTTER_BUTTON_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>button</p></td>
<td class="parameter_description"><p>the button number</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-button"></a><h3>clutter_event_get_button ()</h3>
<pre class="programlisting"><span class="returnvalue">guint32</span>
clutter_event_get_button (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the button number of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-button.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-BUTTON-PRESS:CAPS"><code class="literal">CLUTTER_BUTTON_PRESS</code></a> or
of type <a class="link" href="clutter-Events.html#CLUTTER-BUTTON-RELEASE:CAPS"><code class="literal">CLUTTER_BUTTON_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-button.returns"></a><h4>Returns</h4>
<p> the button number</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-click-count"></a><h3>clutter_event_get_click_count ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_event_get_click_count (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the number of clicks of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-click-count.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-BUTTON-PRESS:CAPS"><code class="literal">CLUTTER_BUTTON_PRESS</code></a> or
of type <a class="link" href="clutter-Events.html#CLUTTER-BUTTON-RELEASE:CAPS"><code class="literal">CLUTTER_BUTTON_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-click-count.returns"></a><h4>Returns</h4>
<p> the click count</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-key-symbol"></a><h3>clutter_event_set_key_symbol ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_key_symbol (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                              <em class="parameter"><code><span class="type">guint</span> key_sym</code></em>);</pre>
<p>Sets the key symbol of <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-key-symbol.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-PRESS:CAPS"><code class="literal">CLUTTER_KEY_PRESS</code></a>
or <a class="link" href="clutter-Events.html#CLUTTER-KEY-RELEASE:CAPS"><code class="literal">CLUTTER_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_sym</p></td>
<td class="parameter_description"><p>the key symbol representing the key</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-key-symbol"></a><h3>clutter_event_get_key_symbol ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_event_get_key_symbol (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the key symbol of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-key-symbol.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-PRESS:CAPS"><code class="literal">CLUTTER_KEY_PRESS</code></a> or
of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-RELEASE:CAPS"><code class="literal">CLUTTER_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-key-symbol.returns"></a><h4>Returns</h4>
<p> the key symbol representing the key</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-key-code"></a><h3>clutter_event_set_key_code ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_key_code (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                            <em class="parameter"><code><span class="type">guint16</span> key_code</code></em>);</pre>
<p>Sets the keycode of the <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-key-code.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-PRESS:CAPS"><code class="literal">CLUTTER_KEY_PRESS</code></a>
or <a class="link" href="clutter-Events.html#CLUTTER-KEY-RELEASE:CAPS"><code class="literal">CLUTTER_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_code</p></td>
<td class="parameter_description"><p>the keycode representing the key</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-key-code"></a><h3>clutter_event_get_key_code ()</h3>
<pre class="programlisting"><span class="returnvalue">guint16</span>
clutter_event_get_key_code (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the keycode of the key that caused <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-key-code.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-PRESS:CAPS"><code class="literal">CLUTTER_KEY_PRESS</code></a> or
of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-RELEASE:CAPS"><code class="literal">CLUTTER_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-key-code.returns"></a><h4>Returns</h4>
<p> The keycode representing the key</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-key-unicode"></a><h3>clutter_event_set_key_unicode ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_key_unicode (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                               <em class="parameter"><code><span class="type">gunichar</span> key_unicode</code></em>);</pre>
<p>Sets the Unicode value of <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-key-unicode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-PRESS:CAPS"><code class="literal">CLUTTER_KEY_PRESS</code></a>
or <a class="link" href="clutter-Events.html#CLUTTER-KEY-RELEASE:CAPS"><code class="literal">CLUTTER_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_unicode</p></td>
<td class="parameter_description"><p>the Unicode value representing the key</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-key-unicode"></a><h3>clutter_event_get_key_unicode ()</h3>
<pre class="programlisting"><span class="returnvalue">gunichar</span>
clutter_event_get_key_unicode (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the unicode value for the key that caused <em class="parameter"><code>keyev</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-get-key-unicode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-KEY-PRESS:CAPS"><code class="literal">CLUTTER_KEY_PRESS</code></a>
or <a class="link" href="clutter-Events.html#CLUTTER-KEY-RELEASE:CAPS"><code class="literal">CLUTTER_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-key-unicode.returns"></a><h4>Returns</h4>
<p> The unicode value representing the key</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-keysym-to-unicode"></a><h3>clutter_keysym_to_unicode ()</h3>
<pre class="programlisting"><span class="returnvalue">guint32</span>
clutter_keysym_to_unicode (<em class="parameter"><code><span class="type">guint</span> keyval</code></em>);</pre>
<p>Converts <em class="parameter"><code>keyval</code></em>
 from a Clutter key symbol to the corresponding
ISO10646 (Unicode) character.</p>
<div class="refsect3">
<a name="clutter-keysym-to-unicode.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>keyval</p></td>
<td class="parameter_description"><p>a key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-keysym-to-unicode.returns"></a><h4>Returns</h4>
<p> a Unicode character, or 0 if there  is no corresponding
character.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-unicode-to-keysym"></a><h3>clutter_unicode_to_keysym ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_unicode_to_keysym (<em class="parameter"><code><span class="type">guint32</span> wc</code></em>);</pre>
<p>Convert from a ISO10646 character to a key symbol.</p>
<div class="refsect3">
<a name="clutter-unicode-to-keysym.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>wc</p></td>
<td class="parameter_description"><p>a ISO10646 encoded character</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-unicode-to-keysym.returns"></a><h4>Returns</h4>
<p> the corresponding Clutter key symbol, if one exists.
or, if there is no corresponding symbol, wc | 0x01000000</p>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-related"></a><h3>clutter_event_set_related ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_related (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                           <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<p>Sets the related actor of a crossing event</p>
<div class="refsect3">
<a name="clutter-event-set-related.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-ENTER:CAPS"><code class="literal">CLUTTER_ENTER</code></a> or <a class="link" href="clutter-Events.html#CLUTTER-LEAVE:CAPS"><code class="literal">CLUTTER_LEAVE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p> a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-related"></a><h3>clutter_event_get_related ()</h3>
<pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> *
clutter_event_get_related (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the related actor of a crossing event.</p>
<div class="refsect3">
<a name="clutter-event-get-related.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-ENTER:CAPS"><code class="literal">CLUTTER_ENTER</code></a> or of
type <a class="link" href="clutter-Events.html#CLUTTER-LEAVE:CAPS"><code class="literal">CLUTTER_LEAVE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-related.returns"></a><h4>Returns</h4>
<p> the related <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-scroll-direction"></a><h3>clutter_event_set_scroll_direction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_scroll_direction (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                                    <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterScrollDirection" title="enum ClutterScrollDirection"><span class="type">ClutterScrollDirection</span></a> direction</code></em>);</pre>
<p>Sets the direction of the scrolling of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-set-scroll-direction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>direction</p></td>
<td class="parameter_description"><p>the scrolling direction</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-scroll-direction"></a><h3>clutter_event_get_scroll_direction ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Events.html#ClutterScrollDirection" title="enum ClutterScrollDirection"><span class="returnvalue">ClutterScrollDirection</span></a>
clutter_event_get_scroll_direction (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the direction of the scrolling of <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-scroll-direction.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-SCROLL:CAPS"><code class="literal">CLUTTER_SCROLL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-scroll-direction.returns"></a><h4>Returns</h4>
<p> the scrolling direction</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-scroll-delta"></a><h3>clutter_event_get_scroll_delta ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_get_scroll_delta (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> *dx</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> *dy</code></em>);</pre>
<p>Retrieves the precise scrolling information of <em class="parameter"><code>event</code></em>
.</p>
<p>The <em class="parameter"><code>event</code></em>
 has to have a <a class="link" href="clutter-Events.html#ClutterScrollEvent.direction"><span class="type">ClutterScrollEvent.direction</span></a> value
of <a class="link" href="clutter-Events.html#CLUTTER-SCROLL-SMOOTH:CAPS"><code class="literal">CLUTTER_SCROLL_SMOOTH</code></a>.</p>
<div class="refsect3">
<a name="clutter-event-get-scroll-delta.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-SCROLL:CAPS"><code class="literal">CLUTTER_SCROLL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dx</p></td>
<td class="parameter_description"><p> return location for the delta on the horizontal axis. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>dy</p></td>
<td class="parameter_description"><p> return location for the delta on the vertical axis. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-scroll-delta"></a><h3>clutter_event_set_scroll_delta ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_scroll_delta (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> dx</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> dy</code></em>);</pre>
<p>Sets the precise scrolling information of <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-scroll-delta.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-SCROLL:CAPS"><code class="literal">CLUTTER_SCROLL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dx</p></td>
<td class="parameter_description"><p>delta on the horizontal axis</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dy</p></td>
<td class="parameter_description"><p>delta on the vertical axis</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-device"></a><h3>clutter_event_set_device ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_device (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                          <em class="parameter"><code><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *device</code></em>);</pre>
<p>Sets the device for <em class="parameter"><code>event</code></em>
.</p>
<div class="refsect3">
<a name="clutter-event-set-device.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>device</p></td>
<td class="parameter_description"><p> a <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-device"></a><h3>clutter_event_get_device ()</h3>
<pre class="programlisting"><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> *
clutter_event_get_device (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> for the event.
If you want the physical device the event originated from, use
<a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a>.</p>
<p>The <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> structure is completely opaque and should
be cast to the platform-specific implementation.</p>
<div class="refsect3">
<a name="clutter-event-get-device.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-device.returns"></a><h4>Returns</h4>
<p> the <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> or <code class="literal">NULL</code>. The
returned device is owned by the <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> and it should not
be unreferenced. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-set-source-device"></a><h3>clutter_event_set_source_device ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_event_set_source_device (<em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>,
                                 <em class="parameter"><code><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *device</code></em>);</pre>
<p>Sets the source <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> for <em class="parameter"><code>event</code></em>
.</p>
<p>The <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> must have been created using <a class="link" href="clutter-Events.html#clutter-event-new" title="clutter_event_new ()"><code class="function">clutter_event_new()</code></a>.</p>
<div class="refsect3">
<a name="clutter-event-set-source-device.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>device</p></td>
<td class="parameter_description"><p> a <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-source-device"></a><h3>clutter_event_get_source_device ()</h3>
<pre class="programlisting"><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> *
clutter_event_get_source_device (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the hardware device that originated the event.</p>
<p>If you need the virtual device, use <a class="link" href="clutter-Events.html#clutter-event-get-device" title="clutter_event_get_device ()"><code class="function">clutter_event_get_device()</code></a>.</p>
<p>If no hardware device originated this event, this function will
return the same device as <a class="link" href="clutter-Events.html#clutter-event-get-device" title="clutter_event_get_device ()"><code class="function">clutter_event_get_device()</code></a>.</p>
<div class="refsect3">
<a name="clutter-event-get-source-device.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-source-device.returns"></a><h4>Returns</h4>
<p> a pointer to a <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a>
or <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-device-id"></a><h3>clutter_event_get_device_id ()</h3>
<pre class="programlisting"><span class="returnvalue">gint</span>
clutter_event_get_device_id (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the events device id if set.</p>
<div class="refsect3">
<a name="clutter-event-get-device-id.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a clutter event </p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-device-id.returns"></a><h4>Returns</h4>
<p> A unique identifier for the device or -1 if the event has
no specific device set.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="clutter-event-get-device-type"></a><h3>clutter_event_get_device_type ()</h3>
<pre class="programlisting"><a class="link" href="ClutterInputDevice.html#ClutterInputDeviceType" title="enum ClutterInputDeviceType"><span class="returnvalue">ClutterInputDeviceType</span></a>
clutter_event_get_device_type (<em class="parameter"><code>const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> *event</code></em>);</pre>
<p>Retrieves the type of the device for <em class="parameter"><code>event</code></em>
</p>
<div class="refsect3">
<a name="clutter-event-get-device-type.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>event</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-event-get-device-type.returns"></a><h4>Returns</h4>
<p> the <a class="link" href="ClutterInputDevice.html#ClutterInputDeviceType" title="enum ClutterInputDeviceType"><span class="type">ClutterInputDeviceType</span></a> for the device, if
any is set</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-get-current-event-time"></a><h3>clutter_get_current_event_time ()</h3>
<pre class="programlisting"><span class="returnvalue">guint32</span>
clutter_get_current_event_time (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Retrieves the timestamp of the last event, if there is an
event or if the event has a timestamp.</p>
<div class="refsect3">
<a name="clutter-get-current-event-time.returns"></a><h4>Returns</h4>
<p> the event timestamp, or <a class="link" href="clutter-Events.html#CLUTTER-CURRENT-TIME:CAPS" title="CLUTTER_CURRENT_TIME"><code class="literal">CLUTTER_CURRENT_TIME</code></a></p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-get-current-event"></a><h3>clutter_get_current_event ()</h3>
<pre class="programlisting">const <a class="link" href="clutter-Events.html#ClutterEvent"><span class="returnvalue">ClutterEvent</span></a> *
clutter_get_current_event (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>If an event is currently being processed, return that event.
This function is intended to be used to access event state
that might not be exposed by higher-level widgets.  For
example, to get the key modifier state from a Button 'clicked'
event.</p>
<div class="refsect3">
<a name="clutter-get-current-event.returns"></a><h4>Returns</h4>
<p> The current ClutterEvent, or <code class="literal">NULL</code> if none. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix08.html#api-index-1.2">1.2</a></p>
</div>
</div>
<div class="refsect1">
<a name="clutter-Events.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="CLUTTER-CURRENT-TIME:CAPS"></a><h3>CLUTTER_CURRENT_TIME</h3>
<pre class="programlisting">#define CLUTTER_CURRENT_TIME            (0L)
</pre>
<p>Default value for "now".</p>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-PRIORITY-EVENTS:CAPS"></a><h3>CLUTTER_PRIORITY_EVENTS</h3>
<pre class="programlisting">#define CLUTTER_PRIORITY_EVENTS         (G_PRIORITY_DEFAULT)
</pre>
<p>Priority for event handling.</p>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-EVENT-PROPAGATE:CAPS"></a><h3>CLUTTER_EVENT_PROPAGATE</h3>
<pre class="programlisting">#define CLUTTER_EVENT_PROPAGATE         (FALSE)
</pre>
<p>Continues the propagation of an event; this macro should be
used in event-related signals.</p>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-EVENT-STOP:CAPS"></a><h3>CLUTTER_EVENT_STOP</h3>
<pre class="programlisting">#define CLUTTER_EVENT_STOP              (TRUE)
</pre>
<p>Stops the propagation of an event; this macro should be used
in event-related signals.</p>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterModifierType"></a><h3>enum ClutterModifierType</h3>
<p>Masks applied to a <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> by modifiers.</p>
<p>Note that Clutter may add internal values to events which include
reserved values such as <code class="literal">CLUTTER_MODIFIER_RESERVED_13_MASK</code>.  Your code
should preserve and ignore them.  You can use <a class="link" href="clutter-Events.html#CLUTTER-MODIFIER-MASK:CAPS"><code class="literal">CLUTTER_MODIFIER_MASK</code></a> to
remove all reserved values.</p>
<div class="refsect3">
<a name="ClutterModifierType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SHIFT-MASK:CAPS"></a>CLUTTER_SHIFT_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the Shift key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-LOCK-MASK:CAPS"></a>CLUTTER_LOCK_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the Caps Lock key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-CONTROL-MASK:CAPS"></a>CLUTTER_CONTROL_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the Control key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MOD1-MASK:CAPS"></a>CLUTTER_MOD1_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the first Mod key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MOD2-MASK:CAPS"></a>CLUTTER_MOD2_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the second Mod key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MOD3-MASK:CAPS"></a>CLUTTER_MOD3_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the third Mod key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MOD4-MASK:CAPS"></a>CLUTTER_MOD4_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the fourth Mod key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MOD5-MASK:CAPS"></a>CLUTTER_MOD5_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the fifth Mod key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON1-MASK:CAPS"></a>CLUTTER_BUTTON1_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the first pointer button</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON2-MASK:CAPS"></a>CLUTTER_BUTTON2_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the second pointer button</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON3-MASK:CAPS"></a>CLUTTER_BUTTON3_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the third pointer button</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON4-MASK:CAPS"></a>CLUTTER_BUTTON4_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the fourth pointer button</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON5-MASK:CAPS"></a>CLUTTER_BUTTON5_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the fifth pointer button</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SUPER-MASK:CAPS"></a>CLUTTER_SUPER_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the Super key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-HYPER-MASK:CAPS"></a>CLUTTER_HYPER_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the Hyper key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-META-MASK:CAPS"></a>CLUTTER_META_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied by the Meta key</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-RELEASE-MASK:CAPS"></a>CLUTTER_RELEASE_MASK</p></td>
<td class="enum_member_description">
<p>Mask applied during release</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MODIFIER-MASK:CAPS"></a>CLUTTER_MODIFIER_MASK</p></td>
<td class="enum_member_description">
<p>A mask covering all modifier types</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterScrollDirection"></a><h3>enum ClutterScrollDirection</h3>
<p>Direction of a pointer scroll event.</p>
<p>The <a class="link" href="clutter-Events.html#CLUTTER-SCROLL-SMOOTH:CAPS"><code class="literal">CLUTTER_SCROLL_SMOOTH</code></a> value implies that the <a class="link" href="clutter-Events.html#ClutterScrollEvent" title="struct ClutterScrollEvent"><span class="type">ClutterScrollEvent</span></a>
has precise scrolling delta information.</p>
<div class="refsect3">
<a name="ClutterScrollDirection.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-UP:CAPS"></a>CLUTTER_SCROLL_UP</p></td>
<td class="enum_member_description">
<p>Scroll up</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-DOWN:CAPS"></a>CLUTTER_SCROLL_DOWN</p></td>
<td class="enum_member_description">
<p>Scroll down</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-LEFT:CAPS"></a>CLUTTER_SCROLL_LEFT</p></td>
<td class="enum_member_description">
<p>Scroll left</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-RIGHT:CAPS"></a>CLUTTER_SCROLL_RIGHT</p></td>
<td class="enum_member_description">
<p>Scroll right</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-SMOOTH:CAPS"></a>CLUTTER_SCROLL_SMOOTH</p></td>
<td class="enum_member_description">
<p>Precise scrolling delta (available in 1.10)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterScrollFinishFlags"></a><h3>enum ClutterScrollFinishFlags</h3>
<p>Flags used to notify the axes that were stopped in a <a class="link" href="clutter-Events.html#ClutterScrollEvent" title="struct ClutterScrollEvent"><span class="type">ClutterScrollEvent</span></a>.
These can be used to trigger post-scroll effects like kinetic scrolling.</p>
<div class="refsect3">
<a name="ClutterScrollFinishFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-FINISHED-NONE:CAPS"></a>CLUTTER_SCROLL_FINISHED_NONE</p></td>
<td class="enum_member_description">
<p>no axis was stopped.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-FINISHED-HORIZONTAL:CAPS"></a>CLUTTER_SCROLL_FINISHED_HORIZONTAL</p></td>
<td class="enum_member_description">
<p>The horizontal axis stopped.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-FINISHED-VERTICAL:CAPS"></a>CLUTTER_SCROLL_FINISHED_VERTICAL</p></td>
<td class="enum_member_description">
<p>The vertical axis stopped.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix20.html#api-index-1.26">1.26</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterScrollSource"></a><h3>enum ClutterScrollSource</h3>
<p>The scroll source determines the source of the scroll event. Keep in mind
that the source device <a class="link" href="ClutterInputDevice.html#ClutterInputDeviceType" title="enum ClutterInputDeviceType"><span class="type">ClutterInputDeviceType</span></a> is not enough to infer
the scroll source.</p>
<div class="refsect3">
<a name="ClutterScrollSource.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-SOURCE-UNKNOWN:CAPS"></a>CLUTTER_SCROLL_SOURCE_UNKNOWN</p></td>
<td class="enum_member_description">
<p>Source of scroll events is unknown.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-SOURCE-WHEEL:CAPS"></a>CLUTTER_SCROLL_SOURCE_WHEEL</p></td>
<td class="enum_member_description">
<p>The scroll event is originated by a mouse wheel.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-SOURCE-FINGER:CAPS"></a>CLUTTER_SCROLL_SOURCE_FINGER</p></td>
<td class="enum_member_description">
<p>The scroll event is originated by one or more
  fingers on the device (eg. touchpads).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL-SOURCE-CONTINUOUS:CAPS"></a>CLUTTER_SCROLL_SOURCE_CONTINUOUS</p></td>
<td class="enum_member_description">
<p>The scroll event is originated by the
  motion of some device (eg. a scroll button is set).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix20.html#api-index-1.26">1.26</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterStageState"></a><h3>enum ClutterStageState</h3>
<p>Stage state masks, used by the <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a> of type <a class="link" href="clutter-Events.html#CLUTTER-STAGE-STATE:CAPS"><code class="literal">CLUTTER_STAGE_STATE</code></a>.</p>
<div class="refsect3">
<a name="ClutterStageState.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-STAGE-STATE-FULLSCREEN:CAPS"></a>CLUTTER_STAGE_STATE_FULLSCREEN</p></td>
<td class="enum_member_description">
<p>Fullscreen mask</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-STAGE-STATE-OFFSCREEN:CAPS"></a>CLUTTER_STAGE_STATE_OFFSCREEN</p></td>
<td class="enum_member_description">
<p>Offscreen mask (deprecated)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-STAGE-STATE-ACTIVATED:CAPS"></a>CLUTTER_STAGE_STATE_ACTIVATED</p></td>
<td class="enum_member_description">
<p>Activated mask</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterEventType"></a><h3>enum ClutterEventType</h3>
<p>Types of events.</p>
<div class="refsect3">
<a name="ClutterEventType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-NOTHING:CAPS"></a>CLUTTER_NOTHING</p></td>
<td class="enum_member_description">
<p>Empty event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-KEY-PRESS:CAPS"></a>CLUTTER_KEY_PRESS</p></td>
<td class="enum_member_description">
<p>Key press event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-KEY-RELEASE:CAPS"></a>CLUTTER_KEY_RELEASE</p></td>
<td class="enum_member_description">
<p>Key release event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-MOTION:CAPS"></a>CLUTTER_MOTION</p></td>
<td class="enum_member_description">
<p>Pointer motion event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-ENTER:CAPS"></a>CLUTTER_ENTER</p></td>
<td class="enum_member_description">
<p>Actor enter event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-LEAVE:CAPS"></a>CLUTTER_LEAVE</p></td>
<td class="enum_member_description">
<p>Actor leave event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON-PRESS:CAPS"></a>CLUTTER_BUTTON_PRESS</p></td>
<td class="enum_member_description">
<p>Pointer button press event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-BUTTON-RELEASE:CAPS"></a>CLUTTER_BUTTON_RELEASE</p></td>
<td class="enum_member_description">
<p>Pointer button release event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-SCROLL:CAPS"></a>CLUTTER_SCROLL</p></td>
<td class="enum_member_description">
<p>Pointer scroll event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-STAGE-STATE:CAPS"></a>CLUTTER_STAGE_STATE</p></td>
<td class="enum_member_description">
<p>Stage state change event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-DESTROY-NOTIFY:CAPS"></a>CLUTTER_DESTROY_NOTIFY</p></td>
<td class="enum_member_description">
<p>Destroy notification event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-CLIENT-MESSAGE:CAPS"></a>CLUTTER_CLIENT_MESSAGE</p></td>
<td class="enum_member_description">
<p>Client message event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-DELETE:CAPS"></a>CLUTTER_DELETE</p></td>
<td class="enum_member_description">
<p>Stage delete event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCH-BEGIN:CAPS"></a>CLUTTER_TOUCH_BEGIN</p></td>
<td class="enum_member_description">
<p>A new touch event sequence has started;
  event added in 1.10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCH-UPDATE:CAPS"></a>CLUTTER_TOUCH_UPDATE</p></td>
<td class="enum_member_description">
<p>A touch event sequence has been updated;
  event added in 1.10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCH-END:CAPS"></a>CLUTTER_TOUCH_END</p></td>
<td class="enum_member_description">
<p>A touch event sequence has finished;
  event added in 1.10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCH-CANCEL:CAPS"></a>CLUTTER_TOUCH_CANCEL</p></td>
<td class="enum_member_description">
<p>A touch event sequence has been canceled;
  event added in 1.10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCHPAD-PINCH:CAPS"></a>CLUTTER_TOUCHPAD_PINCH</p></td>
<td class="enum_member_description">
<p>A pinch gesture event, the current state is
  determined by its phase field; event added in 1.24</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCHPAD-SWIPE:CAPS"></a>CLUTTER_TOUCHPAD_SWIPE</p></td>
<td class="enum_member_description">
<p>A swipe gesture event, the current state is
  determined by its phase field; event added in 1.24</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-EVENT-LAST:CAPS"></a>CLUTTER_EVENT_LAST</p></td>
<td class="enum_member_description">
<p>Marks the end of the <a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> enumeration;
  added in 1.10</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterEvent-union"></a><h3>ClutterEvent</h3>
<p>Generic event wrapper.</p>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterEventFlags"></a><h3>enum ClutterEventFlags</h3>
<p>Flags for the <a class="link" href="clutter-Events.html#ClutterEvent"><span class="type">ClutterEvent</span></a></p>
<div class="refsect3">
<a name="ClutterEventFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-EVENT-NONE:CAPS"></a>CLUTTER_EVENT_NONE</p></td>
<td class="enum_member_description">
<p>No flag set</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-EVENT-FLAG-SYNTHETIC:CAPS"></a>CLUTTER_EVENT_FLAG_SYNTHETIC</p></td>
<td class="enum_member_description">
<p>Synthetic event</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterButtonEvent"></a><h3>struct ClutterButtonEvent</h3>
<pre class="programlisting">struct ClutterButtonEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  gfloat x;
  gfloat y;
  ClutterModifierType modifier_state;
  guint32 button;
  guint click_count;
  gdouble *axes; /* Future use */
  ClutterInputDevice *device;
};
</pre>
<p>Button event.</p>
<p>The event coordinates are relative to the stage that received the
event, and can be transformed into actor-relative coordinates by
using <a class="link" href="ClutterActor.html#clutter-actor-transform-stage-point" title="clutter_actor_transform_stage_point ()"><code class="function">clutter_actor_transform_stage_point()</code></a>.</p>
<div class="refsect3">
<a name="ClutterButtonEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterButtonEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterButtonEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterButtonEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterButtonEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterButtonEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterButtonEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>event X coordinate, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterButtonEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>event Y coordinate, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> <em class="structfield"><code><a name="ClutterButtonEvent.modifier-state"></a>modifier_state</code></em>;</p></td>
<td class="struct_member_description"><p>button modifiers</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterButtonEvent.button"></a>button</code></em>;</p></td>
<td class="struct_member_description"><p>event button</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="ClutterButtonEvent.click-count"></a>click_count</code></em>;</p></td>
<td class="struct_member_description"><p>number of button presses within the default time
and radius</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gdouble</span> *<em class="structfield"><code><a name="ClutterButtonEvent.axes"></a>axes</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for future use</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *<em class="structfield"><code><a name="ClutterButtonEvent.device"></a>device</code></em>;</p></td>
<td class="struct_member_description"><p>the device that originated the event. If you want the physical
device the event originated from, use <a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterKeyEvent"></a><h3>struct ClutterKeyEvent</h3>
<pre class="programlisting">struct ClutterKeyEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  ClutterModifierType modifier_state;
  guint keyval;
  guint16 hardware_keycode;
  gunichar unicode_value;
  ClutterInputDevice *device;
};
</pre>
<p>Key event</p>
<div class="refsect3">
<a name="ClutterKeyEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterKeyEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterKeyEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterKeyEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterKeyEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterKeyEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> <em class="structfield"><code><a name="ClutterKeyEvent.modifier-state"></a>modifier_state</code></em>;</p></td>
<td class="struct_member_description"><p>key modifiers</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="ClutterKeyEvent.keyval"></a>keyval</code></em>;</p></td>
<td class="struct_member_description"><p>raw key value</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint16</span> <em class="structfield"><code><a name="ClutterKeyEvent.hardware-keycode"></a>hardware_keycode</code></em>;</p></td>
<td class="struct_member_description"><p>raw hardware key value</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gunichar</span> <em class="structfield"><code><a name="ClutterKeyEvent.unicode-value"></a>unicode_value</code></em>;</p></td>
<td class="struct_member_description"><p>Unicode representation</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *<em class="structfield"><code><a name="ClutterKeyEvent.device"></a>device</code></em>;</p></td>
<td class="struct_member_description"><p>the device that originated the event. If you want the physical
device the event originated from, use <a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterMotionEvent"></a><h3>struct ClutterMotionEvent</h3>
<pre class="programlisting">struct ClutterMotionEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  gfloat x;
  gfloat y;
  ClutterModifierType modifier_state;
  gdouble *axes; /* Future use */
  ClutterInputDevice *device;
};
</pre>
<p>Event for the pointer motion</p>
<div class="refsect3">
<a name="ClutterMotionEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterMotionEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterMotionEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterMotionEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterMotionEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterMotionEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterMotionEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>event X coordinate</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterMotionEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>event Y coordinate</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> <em class="structfield"><code><a name="ClutterMotionEvent.modifier-state"></a>modifier_state</code></em>;</p></td>
<td class="struct_member_description"><p>button modifiers</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gdouble</span> *<em class="structfield"><code><a name="ClutterMotionEvent.axes"></a>axes</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for future use</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *<em class="structfield"><code><a name="ClutterMotionEvent.device"></a>device</code></em>;</p></td>
<td class="struct_member_description"><p>the device that originated the event. If you want the physical
device the event originated from, use <a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterScrollEvent"></a><h3>struct ClutterScrollEvent</h3>
<pre class="programlisting">struct ClutterScrollEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  gfloat x;
  gfloat y;
  ClutterScrollDirection direction;
  ClutterModifierType modifier_state;
  gdouble *axes; /* future use */
  ClutterInputDevice *device;
  ClutterScrollSource scroll_source;
  ClutterScrollFinishFlags finish_flags;
};
</pre>
<p>Scroll wheel (or similar device) event</p>
<div class="refsect3">
<a name="ClutterScrollEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterScrollEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterScrollEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterScrollEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterScrollEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterScrollEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterScrollEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>event X coordinate</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterScrollEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>event Y coordinate</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterScrollDirection" title="enum ClutterScrollDirection"><span class="type">ClutterScrollDirection</span></a> <em class="structfield"><code><a name="ClutterScrollEvent.direction"></a>direction</code></em>;</p></td>
<td class="struct_member_description"><p>direction of the scrolling</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> <em class="structfield"><code><a name="ClutterScrollEvent.modifier-state"></a>modifier_state</code></em>;</p></td>
<td class="struct_member_description"><p>button modifiers</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gdouble</span> *<em class="structfield"><code><a name="ClutterScrollEvent.axes"></a>axes</code></em>;</p></td>
<td class="struct_member_description"><p>reserved for future use</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *<em class="structfield"><code><a name="ClutterScrollEvent.device"></a>device</code></em>;</p></td>
<td class="struct_member_description"><p>the device that originated the event. If you want the physical
device the event originated from, use <a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterScrollSource" title="enum ClutterScrollSource"><span class="type">ClutterScrollSource</span></a> <em class="structfield"><code><a name="ClutterScrollEvent.scroll-source"></a>scroll_source</code></em>;</p></td>
<td class="struct_member_description"><p>the source of scroll events. This field is available since 1.26</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterScrollFinishFlags" title="enum ClutterScrollFinishFlags"><span class="type">ClutterScrollFinishFlags</span></a> <em class="structfield"><code><a name="ClutterScrollEvent.finish-flags"></a>finish_flags</code></em>;</p></td>
<td class="struct_member_description"><p>the axes that were stopped in this event. This field is available since 1.26</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterStageStateEvent"></a><h3>struct ClutterStageStateEvent</h3>
<pre class="programlisting">struct ClutterStageStateEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source; /* XXX: should probably be the stage itself */

  ClutterStageState changed_mask;
  ClutterStageState new_state;
};
</pre>
<p>Event signalling a change in the <a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> state.</p>
<div class="refsect3">
<a name="ClutterStageStateEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterStageStateEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterStageStateEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterStageStateEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterStageStateEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterStageStateEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor (unused)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterStageState" title="enum ClutterStageState"><span class="type">ClutterStageState</span></a> <em class="structfield"><code><a name="ClutterStageStateEvent.changed-mask"></a>changed_mask</code></em>;</p></td>
<td class="struct_member_description"><p>bitwise OR of the changed flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterStageState" title="enum ClutterStageState"><span class="type">ClutterStageState</span></a> <em class="structfield"><code><a name="ClutterStageStateEvent.new-state"></a>new_state</code></em>;</p></td>
<td class="struct_member_description"><p>bitwise OR of the current state flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterCrossingEvent"></a><h3>struct ClutterCrossingEvent</h3>
<pre class="programlisting">struct ClutterCrossingEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  gfloat x;
  gfloat y;
  ClutterInputDevice *device;
  ClutterActor *related;
};
</pre>
<p>Event for the movement of the pointer across different actors</p>
<div class="refsect3">
<a name="ClutterCrossingEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterCrossingEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterCrossingEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterCrossingEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterCrossingEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterCrossingEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterCrossingEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>event X coordinate</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterCrossingEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>event Y coordinate</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *<em class="structfield"><code><a name="ClutterCrossingEvent.device"></a>device</code></em>;</p></td>
<td class="struct_member_description"><p>the device that originated the event. If you want the physical
device the event originated from, use <a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterCrossingEvent.related"></a>related</code></em>;</p></td>
<td class="struct_member_description"><p>actor related to the crossing</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix03.html#api-index-0.2">0.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterTouchEvent"></a><h3>struct ClutterTouchEvent</h3>
<pre class="programlisting">struct ClutterTouchEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  gfloat x;
  gfloat y;
  ClutterEventSequence *sequence;
  ClutterModifierType modifier_state;
  gdouble *axes; /* reserved */
  ClutterInputDevice *device;
};
</pre>
<p>Used for touch events.</p>
<p>The <em class="parameter"><code>type</code></em>
 field will be one of <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-BEGIN:CAPS"><code class="literal">CLUTTER_TOUCH_BEGIN</code></a>, <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-END:CAPS"><code class="literal">CLUTTER_TOUCH_END</code></a>,
<a class="link" href="clutter-Events.html#CLUTTER-TOUCH-UPDATE:CAPS"><code class="literal">CLUTTER_TOUCH_UPDATE</code></a>, or <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-CANCEL:CAPS"><code class="literal">CLUTTER_TOUCH_CANCEL</code></a>.</p>
<p>Touch events are grouped into sequences; each touch sequence will begin
with a <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-BEGIN:CAPS"><code class="literal">CLUTTER_TOUCH_BEGIN</code></a> event, progress with <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-UPDATE:CAPS"><code class="literal">CLUTTER_TOUCH_UPDATE</code></a>
events, and end either with a <a class="link" href="clutter-Events.html#CLUTTER-TOUCH-END:CAPS"><code class="literal">CLUTTER_TOUCH_END</code></a> event or with a
<a class="link" href="clutter-Events.html#CLUTTER-TOUCH-CANCEL:CAPS"><code class="literal">CLUTTER_TOUCH_CANCEL</code></a> event.</p>
<p>With multi-touch capable devices there can be multiple event sequence
running at the same time.</p>
<div class="refsect3">
<a name="ClutterTouchEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterTouchEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterTouchEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterTouchEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterTouchEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterTouchEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor (unused)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>the X coordinate of the pointer, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>the Y coordinate of the pointer, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventSequence"><span class="type">ClutterEventSequence</span></a> *<em class="structfield"><code><a name="ClutterTouchEvent.sequence"></a>sequence</code></em>;</p></td>
<td class="struct_member_description"><p>the event sequence that this event belongs to</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> <em class="structfield"><code><a name="ClutterTouchEvent.modifier-state"></a>modifier_state</code></em>;</p></td>
<td class="struct_member_description"><p> a bit-mask representing the state
of modifier keys (e.g. Control, Shift, and Alt) and the pointer
buttons. See <a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a>. </p></td>
<td class="struct_member_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> ClutterModifierType]</span></td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gdouble</span> *<em class="structfield"><code><a name="ClutterTouchEvent.axes"></a>axes</code></em>;</p></td>
<td class="struct_member_description"><p>reserved </p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *<em class="structfield"><code><a name="ClutterTouchEvent.device"></a>device</code></em>;</p></td>
<td class="struct_member_description"><p>the device that originated the event. If you want the physical
device the event originated from, use <a class="link" href="clutter-Events.html#clutter-event-get-source-device" title="clutter_event_get_source_device ()"><code class="function">clutter_event_get_source_device()</code></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterEventSequence-struct"></a><h3>ClutterEventSequence</h3>
<pre class="programlisting">typedef struct _ClutterEventSequence ClutterEventSequence;</pre>
<p>The <a class="link" href="clutter-Events.html#ClutterEventSequence"><span class="type">ClutterEventSequence</span></a> structure is an opaque
type used to denote the event sequence of a touch event.</p>
<p class="since">Since: <a class="link" href="ix13.html#api-index-1.12">1.12</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterTouchpadPinchEvent"></a><h3>struct ClutterTouchpadPinchEvent</h3>
<pre class="programlisting">struct ClutterTouchpadPinchEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  ClutterTouchpadGesturePhase phase;
  gfloat x;
  gfloat y;
  gfloat dx;
  gfloat dy;
  gfloat angle_delta;
  gfloat scale;
};
</pre>
<p>Used for touchpad pinch gesture events. The current state of the
gesture will be determined by the <em class="parameter"><code>phase</code></em>
 field.</p>
<p>Each event with phase <a class="link" href="clutter-Events.html#CLUTTER-TOUCHPAD-GESTURE-PHASE-BEGIN:CAPS"><code class="literal">CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN</code></a>
will report a <em class="parameter"><code>scale</code></em>
 of 1.0, all later phases in the gesture
report the current scale relative to the initial 1.0 value
(eg. 0.5 being half the size, 2.0 twice as big).</p>
<div class="refsect3">
<a name="ClutterTouchpadPinchEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterTouchpadPinchEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterTouchpadPinchEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor (unused)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterTouchpadGesturePhase" title="enum ClutterTouchpadGesturePhase"><span class="type">ClutterTouchpadGesturePhase</span></a> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.phase"></a>phase</code></em>;</p></td>
<td class="struct_member_description"><p>the current phase of the gesture</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>the X coordinate of the pointer, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>the Y coordinate of the pointer, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.dx"></a>dx</code></em>;</p></td>
<td class="struct_member_description"><p>movement delta of the pinch focal point in the X axis</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.dy"></a>dy</code></em>;</p></td>
<td class="struct_member_description"><p>movement delta of the pinch focal point in the Y axis</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.angle-delta"></a>angle_delta</code></em>;</p></td>
<td class="struct_member_description"><p>angle delta in degrees, clockwise rotations are
represented by positive deltas</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadPinchEvent.scale"></a>scale</code></em>;</p></td>
<td class="struct_member_description"><p>the current scale</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterTouchpadSwipeEvent"></a><h3>struct ClutterTouchpadSwipeEvent</h3>
<pre class="programlisting">struct ClutterTouchpadSwipeEvent {
  ClutterEventType type;
  guint32 time;
  ClutterEventFlags flags;
  ClutterStage *stage;
  ClutterActor *source;

  ClutterTouchpadGesturePhase phase;
  guint n_fingers;
  gfloat x;
  gfloat y;
  gfloat dx;
  gfloat dy;
};
</pre>
<p>Used for touchpad swipe gesture events. The current state of the
gesture will be determined by the <em class="parameter"><code>phase</code></em>
 field.</p>
<div class="refsect3">
<a name="ClutterTouchpadSwipeEvent.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventType" title="enum ClutterEventType"><span class="type">ClutterEventType</span></a> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>event type</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.time"></a>time</code></em>;</p></td>
<td class="struct_member_description"><p>event time</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterEventFlags" title="enum ClutterEventFlags"><span class="type">ClutterEventFlags</span></a> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.flags"></a>flags</code></em>;</p></td>
<td class="struct_member_description"><p>event flags</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterStage.html" title="ClutterStage"><span class="type">ClutterStage</span></a> *<em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.stage"></a>stage</code></em>;</p></td>
<td class="struct_member_description"><p>event source stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.source"></a>source</code></em>;</p></td>
<td class="struct_member_description"><p>event source actor (unused)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="clutter-Events.html#ClutterTouchpadGesturePhase" title="enum ClutterTouchpadGesturePhase"><span class="type">ClutterTouchpadGesturePhase</span></a> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.phase"></a>phase</code></em>;</p></td>
<td class="struct_member_description"><p>the current phase of the gesture</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.n-fingers"></a>n_fingers</code></em>;</p></td>
<td class="struct_member_description"><p>the number of fingers triggering the swipe</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.x"></a>x</code></em>;</p></td>
<td class="struct_member_description"><p>the X coordinate of the pointer, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.y"></a>y</code></em>;</p></td>
<td class="struct_member_description"><p>the Y coordinate of the pointer, relative to the stage</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.dx"></a>dx</code></em>;</p></td>
<td class="struct_member_description"><p>movement delta of the pinch focal point in the X axis</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">gfloat</span> <em class="structfield"><code><a name="ClutterTouchpadSwipeEvent.dy"></a>dy</code></em>;</p></td>
<td class="struct_member_description"><p>movement delta of the pinch focal point in the Y axis</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterTouchpadGesturePhase"></a><h3>enum ClutterTouchpadGesturePhase</h3>
<p>The phase of a touchpad gesture event. All gestures are guaranteed to
begin with an event of type <a class="link" href="clutter-Events.html#CLUTTER-TOUCHPAD-GESTURE-PHASE-BEGIN:CAPS"><code class="literal">CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN</code></a>,
followed by a number of <a class="link" href="clutter-Events.html#CLUTTER-TOUCHPAD-GESTURE-PHASE-UPDATE:CAPS"><code class="literal">CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE</code></a> (possibly 0).</p>
<p>A finished gesture may have 2 possible outcomes, an event with phase
<a class="link" href="clutter-Events.html#CLUTTER-TOUCHPAD-GESTURE-PHASE-END:CAPS"><code class="literal">CLUTTER_TOUCHPAD_GESTURE_PHASE_END</code></a> will be emitted when the gesture is
considered successful, this should be used as the hint to perform any
permanent changes.</p>
<p>Cancelled gestures may be so for a variety of reasons, due to hardware,
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 with report the phase
<a class="link" href="clutter-Events.html#CLUTTER-TOUCHPAD-GESTURE-PHASE-CANCEL:CAPS"><code class="literal">CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL</code></a>, this should be used as a hint
to undo any visible/permanent changes that were done throughout the
progress of the gesture.</p>
<p>See also <a class="link" href="clutter-Events.html#ClutterTouchpadPinchEvent" title="struct ClutterTouchpadPinchEvent"><span class="type">ClutterTouchpadPinchEvent</span></a> and <a class="link" href="clutter-Events.html#ClutterTouchpadPinchEvent" title="struct ClutterTouchpadPinchEvent"><span class="type">ClutterTouchpadPinchEvent</span></a>.</p>
<div class="refsect3">
<a name="ClutterTouchpadGesturePhase.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCHPAD-GESTURE-PHASE-BEGIN:CAPS"></a>CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN</p></td>
<td class="enum_member_description">
<p>The gesture has begun.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCHPAD-GESTURE-PHASE-UPDATE:CAPS"></a>CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE</p></td>
<td class="enum_member_description">
<p>The gesture has been updated.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCHPAD-GESTURE-PHASE-END:CAPS"></a>CLUTTER_TOUCHPAD_GESTURE_PHASE_END</p></td>
<td class="enum_member_description">
<p>The gesture was finished, changes
  should be permanently applied.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="CLUTTER-TOUCHPAD-GESTURE-PHASE-CANCEL:CAPS"></a>CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL</p></td>
<td class="enum_member_description">
<p>The gesture was cancelled, all
  changes should be undone.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix19.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-BUTTON-PRIMARY:CAPS"></a><h3>CLUTTER_BUTTON_PRIMARY</h3>
<pre class="programlisting">#define CLUTTER_BUTTON_PRIMARY          (1)
</pre>
<p>The primary button of a pointer device.</p>
<p>This is typically the left mouse button in a right-handed
mouse configuration.</p>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-BUTTON-MIDDLE:CAPS"></a><h3>CLUTTER_BUTTON_MIDDLE</h3>
<pre class="programlisting">#define CLUTTER_BUTTON_MIDDLE           (2)
</pre>
<p>The middle button of a pointer device.</p>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="CLUTTER-BUTTON-SECONDARY:CAPS"></a><h3>CLUTTER_BUTTON_SECONDARY</h3>
<pre class="programlisting">#define CLUTTER_BUTTON_SECONDARY        (3)
</pre>
<p>The secondary button of a pointer device.</p>
<p>This is typically the right mouse button in a right-handed
mouse configuration.</p>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
</body>
</html>