update to 1.10.4
[profile/ivi/clutter.git] / doc / reference / clutter / html / clutter-Key-Bindings.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Key Bindings</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="Clutter Reference Manual">
8 <link rel="up" href="ch11.html" title="General purpose API">
9 <link rel="prev" href="clutter-Colors.html" title="Colors">
10 <link rel="next" href="ClutterDeviceManager.html" title="ClutterDeviceManager">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="clutter-Colors.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch11.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">Clutter Reference Manual</th>
21 <td><a accesskey="n" href="ClutterDeviceManager.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#clutter-Key-Bindings.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#clutter-Key-Bindings.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#clutter-Key-Bindings.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#clutter-Key-Bindings.properties" class="shortcut">Properties</a>
31 </td></tr>
32 </table>
33 <div class="refentry">
34 <a name="clutter-Key-Bindings"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
36 <td valign="top">
37 <h2><span class="refentrytitle"><a name="clutter-Key-Bindings.top_of_page"></a>Key Bindings</span></h2>
38 <p>Key Bindings — Pool for key bindings</p>
39 </td>
40 <td valign="top" align="right"></td>
41 </tr></table></div>
42 <div class="refsynopsisdiv">
43 <a name="clutter-Key-Bindings.synopsis"></a><h2>Synopsis</h2>
44 <a name="ClutterBindingPool"></a><pre class="synopsis">                    <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool-struct" title="ClutterBindingPool">ClutterBindingPool</a>;
45 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="clutter-Key-Bindings.html#ClutterBindingActionFunc" title="ClutterBindingActionFunc ()">*ClutterBindingActionFunc</a>)         (<em class="parameter"><code><a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *gobject</code></em>,
46                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>,
47                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
48                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>);
49
50 <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> * <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-new" title="clutter_binding_pool_new ()">clutter_binding_pool_new</a>           (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
51 <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> * <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> (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> klass</code></em>);
52 <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="returnvalue">ClutterBindingPool</span></a> * <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-find" title="clutter_binding_pool_find ()">clutter_binding_pool_find</a>          (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
53
54 <span class="returnvalue">void</span>                <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> (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
55                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>,
56                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
57                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
58                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GCallback"><span class="type">GCallback</span></a> callback</code></em>,
59                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
60                                                          <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);
61 <span class="returnvalue">void</span>                <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>
62                                                         (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
63                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>,
64                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
65                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
66                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>);
67 <span class="returnvalue">void</span>                <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>
68                                                         (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
69                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
70                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
71                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GCallback"><span class="type">GCallback</span></a> callback</code></em>,
72                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
73                                                          <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);
74 <span class="returnvalue">void</span>                <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>
75                                                         (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
76                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
77                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
78                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>);
79 const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <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>    (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
80                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
81                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>);
82 <span class="returnvalue">void</span>                <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>  (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
83                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
84                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>);
85 <span class="returnvalue">void</span>                <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>   (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
86                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);
87 <span class="returnvalue">void</span>                <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> (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
88                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);
89
90 <a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="clutter-Key-Bindings.html#clutter-binding-pool-activate" title="clutter_binding_pool_activate ()">clutter_binding_pool_activate</a>       (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
91                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
92                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
93                                                          <em class="parameter"><code><a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *gobject</code></em>);
94 </pre>
95 </div>
96 <div class="refsect1">
97 <a name="clutter-Key-Bindings.object-hierarchy"></a><h2>Object Hierarchy</h2>
98 <pre class="synopsis">
99   <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
100    +----ClutterBindingPool
101 </pre>
102 </div>
103 <div class="refsect1">
104 <a name="clutter-Key-Bindings.properties"></a><h2>Properties</h2>
105 <pre class="synopsis">
106   "<a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool--name" title='The "name" property'>name</a>"                     <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only
107 </pre>
108 </div>
109 <div class="refsect1">
110 <a name="clutter-Key-Bindings.description"></a><h2>Description</h2>
111 <p>
112 <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.
113 Each key binding associates a key symbol (eventually with modifiers)
114 to an action. A callback function is associated to each action.
115 </p>
116 <p>
117 For a given key symbol and modifier mask combination there can be only one
118 action; for each action there can be only one callback. There can be
119 multiple actions with the same name, and the same callback can be used
120 to handle multiple key bindings.
121 </p>
122 <p>
123 Actors requiring key bindings should create a new <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
124 inside their class initialization function and then install actions
125 like this:
126 </p>
127 <p>
128 </p>
129 <div class="informalexample">
130   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
131     <tbody>
132       <tr>
133         <td class="listing_lines" align="right"><pre>1
134 2
135 3
136 4
137 5
138 6
139 7
140 8
141 9
142 10
143 11
144 12
145 13
146 14
147 15
148 16</pre></td>
149         <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
150 <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>
151 <span class="cbracket">{</span>
152 <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>
153
154 <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>
155
156 <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>
157 <span class="normal">                                       CLUTTER_Up</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span>
158 <span class="normal">                                       </span><span class="function"><a href="../gobject/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo_action_move_up</span><span class="symbol">),</span>
159 <span class="normal">                                       <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
160 <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>
161 <span class="normal">                                       CLUTTER_KP_Up</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span>
162 <span class="normal">                                       </span><span class="function"><a href="../gobject/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo_action_move_up</span><span class="symbol">),</span>
163 <span class="normal">                                       <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
164 <span class="cbracket">}</span></pre></td>
165       </tr>
166     </tbody>
167   </table>
168 </div>
169
170 <p>
171 </p>
172 <p>
173 The callback has a signature of:
174 </p>
175 <p>
176 </p>
177 <div class="informalexample">
178   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
179     <tbody>
180       <tr>
181         <td class="listing_lines" align="right"><pre>1
182 2
183 3
184 4
185 5</pre></td>
186         <td class="listing_code"><pre class="programlisting"><span class="function"><a href="../glib/glib-Basic-Types.html#gboolean">gboolean</a></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>
187 <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>
188 <span class="normal">                       </span><span class="usertype">guint</span><span class="normal">                key_val</span><span class="symbol">,</span>
189 <span class="normal">                       </span><span class="usertype">ClutterModifierType</span><span class="normal">  modifiers</span><span class="symbol">,</span>
190 <span class="normal">                       </span><span class="usertype">gpointer</span><span class="normal">             user_data</span><span class="symbol">);</span></pre></td>
191       </tr>
192     </tbody>
193   </table>
194 </div>
195
196 <p>
197 </p>
198 <p>
199 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
200 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
201 to one of the actions:
202 </p>
203 <p>
204 </p>
205 <div class="informalexample">
206   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
207     <tbody>
208       <tr>
209         <td class="listing_lines" align="right"><pre>1
210 2
211 3
212 4
213 5
214 6
215 7
216 8
217 9
218 10
219 11
220 12
221 13</pre></td>
222         <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>
223
224 <span class="comment">/* retrieve the binding pool for the type of the actor */</span>
225 <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"><a href="../gobject/gobject-The-Base-Object-Type.html#G-OBJECT-TYPE-NAME:CAPS">G_OBJECT_TYPE_NAME</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">));</span>
226
227 <span class="comment">/* activate any callback matching the key symbol and modifiers</span>
228 <span class="comment"> * mask of the key event. the returned value can be directly</span>
229 <span class="comment"> * used to signal that the actor has handled the event.</span>
230 <span class="comment"> */</span>
231 <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>
232 <span class="normal">                                      key_event</span><span class="symbol">-&gt;</span><span class="normal">keyval</span><span class="symbol">,</span>
233 <span class="normal">                                      key_event</span><span class="symbol">-&gt;</span><span class="normal">modifier_state</span><span class="symbol">,</span>
234 <span class="normal">                                      </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">actor</span><span class="symbol">));</span></pre></td>
235       </tr>
236     </tbody>
237   </table>
238 </div>
239
240 <p>
241 </p>
242 <p>
243 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 <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if
244 no action for the given key binding was found, if the action was
245 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
246 key binding handler returned <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.
247 </p>
248 <p>
249 <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> is available since Clutter 1.0
250 </p>
251 </div>
252 <div class="refsect1">
253 <a name="clutter-Key-Bindings.details"></a><h2>Details</h2>
254 <div class="refsect2">
255 <a name="ClutterBindingPool-struct"></a><h3>ClutterBindingPool</h3>
256 <pre class="programlisting">typedef struct _ClutterBindingPool ClutterBindingPool;</pre>
257 <p>
258 Container of key bindings. The <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> struct is
259 private.
260 </p>
261 <p class="since">Since 1.0</p>
262 </div>
263 <hr>
264 <div class="refsect2">
265 <a name="ClutterBindingActionFunc"></a><h3>ClutterBindingActionFunc ()</h3>
266 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*ClutterBindingActionFunc)         (<em class="parameter"><code><a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *gobject</code></em>,
267                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>,
268                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
269                                                          <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>
270 <p>
271 The prototype for the callback function registered with
272 <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
273 <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>.
274 </p>
275 <div class="variablelist"><table border="0">
276 <col align="left" valign="top">
277 <tbody>
278 <tr>
279 <td><p><span class="term"><em class="parameter"><code>gobject</code></em> :</span></p></td>
280 <td>a <a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
281 </td>
282 </tr>
283 <tr>
284 <td><p><span class="term"><em class="parameter"><code>action_name</code></em> :</span></p></td>
285 <td>the name of the action</td>
286 </tr>
287 <tr>
288 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
289 <td>the key symbol</td>
290 </tr>
291 <tr>
292 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
293 <td>bitmask of the modifier flags</td>
294 </tr>
295 <tr>
296 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
297 <td>the function should return <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the key
298 binding has been handled, and return <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
299 </tr>
300 </tbody>
301 </table></div>
302 <p class="since">Since 1.0</p>
303 </div>
304 <hr>
305 <div class="refsect2">
306 <a name="clutter-binding-pool-new"></a><h3>clutter_binding_pool_new ()</h3>
307 <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 <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
308 <p>
309 Creates a new <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> that can be used to store
310 key bindings for an actor. The <em class="parameter"><code>name</code></em> must be a unique identifier
311 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
312 be able to return the correct binding pool.
313 </p>
314 <div class="variablelist"><table border="0">
315 <col align="left" valign="top">
316 <tbody>
317 <tr>
318 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
319 <td>the name of the binding pool</td>
320 </tr>
321 <tr>
322 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
323 <td>the newly created binding pool with the given
324 name. Use <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> when done.</td>
325 </tr>
326 </tbody>
327 </table></div>
328 <p class="since">Since 1.0</p>
329 </div>
330 <hr>
331 <div class="refsect2">
332 <a name="clutter-binding-pool-get-for-class"></a><h3>clutter_binding_pool_get_for_class ()</h3>
333 <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><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> klass</code></em>);</pre>
334 <p>
335 Retrieves the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> for the given <a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> class
336 and, eventually, creates it. This function is a wrapper around
337 <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
338 unique name for the binding pool.
339 </p>
340 <p>
341 Calling this function multiple times will return the same
342 <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>.
343 </p>
344 <p>
345 A binding pool for a class can also be retrieved using
346 <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:
347 </p>
348 <p>
349 </p>
350 <div class="informalexample">
351   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
352     <tbody>
353       <tr>
354         <td class="listing_lines" align="right"><pre>1</pre></td>
355         <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"><a href="../gobject/gobject-The-Base-Object-Type.html#G-OBJECT-TYPE-NAME:CAPS">G_OBJECT_TYPE_NAME</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">instance</span><span class="symbol">));</span></pre></td>
356       </tr>
357     </tbody>
358   </table>
359 </div>
360
361 <p>
362 </p>
363 <div class="variablelist"><table border="0">
364 <col align="left" valign="top">
365 <tbody>
366 <tr>
367 <td><p><span class="term"><em class="parameter"><code>klass</code></em> :</span></p></td>
368 <td>a <a href="../gobject/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> pointer</td>
369 </tr>
370 <tr>
371 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
372 <td>the binding pool for the given class.
373 The returned <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> is owned by Clutter and should not
374 be freed directly. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
375 </td>
376 </tr>
377 </tbody>
378 </table></div>
379 <p class="since">Since 1.0</p>
380 </div>
381 <hr>
382 <div class="refsect2">
383 <a name="clutter-binding-pool-find"></a><h3>clutter_binding_pool_find ()</h3>
384 <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 <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
385 <p>
386 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>.
387 </p>
388 <div class="variablelist"><table border="0">
389 <col align="left" valign="top">
390 <tbody>
391 <tr>
392 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
393 <td>the name of the binding pool to find</td>
394 </tr>
395 <tr>
396 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
397 <td>a pointer to the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
398 </td>
399 </tr>
400 </tbody>
401 </table></div>
402 <p class="since">Since 1.0</p>
403 </div>
404 <hr>
405 <div class="refsect2">
406 <a name="clutter-binding-pool-install-action"></a><h3>clutter_binding_pool_install_action ()</h3>
407 <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>,
408                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>,
409                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
410                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
411                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GCallback"><span class="type">GCallback</span></a> callback</code></em>,
412                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
413                                                          <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
414 <p>
415 Installs a new action inside a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>. The action
416 is bound to <em class="parameter"><code>key_val</code></em> and <em class="parameter"><code>modifiers</code></em>.
417 </p>
418 <p>
419 The same action name can be used for multiple <em class="parameter"><code>key_val</code></em>, <em class="parameter"><code>modifiers</code></em>
420 pairs.
421 </p>
422 <p>
423 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>
424 the passed <em class="parameter"><code>callback</code></em> will be invoked (with <em class="parameter"><code>data</code></em>).
425 </p>
426 <p>
427 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>
428 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>.
429 </p>
430 <div class="variablelist"><table border="0">
431 <col align="left" valign="top">
432 <tbody>
433 <tr>
434 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
435 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
436 </td>
437 </tr>
438 <tr>
439 <td><p><span class="term"><em class="parameter"><code>action_name</code></em> :</span></p></td>
440 <td>the name of the action</td>
441 </tr>
442 <tr>
443 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
444 <td>key symbol</td>
445 </tr>
446 <tr>
447 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
448 <td>bitmask of modifiers</td>
449 </tr>
450 <tr>
451 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
452 <td>function to be called when the action is activated</td>
453 </tr>
454 <tr>
455 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
456 <td>data to be passed to <em class="parameter"><code>callback</code></em>
457 </td>
458 </tr>
459 <tr>
460 <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
461 <td>function to be called when the action is removed
462 from the pool</td>
463 </tr>
464 </tbody>
465 </table></div>
466 <p class="since">Since 1.0</p>
467 </div>
468 <hr>
469 <div class="refsect2">
470 <a name="clutter-binding-pool-install-closure"></a><h3>clutter_binding_pool_install_closure ()</h3>
471 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_binding_pool_install_closure
472                                                         (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
473                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>,
474                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
475                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
476                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre>
477 <p>
478 A <a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> 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>.
479 </p>
480 <p>
481 Installs a new action inside a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>. The action
482 is bound to <em class="parameter"><code>key_val</code></em> and <em class="parameter"><code>modifiers</code></em>.
483 </p>
484 <p>
485 The same action name can be used for multiple <em class="parameter"><code>key_val</code></em>, <em class="parameter"><code>modifiers</code></em>
486 pairs.
487 </p>
488 <p>
489 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>
490 the passed <em class="parameter"><code>closure</code></em> will be invoked.
491 </p>
492 <p>
493 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>
494 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>.
495 </p>
496 <div class="variablelist"><table border="0">
497 <col align="left" valign="top">
498 <tbody>
499 <tr>
500 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
501 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
502 </td>
503 </tr>
504 <tr>
505 <td><p><span class="term"><em class="parameter"><code>action_name</code></em> :</span></p></td>
506 <td>the name of the action</td>
507 </tr>
508 <tr>
509 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
510 <td>key symbol</td>
511 </tr>
512 <tr>
513 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
514 <td>bitmask of modifiers</td>
515 </tr>
516 <tr>
517 <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
518 <td>a <a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>
519 </td>
520 </tr>
521 </tbody>
522 </table></div>
523 <p class="since">Since 1.0</p>
524 </div>
525 <hr>
526 <div class="refsect2">
527 <a name="clutter-binding-pool-override-action"></a><h3>clutter_binding_pool_override_action ()</h3>
528 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_binding_pool_override_action
529                                                         (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
530                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
531                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
532                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GCallback"><span class="type">GCallback</span></a> callback</code></em>,
533                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
534                                                          <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre>
535 <p>
536 Allows overriding the action for <em class="parameter"><code>key_val</code></em> and <em class="parameter"><code>modifiers</code></em> inside a
537 <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>.
538 </p>
539 <p>
540 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>
541 the passed <em class="parameter"><code>callback</code></em> will be invoked (with <em class="parameter"><code>data</code></em>).
542 </p>
543 <p>
544 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>
545 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>.
546 </p>
547 <div class="variablelist"><table border="0">
548 <col align="left" valign="top">
549 <tbody>
550 <tr>
551 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
552 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
553 </td>
554 </tr>
555 <tr>
556 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
557 <td>key symbol</td>
558 </tr>
559 <tr>
560 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
561 <td>bitmask of modifiers</td>
562 </tr>
563 <tr>
564 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
565 <td>function to be called when the action is activated</td>
566 </tr>
567 <tr>
568 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
569 <td>data to be passed to <em class="parameter"><code>callback</code></em>
570 </td>
571 </tr>
572 <tr>
573 <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
574 <td>function to be called when the action is removed
575 from the pool</td>
576 </tr>
577 </tbody>
578 </table></div>
579 <p class="since">Since 1.0</p>
580 </div>
581 <hr>
582 <div class="refsect2">
583 <a name="clutter-binding-pool-override-closure"></a><h3>clutter_binding_pool_override_closure ()</h3>
584 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_binding_pool_override_closure
585                                                         (<em class="parameter"><code><a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a> *pool</code></em>,
586                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
587                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
588                                                          <em class="parameter"><code><a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>);</pre>
589 <p>
590 A <a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> 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>.
591 </p>
592 <p>
593 Allows overriding the action for <em class="parameter"><code>key_val</code></em> and <em class="parameter"><code>modifiers</code></em> inside a
594 <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>.
595 </p>
596 <p>
597 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>
598 the passed <em class="parameter"><code>callback</code></em> will be invoked (with <em class="parameter"><code>data</code></em>).
599 </p>
600 <p>
601 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>
602 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>.
603 </p>
604 <div class="variablelist"><table border="0">
605 <col align="left" valign="top">
606 <tbody>
607 <tr>
608 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
609 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
610 </td>
611 </tr>
612 <tr>
613 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
614 <td>key symbol</td>
615 </tr>
616 <tr>
617 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
618 <td>bitmask of modifiers</td>
619 </tr>
620 <tr>
621 <td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
622 <td>a <a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a>
623 </td>
624 </tr>
625 </tbody>
626 </table></div>
627 <p class="since">Since 1.0</p>
628 </div>
629 <hr>
630 <div class="refsect2">
631 <a name="clutter-binding-pool-find-action"></a><h3>clutter_binding_pool_find_action ()</h3>
632 <pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       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>,
633                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
634                                                          <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>
635 <p>
636 Retrieves the name of the action matching the given key symbol
637 and modifiers bitmask.
638 </p>
639 <div class="variablelist"><table border="0">
640 <col align="left" valign="top">
641 <tbody>
642 <tr>
643 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
644 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
645 </td>
646 </tr>
647 <tr>
648 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
649 <td>a key symbol</td>
650 </tr>
651 <tr>
652 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
653 <td>a bitmask for the modifiers</td>
654 </tr>
655 <tr>
656 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
657 <td>the name of the action, if found, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. The
658 returned string is owned by the binding pool and should never
659 be modified or freed</td>
660 </tr>
661 </tbody>
662 </table></div>
663 <p class="since">Since 1.0</p>
664 </div>
665 <hr>
666 <div class="refsect2">
667 <a name="clutter-binding-pool-remove-action"></a><h3>clutter_binding_pool_remove_action ()</h3>
668 <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>,
669                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
670                                                          <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>
671 <p>
672 Removes the action matching the given <em class="parameter"><code>key_val</code></em>, <em class="parameter"><code>modifiers</code></em> pair,
673 if any exists.
674 </p>
675 <div class="variablelist"><table border="0">
676 <col align="left" valign="top">
677 <tbody>
678 <tr>
679 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
680 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
681 </td>
682 </tr>
683 <tr>
684 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
685 <td>a key symbol</td>
686 </tr>
687 <tr>
688 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
689 <td>a bitmask for the modifiers</td>
690 </tr>
691 </tbody>
692 </table></div>
693 <p class="since">Since 1.0</p>
694 </div>
695 <hr>
696 <div class="refsect2">
697 <a name="clutter-binding-pool-block-action"></a><h3>clutter_binding_pool_block_action ()</h3>
698 <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>,
699                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);</pre>
700 <p>
701 Blocks all the actions with name <em class="parameter"><code>action_name</code></em> inside <em class="parameter"><code>pool</code></em>.
702 </p>
703 <div class="variablelist"><table border="0">
704 <col align="left" valign="top">
705 <tbody>
706 <tr>
707 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
708 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
709 </td>
710 </tr>
711 <tr>
712 <td><p><span class="term"><em class="parameter"><code>action_name</code></em> :</span></p></td>
713 <td>an action name</td>
714 </tr>
715 </tbody>
716 </table></div>
717 <p class="since">Since 1.0</p>
718 </div>
719 <hr>
720 <div class="refsect2">
721 <a name="clutter-binding-pool-unblock-action"></a><h3>clutter_binding_pool_unblock_action ()</h3>
722 <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>,
723                                                          <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);</pre>
724 <p>
725 Unblockes all the actions with name <em class="parameter"><code>action_name</code></em> inside <em class="parameter"><code>pool</code></em>.
726 </p>
727 <p>
728 Unblocking an action does not cause the callback bound to it to
729 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
730 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>.
731 </p>
732 <div class="variablelist"><table border="0">
733 <col align="left" valign="top">
734 <tbody>
735 <tr>
736 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
737 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
738 </td>
739 </tr>
740 <tr>
741 <td><p><span class="term"><em class="parameter"><code>action_name</code></em> :</span></p></td>
742 <td>an action name</td>
743 </tr>
744 </tbody>
745 </table></div>
746 <p class="since">Since 1.0</p>
747 </div>
748 <hr>
749 <div class="refsect2">
750 <a name="clutter-binding-pool-activate"></a><h3>clutter_binding_pool_activate ()</h3>
751 <pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            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>,
752                                                          <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> key_val</code></em>,
753                                                          <em class="parameter"><code><a class="link" href="clutter-Events.html#ClutterModifierType" title="enum ClutterModifierType"><span class="type">ClutterModifierType</span></a> modifiers</code></em>,
754                                                          <em class="parameter"><code><a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *gobject</code></em>);</pre>
755 <p>
756 Activates the callback associated to the action that is
757 bound to the <em class="parameter"><code>key_val</code></em> and <em class="parameter"><code>modifiers</code></em> pair.
758 </p>
759 <p>
760 The callback has the following signature:
761 </p>
762 <p>
763 </p>
764 <div class="informalexample">
765   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
766     <tbody>
767       <tr>
768         <td class="listing_lines" align="right"><pre>1
769 2
770 3
771 4
772 5</pre></td>
773         <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>
774 <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>
775 <span class="normal">                   </span><span class="usertype">guint</span><span class="normal">                key_val</span><span class="symbol">,</span>
776 <span class="normal">                   </span><span class="usertype">ClutterModifierType</span><span class="normal">  modifiers</span><span class="symbol">,</span>
777 <span class="normal">                   </span><span class="usertype">gpointer</span><span class="normal">             user_data</span><span class="symbol">);</span></pre></td>
778       </tr>
779     </tbody>
780   </table>
781 </div>
782
783 <p>
784 </p>
785 <p>
786 Where the <a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance is <em class="parameter"><code>gobject</code></em> and the user data
787 is the one passed when installing the action with
788 <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>.
789 </p>
790 <p>
791 If the action bound to the <em class="parameter"><code>key_val</code></em>, <em class="parameter"><code>modifiers</code></em> pair has been
792 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
793 will not be invoked, and this function will return <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.
794 </p>
795 <div class="variablelist"><table border="0">
796 <col align="left" valign="top">
797 <tbody>
798 <tr>
799 <td><p><span class="term"><em class="parameter"><code>pool</code></em> :</span></p></td>
800 <td>a <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>
801 </td>
802 </tr>
803 <tr>
804 <td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
805 <td>the key symbol</td>
806 </tr>
807 <tr>
808 <td><p><span class="term"><em class="parameter"><code>modifiers</code></em> :</span></p></td>
809 <td>bitmask for the modifiers</td>
810 </tr>
811 <tr>
812 <td><p><span class="term"><em class="parameter"><code>gobject</code></em> :</span></p></td>
813 <td>a <a href="../gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
814 </td>
815 </tr>
816 <tr>
817 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
818 <td>
819 <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if an action was found and was activated</td>
820 </tr>
821 </tbody>
822 </table></div>
823 <p class="since">Since 1.0</p>
824 </div>
825 </div>
826 <div class="refsect1">
827 <a name="clutter-Key-Bindings.property-details"></a><h2>Property Details</h2>
828 <div class="refsect2">
829 <a name="ClutterBindingPool--name"></a><h3>The <code class="literal">"name"</code> property</h3>
830 <pre class="programlisting">  "name"                     <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only</pre>
831 <p>
832 The unique name of the <a class="link" href="clutter-Key-Bindings.html#ClutterBindingPool"><span class="type">ClutterBindingPool</span></a>.
833 </p>
834 <p>Default value: NULL</p>
835 <p class="since">Since 1.0</p>
836 </div>
837 </div>
838 </div>
839 <div class="footer">
840 <hr>
841           Generated by GTK-Doc V1.18.1</div>
842 </body>
843 </html>