1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>ClutterDeviceManager</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-Key-Bindings.html" title="Key Bindings">
10 <link rel="next" href="clutter-Events.html" title="Events">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
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">
17 <td><a accesskey="p" href="clutter-Key-Bindings.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="clutter-Events.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#ClutterDeviceManager.synopsis" class="shortcut">Top</a>
26 <a href="#ClutterDeviceManager.description" class="shortcut">Description</a>
28 <a href="#ClutterDeviceManager.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#ClutterDeviceManager.properties" class="shortcut">Properties</a>
32 <a href="#ClutterDeviceManager.signals" class="shortcut">Signals</a>
35 <div class="refentry">
36 <a name="ClutterDeviceManager"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
39 <h2><span class="refentrytitle"><a name="ClutterDeviceManager.top_of_page"></a>ClutterDeviceManager</span></h2>
40 <p>ClutterDeviceManager — Maintains the list of input devices</p>
42 <td valign="top" align="right"></td>
44 <div class="refsynopsisdiv">
45 <a name="ClutterDeviceManager.synopsis"></a><h2>Synopsis</h2>
46 <pre class="synopsis">struct <a class="link" href="ClutterDeviceManager.html#ClutterDeviceManager-struct" title="struct ClutterDeviceManager">ClutterDeviceManager</a>;
47 struct <a class="link" href="ClutterDeviceManager.html#ClutterDeviceManagerClass" title="struct ClutterDeviceManagerClass">ClutterDeviceManagerClass</a>;
48 <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="returnvalue">ClutterDeviceManager</span></a> * <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-get-default" title="clutter_device_manager_get_default ()">clutter_device_manager_get_default</a>
49 (<em class="parameter"><code><span class="type">void</span></code></em>);
50 <span class="returnvalue">GSList</span> * <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-list-devices" title="clutter_device_manager_list_devices ()">clutter_device_manager_list_devices</a> (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>);
51 const <span class="returnvalue">GSList</span> * <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-peek-devices" title="clutter_device_manager_peek_devices ()">clutter_device_manager_peek_devices</a> (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>);
52 <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> * <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-get-device" title="clutter_device_manager_get_device ()">clutter_device_manager_get_device</a> (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>,
53 <em class="parameter"><code><span class="type">gint</span> device_id</code></em>);
54 <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> * <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-get-core-device" title="clutter_device_manager_get_core_device ()">clutter_device_manager_get_core_device</a>
55 (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>,
56 <em class="parameter"><code><a class="link" href="ClutterInputDevice.html#ClutterInputDeviceType" title="enum ClutterInputDeviceType"><span class="type">ClutterInputDeviceType</span></a> device_type</code></em>);
58 <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> * <a class="link" href="ClutterDeviceManager.html#clutter-get-input-device-for-id" title="clutter_get_input_device_for_id ()">clutter_get_input_device_for_id</a> (<em class="parameter"><code><span class="type">gint</span> id_</code></em>);
61 <div class="refsect1">
62 <a name="ClutterDeviceManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
63 <pre class="synopsis">
65 +----ClutterDeviceManager
68 <div class="refsect1">
69 <a name="ClutterDeviceManager.properties"></a><h2>Properties</h2>
70 <pre class="synopsis">
71 "<a class="link" href="ClutterDeviceManager.html#ClutterDeviceManager--backend" title='The "backend" property'>backend</a>" <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a>* : Read / Write / Construct Only
74 <div class="refsect1">
75 <a name="ClutterDeviceManager.signals"></a><h2>Signals</h2>
76 <pre class="synopsis">
77 "<a class="link" href="ClutterDeviceManager.html#ClutterDeviceManager-device-added" title='The "device-added" signal'>device-added</a>" : <code class="literal">Run Last</code>
78 "<a class="link" href="ClutterDeviceManager.html#ClutterDeviceManager-device-removed" title='The "device-removed" signal'>device-removed</a>" : <code class="literal">Run Last</code>
81 <div class="refsect1">
82 <a name="ClutterDeviceManager.description"></a><h2>Description</h2>
84 <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> is a singleton object, owned by Clutter, which
85 maintains the list of <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a>s.
88 Depending on the backend used by Clutter it is possible to use the
89 <a class="link" href="ClutterDeviceManager.html#ClutterDeviceManager-device-added" title='The "device-added" signal'><span class="type">"device-added"</span></a> and
90 <a class="link" href="ClutterDeviceManager.html#ClutterDeviceManager-device-removed" title='The "device-removed" signal'><span class="type">"device-removed"</span></a> to monitor addition and removal
94 <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> is available since Clutter 1.2
97 <div class="refsect1">
98 <a name="ClutterDeviceManager.details"></a><h2>Details</h2>
99 <div class="refsect2">
100 <a name="ClutterDeviceManager-struct"></a><h3>struct ClutterDeviceManager</h3>
101 <pre class="programlisting">struct ClutterDeviceManager;</pre>
103 The <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> structure contains only private data
105 <p class="since">Since 1.2</p>
108 <div class="refsect2">
109 <a name="ClutterDeviceManagerClass"></a><h3>struct ClutterDeviceManagerClass</h3>
110 <pre class="programlisting">struct ClutterDeviceManagerClass {
114 The <a class="link" href="ClutterDeviceManager.html#ClutterDeviceManagerClass" title="struct ClutterDeviceManagerClass"><span class="type">ClutterDeviceManagerClass</span></a> structure contains only private data
116 <p class="since">Since 1.2</p>
119 <div class="refsect2">
120 <a name="clutter-device-manager-get-default"></a><h3>clutter_device_manager_get_default ()</h3>
121 <pre class="programlisting"><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="returnvalue">ClutterDeviceManager</span></a> * clutter_device_manager_get_default
122 (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
124 Retrieves the device manager singleton
126 <div class="variablelist"><table border="0">
127 <col align="left" valign="top">
129 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
130 <td>the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> singleton.
131 The returned instance is owned by Clutter and it should not be
132 modified or freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
136 <p class="since">Since 1.2</p>
139 <div class="refsect2">
140 <a name="clutter-device-manager-list-devices"></a><h3>clutter_device_manager_list_devices ()</h3>
141 <pre class="programlisting"><span class="returnvalue">GSList</span> * clutter_device_manager_list_devices (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>);</pre>
143 Lists all currently registered input devices
145 <div class="variablelist"><table border="0">
146 <col align="left" valign="top">
149 <td><p><span class="term"><em class="parameter"><code>device_manager</code></em> :</span></p></td>
150 <td>a <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a>
154 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
155 <td>a newly allocated list of <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> objects. Use
156 <code class="function">g_slist_free()</code> to deallocate it when done. <span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Clutter.InputDevice]</span>
161 <p class="since">Since 1.2</p>
164 <div class="refsect2">
165 <a name="clutter-device-manager-peek-devices"></a><h3>clutter_device_manager_peek_devices ()</h3>
166 <pre class="programlisting">const <span class="returnvalue">GSList</span> * clutter_device_manager_peek_devices (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>);</pre>
168 Lists all currently registered input devices
170 <div class="variablelist"><table border="0">
171 <col align="left" valign="top">
174 <td><p><span class="term"><em class="parameter"><code>device_manager</code></em> :</span></p></td>
175 <td>a <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a>
179 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
180 <td>a pointer to the internal list of <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> objects. The
181 returned list is owned by the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> and should never
182 be modified or freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Clutter.InputDevice]</span>
187 <p class="since">Since 1.2</p>
190 <div class="refsect2">
191 <a name="clutter-device-manager-get-device"></a><h3>clutter_device_manager_get_device ()</h3>
192 <pre class="programlisting"><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> * clutter_device_manager_get_device (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>,
193 <em class="parameter"><code><span class="type">gint</span> device_id</code></em>);</pre>
195 Retrieves the <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> with the given <em class="parameter"><code>device_id</code></em>
197 <div class="variablelist"><table border="0">
198 <col align="left" valign="top">
201 <td><p><span class="term"><em class="parameter"><code>device_manager</code></em> :</span></p></td>
202 <td>a <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a>
206 <td><p><span class="term"><em class="parameter"><code>device_id</code></em> :</span></p></td>
207 <td>the integer id of a device</td>
210 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
211 <td>a <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</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>. The
212 returned device is owned by the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> and should
213 never be modified or freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
218 <p class="since">Since 1.2</p>
221 <div class="refsect2">
222 <a name="clutter-device-manager-get-core-device"></a><h3>clutter_device_manager_get_core_device ()</h3>
223 <pre class="programlisting"><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> * clutter_device_manager_get_core_device
224 (<em class="parameter"><code><a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *device_manager</code></em>,
225 <em class="parameter"><code><a class="link" href="ClutterInputDevice.html#ClutterInputDeviceType" title="enum ClutterInputDeviceType"><span class="type">ClutterInputDeviceType</span></a> device_type</code></em>);</pre>
227 Retrieves the core <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> of type <em class="parameter"><code>device_type</code></em>
230 Core devices are devices created automatically by the default
233 <div class="variablelist"><table border="0">
234 <col align="left" valign="top">
237 <td><p><span class="term"><em class="parameter"><code>device_manager</code></em> :</span></p></td>
238 <td>a <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a>
242 <td><p><span class="term"><em class="parameter"><code>device_type</code></em> :</span></p></td>
243 <td>the type of the core device</td>
246 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
247 <td>a <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</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>. The
248 returned device is owned by the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> and should
249 not be modified or freed. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
254 <p class="since">Since 1.2</p>
257 <div class="refsect2">
258 <a name="clutter-get-input-device-for-id"></a><h3>clutter_get_input_device_for_id ()</h3>
259 <pre class="programlisting"><a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="returnvalue">ClutterInputDevice</span></a> * clutter_get_input_device_for_id (<em class="parameter"><code><span class="type">gint</span> id_</code></em>);</pre>
260 <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
261 <h3 class="title">Warning</h3>
262 <p><code class="literal">clutter_get_input_device_for_id</code> has been deprecated since version 1.10 and should not be used in newly-written code. Use <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-get-device" title="clutter_device_manager_get_device ()"><code class="function">clutter_device_manager_get_device()</code></a> instead.</p>
265 Retrieves the <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> from its <em class="parameter"><code>id_</code></em>. This is a convenience
266 wrapper for <a class="link" href="ClutterDeviceManager.html#clutter-device-manager-get-device" title="clutter_device_manager_get_device ()"><code class="function">clutter_device_manager_get_device()</code></a> and it is functionally
271 <div class="informalexample">
272 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
275 <td class="listing_lines" align="right"><pre>1
280 <td class="listing_code"><pre class="programlisting"><span class="usertype">ClutterDeviceManager</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">manager</span><span class="symbol">;</span>
281 <span class="usertype">ClutterInputDevice</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">device</span><span class="symbol">;</span>
283 <span class="normal">manager </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterDeviceManager.html#clutter-device-manager-get-default">clutter_device_manager_get_default</a></span><span class="normal"> </span><span class="symbol">();</span>
284 <span class="normal">device </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterDeviceManager.html#clutter-device-manager-get-device">clutter_device_manager_get_device</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">manager</span><span class="symbol">,</span><span class="normal"> id</span><span class="symbol">);</span></pre></td>
292 <div class="variablelist"><table border="0">
293 <col align="left" valign="top">
296 <td><p><span class="term"><em class="parameter"><code>id_</code></em> :</span></p></td>
297 <td>the unique id for a device</td>
300 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
301 <td>a <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</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>
306 <p class="since">Since 0.8</p>
309 <div class="refsect1">
310 <a name="ClutterDeviceManager.property-details"></a><h2>Property Details</h2>
311 <div class="refsect2">
312 <a name="ClutterDeviceManager--backend"></a><h3>The <code class="literal">"backend"</code> property</h3>
313 <pre class="programlisting"> "backend" <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a>* : Read / Write / Construct Only</pre>
314 <p>The ClutterBackend of the device manager.</p>
317 <div class="refsect1">
318 <a name="ClutterDeviceManager.signal-details"></a><h2>Signal Details</h2>
319 <div class="refsect2">
320 <a name="ClutterDeviceManager-device-added"></a><h3>The <code class="literal">"device-added"</code> signal</h3>
321 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *manager,
322 <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *device,
323 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
325 The ::device-added signal is emitted each time a device has been
326 added to the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a>
328 <div class="variablelist"><table border="0">
329 <col align="left" valign="top">
332 <td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
333 <td>the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> that emitted the signal</td>
336 <td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
337 <td>the newly added <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a>
341 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
342 <td>user data set when the signal handler was connected.</td>
346 <p class="since">Since 1.2</p>
349 <div class="refsect2">
350 <a name="ClutterDeviceManager-device-removed"></a><h3>The <code class="literal">"device-removed"</code> signal</h3>
351 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> *manager,
352 <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a> *device,
353 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
355 The ::device-removed signal is emitted each time a device has been
356 removed from the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a>
358 <div class="variablelist"><table border="0">
359 <col align="left" valign="top">
362 <td><p><span class="term"><em class="parameter"><code>manager</code></em> :</span></p></td>
363 <td>the <a class="link" href="ClutterDeviceManager.html" title="ClutterDeviceManager"><span class="type">ClutterDeviceManager</span></a> that emitted the signal</td>
366 <td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
367 <td>the removed <a class="link" href="ClutterInputDevice.html" title="ClutterInputDevice"><span class="type">ClutterInputDevice</span></a>
371 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
372 <td>user data set when the signal handler was connected.</td>
376 <p class="since">Since 1.2</p>
382 Generated by GTK-Doc V1.18.1</div>