2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
4
<!ENTITY version "1.0.8">
7
<refentry id="clutter-X11-Specific-Support">
9
<refentrytitle role="top_of_page" id="clutter-X11-Specific-Support.top_of_page">X11 Specific Support</refentrytitle>
10
<manvolnum>3</manvolnum>
11
<refmiscinfo>CLUTTER Library</refmiscinfo>
15
<refname>X11 Specific Support</refname>
16
<refpurpose>X11 specific API</refpurpose>
19
<refsynopsisdiv id="clutter-X11-Specific-Support.synopsis" role="synopsis">
20
<title role="synopsis.title">Synopsis</title>
23
<link linkend="void">void</link> <link linkend="clutter-x11-set-display">clutter_x11_set_display</link> (<link linkend="Display">Display</link> *xdpy);
24
<link linkend="void">void</link> <link linkend="clutter-x11-disable-event-retrieval">clutter_x11_disable_event_retrieval</link> (void);
25
<link linkend="gboolean">gboolean</link> <link linkend="clutter-x11-has-event-retrieval">clutter_x11_has_event_retrieval</link> (void);
26
<link linkend="ClutterStage">ClutterStage</link> * <link linkend="clutter-x11-get-stage-from-window">clutter_x11_get_stage_from_window</link> (<link linkend="Window">Window</link> win);
27
<link linkend="ClutterX11FilterReturn">ClutterX11FilterReturn</link> <link linkend="clutter-x11-handle-event">clutter_x11_handle_event</link> (<link linkend="XEvent">XEvent</link> *xevent);
28
<link linkend="Display">Display</link> * <link linkend="clutter-x11-get-default-display">clutter_x11_get_default_display</link> (void);
29
<link linkend="int">int</link> <link linkend="clutter-x11-get-default-screen">clutter_x11_get_default_screen</link> (void);
30
<link linkend="Window">Window</link> <link linkend="clutter-x11-get-root-window">clutter_x11_get_root_window</link> (void);
31
<link linkend="XVisualInfo">XVisualInfo</link> * <link linkend="clutter-x11-get-stage-visual">clutter_x11_get_stage_visual</link> (<link linkend="ClutterStage">ClutterStage</link> *stage);
32
<link linkend="Window">Window</link> <link linkend="clutter-x11-get-stage-window">clutter_x11_get_stage_window</link> (<link linkend="ClutterStage">ClutterStage</link> *stage);
33
<link linkend="gboolean">gboolean</link> <link linkend="clutter-x11-set-stage-foreign">clutter_x11_set_stage_foreign</link> (<link linkend="ClutterStage">ClutterStage</link> *stage,
34
<link linkend="Window">Window</link> xwindow);
35
<link linkend="void">void</link> <link linkend="clutter-x11-trap-x-errors">clutter_x11_trap_x_errors</link> (void);
36
<link linkend="gint">gint</link> <link linkend="clutter-x11-untrap-x-errors">clutter_x11_untrap_x_errors</link> (void);
37
<link linkend="gboolean">gboolean</link> <link linkend="clutter-x11-has-composite-extension">clutter_x11_has_composite_extension</link> (void);
38
<link linkend="Time">Time</link> <link linkend="clutter-x11-get-current-event-time">clutter_x11_get_current_event_time</link> (void);
40
<link linkend="ClutterX11FilterReturn">ClutterX11FilterReturn</link> (<link linkend="ClutterX11FilterFunc">*ClutterX11FilterFunc</link>) (<link linkend="XEvent">XEvent</link> *xev,
41
<link linkend="ClutterEvent">ClutterEvent</link> *cev,
42
<link linkend="gpointer">gpointer</link> data);
43
enum <link linkend="ClutterX11FilterReturn">ClutterX11FilterReturn</link>;
44
<link linkend="void">void</link> <link linkend="clutter-x11-add-filter">clutter_x11_add_filter</link> (<link linkend="ClutterX11FilterFunc">ClutterX11FilterFunc</link> func,
45
<link linkend="gpointer">gpointer</link> data);
46
<link linkend="void">void</link> <link linkend="clutter-x11-remove-filter">clutter_x11_remove_filter</link> (<link linkend="ClutterX11FilterFunc">ClutterX11FilterFunc</link> func,
47
<link linkend="gpointer">gpointer</link> data);
49
<link linkend="ClutterX11XInputDevice">ClutterX11XInputDevice</link>;
50
enum <link linkend="ClutterX11XInputEventTypes">ClutterX11XInputEventTypes</link>;
51
const <link linkend="GSList">GSList</link>* <link linkend="clutter-x11-get-input-devices">clutter_x11_get_input_devices</link> (void);
52
<link linkend="gboolean">gboolean</link> <link linkend="clutter-x11-has-xinput">clutter_x11_has_xinput</link> (void);
53
<link linkend="void">void</link> <link linkend="clutter-x11-enable-xinput">clutter_x11_enable_xinput</link> (void);
55
<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link>;
56
<link linkend="ClutterX11TexturePixmapClass">ClutterX11TexturePixmapClass</link>;
57
<link linkend="ClutterActor">ClutterActor</link> * <link linkend="clutter-x11-texture-pixmap-new">clutter_x11_texture_pixmap_new</link> (void);
58
<link linkend="ClutterActor">ClutterActor</link> * <link linkend="clutter-x11-texture-pixmap-new-with-pixmap">clutter_x11_texture_pixmap_new_with_pixmap</link>
59
(<link linkend="Pixmap">Pixmap</link> pixmap);
60
<link linkend="ClutterActor">ClutterActor</link> * <link linkend="clutter-x11-texture-pixmap-new-with-window">clutter_x11_texture_pixmap_new_with_window</link>
61
(<link linkend="Window">Window</link> window);
62
<link linkend="void">void</link> <link linkend="clutter-x11-texture-pixmap-set-pixmap">clutter_x11_texture_pixmap_set_pixmap</link>
63
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
64
<link linkend="Pixmap">Pixmap</link> pixmap);
65
<link linkend="void">void</link> <link linkend="clutter-x11-texture-pixmap-set-window">clutter_x11_texture_pixmap_set_window</link>
66
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
67
<link linkend="Window">Window</link> window,
68
<link linkend="gboolean">gboolean</link> automatic);
69
<link linkend="void">void</link> <link linkend="clutter-x11-texture-pixmap-sync-window">clutter_x11_texture_pixmap_sync_window</link>
70
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture);
71
<link linkend="void">void</link> <link linkend="clutter-x11-texture-pixmap-update-area">clutter_x11_texture_pixmap_update_area</link>
72
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
73
<link linkend="gint">gint</link> x,
74
<link linkend="gint">gint</link> y,
75
<link linkend="gint">gint</link> width,
76
<link linkend="gint">gint</link> height);
77
<link linkend="void">void</link> <link linkend="clutter-x11-texture-pixmap-set-automatic">clutter_x11_texture_pixmap_set_automatic</link>
78
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
79
<link linkend="gboolean">gboolean</link> setting);
91
<refsect1 id="clutter-X11-Specific-Support.description" role="desc">
92
<title role="desc.title">Description</title>
94
The X11 backend for Clutter provides some specific API, allowing
95
integration with the Xlibs API for embedding and manipulating the
96
stage window, or for trapping X errors.
99
The ClutterX11 API is available since Clutter 0.6</para>
104
<refsect1 id="clutter-X11-Specific-Support.details" role="details">
105
<title role="details.title">Details</title>
106
<refsect2 id="clutter-x11-set-display" role="function" condition="since:0.8">
107
<title>clutter_x11_set_display ()</title>
108
<indexterm zone="clutter-x11-set-display" role="0.8"><primary sortas="x11_set_display">clutter_x11_set_display</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_set_display (<link linkend="Display">Display</link> *xdpy);</programlisting>
110
Sets the display connection Clutter should use; must be called
111
before <link linkend="clutter-init"><function>clutter_init()</function></link>, <link linkend="clutter-init-with-args"><function>clutter_init_with_args()</function></link> or other functions
112
pertaining Clutter's initialization process.
115
If you are parsing the command line arguments by retrieving Clutter's
116
<link linkend="GOptionGroup"><type>GOptionGroup</type></link> with <link linkend="clutter-get-option-group"><function>clutter_get_option_group()</function></link> and calling
117
<link linkend="g-option-context-parse"><function>g_option_context_parse()</function></link> yourself, you should also call
118
<link linkend="clutter-x11-set-display"><function>clutter_x11_set_display()</function></link> before <link linkend="g-option-context-parse"><function>g_option_context_parse()</function></link>.</para>
120
</para><variablelist role="params">
121
<varlistentry><term><parameter>xdpy</parameter> :</term>
122
<listitem><simpara> pointer to a X display connection.
123
</simpara></listitem></varlistentry>
124
</variablelist><para role="since">Since 0.8</para></refsect2>
125
<refsect2 id="clutter-x11-disable-event-retrieval" role="function" condition="since:0.8">
126
<title>clutter_x11_disable_event_retrieval ()</title>
127
<indexterm zone="clutter-x11-disable-event-retrieval" role="0.8"><primary sortas="x11_disable_event_retrieval">clutter_x11_disable_event_retrieval</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_disable_event_retrieval (void);</programlisting>
129
Disables retrieval of X events in the main loop. Use to create event-less
130
canvas or in conjunction with clutter_x11_handle_event.
133
This function can only be called before calling <link linkend="clutter-init"><function>clutter_init()</function></link>.</para>
135
</para><para role="since">Since 0.8</para></refsect2>
136
<refsect2 id="clutter-x11-has-event-retrieval" role="function" condition="since:0.8">
137
<title>clutter_x11_has_event_retrieval ()</title>
138
<indexterm zone="clutter-x11-has-event-retrieval" role="0.8"><primary sortas="x11_has_event_retrieval">clutter_x11_has_event_retrieval</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> clutter_x11_has_event_retrieval (void);</programlisting>
140
Queries the X11 backend to check if event collection has been disabled.</para>
142
</para><variablelist role="params">
143
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if event retrival has been disabled. FALSE otherwise.
145
</simpara></listitem></varlistentry>
146
</variablelist><para role="since">Since 0.8</para></refsect2>
147
<refsect2 id="clutter-x11-get-stage-from-window" role="function" condition="since:0.8">
148
<title>clutter_x11_get_stage_from_window ()</title>
149
<indexterm zone="clutter-x11-get-stage-from-window" role="0.8"><primary sortas="x11_get_stage_from_window">clutter_x11_get_stage_from_window</primary></indexterm><programlisting><link linkend="ClutterStage">ClutterStage</link> * clutter_x11_get_stage_from_window (<link linkend="Window">Window</link> win);</programlisting>
151
Gets the stage for a particular X window.</para>
153
</para><variablelist role="params">
154
<varlistentry><term><parameter>win</parameter> :</term>
155
<listitem><simpara> an X Window ID
156
</simpara></listitem></varlistentry>
157
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The stage or NULL if a stage does not exist for the window.
159
</simpara></listitem></varlistentry>
160
</variablelist><para role="since">Since 0.8</para></refsect2>
161
<refsect2 id="clutter-x11-handle-event" role="function" condition="since:0.8">
162
<title>clutter_x11_handle_event ()</title>
163
<indexterm zone="clutter-x11-handle-event" role="0.8"><primary sortas="x11_handle_event">clutter_x11_handle_event</primary></indexterm><programlisting><link linkend="ClutterX11FilterReturn">ClutterX11FilterReturn</link> clutter_x11_handle_event (<link linkend="XEvent">XEvent</link> *xevent);</programlisting>
165
This function processes a single X event; it can be used to hook
166
into external X event retrieval (for example that done by GDK).</para>
168
</para><variablelist role="params">
169
<varlistentry><term><parameter>xevent</parameter> :</term>
170
<listitem><simpara> pointer to XEvent structure
171
</simpara></listitem></varlistentry>
172
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="ClutterX11FilterReturn"><type>ClutterX11FilterReturn</type></link>. <link linkend="CLUTTER-X11-FILTER-REMOVE--CAPS"><literal>CLUTTER_X11_FILTER_REMOVE</literal></link>
173
indicates that Clutter has internally handled the event and the
174
caller should do no further processing. <link linkend="CLUTTER-X11-FILTER-CONTINUE--CAPS"><literal>CLUTTER_X11_FILTER_CONTINUE</literal></link>
175
indicates that Clutter is either not interested in the event,
176
or has used the event to update internal state without taking
177
any exclusive action. <link linkend="CLUTTER-X11-FILTER-TRANSLATE--CAPS"><literal>CLUTTER_X11_FILTER_TRANSLATE</literal></link> will not
180
</simpara></listitem></varlistentry>
181
</variablelist><para role="since">Since 0.8</para></refsect2>
182
<refsect2 id="clutter-x11-get-default-display" role="function" condition="since:0.6">
183
<title>clutter_x11_get_default_display ()</title>
184
<indexterm zone="clutter-x11-get-default-display" role="0.6"><primary sortas="x11_get_default_display">clutter_x11_get_default_display</primary></indexterm><programlisting><link linkend="Display">Display</link> * clutter_x11_get_default_display (void);</programlisting>
186
Retrieves the pointer to the default display.</para>
188
</para><variablelist role="params">
189
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the default display
191
</simpara></listitem></varlistentry>
192
</variablelist><para role="since">Since 0.6</para></refsect2>
193
<refsect2 id="clutter-x11-get-default-screen" role="function" condition="since:0.6">
194
<title>clutter_x11_get_default_screen ()</title>
195
<indexterm zone="clutter-x11-get-default-screen" role="0.6"><primary sortas="x11_get_default_screen">clutter_x11_get_default_screen</primary></indexterm><programlisting><link linkend="int">int</link> clutter_x11_get_default_screen (void);</programlisting>
197
Gets the number of the default X Screen object.</para>
199
</para><variablelist role="params">
200
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the number of the default screen
202
</simpara></listitem></varlistentry>
203
</variablelist><para role="since">Since 0.6</para></refsect2>
204
<refsect2 id="clutter-x11-get-root-window" role="function" condition="since:0.6">
205
<title>clutter_x11_get_root_window ()</title>
206
<indexterm zone="clutter-x11-get-root-window" role="0.6"><primary sortas="x11_get_root_window">clutter_x11_get_root_window</primary></indexterm><programlisting><link linkend="Window">Window</link> clutter_x11_get_root_window (void);</programlisting>
208
Retrieves the root window.</para>
210
</para><variablelist role="params">
211
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the id of the root window
213
</simpara></listitem></varlistentry>
214
</variablelist><para role="since">Since 0.6</para></refsect2>
215
<refsect2 id="clutter-x11-get-stage-visual" role="function" condition="since:0.4">
216
<title>clutter_x11_get_stage_visual ()</title>
217
<indexterm zone="clutter-x11-get-stage-visual" role="0.4"><primary sortas="x11_get_stage_visual">clutter_x11_get_stage_visual</primary></indexterm><programlisting><link linkend="XVisualInfo">XVisualInfo</link> * clutter_x11_get_stage_visual (<link linkend="ClutterStage">ClutterStage</link> *stage);</programlisting>
219
Returns the stage XVisualInfo</para>
221
</para><variablelist role="params">
222
<varlistentry><term><parameter>stage</parameter> :</term>
223
<listitem><simpara> a <link linkend="ClutterStage"><type>ClutterStage</type></link>
224
</simpara></listitem></varlistentry>
225
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The XVisualInfo for the stage.
227
</simpara></listitem></varlistentry>
228
</variablelist><para role="since">Since 0.4</para></refsect2>
229
<refsect2 id="clutter-x11-get-stage-window" role="function" condition="since:0.4">
230
<title>clutter_x11_get_stage_window ()</title>
231
<indexterm zone="clutter-x11-get-stage-window" role="0.4"><primary sortas="x11_get_stage_window">clutter_x11_get_stage_window</primary></indexterm><programlisting><link linkend="Window">Window</link> clutter_x11_get_stage_window (<link linkend="ClutterStage">ClutterStage</link> *stage);</programlisting>
233
Gets the stages X Window.</para>
235
</para><variablelist role="params">
236
<varlistentry><term><parameter>stage</parameter> :</term>
237
<listitem><simpara> a <link linkend="ClutterStage"><type>ClutterStage</type></link>
238
</simpara></listitem></varlistentry>
239
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> An XID for the stage window.
241
</simpara></listitem></varlistentry>
242
</variablelist><para role="since">Since 0.4</para></refsect2>
243
<refsect2 id="clutter-x11-set-stage-foreign" role="function" condition="since:0.4">
244
<title>clutter_x11_set_stage_foreign ()</title>
245
<indexterm zone="clutter-x11-set-stage-foreign" role="0.4"><primary sortas="x11_set_stage_foreign">clutter_x11_set_stage_foreign</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> clutter_x11_set_stage_foreign (<link linkend="ClutterStage">ClutterStage</link> *stage,
246
<link linkend="Window">Window</link> xwindow);</programlisting>
248
Target the <link linkend="ClutterStage"><type>ClutterStage</type></link> to use an existing external X Window</para>
250
</para><variablelist role="params">
251
<varlistentry><term><parameter>stage</parameter> :</term>
252
<listitem><simpara> a <link linkend="ClutterStage"><type>ClutterStage</type></link>
253
</simpara></listitem></varlistentry>
254
<varlistentry><term><parameter>xwindow</parameter> :</term>
255
<listitem><simpara> an existing X Window id
256
</simpara></listitem></varlistentry>
257
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if foreign window is valid
259
</simpara></listitem></varlistentry>
260
</variablelist><para role="since">Since 0.4</para></refsect2>
261
<refsect2 id="clutter-x11-trap-x-errors" role="function" condition="since:0.6">
262
<title>clutter_x11_trap_x_errors ()</title>
263
<indexterm zone="clutter-x11-trap-x-errors" role="0.6"><primary sortas="x11_trap_x_errors">clutter_x11_trap_x_errors</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_trap_x_errors (void);</programlisting>
265
Traps every X error until <link linkend="clutter-x11-untrap-x-errors"><function>clutter_x11_untrap_x_errors()</function></link> is called.</para>
267
</para><para role="since">Since 0.6</para></refsect2>
268
<refsect2 id="clutter-x11-untrap-x-errors" role="function" condition="since:0.4">
269
<title>clutter_x11_untrap_x_errors ()</title>
270
<indexterm zone="clutter-x11-untrap-x-errors" role="0.4"><primary sortas="x11_untrap_x_errors">clutter_x11_untrap_x_errors</primary></indexterm><programlisting><link linkend="gint">gint</link> clutter_x11_untrap_x_errors (void);</programlisting>
272
Removes the X error trap and returns the current status.</para>
274
</para><variablelist role="params">
275
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the trapped error code, or 0 for success
277
</simpara></listitem></varlistentry>
278
</variablelist><para role="since">Since 0.4</para></refsect2>
279
<refsect2 id="clutter-x11-has-composite-extension" role="function">
280
<title>clutter_x11_has_composite_extension ()</title>
281
<indexterm zone="clutter-x11-has-composite-extension"><primary sortas="x11_has_composite_extension">clutter_x11_has_composite_extension</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> clutter_x11_has_composite_extension (void);</programlisting>
283
</para><variablelist role="params">
284
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
285
</simpara></listitem></varlistentry>
286
</variablelist></refsect2>
287
<refsect2 id="clutter-x11-get-current-event-time" role="function" condition="since:1.0">
288
<title>clutter_x11_get_current_event_time ()</title>
289
<indexterm zone="clutter-x11-get-current-event-time" role="1.0"><primary sortas="x11_get_current_event_time">clutter_x11_get_current_event_time</primary></indexterm><programlisting><link linkend="Time">Time</link> clutter_x11_get_current_event_time (void);</programlisting>
291
Retrieves the timestamp of the last X11 event processed by
292
Clutter. This might be different from the timestamp returned
293
by <link linkend="clutter-get-current-event-time"><function>clutter_get_current_event_time()</function></link>, as Clutter may synthesize
294
or throttle events.</para>
296
</para><variablelist role="params">
297
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a timestamp, in milliseconds
299
</simpara></listitem></varlistentry>
300
</variablelist><para role="since">Since 1.0</para></refsect2>
301
<refsect2 id="ClutterX11FilterFunc" role="function" condition="since:0.6">
302
<title>ClutterX11FilterFunc ()</title>
303
<indexterm zone="ClutterX11FilterFunc" role="0.6"><primary sortas="X11FilterFunc">ClutterX11FilterFunc</primary></indexterm><programlisting><link linkend="ClutterX11FilterReturn">ClutterX11FilterReturn</link> (*ClutterX11FilterFunc) (<link linkend="XEvent">XEvent</link> *xev,
304
<link linkend="ClutterEvent">ClutterEvent</link> *cev,
305
<link linkend="gpointer">gpointer</link> data);</programlisting>
307
Filter function for X11 native events.</para>
309
</para><variablelist role="params">
310
<varlistentry><term><parameter>xev</parameter> :</term>
311
<listitem><simpara> Native X11 event structure
312
</simpara></listitem></varlistentry>
313
<varlistentry><term><parameter>cev</parameter> :</term>
314
<listitem><simpara> Clutter event structure
315
</simpara></listitem></varlistentry>
316
<varlistentry><term><parameter>data</parameter> :</term>
317
<listitem><simpara> user data passed to the filter function
318
</simpara></listitem></varlistentry>
319
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the result of the filtering
321
</simpara></listitem></varlistentry>
322
</variablelist><para role="since">Since 0.6</para></refsect2>
323
<refsect2 id="ClutterX11FilterReturn" role="enum" condition="since:0.6">
324
<title>enum ClutterX11FilterReturn</title>
325
<indexterm zone="ClutterX11FilterReturn" role="0.6"><primary sortas="X11FilterReturn">ClutterX11FilterReturn</primary></indexterm><programlisting>typedef enum {
326
CLUTTER_X11_FILTER_CONTINUE,
327
CLUTTER_X11_FILTER_TRANSLATE,
328
CLUTTER_X11_FILTER_REMOVE
329
} ClutterX11FilterReturn;
332
Return values for the <link linkend="ClutterX11FilterFunc"><type>ClutterX11FilterFunc</type></link> function.</para>
334
</para><variablelist role="enum">
335
<varlistentry id="CLUTTER-X11-FILTER-CONTINUE--CAPS" role="constant">
336
<term><literal>CLUTTER_X11_FILTER_CONTINUE</literal></term>
337
<listitem><simpara> The event was not handled, continues the
339
</simpara></listitem>
341
<varlistentry id="CLUTTER-X11-FILTER-TRANSLATE--CAPS" role="constant">
342
<term><literal>CLUTTER_X11_FILTER_TRANSLATE</literal></term>
343
<listitem><simpara> Native event translated into a Clutter
344
event, stops the processing
345
</simpara></listitem>
347
<varlistentry id="CLUTTER-X11-FILTER-REMOVE--CAPS" role="constant">
348
<term><literal>CLUTTER_X11_FILTER_REMOVE</literal></term>
349
<listitem><simpara> Remove the event, stops the processing
350
</simpara></listitem>
352
</variablelist><para role="since">Since 0.6</para></refsect2>
353
<refsect2 id="clutter-x11-add-filter" role="function" condition="since:0.6">
354
<title>clutter_x11_add_filter ()</title>
355
<indexterm zone="clutter-x11-add-filter" role="0.6"><primary sortas="x11_add_filter">clutter_x11_add_filter</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_add_filter (<link linkend="ClutterX11FilterFunc">ClutterX11FilterFunc</link> func,
356
<link linkend="gpointer">gpointer</link> data);</programlisting>
358
Adds an event filter function.</para>
360
</para><variablelist role="params">
361
<varlistentry><term><parameter>func</parameter> :</term>
362
<listitem><simpara> a filter function
363
</simpara></listitem></varlistentry>
364
<varlistentry><term><parameter>data</parameter> :</term>
365
<listitem><simpara> user data to be passed to the filter function, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
366
</simpara></listitem></varlistentry>
367
</variablelist><para role="since">Since 0.6</para></refsect2>
368
<refsect2 id="clutter-x11-remove-filter" role="function" condition="since:0.6">
369
<title>clutter_x11_remove_filter ()</title>
370
<indexterm zone="clutter-x11-remove-filter" role="0.6"><primary sortas="x11_remove_filter">clutter_x11_remove_filter</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_remove_filter (<link linkend="ClutterX11FilterFunc">ClutterX11FilterFunc</link> func,
371
<link linkend="gpointer">gpointer</link> data);</programlisting>
373
Removes the given filter function.</para>
375
</para><variablelist role="params">
376
<varlistentry><term><parameter>func</parameter> :</term>
377
<listitem><simpara> a filter function
378
</simpara></listitem></varlistentry>
379
<varlistentry><term><parameter>data</parameter> :</term>
380
<listitem><simpara> user data to be passed to the filter function, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
381
</simpara></listitem></varlistentry>
382
</variablelist><para role="since">Since 0.6</para></refsect2>
383
<refsect2 id="ClutterX11XInputDevice" role="struct">
384
<title>ClutterX11XInputDevice</title>
385
<indexterm zone="ClutterX11XInputDevice"><primary sortas="X11XInputDevice">ClutterX11XInputDevice</primary></indexterm><programlisting>typedef struct _ClutterX11XInputDevice ClutterX11XInputDevice;</programlisting>
388
<refsect2 id="ClutterX11XInputEventTypes" role="enum">
389
<title>enum ClutterX11XInputEventTypes</title>
390
<indexterm zone="ClutterX11XInputEventTypes"><primary sortas="X11XInputEventTypes">ClutterX11XInputEventTypes</primary></indexterm><programlisting>typedef enum {
391
CLUTTER_X11_XINPUT_KEY_PRESS_EVENT = 0,
392
CLUTTER_X11_XINPUT_KEY_RELEASE_EVENT,
393
CLUTTER_X11_XINPUT_BUTTON_PRESS_EVENT,
394
CLUTTER_X11_XINPUT_BUTTON_RELEASE_EVENT,
395
CLUTTER_X11_XINPUT_MOTION_NOTIFY_EVENT,
396
CLUTTER_X11_XINPUT_LAST_EVENT
397
} ClutterX11XInputEventTypes;
401
<refsect2 id="clutter-x11-get-input-devices" role="function">
402
<title>clutter_x11_get_input_devices ()</title>
403
<indexterm zone="clutter-x11-get-input-devices"><primary sortas="x11_get_input_devices">clutter_x11_get_input_devices</primary></indexterm><programlisting>const <link linkend="GSList">GSList</link>* clutter_x11_get_input_devices (void);</programlisting>
405
</para><variablelist role="params">
406
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
407
</simpara></listitem></varlistentry>
408
</variablelist></refsect2>
409
<refsect2 id="clutter-x11-has-xinput" role="function" condition="since:0.8">
410
<title>clutter_x11_has_xinput ()</title>
411
<indexterm zone="clutter-x11-has-xinput" role="0.8"><primary sortas="x11_has_xinput">clutter_x11_has_xinput</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> clutter_x11_has_xinput (void);</programlisting>
413
Gets whether Clutter has XInput support.</para>
415
</para><variablelist role="params">
416
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if Clutter was compiled with XInput support
417
and XInput support is available at run time.
419
</simpara></listitem></varlistentry>
420
</variablelist><para role="since">Since 0.8</para></refsect2>
421
<refsect2 id="clutter-x11-enable-xinput" role="function" condition="since:0.8">
422
<title>clutter_x11_enable_xinput ()</title>
423
<indexterm zone="clutter-x11-enable-xinput" role="0.8"><primary sortas="x11_enable_xinput">clutter_x11_enable_xinput</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_enable_xinput (void);</programlisting>
425
Enables the use of the XInput extension if present on connected
426
XServer and support built into Clutter. XInput allows for multiple
427
pointing devices to be used. This must be called before
428
<link linkend="clutter-init"><function>clutter_init()</function></link>.
431
You should use <link linkend="clutter-x11-has-xinput"><type>clutter_x11_has_xinput</type></link> to see if support was enabled.</para>
433
</para><para role="since">Since 0.8</para></refsect2>
434
<refsect2 id="ClutterX11TexturePixmap" role="struct">
435
<title>ClutterX11TexturePixmap</title>
436
<indexterm zone="ClutterX11TexturePixmap"><primary sortas="X11TexturePixmap">ClutterX11TexturePixmap</primary></indexterm><programlisting>typedef struct {
437
ClutterTexture parent;
439
ClutterX11TexturePixmapPrivate *priv;
440
} ClutterX11TexturePixmap;
444
<refsect2 id="ClutterX11TexturePixmapClass" role="struct">
445
<title>ClutterX11TexturePixmapClass</title>
446
<indexterm zone="ClutterX11TexturePixmapClass"><primary sortas="X11TexturePixmapClass">ClutterX11TexturePixmapClass</primary></indexterm><programlisting>typedef struct {
447
ClutterTextureClass parent_class;
449
void (*update_area) (ClutterX11TexturePixmap *texture,
454
} ClutterX11TexturePixmapClass;
458
<refsect2 id="clutter-x11-texture-pixmap-new" role="function" condition="since:0.8">
459
<title>clutter_x11_texture_pixmap_new ()</title>
460
<indexterm zone="clutter-x11-texture-pixmap-new" role="0.8"><primary sortas="x11_texture_pixmap_new">clutter_x11_texture_pixmap_new</primary></indexterm><programlisting><link linkend="ClutterActor">ClutterActor</link> * clutter_x11_texture_pixmap_new (void);</programlisting>
464
</para><variablelist role="params">
465
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A new <link linkend="ClutterX11TexturePixmap"><type>ClutterX11TexturePixmap</type></link>
467
</simpara></listitem></varlistentry>
468
</variablelist><para role="since">Since 0.8</para></refsect2>
469
<refsect2 id="clutter-x11-texture-pixmap-new-with-pixmap" role="function">
470
<title>clutter_x11_texture_pixmap_new_with_pixmap ()</title>
471
<indexterm zone="clutter-x11-texture-pixmap-new-with-pixmap"><primary sortas="x11_texture_pixmap_new_with_pixmap">clutter_x11_texture_pixmap_new_with_pixmap</primary></indexterm><programlisting><link linkend="ClutterActor">ClutterActor</link> * clutter_x11_texture_pixmap_new_with_pixmap
472
(<link linkend="Pixmap">Pixmap</link> pixmap);</programlisting>
476
</para><variablelist role="params">
477
<varlistentry><term><parameter>pixmap</parameter> :</term>
478
<listitem><simpara> the X Pixmap to which this texture should be bound
479
</simpara></listitem></varlistentry>
480
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A new <link linkend="ClutterX11TexturePixmap"><type>ClutterX11TexturePixmap</type></link> bound to the given X Pixmap
483
</simpara></listitem></varlistentry>
484
</variablelist></refsect2>
485
<refsect2 id="clutter-x11-texture-pixmap-new-with-window" role="function">
486
<title>clutter_x11_texture_pixmap_new_with_window ()</title>
487
<indexterm zone="clutter-x11-texture-pixmap-new-with-window"><primary sortas="x11_texture_pixmap_new_with_window">clutter_x11_texture_pixmap_new_with_window</primary></indexterm><programlisting><link linkend="ClutterActor">ClutterActor</link> * clutter_x11_texture_pixmap_new_with_window
488
(<link linkend="Window">Window</link> window);</programlisting>
492
</para><variablelist role="params">
493
<varlistentry><term><parameter>window</parameter> :</term>
494
<listitem><simpara> the X window to which this texture should be bound
495
</simpara></listitem></varlistentry>
496
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A new <link linkend="ClutterX11TexturePixmap"><type>ClutterX11TexturePixmap</type></link> bound to the given X window.
499
</simpara></listitem></varlistentry>
500
</variablelist></refsect2>
501
<refsect2 id="clutter-x11-texture-pixmap-set-pixmap" role="function" condition="since:0.8">
502
<title>clutter_x11_texture_pixmap_set_pixmap ()</title>
503
<indexterm zone="clutter-x11-texture-pixmap-set-pixmap" role="0.8"><primary sortas="x11_texture_pixmap_set_pixmap">clutter_x11_texture_pixmap_set_pixmap</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_texture_pixmap_set_pixmap
504
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
505
<link linkend="Pixmap">Pixmap</link> pixmap);</programlisting>
507
Sets the X Pixmap to which the texture should be bound.</para>
509
</para><variablelist role="params">
510
<varlistentry><term><parameter>texture</parameter> :</term>
511
<listitem><simpara> the texture to bind
512
</simpara></listitem></varlistentry>
513
<varlistentry><term><parameter>pixmap</parameter> :</term>
514
<listitem><simpara> the X Pixmap to which the texture should be bound
515
</simpara></listitem></varlistentry>
516
</variablelist><para role="since">Since 0.8</para></refsect2>
517
<refsect2 id="clutter-x11-texture-pixmap-set-window" role="function" condition="since:0.8">
518
<title>clutter_x11_texture_pixmap_set_window ()</title>
519
<indexterm zone="clutter-x11-texture-pixmap-set-window" role="0.8"><primary sortas="x11_texture_pixmap_set_window">clutter_x11_texture_pixmap_set_window</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_texture_pixmap_set_window
520
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
521
<link linkend="Window">Window</link> window,
522
<link linkend="gboolean">gboolean</link> automatic);</programlisting>
524
Sets up a suitable pixmap for the window, using the composite and damage
525
extensions if possible, and then calls
526
<link linkend="clutter-x11-texture-pixmap-set-pixmap"><function>clutter_x11_texture_pixmap_set_pixmap()</function></link>. If you want a window in a texture,
527
you probably want this function, or its older sister,
528
<link linkend="clutter-glx-texture-pixmap-set-window"><function>clutter_glx_texture_pixmap_set_window()</function></link>.</para>
530
</para><variablelist role="params">
531
<varlistentry><term><parameter>texture</parameter> :</term>
532
<listitem><simpara> the texture to bind
533
</simpara></listitem></varlistentry>
534
<varlistentry><term><parameter>window</parameter> :</term>
535
<listitem><simpara> the X window to which the texture should be bound
536
</simpara></listitem></varlistentry>
537
<varlistentry><term><parameter>automatic</parameter> :</term>
538
<listitem><simpara> TRUE is automatic window updates, FALSE for manual.
539
</simpara></listitem></varlistentry>
540
</variablelist><para role="since">Since 0.8</para></refsect2>
541
<refsect2 id="clutter-x11-texture-pixmap-sync-window" role="function" condition="since:0.8">
542
<title>clutter_x11_texture_pixmap_sync_window ()</title>
543
<indexterm zone="clutter-x11-texture-pixmap-sync-window" role="0.8"><primary sortas="x11_texture_pixmap_sync_window">clutter_x11_texture_pixmap_sync_window</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_texture_pixmap_sync_window
544
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture);</programlisting>
546
Resets the texture's pixmap from its window, perhaps in response to the
547
pixmap's invalidation as the window changed size.</para>
549
</para><variablelist role="params">
550
<varlistentry><term><parameter>texture</parameter> :</term>
551
<listitem><simpara> the texture to bind
552
</simpara></listitem></varlistentry>
553
</variablelist><para role="since">Since 0.8</para></refsect2>
554
<refsect2 id="clutter-x11-texture-pixmap-update-area" role="function" condition="since:0.8">
555
<title>clutter_x11_texture_pixmap_update_area ()</title>
556
<indexterm zone="clutter-x11-texture-pixmap-update-area" role="0.8"><primary sortas="x11_texture_pixmap_update_area">clutter_x11_texture_pixmap_update_area</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_texture_pixmap_update_area
557
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
558
<link linkend="gint">gint</link> x,
559
<link linkend="gint">gint</link> y,
560
<link linkend="gint">gint</link> width,
561
<link linkend="gint">gint</link> height);</programlisting>
563
Performs the actual binding of texture to the current content of
564
the pixmap. Can be called to update the texture if the pixmap
565
content has changed.</para>
567
</para><variablelist role="params">
568
<varlistentry><term><parameter>texture</parameter> :</term>
569
<listitem><simpara> The texture whose content shall be updated.
570
</simpara></listitem></varlistentry>
571
<varlistentry><term><parameter>x</parameter> :</term>
572
<listitem><simpara> the X coordinate of the area to update
573
</simpara></listitem></varlistentry>
574
<varlistentry><term><parameter>y</parameter> :</term>
575
<listitem><simpara> the Y coordinate of the area to update
576
</simpara></listitem></varlistentry>
577
<varlistentry><term><parameter>width</parameter> :</term>
578
<listitem><simpara> the width of the area to update
579
</simpara></listitem></varlistentry>
580
<varlistentry><term><parameter>height</parameter> :</term>
581
<listitem><simpara> the height of the area to update
582
</simpara></listitem></varlistentry>
583
</variablelist><para role="since">Since 0.8</para></refsect2>
584
<refsect2 id="clutter-x11-texture-pixmap-set-automatic" role="function">
585
<title>clutter_x11_texture_pixmap_set_automatic ()</title>
586
<indexterm zone="clutter-x11-texture-pixmap-set-automatic"><primary sortas="x11_texture_pixmap_set_automatic">clutter_x11_texture_pixmap_set_automatic</primary></indexterm><programlisting><link linkend="void">void</link> clutter_x11_texture_pixmap_set_automatic
587
(<link linkend="ClutterX11TexturePixmap">ClutterX11TexturePixmap</link> *texture,
588
<link linkend="gboolean">gboolean</link> setting);</programlisting>
590
</para><variablelist role="params">
591
<varlistentry><term><parameter>texture</parameter> :</term>
593
</simpara></listitem></varlistentry>
594
<varlistentry><term><parameter>setting</parameter> :</term>
596
</simpara></listitem></varlistentry>
597
</variablelist></refsect2>