<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClutterContainer: 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="ch01.html" title="Abstract classes and interfaces">
<link rel="prev" href="ClutterActor.html" title="ClutterActor">
<link rel="next" href="ClutterChildMeta.html" title="ClutterChildMeta">
<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="#ClutterContainer.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#ClutterContainer.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
                  <a href="#ClutterContainer.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
                  <a href="#ClutterContainer.implementations" class="shortcut">Known Implementations</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#ClutterContainer.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="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ClutterActor.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ClutterChildMeta.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="ClutterContainer"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ClutterContainer.top_of_page"></a>ClutterContainer</span></h2>
<p>ClutterContainer — An interface for container actors</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="ClutterContainer.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">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ClutterContainer.html#clutter-container-add-actor" title="clutter_container_add_actor ()">clutter_container_add_actor</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="ClutterContainer.html#clutter-container-add" title="clutter_container_add ()">clutter_container_add</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="ClutterContainer.html#clutter-container-add-valist" title="clutter_container_add_valist ()">clutter_container_add_valist</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="ClutterContainer.html#clutter-container-remove-actor" title="clutter_container_remove_actor ()">clutter_container_remove_actor</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="ClutterContainer.html#clutter-container-remove" title="clutter_container_remove ()">clutter_container_remove</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="ClutterContainer.html#clutter-container-remove-valist" title="clutter_container_remove_valist ()">clutter_container_remove_valist</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GList</span> *
</td>
<td class="function_name">
<a class="link" href="ClutterContainer.html#clutter-container-get-children" title="clutter_container_get_children ()">clutter_container_get_children</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="ClutterContainer.html#clutter-container-foreach" title="clutter_container_foreach ()">clutter_container_foreach</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="ClutterContainer.html#clutter-container-foreach-with-internals" title="clutter_container_foreach_with_internals ()">clutter_container_foreach_with_internals</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> *
</td>
<td class="function_name">
<a class="link" href="ClutterContainer.html#clutter-container-find-child-by-name" title="clutter_container_find_child_by_name ()">clutter_container_find_child_by_name</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="ClutterContainer.html#clutter-container-raise-child" title="clutter_container_raise_child ()">clutter_container_raise_child</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="ClutterContainer.html#clutter-container-lower-child" title="clutter_container_lower_child ()">clutter_container_lower_child</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="ClutterContainer.html#clutter-container-sort-depth-order" title="clutter_container_sort_depth_order ()">clutter_container_sort_depth_order</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GParamSpec</span> *
</td>
<td class="function_name">
<a class="link" href="ClutterContainer.html#clutter-container-class-find-child-property" title="clutter_container_class_find_child_property ()">clutter_container_class_find_child_property</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GParamSpec</span> **
</td>
<td class="function_name">
<a class="link" href="ClutterContainer.html#clutter-container-class-list-child-properties" title="clutter_container_class_list_child_properties ()">clutter_container_class_list_child_properties</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="ClutterContainer.html#clutter-container-child-set-property" title="clutter_container_child_set_property ()">clutter_container_child_set_property</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="ClutterContainer.html#clutter-container-child-get-property" title="clutter_container_child_get_property ()">clutter_container_child_get_property</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="ClutterContainer.html#clutter-container-child-set" title="clutter_container_child_set ()">clutter_container_child_set</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="ClutterContainer.html#clutter-container-child-get" title="clutter_container_child_get ()">clutter_container_child_get</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="ClutterContainer.html#clutter-container-child-notify" title="clutter_container_child_notify ()">clutter_container_child_notify</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="ClutterContainer.html#clutter-container-create-child-meta" title="clutter_container_create_child_meta ()">clutter_container_create_child_meta</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="ClutterContainer.html#clutter-container-destroy-child-meta" title="clutter_container_destroy_child_meta ()">clutter_container_destroy_child_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="returnvalue">ClutterChildMeta</span></a> *
</td>
<td class="function_name">
<a class="link" href="ClutterContainer.html#clutter-container-get-child-meta" title="clutter_container_get_child_meta ()">clutter_container_get_child_meta</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ClutterContainer.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="ClutterContainer.html#ClutterContainer-actor-added" title="The “actor-added” signal">actor-added</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="ClutterContainer.html#ClutterContainer-actor-removed" title="The “actor-removed” signal">actor-removed</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="ClutterContainer.html#ClutterContainer-child-notify" title="The “child-notify” signal">child-notify</a></td>
<td class="signal_flags">Has Details</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ClutterContainer.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="ClutterContainer.html#ClutterContainer-struct" title="ClutterContainer">ClutterContainer</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="ClutterContainer.html#ClutterContainerIface" title="struct ClutterContainerIface">ClutterContainerIface</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ClutterContainer.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/home/ebassi/gnome/install/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
    <span class="lineart">╰──</span> ClutterContainer
</pre>
</div>
<div class="refsect1">
<a name="ClutterContainer.prerequisites"></a><h2>Prerequisites</h2>
<p>
ClutterContainer requires
 GObject.</p>
</div>
<div class="refsect1">
<a name="ClutterContainer.implementations"></a><h2>Known Implementations</h2>
<p>
ClutterContainer is implemented by
 <a class="link" href="ClutterActor.html" title="ClutterActor">ClutterActor</a>,  <a class="link" href="ClutterBox.html" title="ClutterBox">ClutterBox</a>,  <a class="link" href="ClutterCairoTexture.html" title="ClutterCairoTexture">ClutterCairoTexture</a>,  <a class="link" href="ClutterClone.html" title="ClutterClone">ClutterClone</a>,  <a class="link" href="ClutterGLXTexturePixmap.html" title="ClutterGLXTexturePixmap">ClutterGLXTexturePixmap</a>,  <a class="link" href="ClutterGroup.html" title="ClutterGroup">ClutterGroup</a>,  <a class="link" href="ClutterRectangle.html" title="ClutterRectangle">ClutterRectangle</a>,  <a class="link" href="ClutterScrollActor.html" title="ClutterScrollActor">ClutterScrollActor</a>,  <a class="link" href="ClutterStage.html" title="ClutterStage">ClutterStage</a>,  <a class="link" href="ClutterText.html" title="ClutterText">ClutterText</a>,  <a class="link" href="ClutterTexture.html" title="ClutterTexture">ClutterTexture</a> and  <a class="link" href="ClutterX11TexturePixmap.html" title="ClutterX11TexturePixmap">ClutterX11TexturePixmap</a>.</p>
</div>
<div class="refsect1">
<a name="ClutterContainer.description"></a><h2>Description</h2>
<p><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> is an interface implemented by <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>, and
it provides some common API for notifying when a child actor is added
or removed, as well as the infrastructure for accessing child properties
through <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a>.</p>
<p>Until Clutter 1.10, the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> interface was also the public
API for implementing container actors; this part of the interface has
been deprecated: <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> has a default implementation which
defers to <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> the child addition and removal, as well as the
iteration. See the documentation of <a class="link" href="ClutterContainer.html#ClutterContainerIface" title="struct ClutterContainerIface"><span class="type">ClutterContainerIface</span></a> for the list
of virtual functions that should be overridden.</p>
</div>
<div class="refsect1">
<a name="ClutterContainer.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="clutter-container-add-actor"></a><h3>clutter_container_add_actor ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_add_actor (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                             <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_add_actor</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-add-child" title="clutter_actor_add_child ()"><code class="function">clutter_actor_add_child()</code></a> instead.</p>
</div>
<p>Adds a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to <em class="parameter"><code>container</code></em>
. This function will emit the
"actor-added" signal. The actor should be parented to
<em class="parameter"><code>container</code></em>
. You cannot add a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to more than one
<a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>.</p>
<p>This function will call <a class="link" href="ClutterContainer.html#ClutterContainerIface.add"><code class="function">ClutterContainerIface.add()</code></a>, which is a
deprecated virtual function. The default implementation will
call <a class="link" href="ClutterActor.html#clutter-actor-add-child" title="clutter_actor_add_child ()"><code class="function">clutter_actor_add_child()</code></a>.</p>
<p><span class="annotation">[<acronym title="This is the invoker for a virtual method."><span class="acronym">virtual</span></acronym> add]</span></p>
<div class="refsect3">
<a name="clutter-container-add-actor.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>the first <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to add</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-container-add"></a><h3>clutter_container_add ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_add (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                       <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *first_actor</code></em>,
                       <em class="parameter"><code>...</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_add</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-add-child" title="clutter_actor_add_child ()"><code class="function">clutter_actor_add_child()</code></a> instead.</p>
</div>
<p>Adds a list of <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>s to <em class="parameter"><code>container</code></em>
. Each time and
actor is added, the "actor-added" signal is emitted. Each actor should
be parented to <em class="parameter"><code>container</code></em>
, which takes a reference on the actor. You
cannot add a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to more than one <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>.</p>
<p>This function will call <a class="link" href="ClutterContainer.html#ClutterContainerIface.add"><code class="function">ClutterContainerIface.add()</code></a>, which is a
deprecated virtual function. The default implementation will
call <a class="link" href="ClutterActor.html#clutter-actor-add-child" title="clutter_actor_add_child ()"><code class="function">clutter_actor_add_child()</code></a>.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="clutter-container-add.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_actor</p></td>
<td class="parameter_description"><p>the first <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p><code class="literal">NULL</code> terminated list of actors to add</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-container-add-valist"></a><h3>clutter_container_add_valist ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_add_valist (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                              <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *first_actor</code></em>,
                              <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_add_valist</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-add-child" title="clutter_actor_add_child ()"><code class="function">clutter_actor_add_child()</code></a> instead.</p>
</div>
<p>Alternative va_list version of <a class="link" href="ClutterContainer.html#clutter-container-add" title="clutter_container_add ()"><code class="function">clutter_container_add()</code></a>.</p>
<p>This function will call <a class="link" href="ClutterContainer.html#ClutterContainerIface.add"><code class="function">ClutterContainerIface.add()</code></a>, which is a
deprecated virtual function. The default implementation will
call <a class="link" href="ClutterActor.html#clutter-actor-add-child" title="clutter_actor_add_child ()"><code class="function">clutter_actor_add_child()</code></a>.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="clutter-container-add-valist.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_actor</p></td>
<td class="parameter_description"><p>the first <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>var_args</p></td>
<td class="parameter_description"><p>list of actors to add, followed by <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="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-remove-actor"></a><h3>clutter_container_remove_actor ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_remove_actor (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_remove_actor</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-remove-child" title="clutter_actor_remove_child ()"><code class="function">clutter_actor_remove_child()</code></a> instead.</p>
</div>
<p>Removes <em class="parameter"><code>actor</code></em>
 from <em class="parameter"><code>container</code></em>
. The actor should be unparented, so
if you want to keep it around you must hold a reference to it
yourself, using <code class="function">g_object_ref()</code>. When the actor has been removed,
the "actor-removed" signal is emitted by <em class="parameter"><code>container</code></em>
.</p>
<p>This function will call <a class="link" href="ClutterContainer.html#ClutterContainerIface.remove"><code class="function">ClutterContainerIface.remove()</code></a>, which is a
deprecated virtual function. The default implementation will call
<a class="link" href="ClutterActor.html#clutter-actor-remove-child" title="clutter_actor_remove_child ()"><code class="function">clutter_actor_remove_child()</code></a>.</p>
<p><span class="annotation">[<acronym title="This is the invoker for a virtual method."><span class="acronym">virtual</span></acronym> remove]</span></p>
<div class="refsect3">
<a name="clutter-container-remove-actor.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></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-container-remove"></a><h3>clutter_container_remove ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_remove (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                          <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *first_actor</code></em>,
                          <em class="parameter"><code>...</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_remove</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-remove-child" title="clutter_actor_remove_child ()"><code class="function">clutter_actor_remove_child()</code></a> instead.</p>
</div>
<p>Removes a <code class="literal">NULL</code> terminated list of <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>s from
<em class="parameter"><code>container</code></em>
. Each actor should be unparented, so if you want to keep it
around you must hold a reference to it yourself, using <code class="function">g_object_ref()</code>.
Each time an actor is removed, the "actor-removed" signal is
emitted by <em class="parameter"><code>container</code></em>
.</p>
<p>This function will call <a class="link" href="ClutterContainer.html#ClutterContainerIface.remove"><code class="function">ClutterContainerIface.remove()</code></a>, which is a
deprecated virtual function. The default implementation will call
<a class="link" href="ClutterActor.html#clutter-actor-remove-child" title="clutter_actor_remove_child ()"><code class="function">clutter_actor_remove_child()</code></a>.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="clutter-container-remove.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_actor</p></td>
<td class="parameter_description"><p>first <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to remove</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>a <code class="literal">NULL</code>-terminated list of actors to remove</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-container-remove-valist"></a><h3>clutter_container_remove_valist ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_remove_valist (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                 <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *first_actor</code></em>,
                                 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_remove_valist</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-remove-child" title="clutter_actor_remove_child ()"><code class="function">clutter_actor_remove_child()</code></a> instead.</p>
</div>
<p>Alternative va_list version of <a class="link" href="ClutterContainer.html#clutter-container-remove" title="clutter_container_remove ()"><code class="function">clutter_container_remove()</code></a>.</p>
<p>This function will call <a class="link" href="ClutterContainer.html#ClutterContainerIface.remove"><code class="function">ClutterContainerIface.remove()</code></a>, which is a
deprecated virtual function. The default implementation will call
<a class="link" href="ClutterActor.html#clutter-actor-remove-child" title="clutter_actor_remove_child ()"><code class="function">clutter_actor_remove_child()</code></a>.</p>
<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
<div class="refsect3">
<a name="clutter-container-remove-valist.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_actor</p></td>
<td class="parameter_description"><p>the first <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>var_args</p></td>
<td class="parameter_description"><p>list of actors to remove, followed by <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="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-get-children"></a><h3>clutter_container_get_children ()</h3>
<pre class="programlisting"><span class="returnvalue">GList</span> *
clutter_container_get_children (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_get_children</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-get-children" title="clutter_actor_get_children ()"><code class="function">clutter_actor_get_children()</code></a> instead.</p>
</div>
<p>Retrieves all the children of <em class="parameter"><code>container</code></em>
.</p>
<div class="refsect3">
<a name="clutter-container-get-children.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-container-get-children.returns"></a><h4>Returns</h4>
<p> a list
of <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>s. Use <code class="function">g_list_free()</code> on the returned
list when done. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Clutter.Actor][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</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-container-foreach"></a><h3>clutter_container_foreach ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_foreach (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                           <em class="parameter"><code><a class="link" href="ClutterActor.html#ClutterCallback" title="ClutterCallback ()"><span class="type">ClutterCallback</span></a> callback</code></em>,
                           <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_foreach</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-get-first-child" title="clutter_actor_get_first_child ()"><code class="function">clutter_actor_get_first_child()</code></a> or
  <a class="link" href="ClutterActor.html#clutter-actor-get-last-child" title="clutter_actor_get_last_child ()"><code class="function">clutter_actor_get_last_child()</code></a> to retrieve the beginning of
  the list of children, and <a class="link" href="ClutterActor.html#clutter-actor-get-next-sibling" title="clutter_actor_get_next_sibling ()"><code class="function">clutter_actor_get_next_sibling()</code></a>
  and <a class="link" href="ClutterActor.html#clutter-actor-get-previous-sibling" title="clutter_actor_get_previous_sibling ()"><code class="function">clutter_actor_get_previous_sibling()</code></a> to iterate over it;
  alternatively, use the <a class="link" href="ClutterActor.html#ClutterActorIter" title="ClutterActorIter"><span class="type">ClutterActorIter</span></a> API.</p>
</div>
<p>Calls <em class="parameter"><code>callback</code></em>
 for each child of <em class="parameter"><code>container</code></em>
 that was added
by the application (with <a class="link" href="ClutterContainer.html#clutter-container-add-actor" title="clutter_container_add_actor ()"><code class="function">clutter_container_add_actor()</code></a>). Does
not iterate over "internal" children that are part of the
container's own implementation, if any.</p>
<p>This function calls the <a class="link" href="ClutterContainer.html#ClutterContainerIface.foreach"><code class="function">ClutterContainerIface.foreach()</code></a>
virtual function, which has been deprecated.</p>
<div class="refsect3">
<a name="clutter-container-foreach.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> a function to be called for each child. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data to be passed to the function, 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="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-foreach-with-internals"></a><h3>clutter_container_foreach_with_internals ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_foreach_with_internals
                               (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                <em class="parameter"><code><a class="link" href="ClutterActor.html#ClutterCallback" title="ClutterCallback ()"><span class="type">ClutterCallback</span></a> callback</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_foreach_with_internals</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>See <a class="link" href="ClutterContainer.html#clutter-container-foreach" title="clutter_container_foreach ()"><code class="function">clutter_container_foreach()</code></a>.</p>
</div>
<p>Calls <em class="parameter"><code>callback</code></em>
 for each child of <em class="parameter"><code>container</code></em>
, including "internal"
children built in to the container itself that were never added
by the application.</p>
<p>This function calls the <a class="link" href="ClutterContainer.html#ClutterContainerIface.foreach-with-internals"><code class="function">ClutterContainerIface.foreach_with_internals()</code></a>
virtual function, which has been deprecated.</p>
<div class="refsect3">
<a name="clutter-container-foreach-with-internals.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p> a function to be called for each child. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data to be passed to the function, 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="ix07.html#api-index-1.0">1.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-find-child-by-name"></a><h3>clutter_container_find_child_by_name ()</h3>
<pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> *
clutter_container_find_child_by_name (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *child_name</code></em>);</pre>
<p>Finds a child actor of a container by its name. Search recurses
into any child container.</p>
<div class="refsect3">
<a name="clutter-container-find-child-by-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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child_name</p></td>
<td class="parameter_description"><p>the name of the requested child.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-container-find-child-by-name.returns"></a><h4>Returns</h4>
<p> The child actor with the requested name,
or <code class="literal">NULL</code> if no actor with that name was found. </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="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-raise-child"></a><h3>clutter_container_raise_child ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_raise_child (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                               <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
                               <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *sibling</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_raise_child</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-set-child-above-sibling" title="clutter_actor_set_child_above_sibling ()"><code class="function">clutter_actor_set_child_above_sibling()</code></a> instead.</p>
</div>
<p>Raises <em class="parameter"><code>actor</code></em>
 to <em class="parameter"><code>sibling</code></em>
 level, in the depth ordering.</p>
<p>This function calls the <a class="link" href="ClutterContainer.html#ClutterContainerIface.raise"><code class="function">ClutterContainerIface.raise()</code></a> virtual function,
which has been deprecated. The default implementation will call
<a class="link" href="ClutterActor.html#clutter-actor-set-child-above-sibling" title="clutter_actor_set_child_above_sibling ()"><code class="function">clutter_actor_set_child_above_sibling()</code></a>.</p>
<p><span class="annotation">[<acronym title="This is the invoker for a virtual method."><span class="acronym">virtual</span></acronym> raise]</span></p>
<div class="refsect3">
<a name="clutter-container-raise-child.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>the actor to raise</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sibling</p></td>
<td class="parameter_description"><p> the sibling to raise to, or <code class="literal">NULL</code> to raise
to the top. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-lower-child"></a><h3>clutter_container_lower_child ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_lower_child (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                               <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
                               <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *sibling</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_lower_child</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="ClutterActor.html#clutter-actor-set-child-below-sibling" title="clutter_actor_set_child_below_sibling ()"><code class="function">clutter_actor_set_child_below_sibling()</code></a> instead.</p>
</div>
<p>Lowers <em class="parameter"><code>actor</code></em>
 to <em class="parameter"><code>sibling</code></em>
 level, in the depth ordering.</p>
<p>This function calls the <a class="link" href="ClutterContainer.html#ClutterContainerIface.lower"><code class="function">ClutterContainerIface.lower()</code></a> virtual function,
which has been deprecated. The default implementation will call
<a class="link" href="ClutterActor.html#clutter-actor-set-child-below-sibling" title="clutter_actor_set_child_below_sibling ()"><code class="function">clutter_actor_set_child_below_sibling()</code></a>.</p>
<p><span class="annotation">[<acronym title="This is the invoker for a virtual method."><span class="acronym">virtual</span></acronym> lower]</span></p>
<div class="refsect3">
<a name="clutter-container-lower-child.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>the actor to raise</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sibling</p></td>
<td class="parameter_description"><p> the sibling to lower to, or <code class="literal">NULL</code> to lower
to the bottom. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-sort-depth-order"></a><h3>clutter_container_sort_depth_order ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_sort_depth_order (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>);</pre>
<div class="warning">
<p><code class="literal">clutter_container_sort_depth_order</code> has been deprecated since version 1.10 and should not be used in newly-written code.</p>
<p>The <a class="link" href="ClutterContainer.html#ClutterContainerIface.sort-depth-order"><code class="function">ClutterContainerIface.sort_depth_order()</code></a> virtual
  function should not be used any more; the default implementation in
  <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> does not do anything.</p>
</div>
<p>Sorts a container's children using their depth. This function should not
be normally used by applications.</p>
<div class="refsect3">
<a name="clutter-container-sort-depth-order.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix05.html#api-index-0.6">0.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-class-find-child-property"></a><h3>clutter_container_class_find_child_property ()</h3>
<pre class="programlisting"><span class="returnvalue">GParamSpec</span> *
clutter_container_class_find_child_property
                               (<em class="parameter"><code><span class="type">GObjectClass</span> *klass</code></em>,
                                <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>);</pre>
<p>Looks up the <span class="type">GParamSpec</span> for a child property of <em class="parameter"><code>klass</code></em>
.</p>
<div class="refsect3">
<a name="clutter-container-class-find-child-property.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>klass</p></td>
<td class="parameter_description"><p>a <span class="type">GObjectClass</span> implementing the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> interface.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>property_name</p></td>
<td class="parameter_description"><p>a property name.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-container-class-find-child-property.returns"></a><h4>Returns</h4>
<p> The <span class="type">GParamSpec</span> for the property or <code class="literal">NULL</code>
if no such property exist. </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-container-class-list-child-properties"></a><h3>clutter_container_class_list_child_properties ()</h3>
<pre class="programlisting"><span class="returnvalue">GParamSpec</span> **
clutter_container_class_list_child_properties
                               (<em class="parameter"><code><span class="type">GObjectClass</span> *klass</code></em>,
                                <em class="parameter"><code><span class="type">guint</span> *n_properties</code></em>);</pre>
<p>Returns an array of <span class="type">GParamSpec</span> for all child properties.</p>
<div class="refsect3">
<a name="clutter-container-class-list-child-properties.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>klass</p></td>
<td class="parameter_description"><p>a <span class="type">GObjectClass</span> implementing the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> interface.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_properties</p></td>
<td class="parameter_description"><p>return location for length of returned array.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-container-class-list-child-properties.returns"></a><h4>Returns</h4>
<p> an array
of <span class="type">GParamSpec</span>s which should be freed after use. </p>
<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_properties][<acronym title="Free data after the code is done."><span class="acronym">transfer full</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-container-child-set-property"></a><h3>clutter_container_child_set_property ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_child_set_property (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                      <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *child</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *property</code></em>,
                                      <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
<p>Sets a container-specific property on a child of <em class="parameter"><code>container</code></em>
.</p>
<div class="refsect3">
<a name="clutter-container-child-set-property.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> that is a child of <em class="parameter"><code>container</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>property</p></td>
<td class="parameter_description"><p>the name of the property to set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the value.</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-container-child-get-property"></a><h3>clutter_container_child_get_property ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_child_get_property (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                      <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *child</code></em>,
                                      <em class="parameter"><code>const <span class="type">gchar</span> *property</code></em>,
                                      <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
<p>Gets a container specific property of a child of <em class="parameter"><code>container</code></em>
, In general,
a copy is made of the property contents and the caller is responsible for
freeing the memory by calling <code class="function">g_value_unset()</code>.</p>
<p>Note that <a class="link" href="ClutterContainer.html#clutter-container-child-set-property" title="clutter_container_child_set_property ()"><code class="function">clutter_container_child_set_property()</code></a> is really intended for
language bindings, <a class="link" href="ClutterContainer.html#clutter-container-child-set" title="clutter_container_child_set ()"><code class="function">clutter_container_child_set()</code></a> is much more convenient
for C programming.</p>
<div class="refsect3">
<a name="clutter-container-child-get-property.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> that is a child of <em class="parameter"><code>container</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>property</p></td>
<td class="parameter_description"><p>the name of the property to set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the value.</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-container-child-set"></a><h3>clutter_container_child_set ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_child_set (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                             <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
                             <em class="parameter"><code>const <span class="type">gchar</span> *first_prop</code></em>,
                             <em class="parameter"><code>...</code></em>);</pre>
<p>Sets container specific properties on the child of a container.</p>
<div class="refsect3">
<a name="clutter-container-child-set.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> that is a child of <em class="parameter"><code>container</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_prop</p></td>
<td class="parameter_description"><p>name of the first property to be set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>value for the first property, followed optionally by more name/value
pairs terminated with NULL.</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-container-child-get"></a><h3>clutter_container_child_get ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_child_get (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                             <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>,
                             <em class="parameter"><code>const <span class="type">gchar</span> *first_prop</code></em>,
                             <em class="parameter"><code>...</code></em>);</pre>
<p>Gets <em class="parameter"><code>container</code></em>
 specific properties of an actor.</p>
<p>In general, a copy is made of the property contents and the caller is
responsible for freeing the memory in the appropriate manner for the type, for
instance by calling <code class="function">g_free()</code> or <code class="function">g_object_unref()</code>.</p>
<div class="refsect3">
<a name="clutter-container-child-get.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> that is a child of <em class="parameter"><code>container</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_prop</p></td>
<td class="parameter_description"><p>name of the first property to be set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>value for the first property, followed optionally by more name/value
pairs terminated with NULL.</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-container-child-notify"></a><h3>clutter_container_child_notify ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_child_notify (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *child</code></em>,
                                <em class="parameter"><code><span class="type">GParamSpec</span> *pspec</code></em>);</pre>
<p>Calls the <a class="link" href="ClutterContainer.html#ClutterContainerIface.child-notify"><code class="function">ClutterContainerIface.child_notify()</code></a> virtual function
of <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>. The default implementation will emit the
<a class="link" href="ClutterContainer.html#ClutterContainer-child-notify" title="The “child-notify” signal"><span class="type">“child-notify”</span></a> signal.</p>
<div class="refsect3">
<a name="clutter-container-child-notify.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pspec</p></td>
<td class="parameter_description"><p>a <span class="type">GParamSpec</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-create-child-meta"></a><h3>clutter_container_create_child_meta ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_create_child_meta (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                     <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<p>Creates the <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> wrapping <em class="parameter"><code>actor</code></em>
 inside the
<em class="parameter"><code>container</code></em>
, if the <span class="type">“child_meta_type”</span>
class member is not set to <code class="literal">G_TYPE_INVALID</code>.</p>
<p>This function is only useful when adding a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to
a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> implementation outside of the
<code class="function">ClutterContainer::<GTKDOCLINK HREF="add"><code class="function">add()</code></code></GTKDOCLINK> virtual function implementation.</p>
<p>Applications should not call this function.</p>
<div class="refsect3">
<a name="clutter-container-create-child-meta.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix08.html#api-index-1.2">1.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-destroy-child-meta"></a><h3>clutter_container_destroy_child_meta ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
clutter_container_destroy_child_meta (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                      <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<p>Destroys the <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> wrapping <em class="parameter"><code>actor</code></em>
 inside the
<em class="parameter"><code>container</code></em>
, if any.</p>
<p>This function is only useful when removing a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> to
a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> implementation outside of the
<code class="function">ClutterContainer::<GTKDOCLINK HREF="add"><code class="function">add()</code></code></GTKDOCLINK> virtual function implementation.</p>
<p>Applications should not call this function.</p>
<div class="refsect3">
<a name="clutter-container-destroy-child-meta.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix08.html#api-index-1.2">1.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="clutter-container-get-child-meta"></a><h3>clutter_container_get_child_meta ()</h3>
<pre class="programlisting"><a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="returnvalue">ClutterChildMeta</span></a> *
clutter_container_get_child_meta (<em class="parameter"><code><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container</code></em>,
                                  <em class="parameter"><code><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *actor</code></em>);</pre>
<p>Retrieves the <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> which contains the data about the
<em class="parameter"><code>container</code></em>
 specific state for <em class="parameter"><code>actor</code></em>
.</p>
<div class="refsect3">
<a name="clutter-container-get-child-meta.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>container</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> that is a child of <em class="parameter"><code>container</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="clutter-container-get-child-meta.returns"></a><h4>Returns</h4>
<p> the <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> for the <em class="parameter"><code>actor</code></em>
child
of <em class="parameter"><code>container</code></em>
or <code class="literal">NULL</code> if the specifiec actor does not exist or the
container is not configured to provide <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a>s. </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>
</div>
<div class="refsect1">
<a name="ClutterContainer.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="ClutterContainer-struct"></a><h3>ClutterContainer</h3>
<pre class="programlisting">typedef struct _ClutterContainer ClutterContainer;</pre>
<p><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</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>
<hr>
<div class="refsect2">
<a name="ClutterContainerIface"></a><h3>struct ClutterContainerIface</h3>
<pre class="programlisting">struct ClutterContainerIface {
  void (* add)              (ClutterContainer *container,
                             ClutterActor     *actor);
  void (* remove)           (ClutterContainer *container,
                             ClutterActor     *actor);
  void (* foreach)          (ClutterContainer *container,
                             ClutterCallback   callback,
                             gpointer          user_data);

  void (* foreach_with_internals) (ClutterContainer *container,
                                   ClutterCallback   callback,
                                   gpointer          user_data);

  /* child stacking */
  void (* raise)            (ClutterContainer *container,
                             ClutterActor     *actor,
                             ClutterActor     *sibling);
  void (* lower)            (ClutterContainer *container,
                             ClutterActor     *actor,
                             ClutterActor     *sibling);
  void (* sort_depth_order) (ClutterContainer *container);

  /* ClutterChildMeta management */
  GType                child_meta_type;
  void              (* create_child_meta)  (ClutterContainer *container,
                                            ClutterActor     *actor);
  void              (* destroy_child_meta) (ClutterContainer *container,
                                            ClutterActor     *actor);
  ClutterChildMeta *(* get_child_meta)     (ClutterContainer *container,
                                            ClutterActor     *actor);

  /* signals */
  void (* actor_added)   (ClutterContainer *container,
                          ClutterActor     *actor);
  void (* actor_removed) (ClutterContainer *container,
                          ClutterActor     *actor);

  void (* child_notify)  (ClutterContainer *container,
                          ClutterActor     *child,
                          GParamSpec       *pspec);
};
</pre>
<p>Base interface for container actors. The <em class="parameter"><code>add</code></em>
, <em class="parameter"><code>remove</code></em>
 and <em class="parameter"><code>foreach</code></em>

virtual functions must be provided by any implementation; the other
virtual functions are optional.</p>
<div class="refsect3">
<a name="ClutterContainerIface.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.add"></a>add</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function for adding an actor to the container. This virtual
function is deprecated, and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.remove"></a>remove</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function for removing an actor from the container. This
virtual function is deprecated, and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.foreach"></a>foreach</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function for iterating over the container's children.
This virtual function is deprecated, and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.foreach-with-internals"></a>foreach_with_internals</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual functions for iterating over the
container's children, both added using the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> API
and internal children. The implementation of this virtual function
is required only if the <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> implementation has
internal children. This virtual function is deprecated, and it should
not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.raise"></a>raise</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function for raising a child. This virtual function is
deprecated and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.lower"></a>lower</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function for lowering a child. This virtual function is
deprecated and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.sort-depth-order"></a>sort_depth_order</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function for sorting the children of a
container depending on their depth. This virtual function is deprecated
and it should not be overridden.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">GType</span> <em class="structfield"><code><a name="ClutterContainerIface.child-meta-type"></a>child_meta_type</code></em>;</p></td>
<td class="struct_member_description"><p>The GType used for storing auxiliary information about
each of the containers children.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.create-child-meta"></a>create_child_meta</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function that gets called for each added
child, the function should instantiate an object of type
<span class="type">“child_meta_type”</span>, set the container and actor
fields in the instance and add the record to a data structure for
subsequent access for <span class="type">“get_child_meta”</span></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.destroy-child-meta"></a>destroy_child_meta</code></em> ()</p></td>
<td class="struct_member_description"><p>virtual function that gets called when a child is
removed; it shuld release all resources held by the record</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.get-child-meta"></a>get_child_meta</code></em> ()</p></td>
<td class="struct_member_description"><p>return the record for a container child</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.actor-added"></a>actor_added</code></em> ()</p></td>
<td class="struct_member_description"><p>class handler for <a class="link" href="ClutterContainer.html#ClutterContainer-actor-added" title="The “actor-added” signal"><span class="type">“actor-added”</span></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.actor-removed"></a>actor_removed</code></em> ()</p></td>
<td class="struct_member_description"><p>class handler for <a class="link" href="ClutterContainer.html#ClutterContainer-actor-removed" title="The “actor-removed” signal"><span class="type">“actor-removed”</span></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="ClutterContainerIface.child-notify"></a>child_notify</code></em> ()</p></td>
<td class="struct_member_description"><p>class handler for <a class="link" href="ClutterContainer.html#ClutterContainer-child-notify" title="The “child-notify” signal"><span class="type">“child-notify”</span></a></p></td>
<td class="struct_member_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>
</div>
<div class="refsect1">
<a name="ClutterContainer.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="ClutterContainer-actor-added"></a><h3>The <code class="literal">“actor-added”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container,
               <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>     *actor,
               <span class="type">gpointer</span>          user_data)</pre>
<p>The ::actor-added signal is emitted each time an actor
has been added to <em class="parameter"><code>container</code></em>
.</p>
<div class="refsect3">
<a name="ClutterContainer-actor-added.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>container</p></td>
<td class="parameter_description"><p>the actor which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>the new child that has been added to <em class="parameter"><code>container</code></em>
</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="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterContainer-actor-removed"></a><h3>The <code class="literal">“actor-removed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container,
               <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>     *actor,
               <span class="type">gpointer</span>          user_data)</pre>
<p>The ::actor-removed signal is emitted each time an actor
is removed from <em class="parameter"><code>container</code></em>
.</p>
<div class="refsect3">
<a name="ClutterContainer-actor-removed.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>container</p></td>
<td class="parameter_description"><p>the actor which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>the child that has been removed from <em class="parameter"><code>container</code></em>
</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="ix04.html#api-index-0.4">0.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="ClutterContainer-child-notify"></a><h3>The <code class="literal">“child-notify”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *container,
               <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>     *actor,
               <span class="type">GParamSpec</span>       *pspec,
               <span class="type">gpointer</span>          user_data)</pre>
<p>The ::child-notify signal is emitted each time a property is
being set through the <a class="link" href="ClutterContainer.html#clutter-container-child-set" title="clutter_container_child_set ()"><code class="function">clutter_container_child_set()</code></a> and
<a class="link" href="ClutterContainer.html#clutter-container-child-set-property" title="clutter_container_child_set_property ()"><code class="function">clutter_container_child_set_property()</code></a> calls.</p>
<div class="refsect3">
<a name="ClutterContainer-child-notify.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>container</p></td>
<td class="parameter_description"><p>the container which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>actor</p></td>
<td class="parameter_description"><p>the child that has had a property set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pspec</p></td>
<td class="parameter_description"><p> the <span class="type">GParamSpec</span> of the property set. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GParamSpec]</span></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: Has Details</p>
<p class="since">Since: <a class="link" href="ix06.html#api-index-0.8">0.8</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
</body>
</html>