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-ClutterBackend">
9
<refentrytitle role="top_of_page" id="clutter-ClutterBackend.top_of_page">ClutterBackend</refentrytitle>
10
<manvolnum>3</manvolnum>
11
<refmiscinfo>CLUTTER Library</refmiscinfo>
15
<refname>ClutterBackend</refname>
16
<refpurpose>Backend abstraction</refpurpose>
19
<refsynopsisdiv id="clutter-ClutterBackend.synopsis" role="synopsis">
20
<title role="synopsis.title">Synopsis</title>
23
<link linkend="ClutterBackend">ClutterBackend</link> * <link linkend="clutter-get-default-backend">clutter_get_default_backend</link> (void);
24
<link linkend="void">void</link> <link linkend="clutter-backend-set-resolution">clutter_backend_set_resolution</link> (<link linkend="ClutterBackend">ClutterBackend</link> *backend,
25
<link linkend="gdouble">gdouble</link> dpi);
26
<link linkend="gdouble">gdouble</link> <link linkend="clutter-backend-get-resolution">clutter_backend_get_resolution</link> (<link linkend="ClutterBackend">ClutterBackend</link> *backend);
27
<link linkend="void">void</link> <link linkend="clutter-backend-set-double-click-time">clutter_backend_set_double_click_time</link>
28
(<link linkend="ClutterBackend">ClutterBackend</link> *backend,
29
<link linkend="guint">guint</link> msec);
30
<link linkend="guint">guint</link> <link linkend="clutter-backend-get-double-click-time">clutter_backend_get_double_click_time</link>
31
(<link linkend="ClutterBackend">ClutterBackend</link> *backend);
32
<link linkend="void">void</link> <link linkend="clutter-backend-set-double-click-distance">clutter_backend_set_double_click_distance</link>
33
(<link linkend="ClutterBackend">ClutterBackend</link> *backend,
34
<link linkend="guint">guint</link> distance);
35
<link linkend="guint">guint</link> <link linkend="clutter-backend-get-double-click-distance">clutter_backend_get_double_click_distance</link>
36
(<link linkend="ClutterBackend">ClutterBackend</link> *backend);
37
<link linkend="void">void</link> <link linkend="clutter-backend-set-font-options">clutter_backend_set_font_options</link> (<link linkend="ClutterBackend">ClutterBackend</link> *backend,
38
const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
39
const <link linkend="cairo-font-options-t">cairo_font_options_t</link> * <link linkend="clutter-backend-get-font-options">clutter_backend_get_font_options</link>
40
(<link linkend="ClutterBackend">ClutterBackend</link> *backend);
41
<link linkend="void">void</link> <link linkend="clutter-backend-set-font-name">clutter_backend_set_font_name</link> (<link linkend="ClutterBackend">ClutterBackend</link> *backend,
42
const <link linkend="gchar">gchar</link> *font_name);
43
const <link linkend="gchar">gchar</link> * <link linkend="clutter-backend-get-font-name">clutter_backend_get_font_name</link> (<link linkend="ClutterBackend">ClutterBackend</link> *backend);
55
<refsect1 id="clutter-ClutterBackend.description" role="desc">
56
<title role="desc.title">Description</title>
58
Clutter can be compiled against different backends. Each backend
59
has to implement a set of functions, in order to be used by Clutter.
62
<link linkend="ClutterBackend"><type>ClutterBackend</type></link> is the base class abstracting the various implementation;
63
it provides a basic API to query the backend for generic information
67
<link linkend="ClutterBackend"><type>ClutterBackend</type></link> is available since Clutter 0.4</para>
72
<refsect1 id="clutter-ClutterBackend.details" role="details">
73
<title role="details.title">Details</title>
74
<refsect2 id="clutter-get-default-backend" role="function" condition="since:0.4">
75
<title>clutter_get_default_backend ()</title>
76
<indexterm zone="clutter-get-default-backend" role="0.4"><primary sortas="get_default_backend">clutter_get_default_backend</primary></indexterm><programlisting><link linkend="ClutterBackend">ClutterBackend</link> * clutter_get_default_backend (void);</programlisting>
78
Retrieves the default <link linkend="ClutterBackend"><type>ClutterBackend</type></link> used by Clutter. The
79
<link linkend="ClutterBackend"><type>ClutterBackend</type></link> holds backend-specific configuration options.</para>
81
</para><variablelist role="params">
82
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
83
</variablelist><para role="since">Since 0.4</para></refsect2>
84
<refsect2 id="clutter-backend-set-resolution" role="function" condition="since:0.4">
85
<title>clutter_backend_set_resolution ()</title>
86
<indexterm zone="clutter-backend-set-resolution" role="0.4"><primary sortas="backend_set_resolution">clutter_backend_set_resolution</primary></indexterm><programlisting><link linkend="void">void</link> clutter_backend_set_resolution (<link linkend="ClutterBackend">ClutterBackend</link> *backend,
87
<link linkend="gdouble">gdouble</link> dpi);</programlisting>
89
Sets the resolution for font handling on the screen. This is a
90
scale factor between points specified in a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
91
and cairo units. The default value is 96, meaning that a 10 point
92
font will be 13 units high. (10 * 96. / 72. = 13.3).
95
Applications should never need to call this function.</para>
97
</para><variablelist role="params">
98
<varlistentry><term><parameter>backend</parameter> :</term>
99
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
100
</simpara></listitem></varlistentry>
101
<varlistentry><term><parameter>dpi</parameter> :</term>
102
<listitem><simpara> the resolution in "dots per inch" (Physical inches aren't
103
actually involved; the terminology is conventional).
104
</simpara></listitem></varlistentry>
105
</variablelist><para role="since">Since 0.4</para></refsect2>
106
<refsect2 id="clutter-backend-get-resolution" role="function" condition="since:0.4">
107
<title>clutter_backend_get_resolution ()</title>
108
<indexterm zone="clutter-backend-get-resolution" role="0.4"><primary sortas="backend_get_resolution">clutter_backend_get_resolution</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> clutter_backend_get_resolution (<link linkend="ClutterBackend">ClutterBackend</link> *backend);</programlisting>
110
Gets the resolution for font handling on the screen; see
111
<link linkend="clutter-backend-set-resolution"><function>clutter_backend_set_resolution()</function></link> for full details.</para>
113
</para><variablelist role="params">
114
<varlistentry><term><parameter>backend</parameter> :</term>
115
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
116
</simpara></listitem></varlistentry>
117
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the current resolution, or -1 if no resolution
120
</simpara></listitem></varlistentry>
121
</variablelist><para role="since">Since 0.4</para></refsect2>
122
<refsect2 id="clutter-backend-set-double-click-time" role="function" condition="since:0.4">
123
<title>clutter_backend_set_double_click_time ()</title>
124
<indexterm zone="clutter-backend-set-double-click-time" role="0.4"><primary sortas="backend_set_double_click_time">clutter_backend_set_double_click_time</primary></indexterm><programlisting><link linkend="void">void</link> clutter_backend_set_double_click_time
125
(<link linkend="ClutterBackend">ClutterBackend</link> *backend,
126
<link linkend="guint">guint</link> msec);</programlisting>
128
Sets the maximum time between two button press events, used to
129
verify whether it's a double click event or not.</para>
131
</para><variablelist role="params">
132
<varlistentry><term><parameter>backend</parameter> :</term>
133
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
134
</simpara></listitem></varlistentry>
135
<varlistentry><term><parameter>msec</parameter> :</term>
136
<listitem><simpara> milliseconds between two button press events
137
</simpara></listitem></varlistentry>
138
</variablelist><para role="since">Since 0.4</para></refsect2>
139
<refsect2 id="clutter-backend-get-double-click-time" role="function" condition="since:0.4">
140
<title>clutter_backend_get_double_click_time ()</title>
141
<indexterm zone="clutter-backend-get-double-click-time" role="0.4"><primary sortas="backend_get_double_click_time">clutter_backend_get_double_click_time</primary></indexterm><programlisting><link linkend="guint">guint</link> clutter_backend_get_double_click_time
142
(<link linkend="ClutterBackend">ClutterBackend</link> *backend);</programlisting>
144
Gets the maximum time between two button press events, as set
145
by <link linkend="clutter-backend-set-double-click-time"><function>clutter_backend_set_double_click_time()</function></link>.</para>
147
</para><variablelist role="params">
148
<varlistentry><term><parameter>backend</parameter> :</term>
149
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
150
</simpara></listitem></varlistentry>
151
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a time in milliseconds
153
</simpara></listitem></varlistentry>
154
</variablelist><para role="since">Since 0.4</para></refsect2>
155
<refsect2 id="clutter-backend-set-double-click-distance" role="function" condition="since:0.4">
156
<title>clutter_backend_set_double_click_distance ()</title>
157
<indexterm zone="clutter-backend-set-double-click-distance" role="0.4"><primary sortas="backend_set_double_click_distance">clutter_backend_set_double_click_distance</primary></indexterm><programlisting><link linkend="void">void</link> clutter_backend_set_double_click_distance
158
(<link linkend="ClutterBackend">ClutterBackend</link> *backend,
159
<link linkend="guint">guint</link> distance);</programlisting>
161
Sets the maximum distance used to verify a double click event.</para>
163
</para><variablelist role="params">
164
<varlistentry><term><parameter>backend</parameter> :</term>
165
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
166
</simpara></listitem></varlistentry>
167
<varlistentry><term><parameter>distance</parameter> :</term>
168
<listitem><simpara> a distance, in pixels
169
</simpara></listitem></varlistentry>
170
</variablelist><para role="since">Since 0.4</para></refsect2>
171
<refsect2 id="clutter-backend-get-double-click-distance" role="function" condition="since:0.4">
172
<title>clutter_backend_get_double_click_distance ()</title>
173
<indexterm zone="clutter-backend-get-double-click-distance" role="0.4"><primary sortas="backend_get_double_click_distance">clutter_backend_get_double_click_distance</primary></indexterm><programlisting><link linkend="guint">guint</link> clutter_backend_get_double_click_distance
174
(<link linkend="ClutterBackend">ClutterBackend</link> *backend);</programlisting>
176
Retrieves the distance used to verify a double click event</para>
178
</para><variablelist role="params">
179
<varlistentry><term><parameter>backend</parameter> :</term>
180
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
181
</simpara></listitem></varlistentry>
182
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a distance, in pixels.
184
</simpara></listitem></varlistentry>
185
</variablelist><para role="since">Since 0.4</para></refsect2>
186
<refsect2 id="clutter-backend-set-font-options" role="function" condition="since:0.8">
187
<title>clutter_backend_set_font_options ()</title>
188
<indexterm zone="clutter-backend-set-font-options" role="0.8"><primary sortas="backend_set_font_options">clutter_backend_set_font_options</primary></indexterm><programlisting><link linkend="void">void</link> clutter_backend_set_font_options (<link linkend="ClutterBackend">ClutterBackend</link> *backend,
189
const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
191
Sets the new font options for <parameter>backend</parameter>. The <link linkend="ClutterBackend"><type>ClutterBackend</type></link> will
192
copy the <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>.
195
If <parameter>options</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the first following call to
196
<link linkend="clutter-backend-get-font-options"><function>clutter_backend_get_font_options()</function></link> will return the default font
197
options for <parameter>backend</parameter>.
200
This function is intended for actors creating a Pango layout
201
using the PangoCairo API.</para>
203
</para><variablelist role="params">
204
<varlistentry><term><parameter>backend</parameter> :</term>
205
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
206
</simpara></listitem></varlistentry>
207
<varlistentry><term><parameter>options</parameter> :</term>
208
<listitem><simpara> Cairo font options for the backend, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
209
</simpara></listitem></varlistentry>
210
</variablelist><para role="since">Since 0.8</para></refsect2>
211
<refsect2 id="clutter-backend-get-font-options" role="function" condition="since:0.8">
212
<title>clutter_backend_get_font_options ()</title>
213
<indexterm zone="clutter-backend-get-font-options" role="0.8"><primary sortas="backend_get_font_options">clutter_backend_get_font_options</primary></indexterm><programlisting>const <link linkend="cairo-font-options-t">cairo_font_options_t</link> * clutter_backend_get_font_options
214
(<link linkend="ClutterBackend">ClutterBackend</link> *backend);</programlisting>
216
Retrieves the font options for <parameter>backend</parameter>.</para>
218
</para><variablelist role="params">
219
<varlistentry><term><parameter>backend</parameter> :</term>
220
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
221
</simpara></listitem></varlistentry>
222
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>transfer none. <acronym>transfer</acronym> none. </simpara></listitem></varlistentry>
223
</variablelist><para role="since">Since 0.8</para></refsect2>
224
<refsect2 id="clutter-backend-set-font-name" role="function" condition="since:1.0">
225
<title>clutter_backend_set_font_name ()</title>
226
<indexterm zone="clutter-backend-set-font-name" role="1.0"><primary sortas="backend_set_font_name">clutter_backend_set_font_name</primary></indexterm><programlisting><link linkend="void">void</link> clutter_backend_set_font_name (<link linkend="ClutterBackend">ClutterBackend</link> *backend,
227
const <link linkend="gchar">gchar</link> *font_name);</programlisting>
229
Sets the default font to be used by Clutter. The <parameter>font_name</parameter> string
230
must either be <link linkend="NULL--CAPS"><literal>NULL</literal></link>, which means that the font name from the
231
default <link linkend="ClutterBackend"><type>ClutterBackend</type></link> will be used; or be something that can
232
be parsed by the <link linkend="pango-font-description-from-string"><function>pango_font_description_from_string()</function></link> function.</para>
234
</para><variablelist role="params">
235
<varlistentry><term><parameter>backend</parameter> :</term>
236
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
237
</simpara></listitem></varlistentry>
238
<varlistentry><term><parameter>font_name</parameter> :</term>
239
<listitem><simpara> the name of the font
240
</simpara></listitem></varlistentry>
241
</variablelist><para role="since">Since 1.0</para></refsect2>
242
<refsect2 id="clutter-backend-get-font-name" role="function" condition="since:1.0">
243
<title>clutter_backend_get_font_name ()</title>
244
<indexterm zone="clutter-backend-get-font-name" role="1.0"><primary sortas="backend_get_font_name">clutter_backend_get_font_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link> * clutter_backend_get_font_name (<link linkend="ClutterBackend">ClutterBackend</link> *backend);</programlisting>
246
Retrieves the default font name as set by
247
<link linkend="clutter-backend-set-font-name"><function>clutter_backend_set_font_name()</function></link>.</para>
249
</para><variablelist role="params">
250
<varlistentry><term><parameter>backend</parameter> :</term>
251
<listitem><simpara> a <link linkend="ClutterBackend"><type>ClutterBackend</type></link>
252
</simpara></listitem></varlistentry>
253
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the font name for the backend. The returned string is
254
owned by the <link linkend="ClutterBackend"><type>ClutterBackend</type></link> and should never be modified or freed
256
</simpara></listitem></varlistentry>
257
</variablelist><para role="since">Since 1.0</para></refsect2>