<!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>