<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Key Bindings: Clutter Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Clutter Reference Manual">
<link rel="up" href="ch10.html" title="General purpose API">
<link rel="prev" href="clutter-Colors.html" title="Colors">
<link rel="next" href="ClutterDeviceManager.html" title="ClutterDeviceManager">
<meta name="generator" content="GTK-Doc V1.24 (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-Key-Bindings.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#clutter-Key-Bindings.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#clutter-Key-Bindings.properties" class="shortcut">Properties</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="clutter-Colors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ClutterDeviceManager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="clutter-Key-Bindings"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="clutter-Key-Bindings.top_of_page"></a>Key Bindings</span></h2>
<p>Key Bindings — Pool for key bindings</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="clutter-Key-Bindings.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<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-Key-Bindings.html#ClutterBindingActionFunc" title="ClutterBindingActionFunc ()">*ClutterBindingActionFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-new" title="clutter_binding_pool_new ()">clutter_binding_pool_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-get-for-class" title="clutter_binding_pool_get_for_class ()">clutter_binding_pool_get_for_class</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> *
</td>
<td class="function_name">
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-find" title="clutter_binding_pool_find ()">clutter_binding_pool_find</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-Key-Bindings.html#clutter-binding-pool-install-action" title="clutter_binding_pool_install_action ()">clutter_binding_pool_install_action</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-Key-Bindings.html#clutter-binding-pool-install-closure" title="clutter_binding_pool_install_closure ()">clutter_binding_pool_install_closure</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-Key-Bindings.html#clutter-binding-pool-override-action" title="clutter_binding_pool_override_action ()">clutter_binding_pool_override_action</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-Key-Bindings.html#clutter-binding-pool-override-closure" title="clutter_binding_pool_override_closure ()">clutter_binding_pool_override_closure</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-find-action" title="clutter_binding_pool_find_action ()">clutter_binding_pool_find_action</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-Key-Bindings.html#clutter-binding-pool-remove-action" title="clutter_binding_pool_remove_action ()">clutter_binding_pool_remove_action</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-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()">clutter_binding_pool_block_action</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-Key-Bindings.html#clutter-binding-pool-unblock-action" title="clutter_binding_pool_unblock_action ()">clutter_binding_pool_unblock_action</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-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()">clutter_binding_pool_activate</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="clutter-Key-Bindings.properties"></a><h2>Properties</h2>
<div class="informaltable"><table border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody><tr>
<td class="property_type">
<span class="type">gchar</span> *</td>
<td class="property_name"><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool--name" title="The “name” property">name</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr></tbody>
</table></div>
</div>
<a name="ClutterBindingPool"></a><div class="refsect1">
<a name="clutter-Key-Bindings.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool-struct" title="ClutterBindingPool">ClutterBindingPool</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="clutter-Key-Bindings.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> ClutterBindingPool
</pre>
</div>
<div class="refsect1">
<a name="clutter-Key-Bindings.description"></a><h2>Description</h2>
<p><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> is a data structure holding a set of key bindings.
Each key binding associates a key symbol (eventually with modifiers)
to an action. A callback function is associated to each action.</p>
<p>For a given key symbol and modifier mask combination there can be only one
action; for each action there can be only one callback. There can be
multiple actions with the same name, and the same callback can be used
to handle multiple key bindings.</p>
<p>Actors requiring key bindings should create a new <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
inside their class initialization function and then install actions
like this:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">foo_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">FooClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">klass</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">  </span><span class="usertype">ClutterBindingPool</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">binding_pool</span><span class="symbol">;</span>

<span class="normal">  binding_pool </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="clutter-Key-Bindings.html#clutter-binding-pool-get-for-class">clutter_binding_pool_get_for_class</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">klass</span><span class="symbol">);</span>

<span class="normal">  </span><span class="function"><a href="clutter-Key-Bindings.html#clutter-binding-pool-install-action">clutter_binding_pool_install_action</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">binding_pool</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"move-up"</span><span class="symbol">,</span>
<span class="normal">                                       CLUTTER_Up</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span>
<span class="normal">                                       </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo_action_move_up</span><span class="symbol">),</span>
<span class="normal">                                       NULL</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="normal">  </span><span class="function"><a href="clutter-Key-Bindings.html#clutter-binding-pool-install-action">clutter_binding_pool_install_action</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">binding_pool</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"move-up"</span><span class="symbol">,</span>
<span class="normal">                                       CLUTTER_KP_Up</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span>
<span class="normal">                                       </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo_action_move_up</span><span class="symbol">),</span>
<span class="normal">                                       NULL</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
<span class="cbracket">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>The callback has a signature of:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="function">gboolean</span><span class="normal"> </span><span class="symbol">(*</span><span class="normal"> callback</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal">             </span><span class="symbol">*</span><span class="normal">instance</span><span class="symbol">,</span>
<span class="normal">                       </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal">         </span><span class="symbol">*</span><span class="normal">action_name</span><span class="symbol">,</span>
<span class="normal">                       </span><span class="usertype">guint</span><span class="normal">                key_val</span><span class="symbol">,</span>
<span class="normal">                       </span><span class="usertype">ClutterModifierType</span><span class="normal">  modifiers</span><span class="symbol">,</span>
<span class="normal">                       </span><span class="usertype">gpointer</span><span class="normal">             user_data</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>The actor should then override the <a class="link" href="ClutterActor.html#ClutterActor-key-press-event" title="The “key-press-event” signal"><span class="type">“key-press-event”</span></a> and
use <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a> to match a <a class="link" href="clutter-Events.html#ClutterKeyEvent" title="struct ClutterKeyEvent"><span class="type">ClutterKeyEvent</span></a> structure
to one of the actions:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="usertype">ClutterBindingPool</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pool</span><span class="symbol">;</span>

<span class="comment">// retrieve the binding pool for the type of the actor</span>
<span class="normal">pool </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="clutter-Key-Bindings.html#clutter-binding-pool-find">clutter_binding_pool_find</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_OBJECT_TYPE_NAME</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">));</span>

<span class="comment">// activate any callback matching the key symbol and modifiers</span>
<span class="comment">// mask of the key event. the returned value can be directly</span>
<span class="comment">// used to signal that the actor has handled the event.</span>
<span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="clutter-Key-Bindings.html#clutter-binding-pool-activate">clutter_binding_pool_activate</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pool</span><span class="symbol">,</span>
<span class="normal">                                      key_event</span><span class="symbol">-&gt;</span><span class="normal">keyval</span><span class="symbol">,</span>
<span class="normal">                                      key_event</span><span class="symbol">-&gt;</span><span class="normal">modifier_state</span><span class="symbol">,</span>
<span class="normal">                                      </span><span class="function">G_OBJECT</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">));</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>The <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a> function will return <code class="literal">FALSE</code> if
no action for the given key binding was found, if the action was
blocked (using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>) or if the
key binding handler returned <code class="literal">FALSE</code>.</p>
<p><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> is available since Clutter 1.0</p>
</div>
<div class="refsect1">
<a name="clutter-Key-Bindings.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="ClutterBindingActionFunc"></a><h3>ClutterBindingActionFunc ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
<span class="c_punctuation">(</span>*ClutterBindingActionFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">GObject</span> *gobject</code></em>,
                             <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>,
                             <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                             <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
                             <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>The prototype for the callback function registered with
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-install-action" title="clutter_binding_pool_install_action ()"><code class="function">clutter_binding_pool_install_action()</code></a> and invoked by
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>gobject</p></td>
<td class="parameter_description"><p>a <span class="type">GObject</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action_name</p></td>
<td class="parameter_description"><p>the name of the action</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>the key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>bitmask of the modifier flags</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data passed to the function</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.7.2.3.9.2.6"></a><h4>Returns</h4>
<p> the function should return <code class="literal">TRUE</code> if the key
binding has been handled, and return <code class="literal">FALSE</code> otherwise</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-binding-pool-new"></a><h3>clutter_binding_pool_new ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> *
clutter_binding_pool_new (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Creates a new <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> that can be used to store
key bindings for an actor. The <em class="parameter"><code>name</code></em>
 must be a unique identifier
for the binding pool, so that <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-find" title="clutter_binding_pool_find ()"><code class="function">clutter_binding_pool_find()</code></a> will
be able to return the correct binding pool.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.3.5"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>name</p></td>
<td class="parameter_description"><p>the name of the binding pool</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.7.2.3.9.3.6"></a><h4>Returns</h4>
<p> the newly created binding pool with the given
name. Use <code class="function">g_object_unref()</code> when done.</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-binding-pool-get-for-class"></a><h3>clutter_binding_pool_get_for_class ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> *
clutter_binding_pool_get_for_class (<em class="parameter"><code><span class="type">gpointer</span> klass</code></em>);</pre>
<p>Retrieves the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> for the given <span class="type">GObject</span> class
and, eventually, creates it. This function is a wrapper around
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-new" title="clutter_binding_pool_new ()"><code class="function">clutter_binding_pool_new()</code></a> and uses the class type name as the
unique name for the binding pool.</p>
<p>Calling this function multiple times will return the same
<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>.</p>
<p>A binding pool for a class can also be retrieved using
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-find" title="clutter_binding_pool_find ()"><code class="function">clutter_binding_pool_find()</code></a> with the class type name:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="normal">pool </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="clutter-Key-Bindings.html#clutter-binding-pool-find">clutter_binding_pool_find</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_OBJECT_TYPE_NAME</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">instance</span><span class="symbol">));</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="id-1.7.2.3.9.4.9"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>klass</p></td>
<td class="parameter_description"><p>a <span class="type">GObjectClass</span> pointer</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.7.2.3.9.4.10"></a><h4>Returns</h4>
<p> the binding pool for the given class.
The returned <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> is owned by Clutter and should not
be freed directly. </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-binding-pool-find"></a><h3>clutter_binding_pool_find ()</h3>
<pre class="programlisting"><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> *
clutter_binding_pool_find (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
<p>Finds the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> with <em class="parameter"><code>name</code></em>
.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.5.5"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>name</p></td>
<td class="parameter_description"><p>the name of the binding pool to find</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.7.2.3.9.5.6"></a><h4>Returns</h4>
<p> a pointer to the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</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-binding-pool-install-action"></a><h3>clutter_binding_pool_install_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_install_action (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                     <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>,
                                     <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                                     <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
                                     <em class="parameter"><code><span class="type">GCallback</span> callback</code></em>,
                                     <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
                                     <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
<p>Installs a new action inside a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>. The action
is bound to <em class="parameter"><code>key_val</code></em>
 and <em class="parameter"><code>modifiers</code></em>
.</p>
<p>The same action name can be used for multiple <em class="parameter"><code>key_val</code></em>
, <em class="parameter"><code>modifiers</code></em>

pairs.</p>
<p>When an action has been activated using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a>
the passed <em class="parameter"><code>callback</code></em>
 will be invoked (with <em class="parameter"><code>data</code></em>
).</p>
<p>Actions can be blocked with <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>
and then unblocked using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-unblock-action" title="clutter_binding_pool_unblock_action ()"><code class="function">clutter_binding_pool_unblock_action()</code></a>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.6.8"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action_name</p></td>
<td class="parameter_description"><p>the name of the action</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>bitmask of modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> function to be called
when the action is activated. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Clutter.BindingActionFunc]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>data to be passed to <em class="parameter"><code>callback</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>notify</p></td>
<td class="parameter_description"><p>function to be called when the action is removed
from the pool</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-install-closure"></a><h3>clutter_binding_pool_install_closure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_install_closure (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>,
                                      <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                                      <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
                                      <em class="parameter"><code><span class="type">GClosure</span> *closure</code></em>);</pre>
<p>A <span class="type">GClosure</span> variant of <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-install-action" title="clutter_binding_pool_install_action ()"><code class="function">clutter_binding_pool_install_action()</code></a>.</p>
<p>Installs a new action inside a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>. The action
is bound to <em class="parameter"><code>key_val</code></em>
 and <em class="parameter"><code>modifiers</code></em>
.</p>
<p>The same action name can be used for multiple <em class="parameter"><code>key_val</code></em>
, <em class="parameter"><code>modifiers</code></em>

pairs.</p>
<p>When an action has been activated using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a>
the passed <em class="parameter"><code>closure</code></em>
 will be invoked.</p>
<p>Actions can be blocked with <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>
and then unblocked using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-unblock-action" title="clutter_binding_pool_unblock_action ()"><code class="function">clutter_binding_pool_unblock_action()</code></a>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.7.9"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action_name</p></td>
<td class="parameter_description"><p>the name of the action</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>bitmask of modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>closure</p></td>
<td class="parameter_description"><p>a <span class="type">GClosure</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-override-action"></a><h3>clutter_binding_pool_override_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_override_action (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                      <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                                      <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
                                      <em class="parameter"><code><span class="type">GCallback</span> callback</code></em>,
                                      <em class="parameter"><code><span class="type">gpointer</span> data</code></em>,
                                      <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
<p>Allows overriding the action for <em class="parameter"><code>key_val</code></em>
 and <em class="parameter"><code>modifiers</code></em>
 inside a
<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>. See <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-install-action" title="clutter_binding_pool_install_action ()"><code class="function">clutter_binding_pool_install_action()</code></a>.</p>
<p>When an action has been activated using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a>
the passed <em class="parameter"><code>callback</code></em>
 will be invoked (with <em class="parameter"><code>data</code></em>
).</p>
<p>Actions can be blocked with <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>
and then unblocked using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-unblock-action" title="clutter_binding_pool_unblock_action ()"><code class="function">clutter_binding_pool_unblock_action()</code></a>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.8.7"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>bitmask of modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>function to be called when the action is activated</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>data to be passed to <em class="parameter"><code>callback</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>notify</p></td>
<td class="parameter_description"><p>function to be called when the action is removed
from the pool</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-override-closure"></a><h3>clutter_binding_pool_override_closure ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_override_closure (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                       <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                                       <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
                                       <em class="parameter"><code><span class="type">GClosure</span> *closure</code></em>);</pre>
<p>A <span class="type">GClosure</span> variant of <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-override-action" title="clutter_binding_pool_override_action ()"><code class="function">clutter_binding_pool_override_action()</code></a>.</p>
<p>Allows overriding the action for <em class="parameter"><code>key_val</code></em>
 and <em class="parameter"><code>modifiers</code></em>
 inside a
<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>. See <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-install-closure" title="clutter_binding_pool_install_closure ()"><code class="function">clutter_binding_pool_install_closure()</code></a>.</p>
<p>When an action has been activated using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a>
the passed <em class="parameter"><code>callback</code></em>
 will be invoked (with <em class="parameter"><code>data</code></em>
).</p>
<p>Actions can be blocked with <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>
and then unblocked using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-unblock-action" title="clutter_binding_pool_unblock_action ()"><code class="function">clutter_binding_pool_unblock_action()</code></a>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.9.8"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>bitmask of modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>closure</p></td>
<td class="parameter_description"><p>a <span class="type">GClosure</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-find-action"></a><h3>clutter_binding_pool_find_action ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
clutter_binding_pool_find_action (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                  <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                                  <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>);</pre>
<p>Retrieves the name of the action matching the given key symbol
and modifiers bitmask.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.10.5"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>a key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>a bitmask for the modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.7.2.3.9.10.6"></a><h4>Returns</h4>
<p> the name of the action, if found, or <code class="literal">NULL</code>. The
returned string is owned by the binding pool and should never
be modified or freed</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-binding-pool-remove-action"></a><h3>clutter_binding_pool_remove_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_remove_action (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                    <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                                    <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>);</pre>
<p>Removes the action matching the given <em class="parameter"><code>key_val</code></em>
, <em class="parameter"><code>modifiers</code></em>
 pair,
if any exists.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.11.5"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>a key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>a bitmask for the modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-block-action"></a><h3>clutter_binding_pool_block_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_block_action (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                   <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>);</pre>
<p>Blocks all the actions with name <em class="parameter"><code>action_name</code></em>
 inside <em class="parameter"><code>pool</code></em>
.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.12.5"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action_name</p></td>
<td class="parameter_description"><p>an action name</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-unblock-action"></a><h3>clutter_binding_pool_unblock_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_binding_pool_unblock_action (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                                     <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>);</pre>
<p>Unblockes all the actions with name <em class="parameter"><code>action_name</code></em>
 inside <em class="parameter"><code>pool</code></em>
.</p>
<p>Unblocking an action does not cause the callback bound to it to
be invoked in case <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()"><code class="function">clutter_binding_pool_activate()</code></a> was called on
an action previously blocked with <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.13.6"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action_name</p></td>
<td class="parameter_description"><p>an action name</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</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-binding-pool-activate"></a><h3>clutter_binding_pool_activate ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
clutter_binding_pool_activate (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
                               <em class="parameter"><code><span class="type">guint</span> key_val</code></em>,
                               <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
                               <em class="parameter"><code><span class="type">GObject</span> *gobject</code></em>);</pre>
<p>Activates the callback associated to the action that is
bound to the <em class="parameter"><code>key_val</code></em>
 and <em class="parameter"><code>modifiers</code></em>
 pair.</p>
<p>The callback has the following signature:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="type">void</span><span class="normal"> </span><span class="symbol">(*</span><span class="normal"> callback</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal">             </span><span class="symbol">*</span><span class="normal">gobject</span><span class="symbol">,</span>
<span class="normal">                   </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal">         </span><span class="symbol">*</span><span class="normal">action_name</span><span class="symbol">,</span>
<span class="normal">                   </span><span class="usertype">guint</span><span class="normal">                key_val</span><span class="symbol">,</span>
<span class="normal">                   </span><span class="usertype">ClutterModifierType</span><span class="normal">  modifiers</span><span class="symbol">,</span>
<span class="normal">                   </span><span class="usertype">gpointer</span><span class="normal">             user_data</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>Where the <span class="type">GObject</span> instance is <em class="parameter"><code>gobject</code></em>
 and the user data
is the one passed when installing the action with
<a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-install-action" title="clutter_binding_pool_install_action ()"><code class="function">clutter_binding_pool_install_action()</code></a>.</p>
<p>If the action bound to the <em class="parameter"><code>key_val</code></em>
, <em class="parameter"><code>modifiers</code></em>
 pair has been
blocked using <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-block-action" title="clutter_binding_pool_block_action ()"><code class="function">clutter_binding_pool_block_action()</code></a>, the callback
will not be invoked, and this function will return <code class="literal">FALSE</code>.</p>
<div class="refsect3">
<a name="id-1.7.2.3.9.14.10"></a><h4>Parameters</h4>
<div class="informaltable"><table 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>pool</p></td>
<td class="parameter_description"><p>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_val</p></td>
<td class="parameter_description"><p>the key symbol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>bitmask for the modifiers</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>gobject</p></td>
<td class="parameter_description"><p>a <span class="type">GObject</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.7.2.3.9.14.11"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if an action was found and was activated</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
</div>
<div class="refsect1">
<a name="clutter-Key-Bindings.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="ClutterBindingPool-struct"></a><h3>ClutterBindingPool</h3>
<pre class="programlisting">typedef struct _ClutterBindingPool ClutterBindingPool;</pre>
<p>Container of key bindings. The <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> struct is
private.</p>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
</div>
<div class="refsect1">
<a name="clutter-Key-Bindings.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="ClutterBindingPool--name"></a><h3>The <code class="literal">“name”</code> property</h3>
<pre class="programlisting">  “name”                     <span class="type">gchar</span> *</pre>
<p>The unique name of the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>.</p>
<p>Flags: Read / Write / Construct Only</p>
<p>Default value: NULL</p>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>