Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClutterBackend: Clutter Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Clutter Reference Manual">
<link rel="up" href="clutterbackends.html" title="Part VII. Clutter Backends">
<link rel="prev" href="clutterbackends.html" title="Part VII. Clutter Backends">
<link rel="next" href="clutter-X11-Specific-Support.html" title="X11 Specific Support">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#ClutterBackend.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#ClutterBackend.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#ClutterBackend.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="clutterbackends.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="clutterbackends.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="clutter-X11-Specific-Support.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="ClutterBackend"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ClutterBackend.top_of_page"></a>ClutterBackend</span></h2>
<p>ClutterBackend — Backend abstraction</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="ClutterBackend.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="returnvalue">ClutterBackend</span></a> *
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-get-default-backend" title="clutter_get_default_backend ()">clutter_get_default_backend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-set-resolution" title="clutter_backend_set_resolution ()">clutter_backend_set_resolution</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gdouble</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-get-resolution" title="clutter_backend_get_resolution ()">clutter_backend_get_resolution</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-set-double-click-time" title="clutter_backend_set_double_click_time ()">clutter_backend_set_double_click_time</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-get-double-click-time" title="clutter_backend_get_double_click_time ()">clutter_backend_get_double_click_time</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-set-double-click-distance" title="clutter_backend_set_double_click_distance ()">clutter_backend_set_double_click_distance</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-get-double-click-distance" title="clutter_backend_get_double_click_distance ()">clutter_backend_get_double_click_distance</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-set-font-options" title="clutter_backend_set_font_options ()">clutter_backend_set_font_options</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html#cairo-font-options-t"><span class="returnvalue">cairo_font_options_t</span></a> *
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-get-font-options" title="clutter_backend_get_font_options ()">clutter_backend_get_font_options</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-set-font-name" title="clutter_backend_set_font_name ()">clutter_backend_set_font_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-get-font-name" title="clutter_backend_get_font_name ()">clutter_backend_get_font_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">CoglContext</span> *
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-backend-get-cogl-context" title="clutter_backend_get_cogl_context ()">clutter_backend_get_cogl_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-check-windowing-backend" title="clutter_check_windowing_backend ()">clutter_check_windowing_backend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterBackend.html#clutter-set-windowing-backend" title="clutter_set_windowing_backend ()">clutter_set_windowing_backend</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ClutterBackend.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="ClutterBackend.html#ClutterBackend-font-changed" title="The “font-changed” signal">font-changed</a></td>
<td class="signal_flags">Run First</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="ClutterBackend.html#ClutterBackend-resolution-changed" title="The “resolution-changed” signal">resolution-changed</a></td>
<td class="signal_flags">Run First</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="ClutterBackend.html#ClutterBackend-settings-changed" title="The “settings-changed” signal">settings-changed</a></td>
<td class="signal_flags">Run First</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ClutterBackend.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="ClutterBackend.html#ClutterBackend-struct" title="ClutterBackend">ClutterBackend</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ClutterBackend.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> ClutterBackend
</pre>
</div>
<div class="refsect1">
<a name="ClutterBackend.description"></a><h2>Description</h2>
<p>Clutter can be compiled against different backends. Each backend
has to implement a set of functions, in order to be used by Clutter.</p>
<p><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> is the base class abstracting the various implementation;
it provides a basic API to query the backend for generic information
and settings.</p>
<p><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> is available since Clutter 0.4</p>
</div>
<div class="refsect1">
<a name="ClutterBackend.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="clutter-get-default-backend"></a><h3>clutter_get_default_backend ()</h3>
<pre class="programlisting"><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="returnvalue">ClutterBackend</span></a> *
clutter_get_default_backend (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Retrieves the default <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> used by Clutter. The
<a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> holds backend-specific configuration options.</p>
<div class="refsect3">
<a name="clutter-get-default-backend.returns"></a><h4>Returns</h4>
<p> the default backend. You should
not ref or unref the returned object. Applications should rarely
need to use this. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-set-resolution"></a><h3>clutter_backend_set_resolution ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_backend_set_resolution (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>,
                                <em class="parameter"><code><span class="type">gdouble</span> dpi</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_set_resolution</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--font-dpi" title="The “font-dpi” property"><span class="type">“font-dpi”</span></a> instead</p>
</div>
<p>Sets the resolution for font handling on the screen. This is a
scale factor between points specified in a <span class="type">PangoFontDescription</span>
and cairo units. The default value is 96, meaning that a 10 point
font will be 13 units high. (10 * 96. / 72. = 13.3).</p>
<p>Applications should never need to call this function.</p>
<div class="refsect3">
<a name="clutter-backend-set-resolution.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dpi</p></td>
<td class="parameter_description"><p>the resolution in "dots per inch" (Physical inches aren't
actually involved; the terminology is conventional).</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-get-resolution"></a><h3>clutter_backend_get_resolution ()</h3>
<pre class="programlisting"><span class="returnvalue">gdouble</span>
clutter_backend_get_resolution (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>);</pre>
<p>Gets the resolution for font handling on the screen.</p>
<p>The resolution is a scale factor between points specified in a
<span class="type">PangoFontDescription</span> and cairo units. The default value is 96.0,
meaning that a 10 point font will be 13 units
high (10 * 96. / 72. = 13.3).</p>
<p>Clutter will set the resolution using the current backend when
initializing; the resolution is also stored in the
<a class="link" href="ClutterSettings.html#ClutterSettings--font-dpi" title="The “font-dpi” property"><span class="type">“font-dpi”</span></a> property.</p>
<div class="refsect3">
<a name="clutter-backend-get-resolution.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-backend-get-resolution.returns"></a><h4>Returns</h4>
<p> the current resolution, or -1 if no resolution
has been set.</p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-set-double-click-time"></a><h3>clutter_backend_set_double_click_time ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_backend_set_double_click_time (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>,
                                       <em class="parameter"><code><span class="type">guint</span> msec</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_set_double_click_time</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--double-click-time" title="The “double-click-time” property"><span class="type">“double-click-time”</span></a> instead</p>
</div>
<p>Sets the maximum time between two button press events, used to
verify whether it's a double click event or not.</p>
<div class="refsect3">
<a name="clutter-backend-set-double-click-time.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msec</p></td>
<td class="parameter_description"><p>milliseconds between two button press events</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-get-double-click-time"></a><h3>clutter_backend_get_double_click_time ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_backend_get_double_click_time (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_get_double_click_time</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--double-click-time" title="The “double-click-time” property"><span class="type">“double-click-time”</span></a> instead</p>
</div>
<p>Gets the maximum time between two button press events, as set
by <a class="link" href="ClutterBackend.html#clutter-backend-set-double-click-time" title="clutter_backend_set_double_click_time ()"><code class="function">clutter_backend_set_double_click_time()</code></a>.</p>
<div class="refsect3">
<a name="clutter-backend-get-double-click-time.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-backend-get-double-click-time.returns"></a><h4>Returns</h4>
<p> a time in milliseconds</p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-set-double-click-distance"></a><h3>clutter_backend_set_double_click_distance ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_backend_set_double_click_distance
                               (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>,
                                <em class="parameter"><code><span class="type">guint</span> distance</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_set_double_click_distance</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--double-click-distance" title="The “double-click-distance” property"><span class="type">“double-click-distance”</span></a> instead</p>
</div>
<p>Sets the maximum distance used to verify a double click event.</p>
<div class="refsect3">
<a name="clutter-backend-set-double-click-distance.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>distance</p></td>
<td class="parameter_description"><p>a distance, in pixels</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-get-double-click-distance"></a><h3>clutter_backend_get_double_click_distance ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
clutter_backend_get_double_click_distance
                               (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_get_double_click_distance</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--double-click-distance" title="The “double-click-distance” property"><span class="type">“double-click-distance”</span></a> instead</p>
</div>
<p>Retrieves the distance used to verify a double click event</p>
<div class="refsect3">
<a name="clutter-backend-get-double-click-distance.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-backend-get-double-click-distance.returns"></a><h4>Returns</h4>
<p> a distance, in pixels.</p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-set-font-options"></a><h3>clutter_backend_set_font_options ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_backend_set_font_options (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>,
                                  <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html#cairo-font-options-t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre>
<p>Sets the new font options for <em class="parameter"><code>backend</code></em>
. The <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> will
copy the <a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html#cairo-font-options-t"><span class="type">cairo_font_options_t</span></a>.</p>
<p>If <em class="parameter"><code>options</code></em>
 is <code class="literal">NULL</code>, the first following call to
<a class="link" href="ClutterBackend.html#clutter-backend-get-font-options" title="clutter_backend_get_font_options ()"><code class="function">clutter_backend_get_font_options()</code></a> will return the default font
options for <em class="parameter"><code>backend</code></em>
.</p>
<p>This function is intended for actors creating a Pango layout
using the PangoCairo API.</p>
<div class="refsect3">
<a name="clutter-backend-set-font-options.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>options</p></td>
<td class="parameter_description"><p>Cairo font options for the backend, or <code class="literal">NULL</code></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix06.html#api-index-0.8">0.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-get-font-options"></a><h3>clutter_backend_get_font_options ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html#cairo-font-options-t"><span class="returnvalue">cairo_font_options_t</span></a> *
clutter_backend_get_font_options (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>);</pre>
<p>Retrieves the font options for <em class="parameter"><code>backend</code></em>
.</p>
<div class="refsect3">
<a name="clutter-backend-get-font-options.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-backend-get-font-options.returns"></a><h4>Returns</h4>
<p> the font options of the <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a>.
The returned <a href="/usr/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html#cairo-font-options-t"><span class="type">cairo_font_options_t</span></a> is owned by the backend and should
not be modified or freed. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix06.html#api-index-0.8">0.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-set-font-name"></a><h3>clutter_backend_set_font_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_backend_set_font_name (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>,
                               <em class="parameter"><code>const <span class="type">gchar</span> *font_name</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_set_font_name</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--font-name" title="The “font-name” property"><span class="type">“font-name”</span></a> instead</p>
</div>
<p>Sets the default font to be used by Clutter. The <em class="parameter"><code>font_name</code></em>
 string
must either be <code class="literal">NULL</code>, which means that the font name from the
default <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> will be used; or be something that can
be parsed by the <code class="function">pango_font_description_from_string()</code> function.</p>
<div class="refsect3">
<a name="clutter-backend-set-font-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>font_name</p></td>
<td class="parameter_description"><p>the name of the font</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-get-font-name"></a><h3>clutter_backend_get_font_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
clutter_backend_get_font_name (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_backend_get_font_name</code> has been deprecated since version 1.4 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterSettings.html#ClutterSettings--font-name" title="The “font-name” property"><span class="type">“font-name”</span></a> instead</p>
</div>
<p>Retrieves the default font name as set by
<a class="link" href="ClutterBackend.html#clutter-backend-set-font-name" title="clutter_backend_set_font_name ()"><code class="function">clutter_backend_set_font_name()</code></a>.</p>
<div class="refsect3">
<a name="clutter-backend-get-font-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-backend-get-font-name.returns"></a><h4>Returns</h4>
<p> the font name for the backend. The returned string is
owned by the <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> and should never be modified or freed</p>
</div>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-backend-get-cogl-context"></a><h3>clutter_backend_get_cogl_context ()</h3>
<pre class="programlisting"><span class="returnvalue">CoglContext</span> *
clutter_backend_get_cogl_context (<em class="parameter"><code><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend</code></em>);</pre>
<p>Retrieves the <span class="type">CoglContext</span> associated with the given clutter
<em class="parameter"><code>backend</code></em>
. A <span class="type">CoglContext</span> is required when using some of the
experimental 2.0 Cogl API.</p>
<p>Since CoglContext is itself experimental API this API should
be considered experimental too.</p>
<p>This API is not yet supported on OSX because OSX still
uses the stub Cogl winsys and the Clutter backend doesn't
explicitly create a CoglContext.</p>
<div class="refsect3">
<a name="clutter-backend-get-cogl-context.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-backend-get-cogl-context.returns"></a><h4>Returns</h4>
<p> The <span class="type">CoglContext</span> associated with <em class="parameter"><code>backend</code></em>
. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-1.8">1.8</a></p>
<p class="stability">Stability Level: <acronym title="Unstable interfaces are experimental or transitional. They are typically used to
give outside developers early access to new or rapidly changing technology, or
to provide an interim solution to a problem where a more general solution is
anticipated. No claims are made about either source or binary compatibility from
one minor release to the next.

The Unstable interface level is a warning that these interfaces are  subject to
change without warning and should not be used in unbundled products.

Given such caveats, customer impact need not be a factor when considering
incompatible changes to an Unstable interface in a major or minor release.
Nonetheless, when such changes are introduced, the changes should still be
mentioned in the release notes for the affected release.
"><span class="acronym">Unstable</span></acronym></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-check-windowing-backend"></a><h3>clutter_check_windowing_backend ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
clutter_check_windowing_backend (<em class="parameter"><code>const <span class="type">char</span> *backend_type</code></em>);</pre>
<p>Checks the run-time name of the Clutter windowing system backend, using
the symbolic macros like <code class="literal">CLUTTER_WINDOWING_WIN32</code> or
<code class="literal">CLUTTER_WINDOWING_X11</code>.</p>
<p>This function should be used in conjuction with the compile-time macros
inside applications and libraries that are using the platform-specific
windowing system API, to ensure that they are running on the correct
windowing system; for instance:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="preproc">#ifdef</span><span class="normal"> CLUTTER_WINDOWING_X11</span>
<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="ClutterBackend.html#clutter-check-windowing-backend">clutter_check_windowing_backend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">CLUTTER_WINDOWING_X11</span><span class="symbol">))</span>
<span class="normal">    </span><span class="cbracket">{</span>
<span class="normal">      </span><span class="comment">// it is safe to use the clutter_x11_* API</span>
<span class="normal">    </span><span class="cbracket">}</span>
<span class="normal">  </span><span class="keyword">else</span>
<span class="preproc">#endif</span>
<span class="preproc">#ifdef</span><span class="normal"> CLUTTER_WINDOWING_WIN32</span>
<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="ClutterBackend.html#clutter-check-windowing-backend">clutter_check_windowing_backend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">CLUTTER_WINDOWING_WIN32</span><span class="symbol">))</span>
<span class="normal">    </span><span class="cbracket">{</span>
<span class="normal">      </span><span class="comment">// it is safe to use the clutter_win32_* API</span>
<span class="normal">    </span><span class="cbracket">}</span>
<span class="normal">  </span><span class="keyword">else</span>
<span class="preproc">#endif</span>
<span class="normal">    </span><span class="function">g_error</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Unknown Clutter backend."</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="clutter-check-windowing-backend.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend_type</p></td>
<td class="parameter_description"><p>the name of the backend to check</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-check-windowing-backend.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the current Clutter windowing system backend is
the one checked, and <code class="literal">FALSE</code> otherwise</p>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-1.10">1.10</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-set-windowing-backend"></a><h3>clutter_set_windowing_backend ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_set_windowing_backend (<em class="parameter"><code>const <span class="type">char</span> *backend_type</code></em>);</pre>
<p>Restricts Clutter to only use the specified backend or list of backends.</p>
<p>You can use one of the <code class="literal">CLUTTER_WINDOWING_*</code> symbols, e.g.</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="ClutterBackend.html#clutter-set-windowing-backend">clutter_set_windowing_backend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">CLUTTER_WINDOWING_X11</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>Will force Clutter to use the X11 windowing and input backend, and terminate
if the X11 backend could not be initialized successfully.</p>
<p>Since Clutter 1.26, you can also use a comma-separated list of windowing
system backends to provide a fallback in case backends are not available or
enabled, e.g.:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="ClutterBackend.html#clutter-set-windowing-backend">clutter_set_windowing_backend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"gdk,wayland,x11"</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>Will make Clutter test for the GDK, Wayland, and X11 backends in that order.</p>
<p>You can use the <code class="literal">*</code> special value to ask Clutter to use the internally
defined list of backends. For instance:</p>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="ClutterBackend.html#clutter-set-windowing-backend">clutter_set_windowing_backend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"x11,wayland,*"</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<p>Will make Clutter test the X11 and Wayland backends, and then fall back
to the internal list of available backends.</p>
<p>This function must be called before the first API call to Clutter, including
<code class="function">clutter_get_option_context()</code></p>
<div class="refsect3">
<a name="clutter-set-windowing-backend.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>backend_type</p></td>
<td class="parameter_description"><p>a comma separated list of windowing backends</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-1.16">1.16</a></p>
</div>
</div>
<div class="refsect1">
<a name="ClutterBackend.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="ClutterBackend-struct"></a><h3>ClutterBackend</h3>
<pre class="programlisting">typedef struct _ClutterBackend ClutterBackend;</pre>
<p><a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> is an opaque structure whose
members cannot be directly accessed.</p>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.4">0.4</a></p>
</div>
</div>
<div class="refsect1">
<a name="ClutterBackend.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="ClutterBackend-font-changed"></a><h3>The <code class="literal">“font-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend,
               <span class="type">gpointer</span>        user_data)</pre>
<p>The ::font-changed signal is emitted each time the font options
have been changed through <a class="link" href="ClutterSettings.html" title="ClutterSettings"><span class="type">ClutterSettings</span></a>.</p>
<div class="refsect3">
<a name="ClutterBackend-font-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>the <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> that emitted the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterBackend-resolution-changed"></a><h3>The <code class="literal">“resolution-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend,
               <span class="type">gpointer</span>        user_data)</pre>
<p>The ::resolution-changed signal is emitted each time the font
resolutions has been changed through <a class="link" href="ClutterSettings.html" title="ClutterSettings"><span class="type">ClutterSettings</span></a>.</p>
<div class="refsect3">
<a name="ClutterBackend-resolution-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>the <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> that emitted the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
<p class="since">Since: <a class="link" href="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterBackend-settings-changed"></a><h3>The <code class="literal">“settings-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> *backend,
               <span class="type">gpointer</span>        user_data)</pre>
<p>The ::settings-changed signal is emitted each time the <a class="link" href="ClutterSettings.html" title="ClutterSettings"><span class="type">ClutterSettings</span></a>
properties have been changed.</p>
<div class="refsect3">
<a name="ClutterBackend-settings-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>backend</p></td>
<td class="parameter_description"><p>the <a class="link" href="ClutterBackend.html" title="ClutterBackend"><span class="type">ClutterBackend</span></a> that emitted the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
<p class="since">Since: <a class="link" href="ix09.html#api-index-1.4">1.4</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
</body>
</html>