<!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">-></span><span class="normal">keyval</span><span class="symbol">,</span> <span class="normal"> key_event</span><span class="symbol">-></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>